Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Hooke
/
vue-flow-editor
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
hookehuyr
2023-12-04 16:57:38 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
1a327760c71b9861970a0b056ad3ce68ddb6d502
1a327760
1 parent
207bde21
点击画布和关闭弹框时检查表单数据是否修改过
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
67 additions
and
0 deletions
doc/App.vue
doc/App.vue
View file @
1a32776
...
...
@@ -587,6 +587,7 @@ export default {
type: null, // 操作方式 0:仅保存流程说明 1:删除,2:启用
},
showConfirmation: true,
node_attr: {},
});
/**
...
...
@@ -1203,6 +1204,24 @@ export default {
state.more_attr = data.property; // 更多属性
// 初始化表单数据比较结构
state.field_extend.forEach(ele => {
state.field_auths.forEach(auth => {
if (ele.field_id === auth.field_id) {
ele.field_extend.visibled = auth.visible.checked;
ele.field_extend.editabled = auth.editable.checked;
ele.field_extend.readonly = auth.editable.disabled;
}
})
});
// 储存原始节点属性
state.node_attr = {
name: _.cloneDeep(state.node_name),
user: _.cloneDeep(state.userTags),
field: _.cloneDeep(state.field_extend),
property: _.cloneDeep(state.more_attr)
}
// 开始节点不显示审批意见
if (model_id ==='start-node') {
state.more_attr = state.more_attr.filter((ele: any) => {
...
...
@@ -1262,8 +1281,25 @@ export default {
*
*/
function cancel() {
if (!checkFormEdited()) {
ElMessageBox.confirm(
'您刚才修改过表单内容还未保存,是否离开?',
'温馨提示',
{
confirmButtonText: '离开',
cancelButtonText: '取消',
type: 'warning',
}
)
.then(() => {
editor.closeModel()
})
.catch(() => {
})
} else {
editor.closeModel()
}
}
/**
* 打开更多属性细节回调
...
...
@@ -1502,9 +1538,40 @@ export default {
}
function onClickCanvas(e: myEvent) {
if (!checkFormEdited()) {
ElMessageBox.confirm(
'您刚才修改过表单内容还未保存,是否离开?',
'温馨提示',
{
confirmButtonText: '离开',
cancelButtonText: '取消',
type: 'warning',
}
)
.then(() => {
state.detailModel = null;
editor.closeModel()
})
.catch(() => {
})
} else {
state.detailModel = null;
editor.closeModel()
}
}
const checkFormEdited = () => { // 检查表单是否修改过内容
state.field_extend.forEach(ele => {
state.field_auths.forEach(auth => {
if (ele.field_id === auth.field_id) {
ele.field_extend.visibled = auth.visible.checked;
ele.field_extend.editabled = auth.editable.checked;
ele.field_extend.readonly = auth.editable.disabled;
}
})
});
return _.isEqual(state.node_attr, {name: state.node_name, user: state.userTags, field: state.field_extend, property: state.more_attr})
}
/**
* 拖动节点结束回调
...
...
Please
register
or
login
to post a comment