account-summary-base.tsx 3.5 KB
Newer Older
1 2 3
import { Subject } from 'rxjs';
import { DashboardViewBase } from '@/studio-core';
import AccountService from '@/service/account/account-service';
4
import AccountAuthService from '@/authservice/account/account-auth-service';
5
import PortalViewEngine from '@engine/view/portal-view-engine';
6
import AccountUIService from '@/uiservice/account/account-ui-service';
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

/**
 * 客户概览视图基类
 *
 * @export
 * @class AccountSummaryBase
 * @extends {DashboardViewBase}
 */
export class AccountSummaryBase extends DashboardViewBase {
    /**
     * 视图对应应用实体名称
     *
     * @protected
     * @type {string}
     * @memberof AccountSummaryBase
     */
    protected appDeName: string = 'account';

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

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

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

51 52 53 54 55 56 57 58
    /**
     * 实体权限服务对象
     *
     * @type AccountUIService
     * @memberof AccountSummaryBase
     */
    public appUIService: AccountUIService = new AccountUIService(this.$store);

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

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

	/**
	 * 自定义视图导航上下文集合
	 *
     * @protected
	 * @type {*}
	 * @memberof AccountSummaryBase
	 */
    protected customViewNavContexts: any = {
        'REGARDINGOBJECTID': { isRawValue: false, value: 'account' },
        'REGARDINGOBJECTTYPECODE': { isRawValue: true, value: 'ACCOUNT' }
    };

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

    /**
     * 容器模型
     *
     * @protected
     * @type {*}
     * @memberof AccountSummaryBase
     */
    protected containerModel: any = {
        view_dashboard: { name: 'dashboard', type: 'DASHBOARD' },
    };


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


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

    /**
     * 引擎初始化
     *
     * @public
     * @memberof AccountSummaryBase
     */
    public engineInit(): void {
        this.engine.init({
            view: this,
            dashboard: this.$refs.dashboard,
            keyPSDEField: 'account',
            majorPSDEField: 'accountname',
            isLoadDefault: true,
        });
    }

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


}