<#if ctrl.getPortletType() != 'CONTAINER'> <#ibizinclude>../@MACRO/CONTROL/LANGBASE.vue.ftl <#macro renderUiaction> <#if ctrl.getPSUIActionGroup?? && ctrl.getPSUIActionGroup()?? && ctrl.getPSUIActionGroup().getPSUIActionGroupDetails()??> <#assign UIActionDetails=ctrl.getPSUIActionGroup().getPSUIActionGroupDetails() /> <#list UIActionDetails as uiactiondetail> <#if !uiactiondetail.isShowCaption()> <#if uiactiondetail.getPSUIAction()??> <#if uiactiondetail.isShowIcon()> <#if uiactiondetail.getPSUIAction().getPSSysImage()??> <#assign viewimg=uiactiondetail.getPSUIAction().getPSSysImage()/> <#if viewimg.getCssClass() != ''> <#else> <#-- <#if uiactiondetail.isShowCaption()><#if langbase??>{{$t('${langbase}.uiactions.${uiactiondetail.getPSUIAction().getUIActionTag()?lower_case}')}}<#else>${uiactiondetail.getPSUIAction().getCaption()} --> <#if uiactiondetail.isShowCaption()> ${uiactiondetail.getPSUIAction().getCaption()} <#if !uiactiondetail.isShowCaption()>
${uiactiondetail.getPSUIAction().getCaption()}
<#assign import_block> import { Environment } from '@/environments/environment'; <#ibizinclude> ../@MACRO/CONTROL/CONTROL_PORTLET-HEADER-BASE.vue.ftl /** * 长度 * * @type {number} * @memberof ${srfclassname('${ctrl.codeName}')}Base */ @Prop() public height?: number; /** * 宽度 * * @type {number} * @memberof ${srfclassname('${ctrl.codeName}')}Base */ @Prop() public width?: number; /** * 视图默认使用 * * @type {string} * @memberof ${srfclassname('${ctrl.codeName}')}Base */ @Inject({from:'navModel',default: 'tab'}) public navModel!:string; <#if ctrl.getPortletType() == 'ACTIONBAR'> /** * 操作栏模型数据 * * @returns {any[]} * @memberof ${srfclassname('${ctrl.codeName}')}Base */ public actionBarModelData:any[] =[ <#if ctrl.getPSAppViewLogics?? && ctrl.getPSAppViewLogics()??> <#list ctrl.getPSAppViewLogics() as appViewLogic> { viewlogicname:"${appViewLogic.name}", <#if appViewLogic.getPSAppViewUIAction?? && appViewLogic.getPSAppViewUIAction()??> <#assign viewUIAction = appViewLogic.getPSAppViewUIAction()/> <#if viewUIAction.getPSUIAction?? && viewUIAction.getPSUIAction()??> <#assign uiaction = viewUIAction.getPSUIAction() /> actionName:"${uiaction.getCaption()}", icon:"<#if uiaction.getIconCls?? && uiaction.getIconCls()??>${uiaction.getIconCls()}", <#if uiaction.getPSAppCounter?? && uiaction.getPSAppCounter()??> <#assign counter = uiaction.getPSAppCounter() /> counterService:this.${srfclassname('${counter.getCodeName()}')}counterservice, <#if uiaction.getCounterId()??>counterId:"${uiaction.getCounterId()}", noprivdisplaymode:'<#if uiaction.getNoPrivDisplayMode(view)??>${uiaction.getNoPrivDisplayMode(view)}', dataaccaction:'<#if uiaction.getDataAccessAction()??>${uiaction.getDataAccessAction()}', visabled:true,disabled:false }<#if appViewLogic_has_next>, ]; /** * 触发界面行为 * * @memberof ${srfclassname('${ctrl.codeName}')}Base */ public handleItemClick($event:any){ let data: any = $event.params && Object.keys($event.params).length > 0 ? $event.params : null; <#if ctrl.getPSAppViewLogics?? && ctrl.getPSAppViewLogics()??> <#list ctrl.getPSAppViewLogics() as appViewLogic> if(Object.is($event.tag,'${appViewLogic.name}')){ this.${appViewLogic.name}(data, $event.tag, $event.event); } } <#if ctrl.getPortletType?? && ctrl.getPortletType()?? && ctrl.getPortletType() == "TOOLBAR" > <#assign toolbar = ctrl.getContentPSControl()/> ${P.getCtrlCode(toolbar, 'CONTROL.vue').code} /** * 是否自适应大小 * * @returns {boolean} * @memberof ${srfclassname('${ctrl.codeName}')}Base */ @Prop({default: false})public isAdaptiveSize!: boolean; /** * 获取多项数据 * * @returns {any[]} * @memberof ${srfclassname('${ctrl.codeName}')}Base */ public getDatas(): any[] { return []; } /** * 获取单项树 * * @returns {*} * @memberof ${srfclassname('${ctrl.codeName}')}Base */ public getData(): any { return {}; } /** * 获取高度 * * @returns {any[]} * @memberof ${srfclassname('${ctrl.codeName}')}Base */ get getHeight(){ if(!this.$util.isEmpty(this.height) && !this.$util.isNumberNaN(this.height)){ if(this.height == 0){ return 'auto'; }else{ return this.height+'px'; } }else{ <#if ctrl.getHeight?? && ctrl.getHeight() gt 0> return '${ctrl.getHeight()?c}px'; <#else> return 'auto'; } } /** * vue 生命周期 * * @memberof ${srfclassname('${ctrl.codeName}')}Base */ public created() { this.afterCreated(); } /** * 执行created后的逻辑 * * @memberof ${srfclassname('${ctrl.codeName}')}Base */ public afterCreated(){ if (this.viewState) { this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => { if (!Object.is(tag, this.name)) { return; } const refs: any = this.$refs; Object.keys(refs).forEach((_name: string) => { this.viewState.next({ tag: _name, action: action, data: data }); }); }); } } /** * vue 生命周期 * * @memberof ${srfclassname('${ctrl.codeName}')}Base */ public destroyed() { this.afterDestroy(); } /** * 执行destroyed后的逻辑 * * @memberof ${srfclassname('${ctrl.codeName}')}Base */ public afterDestroy() { if (this.viewStateEvent) { this.viewStateEvent.unsubscribe(); } <#if destroyed_block??> ${destroyed_block} } <#if ctrl.getPortletType() != 'ACTIONBAR'> <#if ctrl.getPSUIActionGroup?? && ctrl.getPSUIActionGroup()?? && ctrl.getPSUIActionGroup().getPSUIActionGroupDetails()??> <#assign UIActionDetails=ctrl.getPSUIActionGroup().getPSUIActionGroupDetails() /> /** * 执行界面行为 * * @memberof ${srfclassname('${ctrl.codeName}')}Base */ public uiAction(tag:string,event:any){ <#list UIActionDetails as uiactiondetail> if(Object.is(tag,'${uiactiondetail.getName()?lower_case}')){ this.${ctrl.getName()?lower_case}_${uiactiondetail.getName()?lower_case}_click(null,tag,event); } } <#ibizinclude> ../@MACRO/CONTROL/CONTROL_BOTTOM-BASE.vue.ftl <#ibizinclude> ../@MACRO/CONTROL/CONTROL-BASE.style.ftl