Skip to content
basic-edit.component.ts 16.4 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component, EventEmitter, OnInit, Output} from '@angular/core';
import {
    FormBuilder,
    FormGroup,
    Validators
} from '@angular/forms';
wangqinghua's avatar
wangqinghua committed
import {OverAllService} from '../../overAll/overAll.service';
import {NzMessageService} from 'ng-zorro-antd';
xiaowenjie's avatar
xiaowenjie committed
import {WorkService} from '../../work/work.service';
wangqinghua's avatar
wangqinghua committed
import {EmitService} from '../../shared/event/eventEmitter';
wangqinghua's avatar
wangqinghua committed

@Component({
wangqinghua's avatar
wangqinghua committed
    selector: 'smart-basic-edit',
    templateUrl: './basic-edit.component.html',
    styles: []
wangqinghua's avatar
wangqinghua committed
})
export class BasicEditComponent implements OnInit {
    @Output() done = new EventEmitter<string>();
    modalTitle;    //modal标题
    nzSize = 'large';
    hostId;    //主机ID
    style = {
wangqinghua's avatar
wangqinghua committed
        display: 'block',
        height: '30px',
wangqinghua's avatar
wangqinghua committed
        lineHeight: '30px'
    };
    radioValue;

    tempList = [];  //模版列表
wangqinghua's avatar
wangqinghua committed
    hostTypeList = [];  //设备类型列表
    hostTypeChildrenList = [];  //设备类型列表
xiaowenjie's avatar
xiaowenjie committed
    parentTypeList = [];//父级分类
    typeList = [];//子级分类
wangqinghua's avatar
wangqinghua committed
    validateForm;
    groupList = [];

    //折叠面板
wangqinghua's avatar
wangqinghua committed
    panel1 = {name: '配置IPMI', active: true};
    panel2 = {name: '配置宏', active: true};
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    templatesResoure = [];

wangqinghua's avatar
wangqinghua committed
    //加密
    otherHost;

    isBasicEdit = false;
wangqinghua's avatar
wangqinghua committed
    isOkLoading = false;
    tabNum = 0;    //tabs面板的序列号
wangqinghua's avatar
wangqinghua committed
    macroList1: any[];
    macroList2: any[];      //配置宏数组
    interfaceslist: any[];   //接口list
wangqinghua's avatar
wangqinghua committed
    macroTYpe = 'macro';      //宏tabs
    mainHost = 'hostType1';      //主机tabs
wangqinghua's avatar
wangqinghua committed

    isInVentory = false;
wangqinghua's avatar
wangqinghua committed
    isYesInVentory = 'primary';
    isNOInVentory = 'default';
wangqinghua's avatar
wangqinghua committed
    inventoryParentId;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    constructor(private fb: FormBuilder, private overAllSer: OverAllService,
wangqinghua's avatar
wangqinghua committed
                private emitService: EmitService,
                public message: NzMessageService, private workSer: WorkService) {
        this.emitService.eventEmit.subscribe((value: any) => {
            if (value == 'add') {
wangqinghua's avatar
wangqinghua committed
                this.getGroup();
            }
wangqinghua's avatar
wangqinghua committed
        });
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    ngOnInit() {
        this.tabNum = 0;
wangqinghua's avatar
wangqinghua committed
        this.initForm();
wangqinghua's avatar
wangqinghua committed
        this.getTemplate();
wangqinghua's avatar
wangqinghua committed
        this.getTree();
wangqinghua's avatar
wangqinghua committed
        this.getParentType();
wangqinghua's avatar
wangqinghua committed
        this.getGroup();
wangqinghua's avatar
wangqinghua committed
    }

    //获取分组
wangqinghua's avatar
wangqinghua committed
    getGroup() {
wangqinghua's avatar
wangqinghua committed
        this.groupList = [];
wangqinghua's avatar
wangqinghua committed
        this.overAllSer.getEditGroups(0).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
                for (let i = 0; i < res.data.length; i++) {
                    const gObj = {
                        label: res.data[i].name, value: res.data[i].groupid, checked: false
                    };
                    this.groupList.push(gObj);
                }
            }
        );
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //新增
wangqinghua's avatar
wangqinghua committed
    showModal(): void {
wangqinghua's avatar
wangqinghua committed
        this.getGroup();
wangqinghua's avatar
wangqinghua committed
        this.tabNum = 0;
wangqinghua's avatar
wangqinghua committed
        this.isBasicEdit = true;
wangqinghua's avatar
wangqinghua committed
        this.modalTitle = '添加资源';
xiaowenjie's avatar
xiaowenjie committed
    }
wangqinghua's avatar
wangqinghua committed

xiaowenjie's avatar
xiaowenjie committed
    //父级分类
wangqinghua's avatar
wangqinghua committed
    getParentType() {
xiaowenjie's avatar
xiaowenjie committed
        this.workSer.findByParentType().subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
xiaowenjie's avatar
xiaowenjie committed
                const data = res.data;
                this.parentTypeList = data;
            }
wangqinghua's avatar
wangqinghua committed
        );
