今天根据客户反馈开源项目宁波阿成 (nbacheng) - Gitee.com
有一些bug,主要是前端的,所以今天修正一下
1、对于第一个节点是发起人,后面是多人选择的时候,approval数据被清空了
就是上面的流程,发现有问题
对这种情况,需要恢复this.taskForm.values.approval值
if (this.startUserForm.isStartUserNode && this.startUserForm.editFormType === 'oa' ) {
this.$refs.refStartBuilder.validate();
const approval = this.taskForm.values.approval;
const variables=JSON.parse(this.formVal);
const formData = JSON.parse(this.formViewData);
formData.formValue = JSON.parse(this.formVal);
variables.variables = formData;
console.log("variables=", variables);
this.taskForm.variables = variables;
this.taskForm.values = variables;
if(approval) {
this.taskForm.values.approval = approval;
}
}
2、对于流程用户选择出现错乱问题
changeDataType(val) {
// 清空 userTaskForm 所有属性值
Object.keys(this.userTaskForm).forEach(key => this.userTaskForm[key] = null);
this.userTaskForm.dataType = val;
if (val === 'INITIATOR') {
this.userTaskForm.assignee = "${INITIATOR}";
this.userTaskForm.text = "流程发起人";
const taskAttr = Object.create(null);
taskAttr['assignee'] = this.userTaskForm['assignee'] || null;
window.bpmnInstances.modeling.updateProperties(this.bpmnElement, taskAttr);
}
},
选择其它选项就清空其它内容,不在保留,以防止选择错乱
3、会签流程参数第一次使用时候不能编辑问题
在第一次使用会签流程选择模式的时候,下面的参数不能修改
getElementLoop(businessObject) {
if (!businessObject.loopCharacteristics) {
this.loopCharacteristics = "Null";
this.loopInstanceForm = {
collection: "",
elementVariable: "",
completionCondition: ""};
return;
}
if (businessObject.loopCharacteristics.$type === "bpmn:StandardLoopCharacteristics") {
this.loopCharacteristics = "StandardLoop";
this.loopInstanceForm = {
collection: "",
elementVariable: "",
completionCondition: ""};
return;
}
主要还是参数绑定问题,所以需要对这种情况,初始化参数,以便绑定有效。
通过上面修改后,前端的一些bug修正好了。