<template> <studio-view-style2 viewName="competitorsummary" viewTitle="竞争对手概览" class='deportalview competitor-summary'> <view_dashboard :viewState="viewState" :viewparams="viewparams" :context="JSON.parse(JSON.stringify(context))" :isEnableCustomized = "false" name="dashboard" ref='dashboard' @load="dashboard_load($event)" @closeview="closeView($event)"> </view_dashboard> </studio-view-style2> </template> <script lang='tsx'> import { Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator'; import { Subject } from 'rxjs'; import { UIActionTool, Util } from '@/utils'; import { VueLifeCycleProcessing, DashboardViewBase } from '@/studio-core'; import CompetitorService from '@/service/competitor/competitor-service'; import PortalViewEngine from '@engine/view/portal-view-engine'; /** * 竞争对手概览视图基类 * * @export * @class CompetitorSummaryBase * @extends {DashboardViewBase} */ @Component({}) @VueLifeCycleProcessing() export default class CompetitorSummaryBase extends DashboardViewBase { /** * 实体服务对象 * * @type {CompetitorService} * @memberof CompetitorSummaryBase */ protected appEntityService: CompetitorService = new CompetitorService; /** * 计数器服务对象集合 * * @protected * @type {Array<*>} * @memberof CompetitorSummaryBase */ protected counterServiceArray: Array<any> = []; /** * 自定义视图导航上下文集合 * * @protected * @type {*} * @memberof CompetitorSummaryBase */ protected customViewNavContexts: any = { 'REGARDINGOBJECTID': { isRawValue: false, value: 'competitor' }, 'REGARDINGOBJECTTYPECODE': { isRawValue: true, value: 'COMPETITOR' } }; /** * 视图模型数据 * * @protected * @type {*} * @memberof CompetitorSummaryBase */ protected model: any = { srfCaption: 'entities.competitor.views.summary.caption', srfTitle: 'entities.competitor.views.summary.title', srfSubTitle: 'entities.competitor.views.summary.subtitle', dataInfo: '' } /** * 容器模型 * * @protected * @type {*} * @memberof CompetitorSummaryBase */ protected containerModel: any = { view_dashboard: { name: 'dashboard', type: 'DASHBOARD' }, }; /** * 视图唯一标识 * * @protected * @type {string} * @memberof ViewBase */ protected viewtag: string = '9bf80730e83a74615919a0f0907505d4'; /** * 视图引擎 * * @public * @type {Engine} * @memberof CompetitorSummaryBase */ public engine: PortalViewEngine = new PortalViewEngine(); /** * 引擎初始化 * * @public * @memberof CompetitorSummaryBase */ public engineInit(): void { this.engine.init({ view: this, dashboard: this.$refs.dashboard, keyPSDEField: 'competitor', majorPSDEField: 'competitorname', isLoadDefault: true, }); } /** * dashboard 部件 load 事件 * * @param {*} [args={}] * @param {*} $event * @memberof CompetitorSummaryBase */ public dashboard_load($event: any, $event2?: any): void { this.engine.onCtrlEvent('dashboard', 'load', $event); } } </script> <style lang='less'> @import './competitor-summary.less'; </style>