|
|
|
|
@ -97,7 +97,7 @@ v-for="dict in getStrDictOptions('mes_goview_type')" :key="dict.value" :label="d
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="产线" prop="orgId">
|
|
|
|
|
<el-tree-select
|
|
|
|
|
v-model="createForm.orgId" :data="organizationTree" :props="lineTreeProps" filterable clearable
|
|
|
|
|
v-model="createForm.orgName" :data="organizationTree" :props="lineTreeProps" filterable clearable
|
|
|
|
|
class="!w-240px" placeholder="请选择产线" @change="handleOrgChange" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="设备" v-if="createForm.type === '1'">
|
|
|
|
|
@ -229,7 +229,7 @@ const organizationTree = ref<any[]>([])
|
|
|
|
|
const lineTreeProps = {
|
|
|
|
|
label: 'name',
|
|
|
|
|
children: 'children',
|
|
|
|
|
value: 'id'
|
|
|
|
|
value: 'name'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const deviceList = ref<any[]>([])
|
|
|
|
|
@ -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 () => {
|
|
|
|
|
|