修复“位置管理”中的部分bug
This commit is contained in:
parent
44c3e77d43
commit
ba37bff558
|
|
@ -9,7 +9,7 @@
|
|||
@close="handleClose"
|
||||
>
|
||||
<el-form ref="formRef" :model="formData" label-width="80px" :rules="formRules">
|
||||
<el-form-item label="父级位置" prop="pid">
|
||||
<el-form-item label="父级位置" prop="parentId">
|
||||
<el-tree-select
|
||||
class="flex-1"
|
||||
v-model="formData.parentId"
|
||||
|
|
@ -17,7 +17,8 @@
|
|||
clearable
|
||||
node-key="id"
|
||||
:props="{
|
||||
label: 'name'
|
||||
label: 'name',
|
||||
children: 'childLocation'
|
||||
}"
|
||||
:default-expand-all="true"
|
||||
placeholder="请选择父级位置"
|
||||
|
|
@ -27,7 +28,7 @@
|
|||
<el-form-item label="位置名称" prop="name">
|
||||
<el-input v-model="formData.name" placeholder="请输入位置名称" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="位置类型" prop="type" required>
|
||||
<el-form-item label="位置类型" prop="type" required v-if="mode == 'add'">
|
||||
<el-select
|
||||
v-model="formData.type"
|
||||
class="w-[280px]"
|
||||
|
|
@ -47,7 +48,7 @@
|
|||
required
|
||||
>
|
||||
<el-select
|
||||
v-model="formData.type"
|
||||
v-model="formData.status"
|
||||
class="w-[280px]"
|
||||
clearable
|
||||
>
|
||||
|
|
@ -116,7 +117,7 @@ const formData = reactive({
|
|||
//楼层号
|
||||
floorNumber: 0,
|
||||
//状态
|
||||
status: 0
|
||||
status: '',
|
||||
})
|
||||
|
||||
const formRules = {
|
||||
|
|
@ -146,11 +147,22 @@ const menuOptions = ref<any[]>([])
|
|||
|
||||
const getMenu = async () => {
|
||||
const data: any = await getLocationList()
|
||||
const menu: any = { id: 0, name: '顶级', children: [] }
|
||||
menu.children = arrayToTree(
|
||||
treeToArray(data.childLocation).filter((item) => item.type != "ER")
|
||||
)
|
||||
menuOptions.value.push(menu)
|
||||
const filteredTree = filterTree(data.childLocation, (item) => item.type !== 'ER')
|
||||
// 构建顶级节点
|
||||
const menu: any = {
|
||||
id: 0,
|
||||
name: '顶级',
|
||||
childLocation: filteredTree
|
||||
}
|
||||
menuOptions.value = [menu]
|
||||
}
|
||||
|
||||
// 递归过滤树形数据的辅助函数
|
||||
const filterTree = (tree: any[], predicate: (item: any) => boolean): any[] => {
|
||||
return tree.filter(predicate).map(node => ({
|
||||
...node,
|
||||
childLocation: node.childLocation ? filterTree(node.childLocation, predicate) : []
|
||||
}))
|
||||
}
|
||||
|
||||
const handleSubmit = async () => {
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@ const handleAdd = async (id?: number) => {
|
|||
await nextTick()
|
||||
if (id) {
|
||||
editRef.value?.setFormData({
|
||||
pid: id
|
||||
parentId: id
|
||||
})
|
||||
}
|
||||
editRef.value?.open('add')
|
||||
|
|
|
|||
Loading…
Reference in New Issue