提交 cf1b3f74 编写于 作者: ysw's avatar ysw

init

上级 8e3cec50
J2EE6IONIC4_R6
\ No newline at end of file
<#if ctrl.getPSSysPFPlugin()??>
<#-- 有扩展插件 -->
${ctrl.getPSSysPFPlugin().getCode("CODE",pf.getId(),pfstyle.getId(),view,ctrl,null)}
<#else>
<#-- 无扩展插件 -->
<ng-container *ngFor="let item of ${ctrl.name}.$items">
<div nz-row [nzType]="'flex'" [nzJustify]="'center'" [nzAlign]="'middle'" class="py-sm bg-grey-lighter-h point">
<#if ctrl.getPSDEListItems()??>
<#assign listItems = ctrl.getPSDEListItems()/>
<#list listItems as item>
<#if item.getItemType() == 'TEXTITEM'>
<#if item.getRenderPSSysPFPlugin()??>
${item.getRenderPSSysPFPlugin().getCode("CODE",pf.getId(),pfstyle.getId(),view,item,null)}
<#else>
&nbsp;&nbsp;&nbsp;<span>{{item.${item.name?lower_case}}}</span>
</#if>
</#if>
</#list>
</#if>
</div>
</ng-container>
</#if>
\ No newline at end of file
import { IBizListService } from '@ibizsys/widget/IBizListService';
\ No newline at end of file
/**
* 列表部件服务对象
*
* @export
* @class ${srfclassname('${ctrl.name}')}Service
* @extends { IBizListService }
*/
export class ${srfclassname('${ctrl.name}')}Service extends IBizListService {
constructor(opt) {
super(opt);
}
}
\ No newline at end of file
CTRLTYPE=LIST
\ No newline at end of file
<div class="ibiz-wizardpanel">
<nz-layout>
<nz-content>
<#list ctrl.getPSDEEditForms() as form>
<div *ngIf="${ctrl.name}.$curformId=='${form.name}'">
${srfctrl('${form.name}').code}
</div>
</#list>
</nz-content>
<nz-footer>
<ng-container *ngIf="wizardpanel.onChangeActionBtn('PREV')">
<button class="ml-sm" nz-button [nzType]="'default'" (click)="goPrev()">
<span>上一页</span>
</button>
</ng-container>
<ng-container *ngIf="wizardpanel.onChangeActionBtn('NEXT')">
<button class="ml-sm" nz-button [nzType]="'primary'" (click)="goNext()">
<span>下一页</span>
</button>
</ng-container>
<ng-container *ngIf="wizardpanel.onChangeActionBtn('FINISH')">
<button class="ml-sm" nz-button [nzType]="'primary'" (click)="goFinal()">
<span>完成</span>
</button>
</ng-container>
</nz-footer>
</nz-layout>
</div>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormDetailVC
</#ibiztemplate>
<button id="${item.uniqueId}" title="${item.caption}" class="${item.getColCssClass()} btn <#if item.isShowCaption()><#else>btn-icon-only</#if> <#if item.getPSSysCss()??>${item.getPSSysCss().getCssName()}</#if> ">
<#if item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)><i class="${img.getCssClass()}"></i></#if></#if>
<#if item.isShowCaption()><span >${item.caption}</span></#if>
</button>
\ No newline at end of file
import { IBizWizardPanelService} from '@ibizsys/widget/IBizWizardPanelService';
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormDetailVC
</#ibiztemplate>
<div id="11"></div>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormItemVC
</#ibiztemplate>
<div data-ibizid='${item.uniqueId}__fi' class="item-content ibiz-content-${item.getPSEditorType().getStandardPSEditorType()?lower_case}" data-ibiz-allowblank="<#if item.isAllowEmpty()>1<#else>0</#if>" >
<div class="item-inner ibiz-inner-${item.getPSEditorType().getStandardPSEditorType()?lower_case}">
<#if (item.isShowCaption())>
<div data-ibizid='${item.uniqueId}__lb' class="item-title label"><#if !(item.isEmptyCaption())>${item.caption}</#if></div>
</#if>
<div class="item-input ibiz-input-${item.getPSEditorType().getStandardPSEditorType()?lower_case}">
${editor.code}
</div>
</div>
</div>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormGroupPanellVC
</#ibiztemplate>
<#list items as rowitem>
${rowitem.code}
</#list>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormGroupPanellVC
</#ibiztemplate>
<div data-ibizid="${item.uniqueId}" name="${item.name}" >
<#if item.isShowCaption()>
<div class="content-block-title">${item.caption}</div>
</#if>
<div class="list-block">
<ul>
<#list items as rowitem>
<li>
${rowitem.code}
</li>
</#list>
</ul>
</div>
</div>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormItemVC
</#ibiztemplate>
<INPUT type="hidden" name="${item.name}" id="${item.uniqueId}">
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormDetailVC
</#ibiztemplate>
<div class="${item.getColCssClass()} ${item.getColCssClass()}" id="${item.uniqueId}" name="${item.name}" >
<span >直接内容[${item.caption}]</span>
</div>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormGroupPanellVC
</#ibiztemplate>
<#list items as rowitem>
${rowitem.code}
</#list>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormTabPanellVC
</#ibiztemplate>
<div id='${ctrl.name}_${item.name}' class="${item.getColCssClass()}">
<ul class="nav nav-tabs" id="${ctrl.name}_${item.name}_tab">
<#list tabpages as tabpage>
<li class="<#if (tabpage_index ==0)>active</#if>"><a href="#${ctrl.name}_${tabpage.obj.codeName}_tab" data-toggle="tab">${tabpage.obj.caption}</a></li>
</#list>
</ul>
<div class="tab-content">
<#list tabpages as tabpage>
<div class="tab-pane <#if (tabpage_index ==0)>active</#if>" id="${ctrl.name}_${tabpage.obj.codeName}_tab">${tabpage.code}</div>
</#list>
</div>
</div>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEWizardCode
</#ibiztemplate>
/**
* 向导面板部件服务对象
*
* @export
* @class ${srfclassname('${ctrl.name}')}Service
* @extends { IBizWizardPanelService }
*/
export class ${srfclassname('${ctrl.name}')}Service extends IBizWizardPanelService {
constructor(opt) {
super(opt);
}
public regForms(): void {
<#list ctrl.getPSDEEditForms() as form>
this.registerForm('${form.name}', this.getViewController().getControl('${form.name}'));
</#list>
}
public regActions(): void {
<#if ctrl.getPSDEWizard()??>
<#assign wizard=ctrl.getPSDEWizard()>
<#if wizard.getPSDEWizardForms()??>
<#list wizard.getPSDEWizardForms() as form>
<#list form.getStepActions() as action>
this.regFormActions('${ctrl.name}_form_' + '${form.getFormTag()}', '${action}');
</#list></#list></#if></#if>
}
}
\ No newline at end of file
CTRLTYPE=WIZARDPANEL
\ No newline at end of file
import { IBizMultiEditViewPanelService } from '@ibizsys/widget/IBizMultiEditViewPanelService';
\ No newline at end of file
/**
* 编辑表单部件服务对象
*
* @export
* @class ${srfclassname('${ctrl.name}')}Service
* @extends { IBizMultiEditViewPanelService }
*/
export class ${srfclassname('${ctrl.name}')}Service extends IBizMultiEditViewPanelService {
/**
* Creates an instance of ${srfclassname('${ctrl.name}')}Service.
* 创建 ${srfclassname('${ctrl.name}')}Service 实例
*
* @param {*} [opt={}]
* @memberof ${srfclassname('${ctrl.name}')}Service
*/
constructor(opt: any = {}) {
super(opt);
}
}
\ No newline at end of file
CTRLTYPE=MULTIEDITVIEWPANEL
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDETBUIActionVC
</#ibiztemplate>
<#assign deuiaction=item.getPSUIAction()>
<#if deuiaction.getUIActionTag() == 'ExportExcel'>
<#if view.hasPSControl("GRID")>
<ng-container *ngIf="${ctrl.name}.$items.${item.getName()?lower_case}.dataaccaction">
<nz-dropdown <#if item.getWidth() gt 0>style="width:${item.getWidth()?c}px;"</#if> <#if !item.isShowCaption()>[attr.title]="${ctrl.name}.$items.${item.getName()?lower_case}.caption"</#if> [nzPlacement]="'bottomRight'" [nzTrigger]="'click'" [nzClickHide]="false" [(nzVisible)]="${ctrl.name}.exportMenuState">
<button nz-button nz-dropdown [nzSize]="'large'" class="ml-sm <#if item.getPSSysCss()??>${item.getPSSysCss().getCssName()}</#if>">
<#if item.isShowIcon() && item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)><i class="${img.getCssClass()}"></i> </#if></#if>
<#if item.isShowCaption()>{{${ctrl.name}.$items.${item.getName()?lower_case}.caption}}</#if>
<i class="anticon anticon-down"></i>
</button>
<ul nz-menu>
<li nz-menu-item>
<#assign gridhandler = view.getPSControl("GRID").getPSAjaxControlHandler()>
<p (click)="${ctrl.name}.itemExportExcel('ExportExcel', 'all')">${item.caption!''}全部(最大导出<#if gridhandler?? && gridhandler.getPSDEDataExport()??>${gridhandler.getPSDEDataExport().getMaxRowCount()?c}<#else>${sys.getDEDataExportMaxRowCount()?c}</#if>行)</p>
</li>
<li nz-menu-item>
<p (click)="${ctrl.name}.itemExportExcel('ExportExcel')">${item.caption!''}当前页</p>
</li>
<li nz-menu-item>
${item.caption!''}第
<input type="text" style="width: 30px;" [(ngModel)]="${ctrl.name}.$exportStartPage"> ~
<input type="text" style="width: 30px;" [(ngModel)]="${ctrl.name}.$exportEndPage"> 页
<button nz-button (click)="${ctrl.name}.itemExportExcel('ExportExcel', 'custom')">Go!</button>
</li>
</ul>
</nz-dropdown>
</ng-container>
</#if>
<#else>
<ng-container *ngIf="${ctrl.name}.$items.${item.getName()?lower_case}.dataaccaction" <#if item.getWidth() gt 0>style="width:${item.getWidth()?c}px;"</#if>>
<button <#if item.getWidth() gt 0>style="width:${item.getWidth()?c}px;"</#if> <#if !item.isShowCaption()>[attr.title]="${ctrl.name}.$items.${item.getName()?lower_case}.caption"</#if> [disabled]="${ctrl.name}.$items.${item.getName()?lower_case}.disabled" nz-button [nzSize]="'large'" class="ml-sm<#if item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>" (click)="${ctrl.name}.itemclick('${item.getName()?lower_case}', '${deuiaction.getUIActionTag()}')">
<#if item.isShowIcon() && item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)><i class="${img.getCssClass()}"></i> </#if></#if>
<#if item.isShowCaption()>{{${ctrl.name}.$items.${item.getName()?lower_case}.caption}}</#if>
</button>
</ng-container>
</#if>
\ No newline at end of file
{text: "${item.caption}",xtype:'splitbutton', menu: [<#list items as item><#if (item_index>0) >,</#if>${item.code}</#list>]}
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=PSFR7DETBGroupItemVC
</#ibiztemplate>
<ng-container *ngIf="${ctrl.name}.$items.${item.getName()?lower_case}.dataaccaction">
<nz-dropdown <#if item.getWidth() gt 0>style="width:${item.getWidth()?c}px;"</#if> <#if !item.isShowCaption()>[attr.title]="${ctrl.name}.$items.${item.getName()?lower_case}.caption"</#if> [nzPlacement]="'bottomRight'" [nzTrigger]="'click'" [nzClickHide]="true">
<button nz-button nz-dropdown [nzSize]="'large'" class="ml-sm <#if item.getPSSysCss()??>${item.getPSSysCss().getCssName()}</#if>">
<#if item.isShowIcon() && item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)><i class="${img.getCssClass()}"></i> </#if></#if>
<#if item.isShowCaption()>{{${ctrl.name}.$items.${item.getName()?lower_case}.caption}}</#if>
<i class="anticon anticon-down"></i>
</button>
<ul nz-menu>
<#list items as item>
<li nz-menu-item>
${item.code}
</li>
</#list>
</ul>
</nz-dropdown>
</ng-container>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEToolbarVC
</#ibiztemplate>
<div class="ibiz-tool-bar">
<#list items as item>
${item.code}
</#list>
</div>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDETBUIActionVC
</#ibiztemplate>
<#assign deuiaction=item.getPSUIAction()>
<button title="${item.tooltip}" data-ibiz-tag="${deuiaction.getUIActionTag()}" data-ibiz-target="${deuiaction.getActionTarget()}" class="btn <#if item.isShowCaption()><#else>btn-icon-only</#if> <#if item.getPSSysCss()??>${item.getPSSysCss().getCssName()}</#if> ibiz-toolbar-item"
data-ibiz-uiaction='{"type":"${deuiaction.getUIActionType()}","tag":"${deuiaction.getUIActionTag()}"<#if (deuiaction.getActionTarget()!="")>,"actiontarget":"${deuiaction.getActionTarget()}"</#if>
<#if item.getPSDEUIAction()??>
<#if deuiaction.getUIActionMode()!="SYS">
,"actionmode":"${deuiaction.getUIActionMode()}"
<#if deuiaction.getUIActionMode()=="BACKEND">
,"timeout":${deuiaction.getTimeout()?c}<#if deuiaction.getConfirmMsg()??>,"confirmmsg":"${deuiaction.getConfirmMsg()}"</#if>
</#if>
<#comment><!--开始:向导界面--></#comment>
<#if deuiaction.getFrontProcessType()=="WIZARD">
,"fronttype":"${deuiaction.frontProcessType}"
<#if item.getFrontPSAppView()??>
<#assign frontview=item.getFrontPSAppView()>,"frontview":{view:"${app.getPKGCodeName()}.view.${frontview.fullCodeName}","width":${frontview.getWidth()?c},"height":${frontview.getHeight()?c},"title":"${frontview.title}"}
</#if>
</#if>
<#comment><!--结束:向导界面--></#comment>
<#comment><!--开始:打开网页--></#comment>
<#if deuiaction.getFrontProcessType()=="OPENHTMLPAGE">
,"fronttype":"${deuiaction.frontProcessType}","htmlpageurl":"${deuiaction.getHtmlPageUrl()}"
</#if>
<#comment><!--结束:向导界面--></#comment>
</#if>
</#if>
<#if item.getPSWFUIAction()??>
,"actionmode":"${deuiaction.getUIActionMode()}"
</#if>
}' class="btn btn-icon-only green ibiz-toolbar-item" >
<#if item.isShowIcon() && item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)><i class="${img.getCssClass()}"></i></#if></#if>
<#if item.isShowCaption()><span >${item.caption}</span></#if>
</button>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=PSJQDETBGroupItemVC
</#ibiztemplate>
<!--操作集合-->
\ No newline at end of file
<!--分割符号-->
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEToolbarVC
</#ibiztemplate>
<div id="${'$'}{cid}${ctrl.name}">
<#list items as item>
${item.code?replace('\n',' ')?replace('\r',' ')}
</#list>
</div>
\ No newline at end of file
import { IBizToolbarService } from '@ibizsys/widget/IBizToolbarService';
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDETBUIActionVC
</#ibiztemplate>
<#assign deuiaction=item.getPSUIAction()>
<#if deuiaction.getUIActionTag() == 'ExportExcel'>
{ name: '${item.getName()?lower_case}', caption: '${item.caption}' }
<#elseif deuiaction.getUIActionTag() == 'ToggleRowEdit'>
{ name: '${item.getName()?lower_case}', caption: '启用行编辑', rowedit: true, tag: '${deuiaction.getUIActionTag()}', target: '${deuiaction.getActionTarget()}', priv: '<#if deuiaction.getDataAccessAction()??>${deuiaction.getDataAccessAction()}<#else></#if>' }
<#else>
{ name: '${item.getName()?lower_case}', caption: '${item.caption}', tag: '${deuiaction.getUIActionTag()}', target: '${deuiaction.getActionTarget()}', priv: '<#if deuiaction.getDataAccessAction()??>${deuiaction.getDataAccessAction()}<#else></#if>' }
</#if>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=PSFR7DETBGroupItemVC
</#ibiztemplate>
{
name: '${item.getName()?lower_case}', caption: '${item.caption}', text: "${item.caption}", xtype: 'splitbutton',
menu: [<#list items as item><#if (item_index>0) >, </#if>${item.code}</#list>
]
}
\ No newline at end of file
{ name: '${item.getName()?lower_case}' }
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEToolbarVC
</#ibiztemplate>
/**
* 工具栏部件服务对象
*
* @export
* @class ${srfclassname('${ctrl.name}')}Service
* @extends { IBizToolbarService }
*/
export class ${srfclassname('${ctrl.name}')}Service extends IBizToolbarService {
/**
* Creates an instance of ${srfclassname('${ctrl.name}')}Service.
* 创建 ${srfclassname('${ctrl.name}')}Service 实例
*
* @param {*} [opts={}]
* @memberof ${srfclassname('${ctrl.name}')}Service
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 注册工具栏按钮
*
* @memberof ${srfclassname('${ctrl.name}')}Service
*/
public regToolBarItems(): void {
<#list items as item>
<#if item.code?length gt 0>
this.regToolBarItem(${item.code});
</#if>
</#list>
}
}
\ No newline at end of file
CTRLTYPE=TOOLBAR
\ No newline at end of file
<ion-list radio-group *ngIf="!multiselect">
<ion-item *ngFor="let item of mdctrl.$items,let index = index" (tap)="selectedChange(item)">
<ion-label>{{ item.srfmajortext }}</ion-label>
<ion-radio checked="{{item.checked}}" ></ion-radio>
</ion-item>
</ion-list>
<ion-list *ngIf="multiselect">
<ion-item *ngFor="let item of mdctrl.$items" (tap)="selectedChanges()">
<ion-label>{{ item.srfmajortext }}</ion-label>
<ion-checkbox color="blue" [(ngModel)]="item.checked"></ion-checkbox>
</ion-item>
</ion-list>
\ No newline at end of file
<div>欢迎选择视图面板</div>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=PSExtJS5AppMenuItemVC
</#ibiztemplate>
{text: '${item.caption}'<#if item.getPSAppFunc()??><#assign _appfunc=item.getPSAppFunc()>,srftag:{title:'${item.caption}',appfuncid:'${_appfunc.id}'},handler: 'onClickAppMenuItem'</#if><#if items??>, menu: [<#list items as item><#if (item_index>0) >,</#if>${item.code}</#list>]</#if>}
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=PSJQAppMenuVC
</#ibiztemplate>
{xtype:'toolbar',items: [<#list items as item><#if (item_index>0) >,</#if>${item.code}</#list>] }
\ No newline at end of file
import { IBizAppMenuService } from '@ibizsys/widget/IBizAppMenuService';
\ No newline at end of file
/**
* 应用菜单部件服务对象
*
* @export
* @class ${srfclassname('${ctrl.name}')}Service
* @extends { IBizWizardPanelService }
*/
export class ${srfclassname('${ctrl.name}')}Service extends IBizAppMenuService {
constructor(opt){
super(opt);
}
/**
* 回填菜单项路由
*
* @private
* @param {string} appfuncid
* @returns {*}
* @memberof ${srfclassname('${ctrl.name}')}Service
*/
public renderMenuItemRoute(appfuncid: string): any {
<#if ctrl.getPSAppFuncs()??>
<#list ctrl.getPSAppFuncs() as appfunc>
<#if appfunc.getPSAppView()??>
<#assign _appview = appfunc.getPSAppView()>
if (Object.is(appfuncid, '${appfunc.id}')) {
return {funcid:'${appfunc.id?lower_case}',codename: <#if appfunc.getCodeName()??>'${appfunc.getCodeName()?lower_case}'<#else>'${_appview.getPSAppModule().codeName?lower_case}_${_appview.codeName?lower_case}'</#if>, functype:'${appfunc.appFuncType}',openmode:'${appfunc.openMode}',viewParams:${appfunc.getOpenViewParam().toString()}};
}
</#if>
</#list>
</#if>
return undefined;
}
<#if ctrl.getPSSysCounter?? && ctrl.getPSSysCounter()??>
/**
* 获取引用计数器名称
*
* @returns {(string | undefined)}
* @memberof ${srfclassname('${ctrl.name}')}Service
*/
public getRefUICounterName(): string | undefined {
return '${ctrl.getPSSysCounter().getCodeName()}';
}
</#if>
}
\ No newline at end of file
CTRLTYPE=APPMENU
\ No newline at end of file
<div nz-row >
<ng-continer *ngIf="${ctrl.name}.$showReport">
<iframe [src]="${ctrl.name}.$viewurl | IBizSafeString : 'resourceurl'" style="width: 100%; border: 0px; height: <#if ctrl.getHeight() lt 500>500<#else>${ctrl.getHeight()?c}</#if>px;" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="yes"></iframe>
</ng-continer>
</div>
\ No newline at end of file
import { IBizReportPanelService } from '@ibizsys/widget/IBizReportPanelService';
\ No newline at end of file
/**
* 报表面板部件服务对象
*
* @export
* @class ${srfclassname('${ctrl.name}')}Service
* @extends { IBizReportPanelService }
*/
export class ${srfclassname('${ctrl.name}')}Service extends IBizReportPanelService {
/**
* Creates an instance of ${srfclassname('${ctrl.name}')}Service.
* 创建 ${srfclassname('${ctrl.name}')}Service 实例
*
* @param {*} [opts={}]
* @memberof ${srfclassname('${ctrl.name}')}Service
*/
constructor(opts: any = {}) {
super(opts);
this.$reportid = '${ctrl.getPSDEReport().id}';
}
}
\ No newline at end of file
CTRLTYPE=REPORTPANEL
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormDetailVC
</#ibiztemplate>
<#if item.getPSSysPFPlugin()??>
${item.getPSSysPFPlugin().getCode("CODE",pf.getId(),pfstyle.getId(),view,ctrl,item)}
<#else>
<app-ibiz-form-item [field]="fields.${item.name}">
<ng-template let-${item.name}>
<div nz-form-item [ngStyle]="{'display':${item.name}.visible?'block':'none'<#if item.getColWidth() != -1>,'width': '${item.getColWidth()?c}px'</#if>}"
nz-col <#if item.getColLG() != -1> [nzLg]="${item.getColLG()?c}"</#if><#if item.getColMD() != -1> [nzMd]="${item.getColMD()?c}"</#if><#if item.getColSM() != -1> [nzSm]="${item.getColSM()?c}"</#if> <#if item.getColXS() != -1> [nzXs]="${item.getColXS()?c}"</#if> class="ibiz-formitem" >
<button <#if !item.isShowCaption()>[attr.title]="${item.caption}"</#if> nz-button [nzSize]="'large'" class="ml-sm<#if item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>" (click)="${item.name}.onClick()">
<#if item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)><i class="${img.getCssClass()}"></i></#if></#if>
<#if item.isShowCaption()><span>${item.caption}</span></#if>
</button>
</div>
</ng-template>
</app-ibiz-form-item>
</#if>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormDetailVC
</#ibiztemplate>
<#assign dritem = item.getPSDEDRItem()>
<app-ibiz-drpanel nz-form-item name="${item.name}" #${item.name} [form]="${ctrl.name}"
[ngStyle]="{'display':${ctrl.name}.$items.${item.name}.visible?'block':'none'<#if item.getColWidth() != -1>,'width': '${item.getColWidth()?c}px'</#if>}"
nz-col <#if item.getColLG() != -1> [nzLg]="${item.getColLG()?c}"</#if><#if item.getColMD() != -1> [nzMd]="${item.getColMD()?c}"</#if><#if item.getColSM() != -1> [nzSm]="${item.getColSM()?c}"</#if><#if item.getColXS() != -1> [nzXs]="${item.getColXS()?c}"</#if> refreshitems="<#if item.getRefreshItems()??>${item.getRefreshItems()}<#else></#if>" RelationalDataType="${dritem.itemType}">
<div class="ibiz-formitem ibiz_dr_panel">
<#if item.getPSAppView().isEmbeddedView()>
<app-${ngfilename('${item.getPSAppView().codeName}')} <#if item.getPSDEFormItemUpdate()??>(MDItemsLoad)="${ctrl.name}.updateFormItems('${item.getPSDEFormItemUpdate().codeName}')"</#if> [activeData]="${item.name}.activeData" [srfparentkey]="${item.name}.srfparentkey" [referData]="${item.name}.activeData" [refreshGrid]="${item.name}.count" [viewParam]="viewParam" [modalViewParam]="modalViewParam" [modalZIndex]="modalZIndex" [parentmode]="{srfparenttype:'${dritem.itemType}'<#if ((dritem.itemType=='DER1N') || (dritem.itemType=='SYSDER1N'))>,srfder1nid:'${dritem.getPSDER1NName()}'</#if>}"></app-${ngfilename('${item.getPSAppView().codeName}')}>
</#if>
</div>
</app-ibiz-drpanel>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormItemVC
</#ibiztemplate>
<#if item.getPSSysPFPlugin()??>
${item.getPSSysPFPlugin().getCode("CODE",pf.getId(),pfstyle.getId(),view,ctrl,item)}
<#else>
<app-ibiz-form-item [field]="fields.${item.name}">
<ng-template let-${item.name}>
<div nz-form-item [ngStyle]="{'display':${item.name}.visible?'block':'none'<#if item.getColWidth() != -1>,'width': '${item.getColWidth()?c}px'</#if>}"
nz-col <#if item.getColLG() != -1> [nzLg]="${item.getColLG()?c}"</#if><#if item.getColMD() != -1> [nzMd]="${item.getColMD()?c}"</#if><#if item.getColSM() != -1> [nzSm]="${item.getColSM()?c}"</#if> <#if item.getColXS() != -1> [nzXs]="${item.getColXS()?c}"</#if> class="ibiz-formitem ${item.getLabelPos()?lower_case}" >
<#if (item.isShowCaption())>
<div nz-form-label class='ibiz-formitem-label-left pull-left' <#if (item.getLabelWidth() gte 0)>style="width:${item.getLabelWidth()?c}px;"</#if>>
<label [ngClass]="{'ant-form-item-required': !${item.name}.allowEmpty}"><#if !item.isEmptyCaption()>${item.caption}</#if></label>
</div>
</#if>
<div nz-form-control [nzValidateStatus]="${item.name}.validateStatus" <#if (item.getLabelWidth() gte 0)>style="margin-left:${item.getLabelWidth()?c}px;"</#if>>
${editor.code}
<div nz-form-explain *ngIf="${item.name}.hasError">{{${item.name}.errorInfo}}</div>
</div>
</div>
</ng-template>
</app-ibiz-form-item>
</#if>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormGroupPanellVC
</#ibiztemplate>
<#list items as rowitem>
${rowitem.code}
</#list>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormGroupPanellVC
</#ibiztemplate>
<#if item.getPSSysPFPlugin()??>
${item.getPSSysPFPlugin().getCode("CODE",pf.getId(),pfstyle.getId(),view,ctrl,item)}
<#else>
<app-ibiz-form-group [visible]="fields.${item.name}.visible" [ngStyle]="{<#if item.getColWidth() != -1>'width': '${item.getColWidth()?c}px'</#if>}"
nz-col <#if item.getColLG() != -1> [nzLg]="${item.getColLG()?c}"</#if><#if item.getColMD() != -1> [nzMd]="${item.getColMD()?c}"</#if><#if item.getColSM() != -1> [nzSm]="${item.getColSM()?c}"</#if><#if item.getColXS() != -1> [nzXs]="${item.getColXS()?c}"</#if> text="<#if item.getCaption()?? && item.getCaption()?length gt 0>${ item.getCaption() }</#if>" [form]="${ctrl.name}"
groupname="${item.name}"<#if item.getPSDEFormDetailCount() gt 0 > firstChild="${item.getPSDEFormDetail(0).getCodeName()}"</#if> [showheader]="<#if item.isShowCaption()>true<#else>false</#if>"
[isShowMore]="<#if item.isEnableBuildInAction(2)>true<#else>false</#if>" [isShowNew]="<#if item.isEnableBuildInAction(1)>true<#else>false</#if>">
<div class="ibiz-content">
<#list items as rowitem>
${rowitem.code}
</#list>
</div>
</app-ibiz-form-group>
</#if>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormItemVC
</#ibiztemplate>
<nz-input [nzId]="'${item.name}'" [nzType]="'hidden'" name="${item.name}" [(ngModel)]="fields.${item.name}.value"></nz-input>
\ No newline at end of file
{<#if (item.showCaption)>
xtype: 'fieldset',title: '${item.caption}',margin:'${item.margin.toString()}',padding:'${item.padding.toString()}'
<#else>
xtype: 'panel'
</#if>
,reference:'${ctrl.name}_${item.name}'<#if item.getPSDEFDGroupLogic('PANELVISIBLE')??>,hidden:true</#if>
<#if item.parentLayoutMode=='TABLE'>
<#if (item.contentWidth>1)>
,width:${item.contentWidth}
<#else>
,columnWidth: ${item.contentWidth}
</#if></#if>
<#if (item.layoutMode=='TABLE') >
,layout:'vbox'
,items:[<#list rows as row><#if (row_index>0) >,</#if>
{xtype: 'panel',layout:'column',width: '100%',items:[<#list (row.items) as rowitem><#if (rowitem_index>0) >,</#if>
${rowitem.code}
</#list>]}
</#list>]
</#if>
}
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormDetailVC
</#ibiztemplate>
${item.getRawContent()}
\ No newline at end of file
{<#if (item.showCaption)>
xtype: 'fieldset',title: '${item.caption}',margin:'${item.margin.toString()}',padding:'${item.padding.toString()}'
<#else>
xtype: 'panel'
</#if>
,reference:'${ctrl.name}_${item.name}'<#if item.getPSDEFDGroupLogic('PANELVISIBLE')??>,hidden:true</#if>
<#if item.parentLayoutMode=='TABLE'>
<#if (item.contentWidth>1)>
,width:${item.contentWidth}
<#else>
,columnWidth: ${item.contentWidth}
</#if></#if>
<#if (item.layoutMode=='TABLE') >
,layout:'vbox'
,items:[<#list rows as row><#if (row_index>0) >,</#if>
{xtype: 'panel',layout:'column',width: '100%',items:[<#list (row.items) as rowitem><#if (rowitem_index>0) >,</#if>
${rowitem.code}
</#list>]}
</#list>]
</#if>
}
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormTabPanellVC
</#ibiztemplate>
<#if item.getRenderPSSysPFPlugin()??>
${item.getRenderPSSysPFPlugin().getCode("CODE",pf.getId(),pfstyle.getId(),view,ctrl,item)}
<#else>
表单自定义部件没有定义插件
</#if>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormViewCode
</#ibiztemplate>
<div nz-row [nzGutter]="24" class="ibiz-search-form">
<div nz-col [nzMd]="24">
<nz-card [nzBordered]="false">
<app-ibiz-form [fields]="${ctrl.name}.$fields">
<ng-template let-fields>
<div [ngStyle]="{'display':'none'}">
<#list hiddens as hidden>
${hidden.code}
</#list>
</div>
<#if ctrl.isNoTabHeader()>
<#list formpages as formpage>
${formpage.code}
</#list>
<#else>
<nz-tabset>
<#list formpages as formpage>
<nz-tab>
<ng-template #nzTabHeading>
${formpage.obj.caption}
</ng-template>
<span>
${formpage.code}
</span>
</nz-tab>
</#list>
</nz-tabset>
</#if>
<div nz-col [nzSpan]="24" style="text-align: right;">
<button nz-button [nzType]="'primary'" (click)="${ctrl.name}.onSearch()">查询</button>
<button nz-button [nzType]="'default'" (click)="${ctrl.name}.onReset()">重置</button>
</div>
</ng-template>
</app-ibiz-form>
</nz-card>
</div>
</div>
\ No newline at end of file
<#list formdetails as formdetail>
<#if formdetail.code2?length gt 0>
${formdetail.code2}
</#if>
</#list>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormDetailVC
</#ibiztemplate>
<div id="<%=p.getCId()%>${item.uniqueId}" style="height:${item.getContentHeight()}px;"></div>
\ No newline at end of file
<#if editor.getCode2()?length gt 0>
/*表单${ctrl.name}/${item.name}*/
${editor.code2}
</#if>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormItemVC
</#ibiztemplate>
<DIV id='${item.uniqueId}__fi' class="${item.getColCssClass()} form-group" data-ibiz-allowblank="<#if item.isAllowEmpty()>1<#else>0</#if>">
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
<#if (item.isShowCaption())>
<td <#if (item.getLabelWidth() gt 0)>width="${item.getLabelWidth()?c}"</#if> valign="top">
<label id='${item.uniqueId}__lb' class="control-label" style="<#if (item.getLabelWidth() gt 0)>width:${item.getLabelWidth()?c}px;</#if>" ><#if !(item.isEmptyCaption())><#if !item.isAllowEmpty()><span class='text-danger'>*</span></#if>${item.caption}</#if></label>
</td>
</#if>
<td>
<div class="col-md-12" >
${editor.code}
</div>
</td>
</tr>
</table>
</DIV>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormGroupPanellVC
</#ibiztemplate>
<#list items as rowitem>
${rowitem.code}
</#list>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormGroupPanellVC
</#ibiztemplate>
<div class="${item.getColCssClass()} " >
<#if item.isShowCaption()>
<fieldset style="border: 1px solid #e5e5e5;">
<div class="note note-success" x><h5>${item.caption}</h5></div>
<#list items as rowitem>
${rowitem.code}
</#list>
</fieldset>
<#else>
<#list items as rowitem>
${rowitem.code}
</#list>
</#if>
</div>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormItemVC
</#ibiztemplate>
<INPUT type="hidden" name="${item.name}" id="${item.uniqueId}">
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormGroupPanellVC
</#ibiztemplate>
<#list items as rowitem>
${rowitem.code}
</#list>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormTabPanellVC
</#ibiztemplate>
<div id='${ctrl.name}_${item.name}' class="${item.getColCssClass()}">
<ul class="nav nav-tabs" id="${ctrl.name}_${item.name}_tab">
<#list tabpages as tabpage>
<li class="<#if (tabpage_index ==0)>active</#if>"><a href="#${ctrl.name}_${tabpage.obj.codeName}_tab" data-toggle="tab">${tabpage.obj.caption}</a></li>
</#list>
</ul>
<div class="tab-content">
<#list tabpages as tabpage>
<div class="tab-pane <#if (tabpage_index ==0)>active</#if>" id="${ctrl.name}_${tabpage.obj.codeName}_tab">${tabpage.code}</div>
</#list>
</div>
</div>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormViewCode
</#ibiztemplate>
<div id="${ctrl.name}" action="#" class="form-horizontal ">
<!-- 表单区:开始-->
<div class="col-md-10 form-group row">
<#list hiddens as hidden>${hidden.code}</#list>
<#if ctrl.isNoTabHeader()>
<#list formpages as formpage>
${formpage.code}
</#list>
<#else>
<ul class="nav nav-tabs" id="${ctrl.name}_tab">
<#list formpages as formpage>
<li class="<#if (formpage_index ==0)>active</#if>"><a href="#${ctrl.name}_${formpage.obj.codeName}_tab" data-toggle="tab">${formpage.obj.caption}</a></li>
</#list>
</ul>
<div class="tab-content">
<#list formpages as formpage>
<div class="tab-pane <#if (formpage_index ==0)>active</#if>" id="${ctrl.name}_${formpage.obj.codeName}_tab">${formpage.code}</div>
</#list>
</div>
</#if>
</div>
<!-- 表单区:结束-->
<!-- 按钮区:开始-->
<div class="col-md-2 form-group row" style="float:right;">
<button id="${ctrl.name}_resetbutton" title="重置" class=" btn " style="float:right;margin-right:0px;">
<span >重置</span>
</button>
<button id="${ctrl.name}_searchbutton" title="搜索" class=" btn green " style="float:right;margin-right:8px;">
<span >搜索</span>
</button>
</div>
<!-- 按钮区:结束-->
</div>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormDetailVC
</#ibiztemplate>
new IBizFormButton({name: '${item.name!''}', visible: true, fieldType: 'BUTTON', form:this, actiontype: '${item.getActionType()}'<#if item.getPSUIAction()??><#assign uiaction=item.getPSUIAction()>,uiaction: { type: '${uiaction.getUIActionType()}',
tag: '${uiaction.getUIActionTag()}'<#if (uiaction.getActionTarget()!="")>, actiontarget: '${uiaction.getActionTarget()}'</#if>}</#if><#if item.getPSDEFormItemUpdate()??>, fiupdate: { tag: '${item.getPSDEFormItemUpdate().codeName}' }</#if> })
\ No newline at end of file
import { IBizFieldItem } from '@ibizsys/field/IBizFieldItem';
import { IBizFormDRPanel } from '@ibizsys/field/IBizFormDRPanel';
import { IBizFormGroup } from '@ibizsys/field/IBizFormGroup';
import { IBizFormIFrame } from '@ibizsys/field/IBizFormIFrame';
import { IBizFormRawItem } from '@ibizsys/field/IBizFormRawItem';
import { IBizFormTabPage } from '@ibizsys/field/IBizFormTabPage';
import { IBizFormTabPanel } from '@ibizsys/field/IBizFormTabPanel';
import { IBizFormButton } from '@ibizsys/field/IBizFormButton';
import { IBizHiddenField } from '@ibizsys/field/IBizHiddenField';
import { IBizSearchFormService } from '@ibizsys/widget/IBizSearchFormService';
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormDetailVC
</#ibiztemplate>
<#assign dritem=item.getPSDEDRItem()>
new IBizFormDRPanel({name:'${item.name}',fieldType: 'DRUIPART',visible: true<#if item.getRefreshItems()??>,refreshitems:'${item.getRefreshItems()}'</#if>
<#if item.parentLayoutMode=='TABLE'>
<#if (item.contentWidth>1)>
,width:${item.contentWidth}
<#else>
,columnWidth: ${item.contentWidth}
</#if></#if>,height:${item.getContentHeight()},width:'100%',form:this,dritem:{
id:'${dritem.id}',embedviewid:'${item.getEmbedViewId()}',parentmode:{srfparenttype:'${dritem.itemType}'<#if ((dritem.itemType=='DER1N') || (dritem.itemType=='SYSDER1N'))>,srfder1nid:'${dritem.getPSDER1NName()}'</#if>}
}})
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormItemVC
</#ibiztemplate>
new IBizFieldItem({name: '${item.name!''}', visible: true, fieldType: 'FORMITEM', allowEmpty: <#if item.isAllowEmpty()>true<#else>false</#if>, noPrivDisplayMode: ${item.getNoPrivDisplayMode()}, form:this})
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormGroupPanellVC
</#ibiztemplate>
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormGroupPanellVC
</#ibiztemplate>
new IBizFormGroup({name:'${item.name}', visible: true,fieldType: 'GROUPPANEL',titleBarCloseMode:'${item.getTitleBarCloseMode()}',form:this})
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormItemVC
</#ibiztemplate>
new IBizHiddenField({name: '${item.name!''}', visible: false, fieldType: 'HIDDENFORMITEM', form:this})
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormDetailVC
</#ibiztemplate>
new IBizFormRawItem({name: '${item.name!''}', visible: true, fieldType: 'RAWITEM', form:this})
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormGroupPanellVC
</#ibiztemplate>
new IBizFormTabPage({name:'${item.name}',visible: true , fieldType: 'TABPAGE', form:this})
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormTabPanellVC
</#ibiztemplate>
new IBizFormTabPanel({name:'${item.name}',visible: true , fieldType: 'TABPANEL', form:this})
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDEFormControllerCode
</#ibiztemplate>
/**
* 搜索表单部件服务对象
*
* @export
* @class ${srfclassname('${ctrl.name}')}Service
* @extends { IBizSearchFormService }
*/
export class ${srfclassname('${ctrl.name}')}Service extends IBizSearchFormService {
/**
* Creates an instance of ${srfclassname('${ctrl.name}')}Service.
* 创建 ${srfclassname('${ctrl.name}')}Service 实例
*
* @param {*} [opt={}]
* @memberof ${srfclassname('${ctrl.name}')}Service
*/
constructor(opt: any = {}) {
super(opt);
}
/**
* 注册搜索表单项
*
* @memberof ${srfclassname('${ctrl.name}')}Service
*/
public regFields(): void {
<#list formdetails as formdetail>
<#if formdetail.code?length gt 0>
this.regField(${formdetail.code});
</#if>
</#list>
}
}
\ No newline at end of file
CTRLTYPE=SEARCHFORM
\ No newline at end of file
import { IBizDRTabService } from '@ibizsys/widget/IBizDRTabService';
\ No newline at end of file
/**
* 数据关系分页部件服务对象
*
* @export
* @class ${srfclassname('${ctrl.name}')}Service
* @extends { IBizDRTabService }
*/
export class ${srfclassname('${ctrl.name}')}Service extends IBizDRTabService {
/**
* Creates an instance of ${srfclassname('${ctrl.name}')}Service.
* 创建 ${srfclassname('${ctrl.name}')}Service 实例
* @param {*} [opts={}]
* @memberof ${srfclassname('${ctrl.name}')}Service
*/
constructor(opt: any = {}) {
super(opt);
}
/**
* 注册所有分页部件对象
*
* @memberof ${srfclassname('${ctrl.name}')}Service
*/
public regTabs(): void {
<#list ctrl.getRootItem().getAllItems() as dritem>
<#if (dritem_index == 0)>
this.regTab({ index: 0, name: 'form' });
<#else>
this.regTab({ index: ${dritem_index?c}, name: '<#if dritem.getDRViewId()==''>${dritem.getId()?lower_case}<#else>${dritem.getDRViewId()?lower_case}</#if>' });
</#if>
</#list>
}
}
\ No newline at end of file
CTRLTYPE=DRTAB
\ No newline at end of file
<tree *ngFor="let item of ${ctrl.name}.$items;" [tree]="item" (nodeSelected)="${ctrl.name}.nodeSelect($event)"></tree>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDRBarViewCode
</#ibiztemplate>
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDRBarViewCode
</#ibiztemplate>
::ng-deep .ant-menu > .ng-star-inserted {
position: relative;
.span {
position: absolute;
}
}
.tree-sider {
height: 100%;
background:#fff;
border: 1px solid #e9e9e9;
}
.ibiz-exptree {
height: 40px;
width: 100%;
background: rgb(233, 233, 233);
padding: 6px 0px 6px 12px;
.ibiz-exptree-title {
float: left;
h3 {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
.ibiz-exptree-collapsed {
width: 40px;
float: left;
}
}
.tree-view-content {
width:100%;
background-color: #fff;
overflow: auto;
position: absolute;
}
/* 设置滚动条样式 */
::-webkit-scrollbar {
width: 6px;
height: 6px;
}
/*滚动条里面小方块*/
::-webkit-scrollbar-thumb{
border-radius: 10px;
box-shadow: inset 0 0 5px white;
background: rgba(0, 0, 0, 0.65);
}
/*滚动条里面轨道*/
::-webkit-scrollbar-track {
box-shadow: inset 0 0 5px white;
border-radius: 10px;
background: white;
}
.treeexpbar-tree-isCollapsed {
flex: 0 0 40px !important;
width: 40px !important;
.ibiz-exptree {
padding: 6px 0px 6px 3px !important;
}
.ibiz-exptree-title {
display: none;
}
}
\ No newline at end of file
<tree *ngFor="let item of ${ctrl.name}.$items;" [tree]="item" (nodeSelected)="${ctrl.name}.nodeSelect($event)"></tree>
\ No newline at end of file
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDRBarViewCode
</#ibiztemplate>
<#ibiztemplate>
PUBOBJ=Angular.PSAngularDRBarViewCode
</#ibiztemplate>
<nz-sider [nzWidth]="<#if ctrl.getWidth() lt 240>240<#else>${ctrl.getWidth()}</#if>" class="tree-sider" [class.treeexpbar-tree-isCollapsed]="!${ctrl .name}.$isCollapsed" style="height: <#if ctrl.getHeight() lt 500>500<#else>${ctrl.getHeight()}</#if>px;">
<div class="ibiz-exptree" style="height: 40px;">
<div class="ibiz-exptree-title" style="width: calc(100% - 40px);">
<h3><#if ctrl.getTitle() == ''>数据关系栏<#else>${ctrl.getTitle()}</#if></h3>
</div>
<div class="ibiz-exptree-collapsed" style="width: 40px;">
<button nz-button [nzType]="'primary'" (click)="${ctrl .name}.$isCollapsed = !${ctrl .name}.$isCollapsed">
<i class="anticon" [class.anticon-menu-unfold]="!${ctrl .name}.$isCollapsed" [class.anticon-menu-fold]="${ctrl .name}.$isCollapsed">
</i>
</button>
</div>
</div>
<div class="tree-view-content" style="height: calc(100% - 40px);">
<ul nz-menu [nzMode]="'inline'">
<!-- 一级菜单 begin -->
<ng-container *ngFor="let item of ${ctrl.name}.$items">
<ng-container *ngIf="!item.hassubmenu">
<li nz-menu-item [ngClass]="{'ant-menu-item-selected': item.id == ${ctrl.name}.$selectItem.id}" nzClickActive="false" (click)="${ctrl.name}.selection(item)">
<span title>
<i class="fa {{item.iconCls}}">&nbsp;&nbsp;</i>
<span>{{item.text}}</span>
</span>
</li>
</ng-container>
<ng-container *ngIf="item.hassubmenu">
<li nz-submenu [(nzOpen)]="item.expanded" [ngClass]="{'ant-menu-item-selected': item.id == ${ctrl.name}.$selectItem.id}" (nzOpenChange)="${ctrl.name}.expandedAndSelectSubMenu(item)">
<span title>
<i class="fa {{item.iconCls}}">&nbsp;&nbsp;</i>
<span>{{item.text}}</span>
</span>
<ul>
<!-- 二级菜单 begin -->
<ng-container *ngFor="let sub0 of item.items">
<ng-container *ngIf="!sub0.hassubmenu">
<li nz-menu-item [ngClass]="{'ant-menu-item-selected': sub0.id == ${ctrl.name}.$selectItem.id}" nzClickActive="false" (click)="${ctrl.name}.selection(sub0)">
<span title>
<i class="fa {{sub0.iconCls}}">&nbsp;&nbsp;</i>
<span>{{sub0.text}}</span>
</span>
</li>
</ng-container>
<ng-container *ngIf="sub0.hassubmenu">
<li nz-submenu [(nzOpen)]="sub0.expanded" [ngClass]="{'ant-menu-item-selected': sub0.id == ${ctrl.name}.$selectItem.id}" (nzOpenChange)="${ctrl.name}.expandedAndSelectSubMenu(sub0)">
<span title>
<i class="fa {{sub0.iconCls}}">&nbsp;&nbsp;</i>
<span>{{sub0.text}}</span>
</span>
<ul>
<!-- 三级菜单 begin -->
<ng-container *ngFor="let sub1 of sub0.items">
<ng-container *ngIf="!sub1.hassubmenu">
<li nz-menu-item [ngClass]="{'ant-menu-item-selected': sub1.id == ${ctrl.name}.$selectItem.id}" nzClickActive="false" (click)="${ctrl.name}.selection(sub1)">
<span title>
<i class="fa {{sub1.iconCls}}">&nbsp;&nbsp;</i>
<span>{{sub1.text}}</span>
</span>
</li>
</ng-container>
<ng-container *ngIf="sub1.hassubmenu">
<li nz-submenu [(nzOpen)]="sub1.expanded" [ngClass]="{'ant-menu-item-selected': sub1.id == ${ctrl.name}.$selectItem.id}" (nzOpenChange)="${ctrl.name}.expandedAndSelectSubMenu(sub1)">
<span title>
<i class="fa {{sub1.iconCls}}">&nbsp;&nbsp;</i>
<span>{{sub1.text}}</span>
</span>
<ul>
<!-- 四级菜单 begin -->
<ng-container *ngFor="let sub2 of sub1.items">
<li nz-menu-item [ngClass]="{'ant-menu-item-selected': sub2.id == ${ctrl.name}.$selectItem.id}" nzClickActive="false" (click)="${ctrl.name}.selection(sub2)">
<span title>
<i class="fa {{sub2.iconCls}}">&nbsp;&nbsp;</i>
<span>{{sub2.text}}</span>
</span>
</li>
</ng-container>
<!-- 四级菜单 end -->
</ul>
</li>
</ng-container>
</ng-container>
<!-- 三级菜单 end -->
</ul>
</li>
</ng-container>
</ng-container>
<!-- 二级菜单 end -->
</ul>
</li>
</ng-container>
</ng-container>
<!-- 一级菜单 end -->
</ul>
</div>
</nz-sider>
\ No newline at end of file
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册