在开始前点击这里您需要下载项目包和示例代码。
在您下载的项目包 readme-help/java-example.zip
中提供了一个基本示例。
import java.util.ArrayList;
import java.util.List;
import com.actionsoft.apps.devformui.ui.CustomFormUI;
import com.actionsoft.apps.listener.PluginListener;
import com.actionsoft.apps.resource.AppContext;
import com.actionsoft.apps.resource.plugin.profile.AWSPluginProfile;
import com.actionsoft.apps.resource.plugin.profile.FormUIPluginProfile;
import com.actionsoft.bpms.form.design.constant.FormRuleControlEnum;
/**
* 自定义vue UI组件。 应用ID:com.actionsoft.apps.devformui
*/
public class Plugins implements PluginListener {
public Plugins() {
}
@Override
public List<AWSPluginProfile> register(AppContext context) {
List<AWSPluginProfile> list = new ArrayList<>();
// ---------------------注册自定义组件-----------------------------
/**
* @param id UI名,建议英文
* @param clazz 实现类
* @param title 简要说明
* @param desc 详细说明
* @param isSetting 是否有组件专有属性
* @param isSetColumnWidth 是否允许设置显示宽度属性(表格列)
* @param isSetWidth 是否允许设置可编辑时宽度属性
* @param isSetHeight 是否允许设置可编辑时高度属性
* @param isSetExtendCode 是否允许设置扩展代码属性
* @param isSetAltText 是否允许设置鼠标提醒属性
* @param isSupportGrid 是否支持子表
* @param isSupportMobile 是否支持手机表单
* @param isSetDisplayRule 是否支持显示规则属性
*/
list.add(new FormUIPluginProfile("常规",
"AWSUI.Custom.text", //必须与前端一致
CustomFormUI.class.getName(),
"自定义组件", //名称必须与前端一致
"",
true,
true,
true,
false,
true,
true,
true,
true,
true
)
.setSupportRuleControl(FormRuleControlEnum.SUBMIT)
.setSupportRuleControl(FormRuleControlEnum.CHANGE)
.setSupportRuleControl(FormRuleControlEnum.CALC)
.setSupportRuleControl(FormRuleControlEnum.EDIT)
.setSupportRuleControl(FormRuleControlEnum.REQUIRED)
.setIconFont("awsui-iconfont", "", "#0c6e9f")
.setColumnWidth(150)
.setEngineVersion(2) //vue组件版本
);
return list;
}
}
注意:必须将注册的Java代码打成jar包,放在app的lib路径下(若该app安装路径下没有lib文件夹可以新建一个)。
npm run dev
项目结构简介:
如何测试一个现有表单?
开发完毕后在package.json中右键运行:
vite build --config vite-config/vite.config.packages.design.ts
打包设计资源包到app中
vite build --config vite-config/vite.config.packages.pc.ts
打包电脑端资源包到app中
vite build --config vite-config/vite.config.packages.mobile.ts
打包移动端资源包到app中
最后随平台分发应用功能分发即可。