refactor(workflow): 优化表单渲染逻辑
- 使用 parserKey 替代时间戳作为 parser组件的 key,提升性能 - 仅在加载新表单时更新 parserKey,减少不必要的渲染- 移除了冗余的角色、部门和发起人相关的代码块
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<el-col :span="18" :offset="3">
|
<el-col :span="18" :offset="3">
|
||||||
<div class="form-conf" v-if="formOpen">
|
<div class="form-conf" v-if="formOpen">
|
||||||
<parser :key="new Date().getTime()" :form-conf="formData" ref="parser" @getData="getData"/>
|
<parser :key="parserKey" :form-conf="formData" ref="parser" @getData="getData"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 审批负责人设置 -->
|
<!-- 审批负责人设置 -->
|
||||||
@@ -104,6 +104,7 @@ export default {
|
|||||||
procInsId: null,
|
procInsId: null,
|
||||||
formOpen: false,
|
formOpen: false,
|
||||||
formData: {},
|
formData: {},
|
||||||
|
parserKey: 1,
|
||||||
// 审批表单
|
// 审批表单
|
||||||
approvalForm: {
|
approvalForm: {
|
||||||
approvalType: 1, // 默认指定用户
|
approvalType: 1, // 默认指定用户
|
||||||
@@ -152,6 +153,7 @@ export default {
|
|||||||
this.formData = res.data;
|
this.formData = res.data;
|
||||||
// 表单按钮隐藏
|
// 表单按钮隐藏
|
||||||
this.formData.formBtns = false;
|
this.formData.formBtns = false;
|
||||||
|
this.parserKey++ // 只有加载新表单时才更新 key
|
||||||
this.formOpen = true
|
this.formOpen = true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -202,21 +204,6 @@ export default {
|
|||||||
formData.flowable.candidateUsers = this.approvalUsers.map(user => user.userId).join(',');
|
formData.flowable.candidateUsers = this.approvalUsers.map(user => user.userId).join(',');
|
||||||
formData.flowable.candidateGroups = '';
|
formData.flowable.candidateGroups = '';
|
||||||
formData.flowable.text = this.approvalUsers.map(user => user.nickName).join(',');
|
formData.flowable.text = this.approvalUsers.map(user => user.nickName).join(',');
|
||||||
} else if (this.approvalForm.approvalType === 2) {
|
|
||||||
// 角色
|
|
||||||
formData.flowable = formData.flowable || {};
|
|
||||||
formData.flowable.candidateUsers = '';
|
|
||||||
formData.flowable.candidateGroups = 'ROLE_';
|
|
||||||
} else if (this.approvalForm.approvalType === 3) {
|
|
||||||
// 部门
|
|
||||||
formData.flowable = formData.flowable || {};
|
|
||||||
formData.flowable.candidateUsers = '';
|
|
||||||
formData.flowable.candidateGroups = 'DEPT_';
|
|
||||||
} else if (this.approvalForm.approvalType === 4) {
|
|
||||||
// 发起人
|
|
||||||
formData.flowable = formData.flowable || {};
|
|
||||||
formData.flowable.candidateUsers = '';
|
|
||||||
formData.flowable.candidateGroups = '';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 启动流程并将表单数据加入流程变量
|
// 启动流程并将表单数据加入流程变量
|
||||||
|
|||||||
Reference in New Issue
Block a user