nc63 树管理型单据的开发
<?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 树管理型单据的开发的更多相关文章
- U9单据UI开发--单据类型UI开发
1.在解决方案下新建UI界面项目,命名以UI作为后缀 2.先删除系统默认新建的UI界面数据模型,并新建界面数据 3.新建单据类型UIModel(界面数据),以model作为界面数据后缀名 4.修改单据 ...
- 基于xml 实现动态加载权限功能树列表---EFSFrame企业级开发架构
在学习EFSFrame框架的过程中,感触最深的就是通过xml来实现前台与后台数据的交互,页面设计灵活,不用管后台如何写的,前台与后台的交互唯一的交互通道都是xml,在我们需要添加页面.添加规定的格式的 ...
- jeecg入门操作—树型表单开发
树表类型表单 表单创建,基础配置如下: 1.设置表单类型为:单表; 2.是否树选择:是; 3.设置特殊字段:[树形表单父id][树开表单列] 结果测试
- Destoon系统目录树SEO属性目录开发实例
如何在destoon里设置树形目录结构的SEO优化方式官方给的SEO伪静态实例是没有这个方式的 楼主后来想了一下,就干脆自己做一个吧,已经测试完全无误通过,特意分享给大家 目前比如sell模块下类别[ ...
- 驰骋工作流引擎-ccflow单据模式介绍与使用
Ccflow单据模式 关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 表单单据模式增删改查 应用场景: 一些客户在使 ...
- 一、CoreAnimation之图层树详解
CoreAnimation :在字面意思为“核心动画”,但是如果您认为它仅仅是一个动画框架,那可能就要错过一些经典功能了.动画,只是CoreAnimation功能的一小部分,毕竟人家的源头是一个叫做L ...
- ExtJS 4 树
Tree Panel是ExtJS中最多能的组件之一,它非常适合用于展示分层的数据.Tree Panel和Grid Panel继承自相同的基类,所以所有从Grid Panel能获得到的特性.扩展.插件等 ...
- FineUI开发实践-目录
点我订阅 目前所有博客的截图,方便离线观看,点图片 FineUI初学手册 下载,实例项目搭建 FineUI初学手册-部分JS整理 部分JS整理 ASP.NET-FineUI开发实践-1 实际开发环境是 ...
- FineUI开源版(ASP.Net)开发实践-目录
点我订阅 目前所有博客的截图,方便离线观看,点图片 FineUI初学手册 下载,实例项目搭建 FineUI初学手册-部分JS整理 部分JS整理 ASP.NET-FineUI开发实践-1 实际开发环境是 ...
随机推荐
- JQuery Mobile - 如何让listview不显示向右的箭头?
先看一下有向右箭头的截图吧 这个listview第二个项目,就有向右的箭头,如果单纯显示具体数据,没有扩展显示的内容,那么这个向右的箭头就是多余的,在这种情况下,最好是去掉这个向右箭头,程序中已经在第 ...
- 【学习笔记】dsu on tree
我也不知道为啥这要起这名,完完全全没看到并查集的影子啊…… 实际上原理就是一个树上的启发式合并. 特点是可以在$O(nlogn)$的时间复杂度内完成对无修改的子树的统计,复杂度优于莫队算法. 局限性也 ...
- Educational Codeforces Round 34 (Rated for Div. 2) D - Almost Difference(高精度)
D. Almost Difference Let's denote a function You are given an array a consisting of n integers. You ...
- 一次对webshell的后门的查看
本文作者i春秋作家——非主流 昨天晚上突发奇想的想去看看github上面tennc的webshell收集项目中的shell有没有漏洞,比如未授权啊啥的,结果找半天都没找到...但是机缘巧合下,居然给我 ...
- [rejected] master -> master (fetch first)
可以输入: git push -f 可以ok了. 确实是OK了,但是不知道原理,待后来解
- Dockerfile指令详解下
VOLUME 定义匿名卷 VOLUME指令的格式为: VOLUME [,...] VOLUME 之前我们说过,容器运行时应该尽量保持容器存储层不发生写操作,对于数据库类需要保存动态数据的应用,其数据库 ...
- activity和Task 有关的 Intent启动方式结合intent.setFlags()
通过设置Intent对象的标记,来改变当前任务堆栈中既存的Activity的顺序: FLAG_ACTIVITY_NEW_TASK----简而言之,跳转到的activity根据情况,可能压在一个新建 ...
- Scrapy框架--cookie的获取/传递/本地保存
环境:Python3.6 + Scrapy1.4 我要实现的东西:1. 完成模拟登陆 2. 登陆成功后提取出cookie,然后保存到本地cookie.txt文件中 3. ...
- Vue.js系列之二Vue实例
每个Vue应用都是通过Vue函数创建一个新的Vue实例开始,代码如下: var vm=new Vue({}); {}是创建Vue应用时的参数对象 1.Vue实例的data属性 当一个Vue对象被创建时 ...
- 前端知识概述----公司内部的一次分享 分类: JavaScript HTML+CSS 2015-04-16 21:24 2593人阅读 评论(2) 收藏
因为公司内部一个纯后端团队要做一些适合自己团队的web页面,所以就有了这次分享.知识都是很基础,有的知识也只是做了解简单介绍.主要是想让大家对前端有一个基本的了解.现在做一个总结.欢迎大家拍砖. 知识 ...