xiaowenjie's avatar
xiaowenjie committed
    }
wangqinghua's avatar
wangqinghua committed

xiaowenjie's avatar
xiaowenjie committed
    //通过父级分类查询子级分类
wangqinghua's avatar
wangqinghua committed
    getTypeByParent(parentid) {
xiaowenjie's avatar
xiaowenjie committed
        this.workSer.findByParentidCount(parentid).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
xiaowenjie's avatar
xiaowenjie committed
                const data = res.data;
                this.typeList = data;
            }
wangqinghua's avatar
wangqinghua committed
        );
wangqinghua's avatar
wangqinghua committed
    }

    //编辑
wangqinghua's avatar
wangqinghua committed
    editModal(hostId, name, gId): void {
wangqinghua's avatar
wangqinghua committed
        this.isBasicEdit = true;
wangqinghua's avatar
wangqinghua committed
        this.tabNum = 0;
wangqinghua's avatar
wangqinghua committed
        this.hostId = hostId;
        this.modalTitle = '编辑资源';
        this.overAllSer.findDetailed(this.hostId).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
wangqinghua's avatar
wangqinghua committed
                const data = res.data[0];
                this.validateForm.name = data.name;
                this.validateForm.host = data.host;
                this.validateForm.ipmi_authtype = data.ipmi_authtype + '';
                this.validateForm.ipmi_username = data.ipmi_username + '';
                this.validateForm.ipmi_privilege = data.ipmi_privilege + '';
                this.validateForm.ipmi_password = data.ipmi_password + '';
                this.validateForm.tls_psk_identity = data.tls_psk_identity + '';
                this.validateForm.tls_issuer = data.tls_issuer + '';
                this.validateForm.tls_subject = data.tls_subject + '';
                this.validateForm.tls_psk = data.tls_psk + '';
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
                //分组对象
wangqinghua's avatar
wangqinghua committed
                if (data.groups) {
wangqinghua's avatar
wangqinghua committed
                    this.validateForm.groups = data.groups;
wangqinghua's avatar
wangqinghua committed
                    for (let i = 0; i < this.groupList.length; i++) {
                        for (let j = 0; j < this.validateForm.groups.length; j++) {
                            if (this.validateForm.groups[j].groupid == this.groupList[i].value) {
                                this.groupList[i].checked = true;
wangqinghua's avatar
wangqinghua committed
                            }
                        }
                    }
wangqinghua's avatar
wangqinghua committed
                    console.log(this.groupList);
wangqinghua's avatar
wangqinghua committed
                }

wangqinghua's avatar
wangqinghua committed
                //模版对象
                if (data.parentTemplates) {
wangqinghua's avatar
wangqinghua committed
                    let tempArr = [];
wangqinghua's avatar
wangqinghua committed
                    tempArr = data.parentTemplates.map(res => {
wangqinghua's avatar
wangqinghua committed
                        return res.templateid;
                    });
                    this.validateForm.templates = tempArr;
wangqinghua's avatar
wangqinghua committed
                    this.templatesResoure = tempArr;
wangqinghua's avatar
wangqinghua committed
                }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
                //接口对象
wangqinghua's avatar
wangqinghua committed
                if (data.interfaces) {
wangqinghua's avatar
wangqinghua committed
                    this.interfaceslist = data.interfaces;
                    this.interfaceslist.forEach(res => {
                        res.main = res.main + '';
                        res.type = res.type + '';
                    });
                }

                //主机对象
wangqinghua's avatar
wangqinghua committed
                this.hostTypeChildrenList = [];
wangqinghua's avatar
wangqinghua committed
                if (data.hostExtend) {
wangqinghua's avatar
wangqinghua committed
                    this.validateForm.hostExtend = data.hostExtend;
                    this.hostTypeList.forEach(res => {
                        if (this.validateForm.hostExtend.equipmentTypeid == res.id) {
                            this.hostTypeChildrenList = res.childs;
                        }
                    });
                }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
                //宏对象
                if (data.macros) {
wangqinghua's avatar
wangqinghua committed
                    this.macroList1 = data.macros;
                }
wangqinghua's avatar
wangqinghua committed

                //资产对象
wangqinghua's avatar
wangqinghua committed
                if (data.inventory) {
wangqinghua's avatar
wangqinghua committed
                    this.validateForm.inventoryExtend = data.inventory;
wangqinghua's avatar
wangqinghua committed
                    this.inventoryParentId = data.inventory.typeparentid;
                    this.getTypeByParent(this.inventoryParentId);
wangqinghua's avatar
wangqinghua committed
                    this.isInVentory = true;
wangqinghua's avatar
wangqinghua committed
                    this.isYesInVentory = 'default';
                    this.isNOInVentory = 'primary';
                }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
            }
        );
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //确定
wangqinghua's avatar
wangqinghua committed
    handEditleOk() {
        if (!this.validateForm.hostExtend.equipmentTypeid) {
            this.message.info('请选择设备类型');
wangqinghua's avatar
wangqinghua committed
            return false;
        }
wangqinghua's avatar
wangqinghua committed
        if (!this.validateForm.hostExtend.secondLevelTypeid) {
            this.message.info('请选择二级类型');
wangqinghua's avatar
wangqinghua committed
            return false;
        }
wangqinghua's avatar
wangqinghua committed
        if (!this.validateForm.name) {
wangqinghua's avatar
wangqinghua committed
            this.message.info('请输入显示名');
            return false;
        }
wangqinghua's avatar
wangqinghua committed
        if (!this.validateForm.host) {
wangqinghua's avatar
wangqinghua committed
            this.message.info('请输入IP地址');
            return false;
        }
wangqinghua's avatar
wangqinghua committed
        if (this.isInVentory) {
            if (!this.validateForm.inventoryExtend.name) {
wangqinghua's avatar
wangqinghua committed
                this.message.info('请输入资产名称');
                return false;
            }
        }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
        //获取分组id
wangqinghua's avatar
wangqinghua committed
        const groupArr = [];
        for (let i = 0; i < this.groupList.length; i++) {
            if (this.groupList[i].checked == true) {
                const groupid = {'groupid': this.groupList[i].value};
wangqinghua's avatar
wangqinghua committed
                groupArr.push(groupid);
            }
        }
wangqinghua's avatar
wangqinghua committed
        this.validateForm.groups = groupArr;
        this.isOkLoading = true;
        if (this.modalTitle == '编辑资源') {
            this.update();
        } else {
            this.create();
        }
    }

    //创建
    create() {
wangqinghua's avatar
wangqinghua committed
        const interfaceArr = [];
wangqinghua's avatar
wangqinghua committed
        this.interfaceslist.forEach(res => {
wangqinghua's avatar
wangqinghua committed
            const a = {
                main: res.main,
                ip: res.ip,
                dns: res.dns,
                type: res.type,
                port: res.port,
                useip: res.useip,
wangqinghua's avatar
wangqinghua committed
                bulk: ''
            };
wangqinghua's avatar
wangqinghua committed
            if (res.type == '2') {
                if (res.bulk == true || res.bulk == '1') {
                    a.bulk = '1';
                } else {
                    a.bulk = '0';
                }
wangqinghua's avatar
wangqinghua committed
            } else {
wangqinghua's avatar
wangqinghua committed
                delete a.bulk;
wangqinghua's avatar
wangqinghua committed
            }
wangqinghua's avatar
wangqinghua committed
            interfaceArr.push(a);
wangqinghua's avatar
wangqinghua committed
        });
wangqinghua's avatar
wangqinghua committed
        this.validateForm.interfaces = interfaceArr;
wangqinghua's avatar
wangqinghua committed
        if (this.macroTYpe == 'macroExpand') {
            this.validateForm.macros = this.macroList2;
        }
wangqinghua's avatar
wangqinghua committed
        if (!this.isInVentory) {
wangqinghua's avatar
wangqinghua committed
            this.validateForm.inventoryExtend = null;
        }
wangqinghua's avatar
wangqinghua committed
        console.log(this.validateForm);
wangqinghua's avatar
wangqinghua committed
        this.overAllSer.createHost(this.validateForm).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
                if (res.errCode == 10000) {
                    this.isBasicEdit = false;
wangqinghua's avatar
wangqinghua committed
                    this.initForm();
                    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
            },
            (err) => {
                this.message.info('系统错误');
            }
        );
    }

    //更新
