Commit 066f57e5c550507198aa14730cc4b0e47660ccf7
1 parent
72c8b246
优化 bpmnProcessDesigner 的 id 赋值,必须满足 NCName 规则,避免绘制报错的问题
Showing
1 changed file
with
16 additions
and
1 deletions
yudao-admin-ui/src/components/bpmnProcessDesigner/package/penal/base/ElementBaseInfo.vue
| ... | ... | @@ -19,7 +19,7 @@ |
| 19 | 19 | </el-select> |
| 20 | 20 | </el-form-item> |
| 21 | 21 | <el-form-item label="流程描述" prop="description"> |
| 22 | - <el-input type="textarea" v-model="model.description" clearable /> | |
| 22 | + <el-input type="textarea" v-model="model.description" clearable @change="handleDescriptionUpdate" /> | |
| 23 | 23 | </el-form-item> |
| 24 | 24 | </el-form> |
| 25 | 25 | </div> |
| ... | ... | @@ -72,6 +72,16 @@ export default { |
| 72 | 72 | this.elementBaseInfo = JSON.parse(JSON.stringify(this.bpmnElement.businessObject)); |
| 73 | 73 | }, |
| 74 | 74 | handleKeyUpdate(value) { |
| 75 | + // 校验 value 的值,只有 XML NCName 通过的情况下,才进行赋值。否则,会导致流程图报错,无法绘制的问题 | |
| 76 | + if (!value) { | |
| 77 | + return; | |
| 78 | + } | |
| 79 | + if (!value.match(/[a-zA-Z_][\-_.0-9_a-zA-Z$]*/)) { | |
| 80 | + console.log('key 不满足 XML NCName 规则,所以不进行赋值'); | |
| 81 | + return; | |
| 82 | + } | |
| 83 | + console.log('key 满足 XML NCName 规则,所以进行赋值'); | |
| 84 | + | |
| 75 | 85 | // 在 BPMN 的 XML 中,流程标识 key,其实对应的是 id 节点 |
| 76 | 86 | this.elementBaseInfo['id'] = value; |
| 77 | 87 | this.updateBaseInfo('id'); |
| ... | ... | @@ -80,6 +90,11 @@ export default { |
| 80 | 90 | this.elementBaseInfo['name'] = value; |
| 81 | 91 | this.updateBaseInfo('name'); |
| 82 | 92 | }, |
| 93 | + handleDescriptionUpdate(value) { | |
| 94 | + // TODO 芋艿:documentation 暂时无法修改,后续在看看 | |
| 95 | + // this.elementBaseInfo['documentation'] = value; | |
| 96 | + // this.updateBaseInfo('documentation'); | |
| 97 | + }, | |
| 83 | 98 | updateBaseInfo(key) { |
| 84 | 99 | // 触发 elementBaseInfo 对应的字段 |
| 85 | 100 | const attrObj = Object.create(null); | ... | ... |