Compare commits

...

7 Commits

@ -184,6 +184,11 @@ export const DeviceApi = {
return await request.delete({ url: `/iot/device-contact-model/delete?ids=` + ids }) return await request.delete({ url: `/iot/device-contact-model/delete?ids=` + ids })
}, },
// 导出设备属性 Excel
exportDeviceContactModel: async (params) => {
return await request.download({ url: `/iot/device-contact-model/export-excel`, params })
},
// 获得设备属性 // 获得设备属性
getDeviceAttribute: async (id: number) => { getDeviceAttribute: async (id: number) => {
return await request.get({ url: `/iot/device-contact-model/get?id=` + id }) return await request.get({ url: `/iot/device-contact-model/get?id=` + id })

@ -5,6 +5,7 @@ export interface CriticalComponentVO {
code: string code: string
name: string name: string
description?: string description?: string
count?: number
remark?: string remark?: string
createTime?: string createTime?: string
} }

@ -1015,6 +1015,7 @@ export default {
}, },
// 设备关键件 // 设备关键件
EquipmentKeyItems: { EquipmentKeyItems: {
count: '数量',
code: '编码', code: '编码',
name: '名称', name: '名称',
batchDelete: '批量删除', batchDelete: '批量删除',
@ -1027,7 +1028,8 @@ export default {
placeholderCode: '请输入编码', placeholderCode: '请输入编码',
placeholderName: '请输入名称', placeholderName: '请输入名称',
placeholderDescription: '请输入描述', placeholderDescription: '请输入描述',
placeholderRemark: '请输入备注' placeholderRemark: '请输入备注',
placeholderCount: '请输入数量'
}, },
// 项目维护 // 项目维护
DvSubject: { DvSubject: {

@ -33,7 +33,7 @@
:placeholder="t('DataCollection.Device.placeholderAttributeType')" :placeholder="t('DataCollection.Device.placeholderAttributeType')"
class="!w-240px" class="!w-240px"
> >
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.name" /> <el-option v-for="item in typeList" :key="item.id" :label="item.code + '-' + item.name" :value="item.id" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -184,7 +184,6 @@ import { DICT_TYPE } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime' import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download' import download from '@/utils/download'
import { DeviceApi } from '@/api/iot/device' import { DeviceApi } from '@/api/iot/device'
import { DeviceModelAttributeApi } from '@/api/iot/devicemodelattribute'
import DeviceAttributeForm from './DeviceAttributeForm.vue' import DeviceAttributeForm from './DeviceAttributeForm.vue'
import { DeviceAttributeTypeApi, DeviceAttributeTypeVO } from '@/api/iot/deviceattributetype' import { DeviceAttributeTypeApi, DeviceAttributeTypeVO } from '@/api/iot/deviceattributetype'
@ -332,7 +331,7 @@ const handleExport = async () => {
if (selectedIds.value.length) { if (selectedIds.value.length) {
params.ids = selectedIds.value.join(',') params.ids = selectedIds.value.join(',')
} }
const data = await DeviceModelAttributeApi.exportDeviceModelAttribute(params) const data = await DeviceApi.exportDeviceContactModel(params)
download.excel(data, t('DataCollection.Device.attributeExportFilename')) download.excel(data, t('DataCollection.Device.attributeExportFilename'))
} catch { } catch {
} finally { } finally {
@ -342,8 +341,8 @@ const handleExport = async () => {
onMounted(async () => { onMounted(async () => {
try { try {
const data = await DeviceAttributeTypeApi.getDeviceAttributeTypePage({ pageNo: 1, pageSize: 10 }) const data = await DeviceAttributeTypeApi.getDeviceAttributeTypeList()
typeList.value = data?.list ?? [] typeList.value = data ?? []
} catch { } catch {
typeList.value = [] typeList.value = []
} }

@ -18,7 +18,7 @@ v-model="queryParams.attributeName"
<el-select <el-select
v-model="queryParams.attributeType" clearable filterable v-model="queryParams.attributeType" clearable filterable
:placeholder="t('DataCollection.DeviceModel.placeholderAttributeType')" class="!w-240px"> :placeholder="t('DataCollection.DeviceModel.placeholderAttributeType')" class="!w-240px">
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id" /> <el-option v-for="item in typeList" :key="item.id" :label="item.code + '-' + item.name" :value="item.id" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="寄存器地址" prop="address"> <!-- <el-form-item label="寄存器地址" prop="address">

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="dialogTitle" v-model="dialogVisible" width="1200px"> <Dialog :title="dialogTitle" v-model="dialogVisible" width="1200px" :close-on-click-modal="false">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"

@ -23,6 +23,14 @@
clearable clearable
type="textarea" type="textarea"
/> />
</el-form-item>
<el-form-item :label="t('EquipmentManagement.EquipmentKeyItems.count')" prop="count">
<el-input
v-model="formData.count"
:placeholder="t('EquipmentManagement.EquipmentKeyItems.placeholderCount')"
clearable
type="number"
/>
</el-form-item> </el-form-item>
<el-form-item :label="t('EquipmentManagement.EquipmentKeyItems.remark')" prop="remark"> <el-form-item :label="t('EquipmentManagement.EquipmentKeyItems.remark')" prop="remark">
<el-input <el-input
@ -59,6 +67,7 @@ const formData = ref<Partial<CriticalComponentVO>>({
code: undefined, code: undefined,
name: undefined, name: undefined,
description: undefined, description: undefined,
count: undefined,
remark: undefined remark: undefined
}) })
@ -73,6 +82,7 @@ const resetForm = () => {
code: undefined, code: undefined,
name: undefined, name: undefined,
description: undefined, description: undefined,
count: undefined,
remark: undefined remark: undefined
} }
formRef.value?.resetFields?.() formRef.value?.resetFields?.()
@ -89,6 +99,7 @@ const open = (type: 'create' | 'update', row?: Partial<CriticalComponentVO>) =>
code: row.code, code: row.code,
name: row.name, name: row.name,
description: row.description, description: row.description,
count: row.count,
remark: row.remark remark: row.remark
} }
} }

@ -75,6 +75,9 @@ v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"
min-width="140" /> min-width="140" />
<el-table-column <el-table-column
:label="t('EquipmentManagement.EquipmentKeyItems.description')" align="center" prop="description" :label="t('EquipmentManagement.EquipmentKeyItems.description')" align="center" prop="description"
min-width="180" />
<el-table-column
:label="t('EquipmentManagement.EquipmentKeyItems.count')" align="center" prop="count"
min-width="180" /> min-width="180" />
<el-table-column <el-table-column
:label="t('EquipmentManagement.EquipmentKeyItems.remark')" align="center" prop="remark" :label="t('EquipmentManagement.EquipmentKeyItems.remark')" align="center" prop="remark"

@ -15,11 +15,12 @@
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeLabel')" prop="timeRange"> <el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeLabel')" prop="timeRange">
<el-date-picker <el-date-picker
v-model="queryParams.timeRange" type="datetimerange" value-format="YYYY-MM-DD HH:mm:ss" v-model="queryParams.timeRange" type="datetimerange" value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD HH" :start-placeholder="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeStartPlaceholder')" :end-placeholder="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeEndPlaceholder')" format="YYYY-MM-DD HH"
:start-placeholder="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeStartPlaceholder')"
:end-placeholder="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeEndPlaceholder')"
:default-time="[new Date('2000-01-01 00:00:00'), new Date('2000-01-01 23:00:00')]" :default-time="[new Date('2000-01-01 00:00:00'), new Date('2000-01-01 23:00:00')]"
:disabled-time="getDisabledTime" class="!w-360px " popper-class="energydevicecheckPicker" :disabled-time="getDisabledTime" class="!w-360px " popper-class="energydevicecheckPicker" />
:teleported="false" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -35,7 +36,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</ContentWrap> </ContentWrap>
<ContentWrap> <ContentWrap>
<el-table <el-table
ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" row-key="id" ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" row-key="id"
:expand-row-keys="expandRowKeys" :row-class-name="getRowClassName" style=" min-height: 50vh;margin-top: 20px" :expand-row-keys="expandRowKeys" :row-class-name="getRowClassName" style=" min-height: 50vh;margin-top: 20px"

@ -97,7 +97,7 @@
default-expand-all default-expand-all
placeholder="请选择机台" placeholder="请选择机台"
/> --> /> -->
<el-select v-model="formData.machineId" :placeholder="t('FactoryModeling.FactoryStructure.dialogMachinePlaceholder')"> <el-select v-model="formData.machineId" :placeholder="t('FactoryModeling.FactoryStructure.dialogMachinePlaceholder')" clearable>
<el-option <el-option
v-for="item in deviceList" v-for="item in deviceList"
:key="item.id" :key="item.id"
@ -107,7 +107,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="t('EquipmentManagement.EquipmentLedger.dvName')" prop="dvId" v-if="formData.orgClass == 'workplace'"> <el-form-item :label="t('EquipmentManagement.EquipmentLedger.dvName')" prop="dvId" v-if="formData.orgClass == 'workplace'">
<el-select v-model="formData.dvId" filterable :placeholder="t('EquipmentManagement.EquipmentLedger.dvId')"> <el-select v-model="formData.dvId" filterable :placeholder="t('EquipmentManagement.EquipmentLedger.dvId')" clearable>
<el-option <el-option
v-for="item in dvList" v-for="item in dvList"
:key="item.id" :key="item.id"

Loading…
Cancel
Save