<div class="view-container ${view.getViewType()?lower_case} ${srffilepath2(view.getCodeName())}<#if view.getPSSysCss?? && view.getPSSysCss()??> ${view.getPSSysCss().getCssName()}</#if>"> <app-studioaction :viewTitle="$t(model.srfCaption)" viewName="${view.getCodeName()?lower_case}"></app-studioaction> <card class='view-card<#if !view.isShowCaptionBar()> view-no-caption</#if> <#if !view.hasPSControl('toolbar')> view-no-toolbar</#if>' :dis-hover="true" :bordered="false"> <#ibizinclude> ../@MACRO/VIEW_CAPTION_DATAINFO.vue.ftl </#ibizinclude> <#-- BEGIN:视图顶部视图消息 --> <@ibizindent blank=8> <#ibizinclude> ../@MACRO/View_Pos_Top_Msgs.vue.ftl </#ibizinclude> </@ibizindent> <#-- END:视图顶部视图消息 --> <div class="content-container"> <#-- BEGIN:视图内容区视图消息 --> <@ibizindent blank=8> <#ibizinclude> ../@MACRO/View_Pos_Body_Msgs.vue.ftl </#ibizinclude> </@ibizindent> <#-- END:视图内容区视图消息 --> <split v-model="split" mode="<#if view.getSideBarLayout()?? && view.getSideBarLayout() == "LEFT">horizontal<#else>vertical</#if>" @on-move-end="onSplitChange"> <template slot="<#if view.getSideBarLayout()?? && view.getSideBarLayout() == "LEFT">left<#else>top</#if>"> <#if view.hasPSControl('gridexpbar')> ${P.getCtrlCode('gridexpbar', 'CONTROL.html').code} </#if> </template> <template slot="<#if view.getSideBarLayout()?? && view.getSideBarLayout() == "LEFT">right<#else>bottom</#if>"> <component v-if="navItem && navItem.navView" :is="navItem.navView" :key="navItem.data && navItem.data.length ? navItem.data[0].srfkey : ''" class="viewcontainer2" :viewDefaultUsage="false" :viewdata="JSON.stringify(navItem.srfnavdata.context)" :viewparam="JSON.stringify(navItem.srfnavdata.viewparams)"> </component> </template> </split> </div> <#-- BEGIN:视图底部视图消息 --> <@ibizindent blank=8> <#ibizinclude> ../@MACRO/View_Pos_Bottom_Msgs.vue.ftl </#ibizinclude> </@ibizindent> <#-- END:视图底部视图消息 --> </card> </div>