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