<?xml version="1.0" encoding="gbk"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 環境變量 -->
<bean id="context" class="nc.vo.uif2.LoginContext" />
<!-- 管理應用模型 -->
<!--樹開始 -->
<!-- 對象轉換器工廠,由此獲取操作對象的特征信息 -->
<!--<bean id="boadatorfactory" class="nc.ui.pubapp.uif2app.view.value.AggVOMetaBDObjectAdapterFactory"
/> -->
<!-- 對於有元數據的VO,可以使用下面的配置 -->
<bean id="boadatorfactory" class="nc.vo.bd.meta.BDObjectAdpaterFactory" />
<!--Service -->
<bean id="TreeModelService" class="nc.ui.chs.cs12.treeClass.CS12TreeService" />
<bean id="BillModelService" class="nc.ui.chs.cs12.treeClass.CS12BillService" />
<!-- 樹的層次結構構造策略 -->
<bean id="treeCreateStrategy" class="nc.vo.bd.meta.BDObjectTreeCreateStrategy">
<property name="factory" ref="boadatorfactory" />
<property name="rootName" value="部門" />
</bean>
<!--樹的model -->
<bean id="TreeModel" class="nc.ui.uif2.model.HierachicalDataAppModel">
<property name="service" ref="TreeModelService"></property>
<property name="treeCreateStrategy" ref="treeCreateStrategy"></property>
<property name="businessObjectAdapterFactory" ref="boadatorfactory"></property>
<property name="context" ref="context"></property>
</bean>
<!-- 數據模型管理器,主要負責各種方式的模型初始化 -->
<bean id="TreeDataManager" class="nc.ui.chs.cs12.treeClass.CS12TreeDataManager">
<property name="treeModel" ref="TreeModel"></property>
</bean>
<!-- 樹控件,如果進行管理,需要實現接口IComponentWithActions存儲動作 lxiaofan -->
<bean id="treePanel" class="nc.ui.uif2.components.TreePanel"
init-method="initUI">
<property name="model" ref="TreeModel"></property>
</bean>
<!--分頁控件 -->
<bean id="paginationModel" class="nc.ui.chs.cs12.treeClass.PaginationModel"
init-method="init">
<property name="paginationQueryService" ref="maintainProxy" />
<property name="billModelService" ref="BillModelService" />
</bean>
<!--表的數據模型管理器 -->
<bean id="BillDataManager" class="nc.ui.chs.cs12.treeClass.CS12BillDataManager">
<property name="billModel" ref="manageAppModel"></property>
<property name="paginationModel" ref="paginationModel" />
<property name="listView" ref="listView" />
<property name="billFormEditor" ref="billFormEditor" />
</bean>
<!-- a)層次模型和管理模型之間的協調者,以Mediator結尾,不區分大小寫; b)該類對兩個模型進行監聽,負責相互事件的中轉; c)屬性可以擴展; -->
<bean id="TreeBillMediator" class="nc.ui.chs.cs12.treeClass.CS12Mediator">
<property name="treeModel" ref="TreeModel"></property>
<property name="manageAppModel" ref="manageAppModel"></property>
<property name="billDataManager" ref="BillDataManager"></property>
</bean>
<!--專供查詢使用的manager -->
<bean id="PaginationModelDataManager"
class="nc.ui.pubapp.uif2app.model.pagination.PaginationModelDataManager">
<property name="model" ref="manageAppModel"></property>
<property name="paginationModel" ref="paginationModel" />
<property name="pageQueryService" ref="pageQueryService" />
</bean>
<!-- 查詢按鈕 -->
<bean id="queryAction" class="nc.ui.pubapp.uif2app.query2.action.DefaultQueryAction">
<property name="model" ref="manageAppModel" />
<property name="dataManager" ref="PaginationModelDataManager" />
<property name="qryCondDLGInitializer" ref="qryCondInitializer" />
<property name="showUpComponent" ref="listView" />
<property name="templateContainer" ref="queryTemplateContainer" />
</bean>
<!-- 列表下刷新 -->
<bean id="refreshAction" class="nc.ui.pubapp.uif2app.query2.action.DefaultRefreshAction">
<property name="dataManager" ref="TreeDataManager" />
<property name="model" ref="manageAppModel" />
</bean>
<!--樹結束 -->
<!-- 模型部分配置 -->
<!-- 單據操作代理 -->
<bean id="maintainProxy" class="nc.ui.chs.cs12.ace.serviceproxy.AceCs12MaintainProxy" />
<!-- 單據刪除代理,支持批操作 -->
<bean id="deleteProxy" class="nc.ui.chs.cs12.ace.serviceproxy.AceCs12DeleteProxy" />
<!-- 管理應用模型 -->
<bean id="manageAppModel" class="nc.ui.pubapp.uif2app.model.BillManageModel">
<property name="businessObjectAdapterFactory" ref="boadatorfactory"></property>
<property name="context" ref="context"></property>
</bean>
<bean id="pageQueryService"
class="nc.ui.pubapp.uif2app.model.pagination.UIPageQueryService">
<property name="allPagePkQueryServiceMethod" value="nc.itf.chs.cs12.ICs12Maintain.queryPKs"></property>
<property name="dataOfPksQueryServiceMethod" value="nc.itf.chs.cs12.ICs12Maintain.queryBillByPK"></property>
</bean>
<bean id="paginationBar" class="nc.ui.uif2.components.pagination.PaginationBar"
init-method="onStructChanged">
<property name="paginationModel" ref="paginationModel" />
</bean>
<!-- 模板容器,負責對模板的統一裝載 -->
<bean id="templateContainer" class="nc.ui.pubapp.uif2app.view.TemplateContainer">
<property name="context" ref="context" />
<property name="nodeKeies">
<list>
<value>bt</value>
</list>
</property>
</bean>
<!-- 查詢模板加載bean -->
<bean id="queryTemplateContainer" class="nc.ui.uif2.editor.QueryTemplateContainer">
<property name="context" ref="context"></property>
<property name="nodeKey" value="qt"></property>
</bean>
<!-- 界面元素 -->
<!-- 列表視圖 -->
<bean id="listView" class="nc.ui.pubapp.uif2app.view.ShowUpableBillListView"
init-method="initUI">
<property name="paginationBar" ref="paginationBar" />
<property name="model" ref="manageAppModel"></property>
<property name="templateContainer" ref="templateContainer"></property>
</bean>
<!--卡控件 -->
<bean id="billFormEditor" class="nc.ui.pubapp.uif2app.view.ShowUpableBillForm"
init-method="initUI">
<property name="model" ref="manageAppModel"></property>
<property name="templateContainer" ref="templateContainer" />
<property name="showOrgPanel" value="true" />
</bean>
<!-- 快速查詢區域 -->
<bean id="queryArea" class="nc.ui.pubapp.uif2app.tangramlayout.UEQueryAreaShell"
init-method="initUI">
<property name="queryAreaCreator" ref="queryAction" />
</bean>
<!-- 查詢信息欄 -->
<bean id="queryInfo" class="nc.ui.uif2.tangramlayout.CardLayoutToolbarPanel">
<property name="model" ref="manageAppModel" />
</bean>
<!-- 卡片界面的工具欄和返回按鈕 -->
<bean id="cardInfoPnl"
class="nc.ui.pubapp.uif2app.tangramlayout.UECardLayoutToolbarPanel">
<property name="titleAction">
<bean id="returnaction" class="nc.ui.pubapp.uif2app.actions.UEReturnAction">
<property name="goComponent" ref="listView" />
<property name="saveAction" ref="saveAction" />
<property name="model" ref="manageAppModel" />
</bean>
</property>
<property name="model" ref="manageAppModel" />
</bean>
<!-- 界面布局總裝 -->
<bean id="container" class="nc.ui.uif2.TangramContainer"
init-method="initUI">
<property name="model" ref="manageAppModel" />
<property name="tangramLayoutRoot">
<bean class="nc.ui.uif2.tangramlayout.node.TBNode">
<property name="showMode" value="CardLayout" />
<property name="tabs">
<list>
<bean class="nc.ui.uif2.tangramlayout.node.HSNode">
<property name="left">
<bean class="nc.ui.uif2.tangramlayout.node.CNode">
<property name="component" ref="treePanel" />
</bean>
</property>
<property name="right">
<bean class="nc.ui.uif2.tangramlayout.node.VSNode">
<property name="up">
<bean class="nc.ui.uif2.tangramlayout.node.CNode">
<property name="component" ref="queryInfo" />
</bean>
</property>
<property name="down">
<bean class="nc.ui.uif2.tangramlayout.node.CNode">
<property name="name">
<bean class="nc.ui.uif2.I18nFB">
<property name="resDir" value="common"></property>
<property name="resId" value="UC001-0000107"></property>
<property name="defaultValue" value="列表"></property>
</bean>
</property>
<property name="component" ref="listView" />
</bean>
</property>
<property name="dividerLocation" value="25f" />
</bean>
</property>
<property name="dividerLocation" value="0.22f" />
</bean>
<bean class="nc.ui.uif2.tangramlayout.node.VSNode">
<property name="up">
<bean class="nc.ui.uif2.tangramlayout.node.CNode">
<property name="component" ref="cardInfoPnl" />
</bean>
</property>
<property name="down">
<bean class="nc.ui.uif2.tangramlayout.node.CNode">
<property name="name">
<bean class="nc.ui.uif2.I18nFB">
<property name="resDir" value="common"></property>
<property name="resId" value="UC001-0000106"></property>
<property name="defaultValue" value="卡片"></property>
</bean>
</property>
<property name="component" ref="billFormEditor" />
</bean>
</property>
<property name="dividerLocation" value="30f" />
</bean>
</list>
</property>
</bean>
</property>
</bean>
<!-- 事件監聽 -->
<bean id="eventMediator" class="nc.ui.pubapp.uif2app.model.AppEventHandlerMediator">
<property name="model" ref="manageAppModel" />
<property name="handlerGroup">
<list>
<!-- 表頭表尾字段編輯前事件 -->
<bean class="nc.ui.pubapp.uif2app.event.EventHandlerGroup">
<property name="event"
value="nc.ui.pubapp.uif2app.event.card.CardHeadTailBeforeEditEvent" />
<property name="handler">
<bean class="nc.ui.chs.cs12.ace.handler.AceHeadTailBeforeEditHandler" />
</property>
</bean>
<!-- 表頭表尾字段編輯后事件 -->
<bean class="nc.ui.pubapp.uif2app.event.EventHandlerGroup">
<property name="event"
value="nc.ui.pubapp.uif2app.event.card.CardHeadTailAfterEditEvent" />
<property name="handler">
<bean class="nc.ui.chs.cs12.ace.handler.AceHeadTailAfterEditHandler" />
</property>
</bean>
<!-- 新增事件 -->
<bean class="nc.ui.pubapp.uif2app.event.EventHandlerGroup">
<property name="event"
value="nc.ui.pubapp.uif2app.event.billform.AddEvent" />
<property name="handler">
<bean class="nc.ui.chs.cs12.ace.handler.AceAddHandler" >
<property name="treeModel" ref="TreeModel" />
</bean>
</property>
</bean>
<!-- 組織改變事件 -->
<bean class="nc.ui.pubapp.uif2app.event.EventHandlerGroup">
<property name="event"
value="nc.ui.pubapp.uif2app.event.OrgChangedEvent" />
<property name="handler">
<bean class="nc.ui.chs.cs12.ace.handler.AceOrgChangedHandler">
<constructor-arg ref="billFormEditor" />
</bean>
</property>
</bean>
</list>
</property>
</bean>
<!-- Actions -->
<bean id="toftpanelActionContributors" class="nc.ui.uif2.actions.ActionContributors">
<property name="contributors">
<list>
<ref bean="actionsOfList" />
<ref bean="actionsOfCard" />
</list>
</property>
</bean>
<!-- 列表顯示下的按鈕 -->
<bean id="actionsOfList" class="nc.ui.uif2.actions.StandAloneToftPanelActionContainer">
<constructor-arg ref="listView" />
<property name="model" ref="manageAppModel" />
<property name="actions">
<list>
<ref bean="addAction" />
<ref bean="editAction" />
<ref bean="deleteAction" />
<ref bean="copyAction" />
<ref bean="separatorAction" />
<ref bean="queryAction" />
<ref bean="refreshAction" />
<ref bean="separatorAction" />
<ref bean="printMenuAction" />
<ref bean="separatorAction" />
</list>
</property>
</bean>
<!-- 卡片顯示下的按鈕 -->
<bean id="actionsOfCard" class="nc.ui.uif2.actions.StandAloneToftPanelActionContainer">
<constructor-arg ref="billFormEditor" />
<property name="model" ref="manageAppModel" />
<!-- 此處配置的Action瀏覽態始終可見 -->
<property name="actions">
<list>
<ref bean="addAction" />
<ref bean="editAction" />
<ref bean="deleteAction" />
<ref bean="copyAction" />
<ref bean="separatorAction" />
<ref bean="queryAction" />
<ref bean="cardRefreshAction" />
<ref bean="separatorAction" />
<ref bean="printMenuAction" />
<ref bean="separatorAction" />
</list>
</property>
<!-- 此處配置的Action編輯態始終可見 -->
<property name="editActions">
<list>
<ref bean="saveAction" />
<ref bean="cancelAction" />
</list>
</property>
</bean>
<!-- 分隔按鈕 -->
<bean id="separatorAction" class="nc.funcnode.ui.action.SeparatorAction" />
<!-- 顯示列表的攔截器 -->
<bean id="showListInterceptor"
class="nc.ui.pubapp.uif2app.actions.interceptor.ShowUpComponentInterceptor">
<property name="showUpComponent" ref="listView" />
</bean>
<!-- 顯示卡片的攔截器 -->
<bean id="showCardInterceptor"
class="nc.ui.pubapp.uif2app.actions.interceptor.ShowUpComponentInterceptor">
<property name="showUpComponent" ref="billFormEditor" />
</bean>
<bean id="addAction" class="nc.ui.pubapp.uif2app.actions.AddAction">
<property name="model" ref="manageAppModel" />
<property name="interceptor" ref="showCardInterceptor" />
</bean>
<bean id="editAction" class="nc.ui.pubapp.uif2app.actions.EditAction">
<property name="model" ref="manageAppModel" />
<property name="interceptor" ref="showCardInterceptor" />
</bean>
<bean id="deleteAction" class="nc.ui.pubapp.uif2app.actions.DeleteAction">
<property name="model" ref="manageAppModel" />
<property name="singleBillService" ref="deleteProxy" />
</bean>
<bean id="saveAction" class="nc.ui.pubapp.uif2app.actions.DifferentVOSaveAction">
<property name="model" ref="manageAppModel" />
<property name="editor" ref="billFormEditor" />
<property name="service" ref="maintainProxy" />
<property name="validationService" ref="validateService" />
</bean>
<!-- 保存組合校驗 -->
<bean id="validateService" class="nc.ui.pubapp.uif2app.validation.CompositeValidation">
<property name="validators">
<list>
<bean class="nc.ui.pubapp.uif2app.validation.TemplateNotNullValidation">
<property name="billForm" ref="billFormEditor" />
</bean>
</list>
</property>
</bean>
<bean id="cancelAction" class="nc.ui.pubapp.uif2app.actions.CancelAction">
<property name="model" ref="manageAppModel" />
</bean>
<!-- 復制 -->
<bean id="copyAction" class="nc.ui.pubapp.uif2app.actions.CopyAction">
<property name="model" ref="manageAppModel" />
<property name="interceptor" ref="showCardInterceptor" />
<property name="editor" ref="billFormEditor" />
<property name="copyActionProcessor">
<bean class="nc.ui.chs.cs12.action.CopyActionProcessor"></bean>
</property>
</bean>
<bean id="qryCondInitializer" class="nc.ui.chs.cs12.query.Cs12QueryConditionInitializer" />
<!-- 卡片下刷新 -->
<bean id="cardRefreshAction" class="nc.ui.pubapp.uif2app.actions.RefreshSingleAction">
<property name="model" ref="manageAppModel" />
</bean>
<!-- 打印 -->
<bean id="printAction" class="nc.ui.pubapp.uif2app.actions.MetaDataBasedPrintAction">
<property name="preview" value="false" />
<property name="model" ref="manageAppModel" />
<property name="nodeKey" value="ot" />
</bean>
<!-- 預覽 -->
<bean id="previewAction" class="nc.ui.pubapp.uif2app.actions.MetaDataBasedPrintAction">
<property name="preview" value="true" />
<property name="model" ref="manageAppModel" />
<property name="nodeKey" value="ot" />
</bean>
<!-- 輸出 -->
<bean id="outputAction" class="nc.ui.pubapp.uif2app.actions.OutputAction">
<property name="model" ref="manageAppModel" />
<property name="parent" ref="billFormEditor" />
<property name="nodeKey" value="ot" />
</bean>
<!-- 打印按鈕組 -->
<bean id="printMenuAction" class="nc.funcnode.ui.action.GroupAction">
<property name="code" value="printMenuAction" />
<property name="name">
<bean class="nc.ui.uif2.I18nFB">
<property name="resDir" value="common"></property>
<property name="resId" value="UC001-0000007"></property>
<property name="defaultValue" value="打印"></property>
</bean>
</property>
<property name="actions">
<list>
<ref bean="printAction" />
<ref bean="previewAction" />
<ref bean="outputAction" />
</list>
</property>
</bean>
<!-- 打開節點監聽 -->
<bean id="InitDataListener"
class="nc.ui.pubapp.uif2app.model.DefaultFuncNodeInitDataListener">
<property name="model" ref="manageAppModel" />
<property name="context" ref="context"></property>
<!-- VO的類名 -->
<property name="voClassName" value="nc.vo.chs.cs12.AggCs12VO" />
<!-- 打開節點節點后要顯示的界面 -->
<property name="autoShowUpComponent" ref="billFormEditor" />
</bean>
<!-- 節點關閉的校驗 -->
<bean id="ClosingListener" class="nc.ui.pubapp.common.validateservice.ClosingCheck">
<property name="model" ref="manageAppModel" />
<property name="saveAction" ref="saveAction" />
</bean>
<!-- 自動修正卡片界面的分數顯示控件(換算率) -->
<bean id="fractionFixMediator" class="nc.ui.pubapp.uif2app.view.FractionFixMediator"
init-method="initUI">
<constructor-arg ref="billFormEditor" />
</bean>
<!-- 雙擊列表行后顯示卡片 -->
<bean id="mouseClickShowPanelMediator" class="nc.ui.pubapp.uif2app.view.MouseClickShowPanelMediator">
<property name="listView" ref="listView" />
<property name="showUpComponent" ref="billFormEditor" />
<property name="hyperLinkColumn" value="vbillno" />
</bean>
<bean id="remoteCallCombinatorCaller" class="nc.ui.uif2.editor.UIF2RemoteCallCombinatorCaller">
<property name="remoteCallers">
<list>
<ref bean="queryTemplateContainer" />
<ref bean="templateContainer" />
</list>
</property>
</bean>
</beans>