|
|
@ -1,5 +1,5 @@ |
|
|
<template> |
|
|
<template> |
|
|
<Dialog :title="dialogTitle" v-model="dialogVisible" :scroll="true"> |
|
|
|
|
|
|
|
|
<Dialog :title="dialogTitle" v-model="dialogVisible" :scroll="true" width="600px"> |
|
|
<el-form |
|
|
<el-form |
|
|
ref="formRef" |
|
|
ref="formRef" |
|
|
:model="formData" |
|
|
:model="formData" |
|
|
@ -11,7 +11,12 @@ |
|
|
<el-input v-model="formData.sn" placeholder="请输入SN" /> |
|
|
<el-input v-model="formData.sn" placeholder="请输入SN" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="持有人" prop="personId"> |
|
|
<el-form-item label="持有人" prop="personId"> |
|
|
<el-select v-model="formData.personId" clearable placeholder="请选择持有人" @change="handlePersonIdChange"> |
|
|
|
|
|
|
|
|
<el-select |
|
|
|
|
|
v-model="formData.personId" |
|
|
|
|
|
clearable |
|
|
|
|
|
placeholder="请选择持有人" |
|
|
|
|
|
@change="handlePersonIdChange" |
|
|
|
|
|
> |
|
|
<el-option |
|
|
<el-option |
|
|
v-for="person in personnelList" |
|
|
v-for="person in personnelList" |
|
|
:key="person.id" |
|
|
:key="person.id" |
|
|
@ -20,6 +25,22 @@ |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="部门" prop="deptId"> |
|
|
|
|
|
<el-cascader |
|
|
|
|
|
class="w-[100%]" |
|
|
|
|
|
v-model="formData.deptId" |
|
|
|
|
|
:options="deptList" |
|
|
|
|
|
:props="{ |
|
|
|
|
|
checkStrictly: true, |
|
|
|
|
|
label: 'name', |
|
|
|
|
|
value: 'id', |
|
|
|
|
|
children: 'children', |
|
|
|
|
|
emitPath: false |
|
|
|
|
|
}" |
|
|
|
|
|
clearable |
|
|
|
|
|
/> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<!-- <el-form-item label="持有人" prop="name"> |
|
|
<!-- <el-form-item label="持有人" prop="name"> |
|
|
<el-input v-model="formData.name" placeholder="请输入持有人" /> |
|
|
<el-input v-model="formData.name" placeholder="请输入持有人" /> |
|
|
</el-form-item> --> |
|
|
</el-form-item> --> |
|
|
@ -117,6 +138,8 @@ |
|
|
<script setup lang="ts"> |
|
|
<script setup lang="ts"> |
|
|
import { HandDetectorApi, HandDetector } from '@/api/gas/handdetector' |
|
|
import { HandDetectorApi, HandDetector } from '@/api/gas/handdetector' |
|
|
import { PersonnelApi, Personnel } from '@/api/gas/personnel' |
|
|
import { PersonnelApi, Personnel } from '@/api/gas/personnel' |
|
|
|
|
|
import * as DeptApi from '@/api/system/dept' |
|
|
|
|
|
import { handleTree } from '@/utils/tree' |
|
|
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' |
|
|
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' |
|
|
import { Fence } from '@/api/gas/fence' |
|
|
import { Fence } from '@/api/gas/fence' |
|
|
import { Type } from '@/api/gas/gastype' |
|
|
import { Type } from '@/api/gas/gastype' |
|
|
@ -181,13 +204,14 @@ const getAllPersonnel = async () => { |
|
|
} |
|
|
} |
|
|
/** 持有人改变时,应用持有人姓名 */ |
|
|
/** 持有人改变时,应用持有人姓名 */ |
|
|
const handlePersonIdChange = () => { |
|
|
const handlePersonIdChange = () => { |
|
|
formData.value.name = personnelList.value.find((item) => item.id === formData.value.personId)?.name |
|
|
|
|
|
formData.value.deptId = personnelList.value.find((item) => item.id === formData.value.personId)?.deptId |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
formData.value.name = personnelList.value.find( |
|
|
|
|
|
(item) => item.id === formData.value.personId |
|
|
|
|
|
)?.name |
|
|
|
|
|
formData.value.deptId = personnelList.value.find( |
|
|
|
|
|
(item) => item.id === formData.value.personId |
|
|
|
|
|
)?.deptId |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var selectFences = computed(() => { |
|
|
var selectFences = computed(() => { |
|
|
return props.fences.filter((item) => item.type === formData.value.fenceType) |
|
|
return props.fences.filter((item) => item.type === formData.value.fenceType) |
|
|
}) |
|
|
}) |
|
|
@ -195,7 +219,13 @@ var selectFences=computed(()=>{ |
|
|
const fenceTypeChange = () => { |
|
|
const fenceTypeChange = () => { |
|
|
formData.value.fenceIdsArray = [] |
|
|
formData.value.fenceIdsArray = [] |
|
|
} |
|
|
} |
|
|
|
|
|
const deptList = ref<any[]>([]) // 部门列表 |
|
|
|
|
|
|
|
|
|
|
|
function getDeptList() { |
|
|
|
|
|
DeptApi.getSimpleDeptList().then((res) => { |
|
|
|
|
|
deptList.value = handleTree(res || []) |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
/** 打开弹窗 */ |
|
|
/** 打开弹窗 */ |
|
|
const open = async (type: string, id?: number) => { |
|
|
const open = async (type: string, id?: number) => { |
|
|
dialogVisible.value = true |
|
|
dialogVisible.value = true |
|
|
@ -203,12 +233,15 @@ const open = async (type: string, id?: number) => { |
|
|
formType.value = type |
|
|
formType.value = type |
|
|
resetForm() |
|
|
resetForm() |
|
|
getAllPersonnel() |
|
|
getAllPersonnel() |
|
|
|
|
|
getDeptList() |
|
|
// 修改时,设置数据 |
|
|
// 修改时,设置数据 |
|
|
if (id) { |
|
|
if (id) { |
|
|
formLoading.value = true |
|
|
formLoading.value = true |
|
|
try { |
|
|
try { |
|
|
formData.value = await HandDetectorApi.getHandDetector(id) |
|
|
formData.value = await HandDetectorApi.getHandDetector(id) |
|
|
formData.value.fenceIdsArray = formData.value.fenceIds?formData.value.fenceIds?.split(',') : [] |
|
|
|
|
|
|
|
|
formData.value.fenceIdsArray = formData.value.fenceIds |
|
|
|
|
|
? formData.value.fenceIds?.split(',') |
|
|
|
|
|
: [] |
|
|
} finally { |
|
|
} finally { |
|
|
formLoading.value = false |
|
|
formLoading.value = false |
|
|
} |
|
|
} |
|
|
|