From 4adc28a055d8565562e102cf626807df004b9f0e Mon Sep 17 00:00:00 2001 From: sjl <1716605279@qq.com> Date: Tue, 11 Feb 2025 10:40:34 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/api/device/devType/index.ts | 29 +++ frontend/src/api/device/icd/index.ts | 38 +++ frontend/src/api/device/interface/devType.ts | 40 ++++ frontend/src/api/device/interface/icd.ts | 35 +++ .../devType/components/devTypePopup.vue | 222 ++++++++++++++++++ frontend/src/views/machine/devType/index.vue | 148 ++++++++++++ .../machine/device/components/devicePopup.vue | 6 +- 7 files changed, 516 insertions(+), 2 deletions(-) create mode 100644 frontend/src/api/device/devType/index.ts create mode 100644 frontend/src/api/device/icd/index.ts create mode 100644 frontend/src/api/device/interface/devType.ts create mode 100644 frontend/src/api/device/interface/icd.ts create mode 100644 frontend/src/views/machine/devType/components/devTypePopup.vue create mode 100644 frontend/src/views/machine/devType/index.vue diff --git a/frontend/src/api/device/devType/index.ts b/frontend/src/api/device/devType/index.ts new file mode 100644 index 0000000..38d1116 --- /dev/null +++ b/frontend/src/api/device/devType/index.ts @@ -0,0 +1,29 @@ +import type { DevType } from '@/api/device/interface/devType' +import http from '@/api' + +/** + * @name 设备类型管理模块 + */ + +//获取设备类型 +export const getDevTypeList = (params: DevType.ReqPqDevTypeParams) => { + return http.post(`/devType/list`, params) +} + +//添加设备类型 +export const addDevType = (params: DevType.ResPqDevType) => { + return http.post(`/devType/add`, params) + } + + //编辑设备类型 + export const updateDevType = (params: DevType.ResPqDevType) => { + return http.post(`/devType/update`, params) + } + + //删除设备类型 + export const deleteDevType = (params: string[]) => { + return http.post(`/devType/delete`, params) + } + + + diff --git a/frontend/src/api/device/icd/index.ts b/frontend/src/api/device/icd/index.ts new file mode 100644 index 0000000..e15caa6 --- /dev/null +++ b/frontend/src/api/device/icd/index.ts @@ -0,0 +1,38 @@ +import type { ICD } from '@/api/device/interface/icd' +import http from '@/api' +import { pa } from 'element-plus/es/locale/index.mjs' + +/** + * @name ICD管理模块 + */ + + + +//获取ICD分页 +export const getICDList = (params: ICD.ReqICDParams) => { + return http.get(`/icd/listAll`,params) +} + + +//获取ICD +export const getICDAllList = (params: ICD.ResICD) => { + return http.get(`/icd/listAll`,params) +} + +//添加ICD +export const addICD = (params: ICD.ResICD) => { + return http.post(`/icd/add`, params) + } + + //编辑ICD + export const updateICD = (params: ICD.ResICD) => { + return http.post(`/icd/update`, params) + } + + //删除ICD + export const deleteICD = (params: string[]) => { + return http.post(`/icd/delete`, params) + } + + + diff --git a/frontend/src/api/device/interface/devType.ts b/frontend/src/api/device/interface/devType.ts new file mode 100644 index 0000000..ce9f635 --- /dev/null +++ b/frontend/src/api/device/interface/devType.ts @@ -0,0 +1,40 @@ +import type { ReqPage, ResPage } from '@/api/interface' + +// 设备类型模块 +export namespace DevType { + + /** + * 设备类型数据表格分页查询参数 + */ + export interface ReqPqDevTypeParams extends ReqPage { + id: string; // 装置序号id 必填 + devType?: string; // 设备名称 + createTime?: string; //创建时间 + } + + /** + * 设备类型新增、修改、根据id查询返回的对象 + */ + export interface ResPqDevType { + id: string; //设备类型ID + name: string;//设备类型名称 + icd: string| null;//设备关联的ICD + power: string| null;//工作电源 + devVolt: number; //额定电压(V) + devCurr: number; //额定电流(A) + devChns: number; //设备通道数 + reportName: string| null;//报告模版名称 + state: number; + createBy?: string| null; //创建用户 + createTime?: string| null; //创建时间 + updateBy?: string| null; //更新用户 + updateTime?: string| null; //更新时间 + } + + /** + * 设备类型表格查询分页返回的对象; + */ + export interface ResPqDevTypePage extends ResPage { + + } +} \ No newline at end of file diff --git a/frontend/src/api/device/interface/icd.ts b/frontend/src/api/device/interface/icd.ts new file mode 100644 index 0000000..933d9d4 --- /dev/null +++ b/frontend/src/api/device/interface/icd.ts @@ -0,0 +1,35 @@ +import type { ReqPage, ResPage } from '@/api/interface' + +// ICD模块 +export namespace ICD { + + /** + * ICD表格分页查询参数 + */ + export interface ReqICDParams extends ReqPage { + id: string; // 装置序号id 必填 + devType?: string; // 设备名称 + createTime?: string; //创建时间 + } + + /** + * ICD新增、修改、根据id查询返回的对象 + */ + export interface ResICD { + id: string; //icdID + name: string;//icd名称 + path: string;//icd存储地址 + state: number; + createBy?: string| null; //创建用户 + createTime?: string| null; //创建时间 + updateBy?: string| null; //更新用户 + updateTime?: string| null; //更新时间 + } + + /** + * ICD表格查询分页返回的对象; + */ + export interface ResICDPage extends ResPage { + + } +} \ No newline at end of file diff --git a/frontend/src/views/machine/devType/components/devTypePopup.vue b/frontend/src/views/machine/devType/components/devTypePopup.vue new file mode 100644 index 0000000..cb1e28a --- /dev/null +++ b/frontend/src/views/machine/devType/components/devTypePopup.vue @@ -0,0 +1,222 @@ + + + \ No newline at end of file diff --git a/frontend/src/views/machine/devType/index.vue b/frontend/src/views/machine/devType/index.vue new file mode 100644 index 0000000..44a67bb --- /dev/null +++ b/frontend/src/views/machine/devType/index.vue @@ -0,0 +1,148 @@ + + + + \ No newline at end of file diff --git a/frontend/src/views/machine/device/components/devicePopup.vue b/frontend/src/views/machine/device/components/devicePopup.vue index a4e85a2..8ce53a7 100644 --- a/frontend/src/views/machine/device/components/devicePopup.vue +++ b/frontend/src/views/machine/device/components/devicePopup.vue @@ -253,8 +253,7 @@ const baseRules: Record> = { { required: true, message: '额定电流必填!', trigger: 'blur' }, { pattern: /^\d+(\.\d+)?$/, message: '额定电流格式错误', trigger: 'blur' } ], - createId: [{ required: true, message: '装置编号必填!', trigger: 'blur' }, - { pattern: /^\d+$/, message: '装置编号为数字', trigger: 'blur' } + createId: [{ required: true, message: '装置编号必填!', trigger: 'blur' } ], ip: [ { required: true, message: 'IP地址必填!', trigger: 'blur' }, @@ -279,6 +278,9 @@ const rules = computed(() => { } if (scene.value === '1'){//只有楼下出厂需要展示 dynamicRules.preinvestmentPlan= [{ required: true, message: '预投计划必选!', trigger: 'change' }]; + dynamicRules.createId= [{ required: true, message: '装置编号必填!', trigger: 'blur' }, + { pattern: /^\d+$/, message: '装置编号为数字', trigger: 'blur' } + ]; } if (scene.value !== '0') { dynamicRules.name = [{ required: true, message: '设备名称必填!', trigger: 'blur' }];