1
1
<template >
2
2
<div class =" panel-tab__content" >
3
- <el-form size =" mini" label-width =" 90px" :model =" model" :rules =" rules" @submit.native.prevent >
4
- <div v-if =" elementBaseInfo.$type === 'bpmn:Process'" > <!-- 如果是 Process 信息的时候,使用自定义表单 -->
5
- <el-link href =" https://doc.iocoder.cn/bpm/#_3-%E6%B5%81%E7%A8%8B%E5%9B%BE%E7%A4%BA%E4%BE%8B"
6
- type =" danger" target =" _blank" >如何实现实现会签、或签?</el-link >
3
+ <el-form
4
+ size =" mini"
5
+ label-width =" 90px"
6
+ :model =" model"
7
+ :rules =" rules"
8
+ @submit.native.prevent
9
+ >
10
+ <div v-if =" elementBaseInfo.$type === 'bpmn:Process'" >
11
+ <!-- 如果是 Process 信息的时候,使用自定义表单 -->
12
+ <el-link
13
+ href =" https://doc.iocoder.cn/bpm/#_3-%E6%B5%81%E7%A8%8B%E5%9B%BE%E7%A4%BA%E4%BE%8B"
14
+ type =" danger"
15
+ target =" _blank"
16
+ >如何实现实现会签、或签?</el-link
17
+ >
7
18
<el-form-item label =" 流程标识" prop =" key" >
8
- <el-input v-model =" model.key" placeholder =" 请输入流标标识"
9
- :disabled =" model.id !== undefined && model.id.length > 0" @change =" handleKeyUpdate" />
19
+ <el-input
20
+ v-model =" model.key"
21
+ placeholder =" 请输入流标标识"
22
+ :disabled =" model.id !== undefined && model.id.length > 0"
23
+ @change =" handleKeyUpdate"
24
+ />
10
25
</el-form-item >
11
26
<el-form-item label =" 流程名称" prop =" name" >
12
- <el-input v-model =" model.name" placeholder =" 请输入流程名称" clearable @change =" handleNameUpdate" />
27
+ <el-input
28
+ v-model =" model.name"
29
+ placeholder =" 请输入流程名称"
30
+ clearable
31
+ @change =" handleNameUpdate"
32
+ />
13
33
</el-form-item >
14
34
</div >
15
35
<div v-else >
16
36
<el-form-item label =" ID" >
17
- <el-input v-model =" elementBaseInfo.id" clearable @change =" updateBaseInfo('id')" />
37
+ <el-input
38
+ v-model =" elementBaseInfo.id"
39
+ clearable
40
+ @change =" updateBaseInfo('id')"
41
+ />
18
42
</el-form-item >
19
43
<el-form-item label =" 名称" >
20
- <el-input v-model =" elementBaseInfo.name" clearable @change =" updateBaseInfo('name')" />
44
+ <el-input
45
+ v-model =" elementBaseInfo.name"
46
+ clearable
47
+ @change =" updateBaseInfo('name')"
48
+ />
21
49
</el-form-item >
22
50
</div >
23
51
</el-form >
@@ -31,7 +59,7 @@ export default {
31
59
businessObject: Object ,
32
60
model: Object , // 流程模型的数据
33
61
},
34
- data () {
62
+ data () {
35
63
return {
36
64
elementBaseInfo: {},
37
65
// 流程表单的下拉框的数据
@@ -41,14 +69,14 @@ export default {
41
69
key: [{ required: true , message: " 流程标识不能为空" , trigger: " blur" }],
42
70
name: [{ required: true , message: " 流程名称不能为空" , trigger: " blur" }],
43
71
},
44
- };
72
+ }
45
73
},
46
74
watch: {
47
75
businessObject: {
48
76
immediate: false ,
49
- handler : function (val ) {
77
+ handler : function (val ) {
50
78
if (val) {
51
- this .$nextTick (() => this .resetBaseInfo ());
79
+ this .$nextTick (() => this .resetBaseInfo ())
52
80
}
53
81
}
54
82
},
@@ -59,61 +87,61 @@ export default {
59
87
// }
60
88
// }
61
89
},
62
- created () {
90
+ created () {
63
91
// 针对上传的 bpmn 流程图时,需要延迟 1 秒的时间,保证 key 和 name 的更新
64
92
setTimeout (() => {
65
93
this .handleKeyUpdate (this .model .key )
66
94
this .handleNameUpdate (this .model .name )
67
95
}, 1000 )
68
96
},
69
97
methods: {
70
- resetBaseInfo () {
71
- this .bpmnElement = window ? .bpmnInstances ? .bpmnElement ;
72
- this .elementBaseInfo = JSON .parse (JSON .stringify (this .bpmnElement .businessObject ));
98
+ resetBaseInfo () {
99
+ this .bpmnElement = window ? .bpmnInstances ? .bpmnElement
100
+ this .elementBaseInfo = JSON .parse (JSON .stringify (this .bpmnElement .businessObject ))
73
101
},
74
- handleKeyUpdate (value ) {
102
+ handleKeyUpdate (value ) {
75
103
// 校验 value 的值,只有 XML NCName 通过的情况下,才进行赋值。否则,会导致流程图报错,无法绘制的问题
76
104
if (! value) {
77
- return ;
105
+ return
78
106
}
79
107
if (! value .match (/ [a-zA-Z _][\-_ . 0-9a-zA-Z $] * / )) {
80
- console .log (' key 不满足 XML NCName 规则,所以不进行赋值' );
81
- return ;
108
+ console .log (' key 不满足 XML NCName 规则,所以不进行赋值' )
109
+ return
82
110
}
83
- console .log (' key 满足 XML NCName 规则,所以进行赋值' );
111
+ console .log (' key 满足 XML NCName 规则,所以进行赋值' )
84
112
85
113
// 在 BPMN 的 XML 中,流程标识 key,其实对应的是 id 节点
86
- this .elementBaseInfo [' id' ] = value;
87
- this .updateBaseInfo (' id' );
114
+ this .elementBaseInfo [' id' ] = value
115
+ this .updateBaseInfo (' id' )
88
116
},
89
- handleNameUpdate (value ) {
117
+ handleNameUpdate (value ) {
90
118
if (! value) {
91
119
return
92
120
}
93
- this .elementBaseInfo [' name' ] = value;
94
- this .updateBaseInfo (' name' );
121
+ this .elementBaseInfo [' name' ] = value
122
+ this .updateBaseInfo (' name' )
95
123
},
96
- handleDescriptionUpdate (value ) {
124
+ handleDescriptionUpdate (value ) {
97
125
// TODO 芋艿:documentation 暂时无法修改,后续在看看
98
126
// this.elementBaseInfo['documentation'] = value;
99
127
// this.updateBaseInfo('documentation');
100
128
},
101
- updateBaseInfo (key ) {
129
+ updateBaseInfo (key ) {
102
130
// 触发 elementBaseInfo 对应的字段
103
- const attrObj = Object .create (null );
104
- attrObj[key] = this .elementBaseInfo [key];
131
+ const attrObj = Object .create (null )
132
+ attrObj[key] = this .elementBaseInfo [key]
105
133
if (key === " id" ) {
106
134
window .bpmnInstances .modeling .updateProperties (this .bpmnElement , {
107
135
id: this .elementBaseInfo [key],
108
136
di: { id: ` ${ this .elementBaseInfo [key]} _di` }
109
- });
137
+ })
110
138
} else {
111
- window .bpmnInstances .modeling .updateProperties (this .bpmnElement , attrObj);
139
+ window .bpmnInstances .modeling .updateProperties (this .bpmnElement , attrObj)
112
140
}
113
141
}
114
142
},
115
- beforeDestroy () {
116
- this .bpmnElement = null ;
143
+ beforeDestroy () {
144
+ this .bpmnElement = null
117
145
}
118
146
};
119
147
< / script>
0 commit comments