diff --git a/src/views/report/dashboardList/index.vue b/src/views/report/dashboardList/index.vue
index 9b82150e..e670de80 100644
--- a/src/views/report/dashboardList/index.vue
+++ b/src/views/report/dashboardList/index.vue
@@ -97,7 +97,7 @@ v-for="dict in getStrDictOptions('mes_goview_type')" :key="dict.value" :label="d
@@ -229,7 +229,7 @@ const organizationTree = ref([])
const lineTreeProps = {
label: 'name',
children: 'children',
- value: 'id'
+ value: 'name'
}
const deviceList = ref([])
@@ -345,6 +345,10 @@ const openEditDialog = (item: DashboardItem) => {
createForm.type = item.type || ''
createForm.orgId = item.orgId || undefined
createForm.orgName = item.orgName || ''
+ if (!createForm.orgName && createForm.orgId) {
+ const org = findOrgNode(organizationTree.value || [], createForm.orgId)
+ createForm.orgName = org?.name || ''
+ }
const fromNew = Array.isArray(item.deviceIdsList) && item.deviceIdsList.length
? normalizeDeviceIdsList(item.deviceIdsList)
: []
@@ -398,11 +402,14 @@ const submitDialog = async () => {
} else {
createForm.deviceIdsList = []
}
+ if (!createForm.orgId && createForm.orgName) {
+ const org = findOrgNodeByName(organizationTree.value || [], createForm.orgName)
+ createForm.orgId = org?.id ?? undefined
+ createForm.orgName = org?.name || createForm.orgName
+ }
if (createForm.orgId) {
const org = findOrgNode(organizationTree.value || [], createForm.orgId)
- createForm.orgName = org?.name || ''
- } else {
- createForm.orgName = ''
+ createForm.orgName = org?.name || createForm.orgName
}
const route = getRouteByType(createForm.type)
if (route) {
@@ -464,13 +471,27 @@ const findOrgNode = (nodes: any[], id: any): any | undefined => {
return undefined
}
+const findOrgNodeByName = (nodes: any[], name: any): any | undefined => {
+ const target = String(name ?? '').trim()
+ if (!target) return undefined
+ for (const node of nodes) {
+ if (String(node.name) === target) return node
+ const children = Array.isArray(node.children) ? node.children : []
+ const found = findOrgNodeByName(children, target)
+ if (found) return found
+ }
+ return undefined
+}
+
const handleOrgChange = () => {
- if (!createForm.orgId) {
+ if (!createForm.orgName) {
+ createForm.orgId = undefined
createForm.orgName = ''
return
}
- const org = findOrgNode(organizationTree.value || [], createForm.orgId)
- createForm.orgName = org?.name || ''
+ const org = findOrgNodeByName(organizationTree.value || [], createForm.orgName)
+ createForm.orgId = org?.id ?? undefined
+ createForm.orgName = org?.name || createForm.orgName
}
const loadDeviceList = async () => {