import { Util } from 'ibiz-core'; import { Component } from 'vue-property-decorator'; import { AppDefaultViewLayout } from "../app-default-view-layout/app-default-view-layout"; /** * 视图基础布局 * * @export * @class AppDefaultViewLayout * @extends {Vue} */ @Component({}) export class AppDefaultMDDataViewLayout extends AppDefaultViewLayout { /** * 初始化视图的绘制参数 * * @memberof AppDefaultMDViewLayout */ public initRenderOptions(opts: any = {}) { this.renderOptions = {}; const { viewType, viewStyle, codeName } = this.viewInstance; const viewClassNames: any = { 'view-container': true, 'demultidataview':true }; if (viewType) { Object.assign(viewClassNames, { [viewType?.toLowerCase()]: true }); } if (viewStyle) { Object.assign(viewClassNames, { [`view-style-${viewStyle.toLowerCase()}`]: true }); } else { Object.assign(viewClassNames, { [`view-style-default`]: true }); } if (codeName) { Object.assign(viewClassNames, { [Util.srfFilePath2(codeName)]: true }); } if (this.viewInstance?.getPSSysCss?.()?.cssName) { Object.assign(viewClassNames, { [this.viewInstance.getPSSysCss()?.cssName]: true }); } if (this.viewProxyMode) { Object.assign(viewClassNames, { 'isproxy': true }); } Object.assign(viewClassNames, opts); this.$set(this.renderOptions, 'viewClassNames', viewClassNames); } /** * 绘制正文内容 * * @memberof AppDefaultMDViewLayout */ public renderViewContent(): any { return [ this.$slots.topMessage || (this.$slots.searchForm) ? <div class="view-content__top"> {this.$slots.topMessage} { this.$slots.searchForm} </div> : null, <div class="view-content__body"> {this.$slots.bodyMessage} {this.$slots.default} </div>, this.$slots.bottomMessage ? <div class="view-content__bottom"> {this.$slots.bottomMessage} </div> : null ] } }