wangqinghua's avatar
wangqinghua committed
    update() {
wangqinghua's avatar
wangqinghua committed
        const interfaceArr = [];
        this.interfaceslist.forEach(res => {
            const a = {
                main: res.main,
                ip: res.ip,
                dns: res.dns,
                type: res.type,
                port: res.port,
                useip: res.useip,
                bulk: '',
                hostid: this.hostId,
                interfaceid: res.interfaceid
            };
            if (res.type == '2') {
                if (res.bulk == true || res.bulk == '1') {
                    a.bulk = '1';
                } else {
                    a.bulk = '0';
                }
            } else {
                delete a.bulk;
            }
            interfaceArr.push(a);
        });
        this.validateForm.interfaces = interfaceArr;
wangqinghua's avatar
wangqinghua committed
        //比较监控模版是否发生变化
        const clearArr = [];
wangqinghua's avatar
wangqinghua committed
        if (!this.isInVentory) {
wangqinghua's avatar
wangqinghua committed
            this.validateForm.inventoryExtend = null;
        }
wangqinghua's avatar
wangqinghua committed
        this.templatesResoure.forEach(res => {
            if (this.validateForm.templates.indexOf(res) == -1) {
wangqinghua's avatar
wangqinghua committed
                clearArr.push(res);
            }
        });
wangqinghua's avatar
wangqinghua committed
        this.validateForm.clearTemplateids = clearArr;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
        if (this.macroTYpe == 'macroExpand') {
            this.validateForm.macros = this.macroList2;
        }
wangqinghua's avatar
wangqinghua committed
        this.validateForm.hostid = this.hostId;
        this.validateForm.macros = this.macroList1;
wangqinghua's avatar
wangqinghua committed
        this.overAllSer.updateHost(this.validateForm).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
                if (res.errCode == 10000) {
wangqinghua's avatar
wangqinghua committed
                    this.isBasicEdit = false;
wangqinghua's avatar
wangqinghua committed
                    this.done.emit();
                    this.initForm();
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
            (err) => {
                this.message.info('系统错误');
wangqinghua's avatar
wangqinghua committed
            }
wangqinghua's avatar
wangqinghua committed
        );
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //取消
wangqinghua's avatar
wangqinghua committed
    handleEditCancel(): void {
        this.isBasicEdit = false;
wangqinghua's avatar
wangqinghua committed
        this.isOkLoading = false;
wangqinghua's avatar
wangqinghua committed
        this.initForm();
wangqinghua's avatar
wangqinghua committed
    }

    //tabs切换
wangqinghua's avatar
wangqinghua committed
    tabsChange(num) {
        this.tabNum = num;
wangqinghua's avatar
wangqinghua committed
    }

    //获取模版
wangqinghua's avatar
wangqinghua committed
    getTemplate() {
        this.overAllSer.templates().subscribe(
            (res) => {
wangqinghua's avatar
wangqinghua committed
                this.tempList = res.data;
wangqinghua's avatar
wangqinghua committed
            }
        );
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //获取设备类型
wangqinghua's avatar
wangqinghua committed
    getTree() {
wangqinghua's avatar
wangqinghua committed
        this.overAllSer.findTree().subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
                if (res.errCode == 10000) {
wangqinghua's avatar
wangqinghua committed
                    this.hostTypeList = res.data;
                }
            }
wangqinghua's avatar
wangqinghua committed
        );
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //二级类型的list
    getChildren(item) {
wangqinghua's avatar
wangqinghua committed
        this.hostTypeChildrenList = [];
        this.validateForm.hostExtend.secondLevelTypeid = null;
wangqinghua's avatar
wangqinghua committed
        this.hostTypeList.forEach(res => {
            if (item == res.id) {
                this.hostTypeChildrenList = res.childs;
            }
        });
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //接口add
wangqinghua's avatar
wangqinghua committed
    addInterfaces() {
        const demo = {
            main: '0',
            ip: '',
            dns: '',
            type: '1',
            port: '10050',
            useip: 1,
wangqinghua's avatar
wangqinghua committed
            bulk: true,
wangqinghua's avatar
wangqinghua committed
        };
wangqinghua's avatar
wangqinghua committed
        this.interfaceslist.push(demo);
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //接口delete
wangqinghua's avatar
wangqinghua committed
    deleteInterfaces(index) {
        this.interfaceslist.splice(index, 1);
    }

wangqinghua's avatar
wangqinghua committed
    // 1 agent:161 2 SNMP:161   3 IPMI:12345  4 JMX:6999
wangqinghua's avatar
wangqinghua committed
    changePort(index) {
        switch (this.interfaceslist[index].type) {
            case '1': {
                this.interfaceslist[index].port = '10050';
                break;
            }
            case '2': {
                this.interfaceslist[index].port = '161';
wangqinghua's avatar
wangqinghua committed
                this.interfaceslist[index].bulk = true;
wangqinghua's avatar
wangqinghua committed
                break;
            }
            case '3': {
                this.interfaceslist[index].port = '12345';
                break;
            }
            case '4': {
wangqinghua's avatar
wangqinghua committed
                this.interfaceslist[index].port = '6999';
wangqinghua's avatar
wangqinghua committed
                break;
            }

        }
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //只能一个默认
wangqinghua's avatar
wangqinghua committed
    changeMain(index) {
wangqinghua's avatar
wangqinghua committed
        let d = [];
wangqinghua's avatar
wangqinghua committed
        this.interfaceslist.map(e => {
            if (e.type == this.interfaceslist[index].type) {
                d.push(e);
wangqinghua's avatar
wangqinghua committed
            }
wangqinghua's avatar
wangqinghua committed
        });
wangqinghua's avatar
wangqinghua committed
        if (d.length > 1) {
wangqinghua's avatar
wangqinghua committed
            this.interfaceslist.forEach(res => {
wangqinghua's avatar
wangqinghua committed
                if (res.type == this.interfaceslist[index].type) {
wangqinghua's avatar
wangqinghua committed
                    res.main = '0';
                }
            });
        }
        console.log(d);

wangqinghua's avatar
wangqinghua committed
        this.interfaceslist[index].main = '1';
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //新增宏
    addMacro1() {
        const data = {
            macro: '{$SNMP_COMMUNITY}',
            value: 'public',
        };
        this.macroList1.push(data);
    }

    //移除宏
    deleteMacro1(index) {
        this.macroList1.splice(index, 1);
    }

    //新增主机宏
    addMacro2() {
        const data = {
            macro: '{$SNMP_COMMUNITY}',
            value: 'public',
        };
        this.macroList2.push(data);
    }

    //移除主机宏
    deleteMacro2(index) {
        this.macroList2.splice(index, 1);
    }

wangqinghua's avatar
wangqinghua committed
    //登记资产
wangqinghua's avatar
wangqinghua committed
    checkChange(e) {
        if (e == 'yes') {
wangqinghua's avatar
wangqinghua committed
            this.isInVentory = true;
wangqinghua's avatar
wangqinghua committed
            this.isYesInVentory = 'default';
            this.isNOInVentory = 'primary';
wangqinghua's avatar
wangqinghua committed
        }
wangqinghua's avatar
wangqinghua committed
        if (e == 'no') {
wangqinghua's avatar
wangqinghua committed
            this.isInVentory = false;
wangqinghua's avatar
wangqinghua committed
            this.isYesInVentory = 'primary';
wangqinghua's avatar
wangqinghua committed
            this.isNOInVentory = 'default';
wangqinghua's avatar
wangqinghua committed
        }
    }

wangqinghua's avatar
wangqinghua committed
    //初始化Form信息
    initForm() {
wangqinghua's avatar
wangqinghua committed
        this.isInVentory = false;
wangqinghua's avatar
wangqinghua committed
        this.isYesInVentory = 'primary';
        this.isNOInVentory = 'default';
wangqinghua's avatar
wangqinghua committed
        this.templatesResoure = [];
wangqinghua's avatar
wangqinghua committed
        this.macroList1 = [      //配置宏数组
            {
                macro: '{$SNMP_COMMUNITY}',
                value: 'public',
            }
        ];
        this.macroList2 = [      //配置宏数组
            {
                macro: '{$SNMP_COMMUNITY}',
                value: 'public',
            }
        ];
        this.interfaceslist = [   //接口list
            {
                main: '1',
                ip: '',
                dns: '',
                type: '1',
                port: '10050',
                useip: 1,
wangqinghua's avatar
wangqinghua committed
                bulk: true,
wangqinghua's avatar
wangqinghua committed
            }
        ];
wangqinghua's avatar
wangqinghua committed
        this.tabNum = 0;
        this.validateForm = {
            groups: [],
            hostExtend: {
wangqinghua's avatar
wangqinghua committed
                equipmentTypeid: null,
                secondLevelTypeid: null,
wangqinghua's avatar
wangqinghua committed
                // serviceid: ''
wangqinghua's avatar
wangqinghua committed
            },
            macros: this.macroList1,
wangqinghua's avatar
wangqinghua committed
            interfaces: null,  //接口
wangqinghua's avatar
wangqinghua committed
            inventoryExtend: {
wangqinghua's avatar
wangqinghua committed
                serialnoA: null,
                invertoryname: null,
                mac: null,
                storageLocation: null,
wangqinghua's avatar
wangqinghua committed
                maintenanceExpiration: null,
wangqinghua's avatar
wangqinghua committed
                name: null,
                person: null,
                ip: null,
                usedcount: null,
                stock: null,
                lendcount: null,
                repaircount: null,
                scrapcount: null,
wangqinghua's avatar
wangqinghua committed
            },
wangqinghua's avatar
wangqinghua committed
            templates: null,
wangqinghua's avatar
wangqinghua committed
            name: null,
            host: null,
            ipmi_authtype: null,
            ipmi_username: null,
            ipmi_privilege: null,
            ipmi_password: null,
            tls_psk_identity: null,
            tls_issuer: null,
            tls_subject: null,
            tls_psk: null,
        };
    }
wangqinghua's avatar
wangqinghua committed
}