import { AppDefaultViewLayout } from "../app-default-view-layout/app-default-view-layout"; import { Component } from 'vue-property-decorator'; import { Util, AppServiceBase } from '@ibizstudio/runtime'; import { AppLoadingService } from "../../../../app-service/loading-service/app-loading-service"; import { IPSAppIndexView, IPSLanguageRes } from '@ibizstudio/runtime'; import './app-default-indexview-layout.less'; @Component({}) export class AppDefaultIndexViewLayout extends AppDefaultViewLayout { /** * 应用loading服务 * * @memberof AppLayout */ appLoadingService = AppLoadingService.getInstance(); /** * 是否满屏 * * @type {boolean} * @memberof IndexViewBase */ isFullScreen: boolean = false; /** * 菜单收缩变化 * * @type {boolean} * @memberof AppDefaultIndexViewLayout */ collapseChange: boolean = false; /** * 抽屉状态 * * @type {boolean} * @memberof AppDefaultIndexViewLayout */ contextMenuDragVisiable: boolean = false; /** * 当前主题 * * @memberof AppDefaultIndexViewLayout */ selectTheme() { let _this: any = this; if (_this.$router.app.$store.state.selectTheme) { return _this.$router.app.$store.state.selectTheme; } else if (localStorage.getItem('theme-class')) { return localStorage.getItem('theme-class'); } else { return 'app-theme-default'; } } /** * 获取当前语言环境 * * @memberof AppDefaultIndexViewLayout */ getSelectLanguage() { } /** * 当前字体 * * @memberof AppDefaultIndexViewLayout */ get selectFont() { let _this: any = this; if (_this.$router.app.$store.state.selectFont) { return _this.$router.app.$store.state.selectFont; } else if (localStorage.getItem('font-family')) { return localStorage.getItem('font-family'); } else { return 'Microsoft YaHei'; } } /** * 菜单收缩 * * @memberof AppDefaultIndexViewLayout */ collapseMenus() { if (this.$store.getters['getCustomParamByTag']('srffullscreen')) { this.isFullScreen = !this.isFullScreen; if (this.isFullScreen) { this.collapseChange = true; } else { this.collapseChange = false; } } else { this.collapseChange = !this.collapseChange; } this.$emit('onCollapseChange', this.collapseChange); } /** * 路由列表 * * @memberof AppDefaultIndexViewLayout */ get routerList() { return this.$store.state.historyPathList; } /** * 路由键值 * * @memberof AppDefaultIndexViewLayout */ get routerViewKey() { let _this: any = this; return _this.$route.fullPath; } /** * 是否显示标题栏 * * @readonly * @memberof AppDefaultViewLayout */ get showCaption(){ if(this.viewInstance && this.$parent && Util.isExist(this.viewInstance.showCaptionBar)){ return this.viewInstance.showCaptionBar && !(this.$parent as any).noViewCaption }else{ return true; } } /** * 初始化 * * @memberof AppDefaultIndexViewLayout */ created() { document.getElementsByTagName('html')[0].className = this.selectTheme(); this.isFullScreen = Boolean(this.$store.getters['getCustomParamByTag']('srffullscreen')); } /** * 渲染左侧菜单样式 * * @memberof AppDefaultIndexViewLayout */ renderContentLeft() { let contentClass = { 'index_content': true, 'index_tab_content': Object.is(this.viewInstance.viewStyle, 'DEFAULT'), 'index_route_content': !Object.is(this.viewInstance.viewStyle, 'DEFAULT') } return (
{this.$slots.default} {Object.is(this.viewInstance.viewStyle, 'DEFAULT') ? : null}
); } /** * 渲染无菜单样式 * * @memberof AppDefaultIndexViewLayout */ renderContentOnly() { let contentClass = { 'index_content': true, 'index_tab_content': Object.is(this.viewInstance.viewStyle, 'DEFAULT'), 'index_route_content': !Object.is(this.viewInstance.viewStyle, 'DEFAULT') } return (
{Object.is(this.viewInstance.viewStyle, 'DEFAULT') ? : null}
); } /** * 渲染顶部菜单样式 * * @memberof AppDefaultIndexViewLayout */ renderContentTop() { return (
{this.$slots.default}
this.contextMenuDragVisiable = false}>
); } /** * 渲染中间菜单样式 * * @memberof AppDefaultIndexViewLayout */ renderContentMiddle() { let cardClass = { 'view-card': true }; return ( {this.showCaption ?
{this.model.srfCaption}
: null}
{this.$slots.default}
); } /** * 渲染分页导航菜单样式 * * @return {*} * @memberof AppDefaultIndexViewLayout */ renderContentTabexpView() { return (
{this.$slots.default}
); } /** * 绘制布局 * * @memberof AppDefaultIndexViewLayout */ render(h: any) { let viewClass = { 'view-container': ((!Object.is((this.viewInstance as IPSAppIndexView).mainMenuAlign, "LEFT") && !Object.is((this.viewInstance as IPSAppIndexView).mainMenuAlign, "TOP"))) ? true : false, 'inner_indexview': Object.is((this.viewInstance as IPSAppIndexView).mainMenuAlign, "CENTER") ? true : false, 'view-default': true, [this.viewInstance.viewType.toLowerCase()]: true, [Util.srfFilePath2(this.viewInstance.codeName)]: true }; return (
{(this.viewInstance as IPSAppIndexView)?.defaultPage &&
} { (Object.is(this.viewInstance.mainMenuAlign, "LEFT") || !this.viewInstance.mainMenuAlign) ? this.renderContentLeft() : null} { Object.is(this.viewInstance.mainMenuAlign, "TOP") ? this.renderContentTop() : null} { Object.is(this.viewInstance.mainMenuAlign, "CENTER") ? this.renderContentMiddle() : null} { Object.is(this.viewInstance.mainMenuAlign, 'TABEXP_LEFT') || Object.is(this.viewInstance.mainMenuAlign, 'TREEEXP') ? this.renderContentTabexpView() : null} { Object.is(this.viewInstance.mainMenuAlign, 'TABEXP_TOP') ? this.renderContentTabexpView() : null} { Object.is(this.viewInstance.mainMenuAlign, 'TABEXP_RIGHT') ? this.renderContentTabexpView() : null} { Object.is(this.viewInstance.mainMenuAlign, 'TABEXP_BOTTOM') ? this.renderContentTabexpView() : null} { Object.is(this.viewInstance.mainMenuAlign, "NONE") ? this.renderContentOnly() : null}
); } }