bug 443 444 445 478 494 521
This commit is contained in:
@@ -428,11 +428,52 @@ const loadEditData = () => {
|
||||
const projectWithDepartment = (selectProjectIds) => {
|
||||
if (!selectProjectIds || selectProjectIds.length === 0) {
|
||||
form.targetDepartment = '';
|
||||
return;
|
||||
}
|
||||
|
||||
// 获取第一个选中项目的发往科室(orgId)
|
||||
// 优先使用配置的发往科室,如果没有则保留手动选择
|
||||
const selectedProject = applicationListAll.value?.find(
|
||||
item => selectProjectIds.includes(item.adviceDefinitionId)
|
||||
);
|
||||
|
||||
if (selectedProject && selectedProject.orgId) {
|
||||
// 项目配置了发往科室,自动填充
|
||||
const orgId = selectedProject.orgId;
|
||||
const orgName = selectedProject.orgName;
|
||||
|
||||
// 查找树中对应的节点,获取正确的 id 类型
|
||||
const findNode = (nodes, targetId) => {
|
||||
if (!nodes) return null;
|
||||
for (const node of nodes) {
|
||||
if (String(node.id) === String(targetId)) {
|
||||
return node;
|
||||
}
|
||||
if (node.children && node.children.length > 0) {
|
||||
const found = findNode(node.children, targetId);
|
||||
if (found) return found;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
const treeNode = findNode(orgOptions.value, orgId);
|
||||
if (treeNode) {
|
||||
// 使用树节点的原始 id 值(确保类型匹配)
|
||||
form.targetDepartment = treeNode.id;
|
||||
} else {
|
||||
// 科室不在列表中(可能已删除),留空让用户手动选择
|
||||
form.targetDepartment = '';
|
||||
}
|
||||
}
|
||||
// 如果没有配置发往科室,保留手动选择(不修改 form.targetDepartment)
|
||||
};
|
||||
|
||||
watch(() => transferValue.value, (newValue) => {
|
||||
projectWithDepartment(newValue);
|
||||
// 使用 nextTick 确保 DOM 更新完成后再设置值
|
||||
nextTick(() => {
|
||||
projectWithDepartment(newValue);
|
||||
});
|
||||
});
|
||||
|
||||
const getPriorityCode = () => {
|
||||
|
||||
Reference in New Issue
Block a user