View Code? Open in Web Editor
NEW
基于Vue3.x + Vite + bpmn-js + element-plus + tsx 实现的Activiti流程设计器(Activiti process designer based on Vue3.x + Vite + BPMN-JS + Element-Plus + TSX implementation)
Home Page: https://yiuman.github.io/bpmn-vue-activiti/
License: MIT License
JavaScript 1.28%
HTML 2.66%
TypeScript 90.10%
CSS 5.04%
Dockerfile 0.31%
Shell 0.62%
bpmn-vue-activiti's Introduction
一鼓作气,再二衰,三而竭。
做到一半了,千万别放弃太久。
不断重启很耗电的~
bpmn-vue-activiti's People
bpmn-vue-activiti's Issues
端口只能是3000吗?能改成其它的吗?有没有vue.config.js这种可以配置代理端口的地方呢,或者其它地方能配置?
build好dist文件后部署到nginx报404错误,我在nginx里root已经指定了dist目录后直接访问就报404错误
我看了代码没看到有使用的地方,右边那个panel属性栏是自己配置的吧
整个流程的节点ID输入框为什么不能删除最后一个字符?
请问一下,bpmn的扩展属性(activiti:property)里加的一些配置在java代码里usertask里怎么获取到?
之前编辑流程在候选人里设置了人员,但是保存后,重新导入流程xml后,候选人activiti:candidateUsers设置的值不能回显
我自己将代码下载想试着打包成组件,然后我在vite.config.ts里面配置了build.lib打包时候就会报错Invalid value "umd" for option "output.format" - UMD and IIFE output formats are not supported for code-splitting builds.
大佬,能帮忙看下嘛
你好, 我看网关的有4个配置, 但是现在只展示了一个互斥网关, 想在界面添加网关要如何配置? 谢谢
找了好几个,要么没流程模拟,要么属性不全,要么流程模拟不能用。。本来想自己加,无奈后端人员搞不定前端😭
你的demo
我启动的
任务监听器里的标签错误,不是activiti:executionListener,应该是activiti:taskListener,任务监听器里的标签怎么改成activiti:taskListener呢?Activiti7使用activiti:taskListener才有效
任务节点修改为用户任务,再次点击节点会报错,但是演示例子是正常的,希望作者能更新一下,谢谢!
useOption.ts:38 Uncaught (in promise) TypeError: arr.includes is not a function
你好,人员任务的人员设置里候选人 不能手动输入,无法直接输入UEL表达式,只能选张三,李四这种无意义的角色?
我尝试自己添加
interface FromPropertyElement {
$type: string;
id: string;
type: string;
$attrs: FromPropertyAttrsElement;
}
interface FromPropertyAttrsElement {
name: string;
}
/**
表单属性组配置
*/
export const FormProperties: GroupProperties = {
name: '表单属性',
icon: 'el-icon-document-add',
properties: {
'extensionElements.formProperty': {
component: SubList,
columns: [
{
prop: 'id',
label: '编码',
align: 'center',
},
{
prop: 'type',
label: '类型',
align: 'center',
},
{
prop: 'name',
label: '名称',
align: 'center',
},
],
rules: {
id: [{ required: true, message: '属性名不能为空' }],
type: [{ required: true, message: '属性值不能为空' }],
name: [{ required: true, message: '属性值不能为空' }],
},
getValue: (businessObject: ModdleElement): Array => {
return businessObject?.extensionElements?.values
?.filter((item: FromPropertyElement) => item.$type === 'activiti:FormProperty')
.map((elem: FromPropertyElement) => {
return { id: elem.id, type: elem.type, name: elem?.$attrs?.name };
})
},
setValue(businessObject: ModdleElement, key: string, value: []): void {
const bpmnContext = BpmnStore;
const moddle = bpmnContext.getModeler().get('moddle');
const properties = moddle.create(activiti:FormProperty
, {
values: value.map((attr: { id: string; value: unknown }) => {
return moddle.create(activiti:FormProperty
, { name: attr.name, value: attr.value });
}),
});
bpmnContext.updateExtensionElements('activiti:Properties', properties);
},
},
},
};
getValue 是可以的。
setValue 不知道这么搞
请问有QQ群没。
期望实现这个效果,
现在想请问下这个属性如何配置
目前瞎取了个名字,主要是setValue 给activity:[class|expression] ,有个问题就是导入的bpmn文件不能解析到实现方式下拉框中
期待你的回复 3q
搭配的是activiti7,有人知道如何获取task配置的表单属性和拓展数据吗
node版本:v16.17.1
npm版本:8.15.0
电脑系统:win10
代码分支:main
请问怎么解决呀
return ( ) => (
< >
{ contextState . businessObject && contextState . activeBindDefine && (
< >
< div
class = "bpmn-panel-shrinkage"
onClick = { ( ) => ( panelState . shrinkageOff = ! panelState . shrinkageOff ) }
>
{ panelState . shrinkageOff ? (
< i class = "el-icon-s-fold" / >
) : (
< i class = "el-icon-s-unfold" / >
) }
< / div >
< div class = "bpmn-panel" v-show = { ! panelState . shrinkageOff } >
< div class = "title" > { bpmnContext . getActiveElementName ( ) } < / div >
< ElCollapse class = "bpmn-panel-collapse" v-model = { panelState . elCollapses } >
{ contextState . activeBindDefine . map ( ( groupItem ) => {
return (
< ElCollapseItem name = { groupItem . name } v-slots = { getSlotObject ( groupItem ) } / >
) ;
} ) }
< / ElCollapse >
< / div >
< / >
) }
< / >
) ;
这部分代码
contextState.activeBindDefine永远是NULL,其结果返回也是NULL,导致panel部分不能正常显示。
控制台 报错
Uncaught TypeError: Cannot read properties of undefined (reading 'modules')