Free Style项目增加变式功能
需使用SmartVariantManagement 控件实现变式功能,因需要与SmartFilterBar控件配合使用,所以首先要将filter相关控件改成使用SmartFilterBar方式实现,需新建CDS如下:
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: '报表-smartfilterbar'
@Metadata.ignorePropagatedAnnotations: true
define root view entity Z*C_SMARTFILTERBAR
as select distinct from z*t_0001 as a
{
@UI.selectionField: [{ position: 10 }]
@Search.defaultSearchElement: true
@Consumption.filter.mandatory: true
@EndUserText.label: '工厂'
key a.swerk,
@UI.selectionField: [{ position: 20 }]
@Consumption.filter.selectionType: #INTERVAL
@Consumption.filter.mandatory: true
@Search.defaultSearchElement: true
@EndUserText.label: '作业类型'
key a.repair_type,
@UI.selectionField: [{ position: 30 }]
@Search.defaultSearchElement: true
@EndUserText.label: '单据状态'
a.repair_status,
@UI.selectionField: [{ position: 40 }]
@Search.defaultSearchElement: true
@EndUserText.label: '部门'
a.app_depno,
@UI.selectionField: [{ position: 50 }]
@Search.defaultSearchElement: true
@EndUserText.label: '申请时间'
a.app_date,
@UI.selectionField: [{ position: 60 }]
@Search.defaultSearchElement: true
@EndUserText.label: '项目描述'
a.psphi
};
@EndUserText.label: '申请单搜索帮助'
define service ZGPMUI_WXZY_HELP {
expose ZGPMI_PSPHI_HELP as psphiVH;
expose ZGPMI_PAIRZT_HELP as pairztVH;
expose ZGPMC_SMARTFILTERBAR as smartfilterbar;
}
smartfilterbar使用服务及set:
Z*UI_ZY_HELP~smartfilterbar
新建cds中需要包含所有前端筛选条件,因smartfilterbar控件首先需要根据cds自动生成fiter区域,随后可以在前端xml中对相关区域进行重定义(比如指定<select><input>等控件)
<f:title>
<f:DynamicPageTitle>
<!--<f:heading>-->
<!--<Title text="报表"/>-->
<!--</f:heading>-->
<f:heading>
<sv:SmartVariantManagement id="dqgzrateVariant" showShare="false" showExecuteOnSelection="true"/>
</f:heading>
</f:DynamicPageTitle>
</f:title>
<f:header>
<f:DynamicPageHeader pinnable="true">
<smartFilterBar:SmartFilterBar useToolbar="false" id="reportFilterBar" clear="onClear" reset="onReset" showClearOnFB="false"
entitySet="smartfilterbar" search="onSearch" considerSelectionVariants="true" persistencyKey="wxzysqdFilter"
smartVariant="dqgzrateVariant" beforeVariantSave="onBeforeVariantSave" beforeVariantFetch="onBeforeVariantFetch"
afterVariantLoad="onAfterVariantLoad">
<smartFilterBar:controlConfiguration>
<smartFilterBar:ControlConfiguration id="swerk" key="swerk" index="4" label="工厂" groupId="_BASIC" width="80px" visibleInAdvancedArea="true" >
<smartFilterBar:customControl>
<MultiInput id="idFilterWerks" tokenUpdate="_onTokenUpdateWerks" valueHelpRequest="onOpenValueHelpWerk" showValueHelp="true"
valueHelpOnly="true" tokens="{viewModel>/filters/WERKS}" >
<tokens>
<Token key="{viewModel>key}" text="{viewModel>key}"/>
</tokens>
</MultiInput>
</smartFilterBar:customControl>
</smartFilterBar:ControlConfiguration>
<smartFilterBar:ControlConfiguration id="repair_type" key="repair_type" index="4" label="作业类型" groupId="_BASIC" width="80px" required="true"
visibleInAdvancedArea="true">
<smartFilterBar:customControl>
<Select id="idFilterRepairType" selectedKey="{viewModel>/filters/RepairType}" change="onRepair_typeChange" width="100%">
<core:Item key="" text=""/>
<core:Item key="MR1" text="{i18n>mr1text}"/>
<core:Item key="MR2" text="{i18n>mr2text}"/>
</Select>
</smartFilterBar:customControl>
</smartFilterBar:ControlConfiguration>
<smartFilterBar:ControlConfiguration id="repair_status" key="repair_status" index="4" label="单据状态" groupId="_BASIC" width="80px"
visibleInAdvancedArea="true">
<smartFilterBar:customControl>
<Select id="idFilterRepairStatus" selectedKey="{viewModel>/filters/RepairStatus}" width="100%">
<core:Item key="" text=""/>
<core:Item key="01" text="{i18n>RepairStatus01}"/>
<core:Item key="02" text="{i18n>RepairStatus02}"/>
<core:Item key="03" text="{i18n>RepairStatus03}"/>
</Select>
</smartFilterBar:customControl>
</smartFilterBar:ControlConfiguration>
<smartFilterBar:ControlConfiguration id="app_depno" key="app_depno" index="4" label="部门" groupId="_BASIC" width="80px"
visibleInAdvancedArea="true">
<smartFilterBar:customControl>
<Input id="APP_DEPNO" value="{viewModel>/filters/SyDepnoT}" valueHelpRequest="onOpenValueHelpDepno" showValueHelp="true"></Input>
</smartFilterBar:customControl>
</smartFilterBar:ControlConfiguration>
<smartFilterBar:ControlConfiguration id="app_date" key="app_date" index="4" label="申请时间" groupId="_BASIC" width="80px"
visibleInAdvancedArea="true">
<smartFilterBar:customControl>
<DateRangeSelection id="AppDateB" dateValue="{path:'viewModel>/filters/AppDateB'}" secondDateValue="{path:'viewModel>/filters/AppDateE'}"
displayFormat="yyyyMMdd" valueFormat="yyyyMMdd" change="handleChangeFxDate"/>
</smartFilterBar:customControl>
</smartFilterBar:ControlConfiguration>
<smartFilterBar:ControlConfiguration id="psphi" key="psphi" index="4" label="项目编码" groupId="_BASIC" width="80px"
visibleInAdvancedArea="true">
<smartFilterBar:customControl>
<Input id="idFilterPsphi" value="{viewModel>/filters/Psphi}" valueHelpRequest="onOpenValueHelpPsphi" showValueHelp="true"></Input>
</smartFilterBar:customControl>
</smartFilterBar:ControlConfiguration>
</smartFilterBar:controlConfiguration>
<!-- layout data used to make the table growing but the filter bar fixed -->
<smartFilterBar:layoutData>
<FlexItemData shrinkFactor="0"/>
</smartFilterBar:layoutData>
</smartFilterBar:SmartFilterBar>
</f:DynamicPageHeader>
</f:header>
浙公网安备 33010602011771号