UAP扩展开发 - 新增按钮
UAP新增按鈕的實現
一、擴展說明
1.按鈕擴展的實現有兩種方法
- 按鈕繼承:NCAction,MenuAction
- 攔截器實現:ActionInterceptor
此處是通過按鈕繼承實現的
2.UAP擴展開發新增按鈕一般就三步
- 功能注冊找到對應的節點查看全局配置xml文件
- 新建action類,擴展xml文件
- 注冊配置文件到功能注冊節點下
此處以銷售訂單維護為例,效果如下
3.節點查找路徑
- 功能注冊節點
:動態建模平臺 -> 開發配置 -> 功能管理 -> 功能注冊?
- 銷售訂單維護節點
:供應鏈 -> 銷售管理 -> 銷售訂單 -> 銷售訂單維護
二、按鈕實現
第一步 - 功能節點查看
1.新建UAP項目
新建銷售po模塊的UAP項目,新建組件命名自定義;
選中項目右鍵啟動中間件服務;
本次擴展添加的按鈕是銷售訂單維護節點下的。
進入功能注冊找到采購訂單維護節點
看到'B'部分參數注冊內層紅框就是當前節點的xml配置文件,這個后面要用到;
第二步 - 按鈕類及配置文件實現
1.創建action類及xml擴展文件
在新建的項目中client下新建action類及xml配置文件;
命名最好規范化可以參考標準產品相似功能節點的命名
結構如下:
action類就是按鈕對應的java類,該類繼承NCAction,覆蓋doAction()方法,按鈕的響應后的邏輯操作可在此方法中編寫;
xml文件就是擴展按鈕的配置文件。
2.文件代碼
AddTestAction.java
pubapp_ext_config.xml
<?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 class="nc.ui.pubapp.plugin.action.InsertActionInfo"> <property name="action" ref ="AddTestAction" /><!-- 這是插入按鈕的目標位置配置 addMenuGroup即為查找的目標按鈕 在其后插入測試按鈕--><property name="target" ref="addMenuGroup" /><property name="pos" value="before" /><property name="actionContainer" ref="actionsOfList" /><!-- 卡片,列表 --><property name="actionType" value="notedit" /><!-- notedit 或 edit --></bean><bean class="nc.ui.pubapp.plugin.action.InsertActionInfo"><property name="action" ref ="AddTestAction" /><property name="target" ref="addMenuGroup" /><!-- 目標按鈕 --><property name="pos" value="before" /><!-- 位置 --><property name="actionContainer" ref="actionsOfCard" /><!-- 卡片,列表 --><property name="actionType" value="notedit" /><!-- notedit 或 edit --></bean><bean id="AddTestAction" class="nc.ui.extend.pubapp.action.AddTestAction"><property name="model" ref="manageAppModel" /><property name="editor" ref="billFormEditor" /></bean></beans>
3.xml配置中的參數說明
<bean class="nc.ui.pubapp.plugin.action.InsertActionInfo"> 標識了擴展新增按鈕 < bean class="nc.ui.pubapp.plugin.action.ReplaceActionInfo">替換按鈕配置 <bean class=" nc.ui.uif2.uiextend.ActionExtInfo">刪除按鈕配置 <property name="target" ref="addMenuGroup" /> <property name="pos" value="before" />新增按鈕AddTestAction在按鈕addMenuGroup的前面 <bean id="AddTestAction" class="nc.ui.extend.pubapp.action.AddTestAction"> <property name="model" ref="manageAppModel" /> <property name="editor" ref="billFormEditor" /> </bean> id就是作為一個按鈕在xml配置文件中的標識, class是按鈕對應的的Java類 model是銷售訂單維護節點的xml配置文件中注冊的AppModel editor也是在該節點的xml配置文件中;以上model,editor,目標按鈕都是在xml配置中找;這個xml就是上面功能節點銷售訂單維護下的參數注冊中的saleorder_config.xml配置文件;
找源碼有個快捷鍵Ctrl+Shift+T,會彈出輸入框,輸入查找的文件名點擊確認即可;
打開文件后,可以找到actions,選一個作為目標按鈕即可;
關于model可以去查或者按照已有的action跟它配置的model,editor保持一致即可;
第三步 - 配置文件注冊
1.注冊配置文件到功能節點
就是把xml的全路徑配置到銷售訂單維護節點下的參數注冊中;
注意參數的命名有一定的規范,一般PluginBeanConfigFilePath加下劃線后跟01,02這樣;
到此完成新增按鈕;到供應鏈的銷售訂單維護打開,此時按鈕已被添加成功。
另:如果是二級按鈕,或者按鈕組;注意選擇目標按鈕后,將<property name="actionType" value="notedit" />中的notedit換成edit即可。
總結
以上是生活随笔為你收集整理的UAP扩展开发 - 新增按钮的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【CVPR2020 论文翻译】 | Ex
- 下一篇: python实现自动断网_《自拍教程62