refactor(workflow): 优化表单渲染逻辑
- 使用 parserKey 替代时间戳作为 parser组件的 key,提升性能 - 仅在加载新表单时更新 parserKey,减少不必要的渲染- 移除了冗余的角色、部门和发起人相关的代码块
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
</div>
|
||||
<el-col :span="18" :offset="3">
|
||||
<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>
|
||||
|
||||
<!-- 审批负责人设置 -->
|
||||
@@ -104,6 +104,7 @@ export default {
|
||||
procInsId: null,
|
||||
formOpen: false,
|
||||
formData: {},
|
||||
parserKey: 1,
|
||||
// 审批表单
|
||||
approvalForm: {
|
||||
approvalType: 1, // 默认指定用户
|
||||
@@ -152,6 +153,7 @@ export default {
|
||||
this.formData = res.data;
|
||||
// 表单按钮隐藏
|
||||
this.formData.formBtns = false;
|
||||
this.parserKey++ // 只有加载新表单时才更新 key
|
||||
this.formOpen = true
|
||||
}
|
||||
})
|
||||
@@ -202,21 +204,6 @@ export default {
|
||||
formData.flowable.candidateUsers = this.approvalUsers.map(user => user.userId).join(',');
|
||||
formData.flowable.candidateGroups = '';
|
||||
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