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-11 15:29:44 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
b9a59c710f53da0aae66d3b89848c96665cf8578
b9a59c71
1 parent
eb33c9ad
实时检查表单数据是否正确
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
56 additions
and
2 deletions
doc/App.vue
doc/App.vue
View file @
b9a59c7
...
...
@@ -797,6 +797,51 @@ export default {
// });
});
/**
* 实时检查表单数据是否正确
* @param node_name
* @param node_name
* @param userTags
* @param field_auths
*/
function checkFormDataError(node_name, userTags, field_auths) {
let { nodes } = editor.editorState.graph.save();
let avail_count = field_auths.filter((ele) => {
if ((ele.visible.checked && !ele.visible.disabled )|| (ele.editable.checked && !ele.editable.disabled)) {
return ele;
}
});
if (!node_name) { // 节点名称为空,错误提示
nodes.forEach((ele: any, idx: number) => {
if (ele.id === state.detailModel.id) {
ele.desc = 'https://cdn.ipadbiz.cn/oa/flow/icons-error1.png';
editor.updateModel(ele); // 更新流程图信息
}
});
} else if (!userTags.length) { // 负责人为空,错误提示
nodes.forEach((ele: any, idx: number) => {
if (ele.id === state.detailModel.id) {
ele.desc = 'https://cdn.ipadbiz.cn/oa/flow/icons-error1.png';
editor.updateModel(ele); // 更新流程图信息
}
});
} else if (!avail_count.length) { // 字段权限为空,错误提示
nodes.forEach((ele: any, idx: number) => {
if (ele.id === state.detailModel.id) {
ele.desc = 'https://cdn.ipadbiz.cn/oa/flow/icons-error1.png';
editor.updateModel(ele); // 更新流程图信息
}
});
} else {
nodes.forEach((ele: any, idx: number) => {
if (ele.id === state.detailModel.id) {
ele.desc = '';
editor.updateModel(ele); // 更新流程图信息
}
});
}
}
/************* 监听表单数据变化 **************/
watch(
() => state.node_name,
...
...
@@ -806,8 +851,9 @@ export default {
state.node_tree[state.detailModel.id].name = newValue;
}
}
checkFormDataError(newValue, state.userTags, state.field_auths);
},
{ immediate: true }
//
{ immediate: true }
);
watch(
() => state.userTags,
...
...
@@ -817,10 +863,18 @@ export default {
state.node_tree[state.detailModel.id].user = newValue;
}
}
checkFormDataError(state.node_name, newValue, state.field_auths);
},
// { immediate: true }
);
watch(
() => state.field_auths,
(newValue, oldValue) => {
checkFormDataError(state.node_name, state.userTags, newValue);
},
{ deep: true }
);
watch(
() => state.more_attr,
(newValue, oldValue) => {
if (newValue !== oldValue) {
...
...
@@ -1889,7 +1943,7 @@ export default {
* @return {void} No return value.
*/
const noticeError = (checkResult) => {
let { nodes
, edges
} = editor.editorState.graph.save();
let { nodes } = editor.editorState.graph.save();
let available_keys = _.map(nodes, 'id'); // 画布上存在的有效节点ID
let raw_keys = _.intersection(checkResult.data, available_keys); // 取交集有效ID
let node_keys = Object.keys(state.node_tree); // 现在本地的ID都是有效的值
...
...
Please
register
or
login
to post a comment