|
|
@@ -8,11 +8,11 @@
|
|
|
v-loading="formLoading">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="关联设备" prop="deviceId">
|
|
|
+ <el-form-item label="关联物资" prop="emergencyId">
|
|
|
<el-input
|
|
|
- v-model="formData.deviceName"
|
|
|
+ v-model="formData.emergencyName"
|
|
|
disabled
|
|
|
- placeholder="请选择关联设备"
|
|
|
+ placeholder="请选择关联物资"
|
|
|
style="width: 100%">
|
|
|
<template #append>
|
|
|
<el-link @click="selectDevice" :underline="false">选择</el-link>
|
|
|
@@ -67,7 +67,7 @@
|
|
|
:props="defaultProps"
|
|
|
node-key="id"
|
|
|
filterable
|
|
|
- :check-strictly="false"
|
|
|
+ :check-strictly="deptType !== '3'"
|
|
|
clearable
|
|
|
placeholder="请选择部门"
|
|
|
style="width: 100%" />
|
|
|
@@ -110,18 +110,18 @@
|
|
|
<Dialog title="选择设备" v-model="deviceDialogVisible" width="70%">
|
|
|
<ContentWrap>
|
|
|
<el-form class="-mb-15px" :model="deviceQueryParams" :inline="true">
|
|
|
- <el-form-item label="设备名称" prop="deviceName">
|
|
|
+ <el-form-item label="物资名称" prop="emergencyName">
|
|
|
<el-input
|
|
|
- v-model="deviceQueryParams.deviceName"
|
|
|
+ v-model="deviceQueryParams.emergencyName"
|
|
|
placeholder="请输入设备名称"
|
|
|
clearable
|
|
|
@keyup.enter="handleDeviceQuery"
|
|
|
class="!w-200px" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="设备编码" prop="deviceCode">
|
|
|
+ <el-form-item label="责任人" prop="dutyPerson">
|
|
|
<el-input
|
|
|
- v-model="deviceQueryParams.deviceCode"
|
|
|
- placeholder="请输入设备编码"
|
|
|
+ v-model="deviceQueryParams.dutyPerson"
|
|
|
+ placeholder="请输入责任人"
|
|
|
clearable
|
|
|
@keyup.enter="handleDeviceQuery"
|
|
|
class="!w-200px" />
|
|
|
@@ -158,12 +158,26 @@
|
|
|
{{ scope.$index + 1 }}
|
|
|
</template>
|
|
|
</zm-table-column>
|
|
|
- <zm-table-column label="设备编码" align="center" prop="deviceCode" min-width="140" />
|
|
|
- <zm-table-column label="设备名称" align="center" prop="deviceName" min-width="160" />
|
|
|
- <zm-table-column label="所在部门" align="center" prop="deptName" min-width="140" />
|
|
|
- <zm-table-column label="设备状态" align="center" prop="deviceStatusName" min-width="120" />
|
|
|
- <zm-table-column label="位置" align="center" prop="location" min-width="140" />
|
|
|
- <zm-table-column label="备注" align="center" prop="remark" min-width="160" />
|
|
|
+ <zm-table-column label="应急物资名称" align="center" prop="emergencyName" min-width="140" />
|
|
|
+ <zm-table-column label="应急物资单位" align="center" prop="emergencyUnit" min-width="120" />
|
|
|
+ <zm-table-column label="数量" align="center" prop="emergencyNumber" width="90" />
|
|
|
+ <zm-table-column label="存放位置" align="center" prop="emergencyLocation" min-width="140" />
|
|
|
+ <zm-table-column label="责任人" align="center" prop="dutyPerson" width="100" />
|
|
|
+ <zm-table-column label="联系电话" align="center" prop="mobile" min-width="120" />
|
|
|
+ <!-- <zm-table-column label="部门名称" align="center" prop="deptName" min-width="140" /> -->
|
|
|
+ <zm-table-column
|
|
|
+ label="备注"
|
|
|
+ align="center"
|
|
|
+ prop="remark"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip />
|
|
|
+ <zm-table-column label="附件" align="center" prop="file" min-width="90">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-button v-if="scope.row.file" link type="primary" @click="viewFile(scope.row.file)">
|
|
|
+ 查看
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </zm-table-column>
|
|
|
</zm-table>
|
|
|
|
|
|
<Pagination
|
|
|
@@ -181,12 +195,12 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import { EmergencyDrillCertApi } from '@/api/pms/qhse/index'
|
|
|
-import { IotDeviceApi } from '@/api/pms/device'
|
|
|
+import { EmergencyDrillCertApi, EmergencyDrillApi } from '@/api/pms/qhse/index'
|
|
|
import { defaultProps, handleTree } from '@/utils/tree'
|
|
|
import { onMounted, reactive, ref } from 'vue'
|
|
|
import * as DeptApi from '@/api/system/dept'
|
|
|
import { useUserStore } from '@/store/modules/user'
|
|
|
+import { getUserProfile } from '@/api/system/user/profile'
|
|
|
defineOptions({ name: 'QHSEDeviceCertForm' })
|
|
|
|
|
|
const { t } = useI18n()
|
|
|
@@ -201,8 +215,8 @@ const deptList = ref<Tree[]>([])
|
|
|
|
|
|
const createDefaultFormData = () => ({
|
|
|
id: undefined,
|
|
|
- deviceId: undefined,
|
|
|
- deviceName: '',
|
|
|
+ emergencyId: undefined,
|
|
|
+ emergencyName: '',
|
|
|
deptId: undefined,
|
|
|
certNo: '',
|
|
|
certOrg: '',
|
|
|
@@ -215,7 +229,7 @@ const createDefaultFormData = () => ({
|
|
|
const formData = ref(createDefaultFormData())
|
|
|
|
|
|
const formRules = reactive({
|
|
|
- deviceId: [{ required: true, message: '关联设备不能为空', trigger: 'blur' }],
|
|
|
+ emergencyId: [{ required: true, message: '关联设备不能为空', trigger: 'blur' }],
|
|
|
certNo: [{ required: true, message: '证书编号不能为空', trigger: 'blur' }],
|
|
|
certOrg: [{ required: true, message: '检测单位不能为空', trigger: 'blur' }],
|
|
|
certTime: [{ required: true, message: '检测日期不能为空', trigger: 'blur' }],
|
|
|
@@ -289,14 +303,14 @@ const selectedDevice = ref<any>(null)
|
|
|
const deviceQueryParams = reactive({
|
|
|
pageNo: 1,
|
|
|
pageSize: 10,
|
|
|
- deviceName: undefined as string | undefined,
|
|
|
- deviceCode: undefined as string | undefined
|
|
|
+ emergencyName: undefined as string | undefined,
|
|
|
+ dutyPerson: undefined as string | undefined
|
|
|
})
|
|
|
|
|
|
const getDeviceList = async () => {
|
|
|
deviceLoading.value = true
|
|
|
try {
|
|
|
- const data = await IotDeviceApi.getIotDevicePage(deviceQueryParams)
|
|
|
+ const data = await EmergencyDrillApi.getEmergencyDrillList(deviceQueryParams)
|
|
|
deviceList.value = data.list
|
|
|
deviceTotal.value = data.total
|
|
|
|
|
|
@@ -315,8 +329,8 @@ const handleDeviceQuery = () => {
|
|
|
}
|
|
|
|
|
|
const resetDeviceQuery = () => {
|
|
|
- deviceQueryParams.deviceName = undefined
|
|
|
- deviceQueryParams.deviceCode = undefined
|
|
|
+ deviceQueryParams.emergencyName = undefined
|
|
|
+ deviceQueryParams.dutyPerson = undefined
|
|
|
handleDeviceQuery()
|
|
|
}
|
|
|
|
|
|
@@ -327,12 +341,12 @@ const handleDeviceRadioChange = (row: any) => {
|
|
|
|
|
|
const selectDevice = () => {
|
|
|
deviceDialogVisible.value = true
|
|
|
- selectedDeviceId.value = formData.value.deviceId as number | undefined
|
|
|
+ selectedDeviceId.value = formData.value.emergencyId as number | undefined
|
|
|
selectedDevice.value =
|
|
|
- selectedDeviceId.value && formData.value.deviceName
|
|
|
+ selectedDeviceId.value && formData.value.emergencyName
|
|
|
? {
|
|
|
- id: formData.value.deviceId,
|
|
|
- deviceName: formData.value.deviceName,
|
|
|
+ id: formData.value.emergencyId,
|
|
|
+ emergencyName: formData.value.emergencyName,
|
|
|
deptId: formData.value.deptId
|
|
|
}
|
|
|
: null
|
|
|
@@ -351,13 +365,16 @@ const confirmSelectDevice = () => {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- formData.value.deviceId = selectedDevice.value.id
|
|
|
- formData.value.deviceName = selectedDevice.value.deviceName
|
|
|
+ formData.value.emergencyId = selectedDevice.value.id
|
|
|
+ formData.value.emergencyName = selectedDevice.value.emergencyName
|
|
|
formData.value.deptId = selectedDevice.value.deptId
|
|
|
closeDeviceDialog()
|
|
|
}
|
|
|
-
|
|
|
+let deptType = ref('')
|
|
|
onMounted(async () => {
|
|
|
deptList.value = handleTree(await DeptApi.getSimpleDeptList())
|
|
|
+
|
|
|
+ const users = await getUserProfile()
|
|
|
+ deptType.value = users.dept.type
|
|
|
})
|
|
|
</script>
|