UDN-企业互联网技术人气社区

板块导航

浏览  : 4517
回复  : 10

[营改增那些事] NC63按钮扩展开发

[复制链接]
一叶知秋的头像 楼主
发表于 2016-4-20 10:03:56 | 显示全部楼层 |阅读模式
这个是我扩展开发的形式,新增的按钮,详细如下:
1.配置一个xml:

<?xml version="1.0" encoding="GBK"?>

<!DOCTYPE beans        PUBLIC ".//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
        <!--新增按钮-->
        <bean class="nc.ui.pubapp.plugin.action.InsertActionInfo">
    <property name="actionContainer" ref="actionsOfCard" />
    <property name="actionType" value="notedit" />
    <property name="target" ref="queryAction" />
    <property name="pos" value="before" />
    <property name="action" ref="testAction" />
    </bean>
    <!--新增按钮-->
     <bean class="nc.ui.pubapp.plugin.action.InsertActionInfo">
    <property name="actionContainer" ref="actionsOfList" />
    <property name="actionType" value="notedit" />
    <property name="target" ref="queryAction" />
    <property name="pos" value="before" />
    <property name="action" ref="testAction" />
    </bean>
    <!--测试-->
    <bean id="testAction" class="nc.ui.sphxywmsitf.m31.config.extend.action.TestAction">
                <property name="model" ref="manageAppModel" />
                <property name="code" value="testAction" />
        </bean>

</beans>

  2.根据这个xml利用springxml2java生成java类(注:这个类如果没有生成,说明xml里配置有问题)
package nc.ui.sphxywmsitf.m31.config.extend;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import nc.ui.uif2.factory.AbstractJavaBeanDefinition;

public class NewButton_config extends AbstractJavaBeanDefinition{
        private Map context = new HashMap();
public nc.ui.pubapp.plugin.action.InsertActionInfo getInsertActionInfo_0(){
if(context.get("nc.ui.pubapp.plugin.action.InsertActionInfo#0")!=null)
return (nc.ui.pubapp.plugin.action.InsertActionInfo)context.get("nc.ui.pubapp.plugin.action.InsertActionInfo#0");
  nc.ui.pubapp.plugin.action.InsertActionInfo bean = new nc.ui.pubapp.plugin.action.InsertActionInfo();
  context.put("nc.ui.pubapp.plugin.action.InsertActionInfo#0",bean);
  bean.setActionContainer((nc.ui.uif2.actions.IActionContainer)findBeanInUIF2BeanFactory("actionsOfCard"));
  bean.setActionType("notedit");
  bean.setTarget((javax.swing.Action)findBeanInUIF2BeanFactory("queryAction"));
  bean.setPos("before");
  bean.setAction(getTestAction());
setBeanFacotryIfBeanFacatoryAware(bean);
invokeInitializingBean(bean);
return bean;
}

public nc.ui.pubapp.plugin.action.InsertActionInfo getInsertActionInfo_1(){
if(context.get("nc.ui.pubapp.plugin.action.InsertActionInfo#1")!=null)
return (nc.ui.pubapp.plugin.action.InsertActionInfo)context.get("nc.ui.pubapp.plugin.action.InsertActionInfo#1");
  nc.ui.pubapp.plugin.action.InsertActionInfo bean = new nc.ui.pubapp.plugin.action.InsertActionInfo();
  context.put("nc.ui.pubapp.plugin.action.InsertActionInfo#1",bean);
  bean.setActionContainer((nc.ui.uif2.actions.IActionContainer)findBeanInUIF2BeanFactory("actionsOfList"));
  bean.setActionType("notedit");
  bean.setTarget((javax.swing.Action)findBeanInUIF2BeanFactory("queryAction"));
  bean.setPos("before");
  bean.setAction(getTestAction());
setBeanFacotryIfBeanFacatoryAware(bean);
invokeInitializingBean(bean);
return bean;
}

public nc.ui.sphxywmsitf.m31.config.extend.action.TestAction getTestAction(){
if(context.get("testAction")!=null)
return (nc.ui.sphxywmsitf.m31.config.extend.action.TestAction)context.get("testAction");
  nc.ui.sphxywmsitf.m31.config.extend.action.TestAction bean = new nc.ui.sphxywmsitf.m31.config.extend.action.TestAction();
  context.put("testAction",bean);
  bean.setModel((nc.ui.uif2.model.AbstractUIAppModel)findBeanInUIF2BeanFactory("manageAppModel"));
  bean.setCode("testAction");
setBeanFacotryIfBeanFacatoryAware(bean);
invokeInitializingBean(bean);
return bean;
}

}


3.写一个TestAction测试类
package nc.ui.sphxywmsitf.m31.config.extend.action;

import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;

import nc.ui.pubapp.uif2app.model.BillManageModel;
import nc.ui.pubapp.uif2app.query2.model.IModelDataManager;
import nc.ui.uif2.NCAction;
import nc.ui.uif2.components.IAutoShowUpComponent;
import nc.ui.uif2.editor.IEditor;
import nc.ui.uif2.model.AbstractUIAppModel;

public class TestAction extends NCAction{

        /**
         *
         */
        private static final long serialVersionUID = -3372822159954578039L;

        private nc.ui.uif2.model.AbstractUIAppModel model = null;


        public AbstractUIAppModel getModel() {
                return model;
        }

        public void setModel(AbstractUIAppModel model) {
                this.model = model;
        }

        public TestAction() {
                super.setBtnName("测试");
        }
        
        
        
        @Override
        public void doAction(ActionEvent arg0) throws Exception {
                JOptionPane.showMessageDialog(null, "测试新增按钮");
        }

}

4.在功能注册节点下注册一个参数路径:
如截图

QQ截图20160420095956.png

相关帖子

发表于 2016-4-20 10:15:39 | 显示全部楼层
赞一个
使用道具 举报

回复

发表于 2016-5-9 15:08:01 | 显示全部楼层
66666666666666666666666666
使用道具 举报

回复

发表于 2016-5-17 21:43:26 | 显示全部楼层
好东西,顶一下
使用道具 举报

回复

发表于 2016-5-25 16:40:39 | 显示全部楼层
顶一下!
使用道具 举报

回复

发表于 2016-7-18 10:45:50 | 显示全部楼层
按钮要获取表体的元素,是要在<bean></bean>里面配置吗??
使用道具 举报

回复

发表于 2016-10-19 15:34:04 | 显示全部楼层
扩展开发,是不是功能节点    类名 是  nc.ui.pubapp.uif2app.ToftPanelAdaptorEx  的才能扩展开发?  
nc.ui.uif2.ToftPanelAdaptor  可以扩展吗?
使用道具 举报

回复

发表于 2016-11-2 10:46:48 | 显示全部楼层
好内容留个记号
使用道具 举报

回复

发表于 2017-4-7 10:02:21 | 显示全部楼层
留个记号,谢谢了
使用道具 举报

回复

发表于 2017-9-19 11:01:35 | 显示全部楼层
mark,liuming
使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部