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>

 

posted on 2025-09-05 16:28  刘帅的帅  阅读(7)  评论(0)    收藏  举报

导航