eamplan-info-main-view-base.tsx 3.7 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
import { Subject } from 'rxjs';
import { EditViewBase } from '@/studio-core';
import EAMPlanService from '@/service/eamplan/eamplan-service';
import EAMPlanAuthService from '@/authservice/eamplan/eamplan-auth-service';
import EditViewEngine from '@engine/view/edit-view-engine';
import EAMPlanUIService from '@/uiservice/eamplan/eamplan-ui-service';

/**
 * 维护计划主信息视图基类
 *
 * @export
 * @class EAMPlanInfo_MainViewBase
 * @extends {EditViewBase}
 */
export class EAMPlanInfo_MainViewBase extends EditViewBase {
    /**
     * 视图对应应用实体名称
     *
     * @protected
     * @type {string}
     * @memberof EAMPlanInfo_MainViewBase
     */
    protected appDeName: string = 'eamplan';

    /**
     * 应用实体主键
     *
     * @protected
     * @type {string}
     * @memberof EAMPlanInfo_MainViewBase
     */
    protected appDeKey: string = 'eamplanid';

    /**
     * 应用实体主信息
     *
     * @protected
     * @type {string}
     * @memberof EAMPlanInfo_MainViewBase
     */
    protected appDeMajor: string = 'eamplanname';

    /**
     * 实体服务对象
     *
     * @type {EAMPlanService}
     * @memberof EAMPlanInfo_MainViewBase
     */
    protected appEntityService: EAMPlanService = new EAMPlanService;

    /**
     * 实体权限服务对象
     *
     * @type EAMPlanUIService
     * @memberof EAMPlanInfo_MainViewBase
     */
    public appUIService: EAMPlanUIService = new EAMPlanUIService(this.$store);


    /**
     * 计数器服务对象集合
     *
     * @protected
     * @type {Array<*>}
     * @memberof EAMPlanInfo_MainViewBase
     */    
    protected counterServiceArray: Array<any> = [];

    /**
     * 视图模型数据
     *
     * @protected
     * @type {*}
     * @memberof EAMPlanInfo_MainViewBase
     */
    protected model: any = {
        srfCaption: 'entities.eamplan.views.info_mainview.caption',
        srfTitle: 'entities.eamplan.views.info_mainview.title',
        srfSubTitle: 'entities.eamplan.views.info_mainview.subtitle',
        dataInfo: ''
    }

    /**
     * 容器模型
     *
     * @protected
     * @type {*}
     * @memberof EAMPlanInfo_MainViewBase
     */
    protected containerModel: any = {
        view_form: { name: 'form', type: 'FORM' },
    };


	/**
     * 视图唯一标识
     *
     * @protected
     * @type {string}
     * @memberof ViewBase
     */
	protected viewtag: string = '77a4e1c6dd284b75b0db1c44937f3d8b';


    /**
     * 视图引擎
     *
     * @public
     * @type {Engine}
     * @memberof EAMPlanInfo_MainViewBase
     */
    public engine: EditViewEngine = new EditViewEngine();

    /**
     * 引擎初始化
     *
     * @public
     * @memberof EAMPlanInfo_MainViewBase
     */
    public engineInit(): void {
        this.engine.init({
            view: this,
            form: this.$refs.form,
            p2k: '0',
            keyPSDEField: 'eamplan',
            majorPSDEField: 'eamplanname',
            isLoadDefault: true,
        });
    }

    /**
     * form 部件 save 事件
     *
     * @param {*} [args={}]
     * @param {*} $event
     * @memberof EAMPlanInfo_MainViewBase
     */
    public form_save($event: any, $event2?: any): void {
        this.engine.onCtrlEvent('form', 'save', $event);
    }

    /**
     * form 部件 remove 事件
     *
     * @param {*} [args={}]
     * @param {*} $event
     * @memberof EAMPlanInfo_MainViewBase
     */
    public form_remove($event: any, $event2?: any): void {
        this.engine.onCtrlEvent('form', 'remove', $event);
    }

    /**
     * form 部件 load 事件
     *
     * @param {*} [args={}]
     * @param {*} $event
     * @memberof EAMPlanInfo_MainViewBase
     */
    public form_load($event: any, $event2?: any): void {
        this.engine.onCtrlEvent('form', 'load', $event);
    }


}