<?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>

nc63 树管理型单据的开发的更多相关文章

  1. U9单据UI开发--单据类型UI开发

    1.在解决方案下新建UI界面项目,命名以UI作为后缀 2.先删除系统默认新建的UI界面数据模型,并新建界面数据 3.新建单据类型UIModel(界面数据),以model作为界面数据后缀名 4.修改单据 ...

  2. 基于xml 实现动态加载权限功能树列表---EFSFrame企业级开发架构

    在学习EFSFrame框架的过程中,感触最深的就是通过xml来实现前台与后台数据的交互,页面设计灵活,不用管后台如何写的,前台与后台的交互唯一的交互通道都是xml,在我们需要添加页面.添加规定的格式的 ...

  3. jeecg入门操作—树型表单开发

    树表类型表单 表单创建,基础配置如下: 1.设置表单类型为:单表; 2.是否树选择:是; 3.设置特殊字段:[树形表单父id][树开表单列] 结果测试

  4. Destoon系统目录树SEO属性目录开发实例

    如何在destoon里设置树形目录结构的SEO优化方式官方给的SEO伪静态实例是没有这个方式的 楼主后来想了一下,就干脆自己做一个吧,已经测试完全无误通过,特意分享给大家 目前比如sell模块下类别[ ...

  5. 驰骋工作流引擎-ccflow单据模式介绍与使用

    Ccflow单据模式 关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎.  表单引擎  表单单据模式增删改查   应用场景: 一些客户在使 ...

  6. 一、CoreAnimation之图层树详解

    CoreAnimation :在字面意思为“核心动画”,但是如果您认为它仅仅是一个动画框架,那可能就要错过一些经典功能了.动画,只是CoreAnimation功能的一小部分,毕竟人家的源头是一个叫做L ...

  7. ExtJS 4 树

    Tree Panel是ExtJS中最多能的组件之一,它非常适合用于展示分层的数据.Tree Panel和Grid Panel继承自相同的基类,所以所有从Grid Panel能获得到的特性.扩展.插件等 ...

  8. FineUI开发实践-目录

    点我订阅 目前所有博客的截图,方便离线观看,点图片 FineUI初学手册 下载,实例项目搭建 FineUI初学手册-部分JS整理 部分JS整理 ASP.NET-FineUI开发实践-1 实际开发环境是 ...

  9. FineUI开源版(ASP.Net)开发实践-目录

    点我订阅 目前所有博客的截图,方便离线观看,点图片 FineUI初学手册 下载,实例项目搭建 FineUI初学手册-部分JS整理 部分JS整理 ASP.NET-FineUI开发实践-1 实际开发环境是 ...

随机推荐

  1. 在QT中用git做版本管理时遇到的一些问题

    1. 安装git sudo apt-get install git 2. 安装gitk sudo apt-get install gitk 要提交代码,点击  工具->git->local ...

  2. Swift 如何像 C语言 那样接收入口参数?

    我们都知道在 Swift 语言当中不再有 main 函数了,可能了解过 C语言或者 Java 语言的同学对这一点赶到深深的不适.总之,取而代之的是 main.swift. int main(int a ...

  3. Tree-669. Trim a Binary Search Tree

    Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so that a ...

  4. 《JAVA与模式》之适配器模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述适配器(Adapter)模式的: 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能 ...

  5. django -admin 源码解析

    admin源码解析 单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单 ...

  6. 验证resneXt,densenet,mobilenet和SENet的特色结构

    简介 图像分类对网络结构的要求,一个是精度,另一个是速度.这两个需求推动了网络结构的发展. resneXt:分组卷积,降低了网络参数个数. densenet:密集的跳连接. mobilenet:标准卷 ...

  7. 机器大数据也离不开Hadoop

    转自:http://gtstorageworld.blog.51cto.com/908359/1286758 根据数据来源划分,大数据主要包括三类:商业运作产生的数据.人类行为产生的数据和机器数据.目 ...

  8. hbase集群中其中某个regionserver 没有启动

    第一步: date命令查看各个机器的时间 发现linux02机器时间差了2个多小时 第二步:ntpdate pool.ntp.org 修改错误时间的机器 第三步: 重启 hbase

  9. arm处理器启动流程分析

    2440: 启动方式:nor , nand 地址布局: 启动流程: 开发板在上电后,会从0x0地址处运行. 如果从nor flash启动,则代码要放在nor 的0地址处: 如果从nand flash启 ...

  10. nginx配置负载均衡,tomcat宕机响应缓慢,自动切换的问题

    用了nginx负载均衡后,在两台tomcat正常运行的情况下,访问http://localhost 速度非常迅速,通过测试程序也可以看出是得到的负载均衡的效果,但是我们试验性的把其中一台tomcat( ...