日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

UAP扩展开发 - 新增按钮

發(fā)布時(shí)間:2023/12/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UAP扩展开发 - 新增按钮 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

UAP新增按鈕的實(shí)現(xiàn)

一、擴(kuò)展說(shuō)明

1.按鈕擴(kuò)展的實(shí)現(xiàn)有兩種方法

- 按鈕繼承:NCAction,MenuAction

- 攔截器實(shí)現(xiàn):ActionInterceptor

此處是通過(guò)按鈕繼承實(shí)現(xiàn)的

2.UAP擴(kuò)展開(kāi)發(fā)新增按鈕一般就三步

- 功能注冊(cè)找到對(duì)應(yīng)的節(jié)點(diǎn)查看全局配置xml文件

- 新建action類,擴(kuò)展xml文件

- 注冊(cè)配置文件到功能注冊(cè)節(jié)點(diǎn)下


此處以銷(xiāo)售訂單維護(hù)為例,效果如下



3.節(jié)點(diǎn)查找路徑

- 功能注冊(cè)節(jié)點(diǎn)

:動(dòng)態(tài)建模平臺(tái) -> 開(kāi)發(fā)配置 -> 功能管理 -> 功能注冊(cè)?

- 銷(xiāo)售訂單維護(hù)節(jié)點(diǎn)

:供應(yīng)鏈 -> 銷(xiāo)售管理 -> 銷(xiāo)售訂單 -> 銷(xiāo)售訂單維護(hù)

二、按鈕實(shí)現(xiàn)

第一步 - 功能節(jié)點(diǎn)查看

1.新建UAP項(xiàng)目

新建銷(xiāo)售po模塊的UAP項(xiàng)目,新建組件命名自定義;

選中項(xiàng)目右鍵啟動(dòng)中間件服務(wù);

本次擴(kuò)展添加的按鈕是銷(xiāo)售訂單維護(hù)節(jié)點(diǎn)下的。

進(jìn)入功能注冊(cè)找到采購(gòu)訂單維護(hù)節(jié)點(diǎn)



看到'B'部分參數(shù)注冊(cè)內(nèi)層紅框就是當(dāng)前節(jié)點(diǎn)的xml配置文件,這個(gè)后面要用到;

第二步 - 按鈕類及配置文件實(shí)現(xiàn)

1.創(chuàng)建action類及xml擴(kuò)展文件

在新建的項(xiàng)目中client下新建action類及xml配置文件;

命名最好規(guī)范化可以參考標(biāo)準(zhǔn)產(chǎn)品相似功能節(jié)點(diǎn)的命名

結(jié)構(gòu)如下:


action類就是按鈕對(duì)應(yīng)的java類,該類繼承NCAction,覆蓋doAction()方法,按鈕的響應(yīng)后的邏輯操作可在此方法中編寫(xiě);

xml文件就是擴(kuò)展按鈕的配置文件。

2.文件代碼

AddTestAction.java

package nc.ui.extend.pubapp.action;import java.awt.event.ActionEvent;import nc.ui.pub.beans.MessageDialog; import nc.ui.uif2.NCAction; import nc.ui.uif2.UIState; import nc.ui.uif2.editor.BillForm; import nc.ui.uif2.model.AbstractAppModel;public class AddTestAction extends NCAction { public AddTestAction() {super.setBtnName("按鈕");super.setCode("code");}private static final long serialVersionUID = -4417976703049420324L; private BillForm editor; private AbstractAppModel model; @Override public void doAction(ActionEvent e) throws Exception {MessageDialog.showHintDlg(editor, " 提示 ", " 測(cè)試自己新按鈕按下 ");}public BillForm getEditor() {return this.editor; }public AbstractAppModel getModel() {return this.model; }public void setEditor(BillForm editor) {this.editor = editor; }public void setModel(AbstractAppModel model) {this.model = model;model.addAppEventListener(this);}@Overrideprotected boolean isActionEnable() {return this.model.getUiState() == UIState.NOT_EDIT;} }
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" /><!-- 這是插入按鈕的目標(biāo)位置配置 addMenuGroup即為查找的目標(biāo)按鈕 在其后插入測(cè)試按鈕--><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" /><!-- 目標(biāo)按鈕 --><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配置中的參數(shù)說(shuō)明

<bean class="nc.ui.pubapp.plugin.action.InsertActionInfo"> 標(biāo)識(shí)了擴(kuò)展新增按鈕 < 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就是作為一個(gè)按鈕在xml配置文件中的標(biāo)識(shí), class是按鈕對(duì)應(yīng)的的Java類 model是銷(xiāo)售訂單維護(hù)節(jié)點(diǎn)的xml配置文件中注冊(cè)的AppModel editor也是在該節(jié)點(diǎn)的xml配置文件中;

以上model,editor,目標(biāo)按鈕都是在xml配置中找;這個(gè)xml就是上面功能節(jié)點(diǎn)銷(xiāo)售訂單維護(hù)下的參數(shù)注冊(cè)中的saleorder_config.xml配置文件;

找源碼有個(gè)快捷鍵Ctrl+Shift+T,會(huì)彈出輸入框,輸入查找的文件名點(diǎn)擊確認(rèn)即可;


打開(kāi)文件后,可以找到actions,選一個(gè)作為目標(biāo)按鈕即可;


關(guān)于model可以去查或者按照已有的action跟它配置的model,editor保持一致即可;



第三步 - 配置文件注冊(cè)

1.注冊(cè)配置文件到功能節(jié)點(diǎn)

就是把xml的全路徑配置到銷(xiāo)售訂單維護(hù)節(jié)點(diǎn)下的參數(shù)注冊(cè)中;

注意參數(shù)的命名有一定的規(guī)范,一般PluginBeanConfigFilePath加下劃線后跟01,02這樣;



到此完成新增按鈕;到供應(yīng)鏈的銷(xiāo)售訂單維護(hù)打開(kāi),此時(shí)按鈕已被添加成功。


另:如果是二級(jí)按鈕,或者按鈕組;注意選擇目標(biāo)按鈕后,將<property name="actionType" value="notedit" />中的notedit換成edit即可。

總結(jié)

以上是生活随笔為你收集整理的UAP扩展开发 - 新增按钮的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。