From c4a73f1c93ad3beb3d2c619be496fc43fc8b0b0d Mon Sep 17 00:00:00 2001 From: tianyongbao Date: Fri, 24 Oct 2025 20:41:11 +0800 Subject: [PATCH 1/6] =?UTF-8?q?feat:=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E8=AE=BE=E5=A4=87=E6=8A=A5=E8=AD=A6=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E3=80=81=E5=BE=AE=E4=BF=A1=E7=BC=93=E5=AD=98=E7=94=A8=E6=88=B7?= =?UTF-8?q?=EF=BC=8C=E6=93=8D=E4=BD=9C=E8=AE=B0=E5=BD=95=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=EF=BC=8C=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.production | 2 +- src/api/fishery/deviceWarnCombine/index.ts | 63 +++ src/api/fishery/deviceWarnCombine/types.ts | 143 +++++ src/api/fishery/deviceWarnOne/index.ts | 63 +++ src/api/fishery/deviceWarnOne/types.ts | 143 +++++ src/api/fishery/messageOpRecord/index.ts | 63 +++ src/api/fishery/messageOpRecord/types.ts | 108 ++++ src/api/fishery/tecentUserCache/index.ts | 63 +++ src/api/fishery/tecentUserCache/types.ts | 53 ++ src/types/components.d.ts | 3 + src/views/fishery/aquUser/index.vue | 2 +- .../fishery/deviceCorrectRecord/index.vue | 126 ++--- src/views/fishery/deviceErrorCode/index.vue | 80 +-- src/views/fishery/deviceSwitch/index.vue | 100 ++-- src/views/fishery/deviceThreshold/index.vue | 2 +- src/views/fishery/deviceWarnCombine/index.vue | 521 ++++++++++++++++++ src/views/fishery/deviceWarnOne/index.vue | 310 +++++++++++ src/views/fishery/linkedCtrl/index.vue | 2 +- src/views/fishery/messageOpRecord/index.vue | 274 +++++++++ src/views/fishery/payDevice/index.vue | 134 ++--- src/views/fishery/pond/index.vue | 2 +- src/views/fishery/tecentUserCache/index.vue | 224 ++++++++ src/views/fishery/userRelation/index.vue | 2 +- src/views/system/config/index.vue | 2 +- src/views/system/dict/data.vue | 2 +- src/views/system/dict/index.vue | 2 +- src/views/system/oss/config.vue | 2 +- src/views/system/post/index.vue | 2 +- src/views/system/role/index.vue | 2 +- src/views/system/user/index.vue | 2 +- 30 files changed, 2264 insertions(+), 233 deletions(-) create mode 100644 src/api/fishery/deviceWarnCombine/index.ts create mode 100644 src/api/fishery/deviceWarnCombine/types.ts create mode 100644 src/api/fishery/deviceWarnOne/index.ts create mode 100644 src/api/fishery/deviceWarnOne/types.ts create mode 100644 src/api/fishery/messageOpRecord/index.ts create mode 100644 src/api/fishery/messageOpRecord/types.ts create mode 100644 src/api/fishery/tecentUserCache/index.ts create mode 100644 src/api/fishery/tecentUserCache/types.ts create mode 100644 src/views/fishery/deviceWarnCombine/index.vue create mode 100644 src/views/fishery/deviceWarnOne/index.vue create mode 100644 src/views/fishery/messageOpRecord/index.vue create mode 100644 src/views/fishery/tecentUserCache/index.vue diff --git a/.env.production b/.env.production index 1109bc6..172b8bf 100644 --- a/.env.production +++ b/.env.production @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = RuoYi-Vue-Plus多租户管理系统 +VITE_APP_TITLE = 水产养殖监测平台 # 生产环境配置 VITE_APP_ENV = 'production' diff --git a/src/api/fishery/deviceWarnCombine/index.ts b/src/api/fishery/deviceWarnCombine/index.ts new file mode 100644 index 0000000..ccd5748 --- /dev/null +++ b/src/api/fishery/deviceWarnCombine/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { DeviceWarnCombineVO, DeviceWarnCombineForm, DeviceWarnCombineQuery } from '@/api/fishery/deviceWarnCombine/types'; + +/** + * 查询设备告警信息列表 + * @param query + * @returns {*} + */ + +export const listDeviceWarnCombine = (query?: DeviceWarnCombineQuery): AxiosPromise => { + return request({ + url: '/fishery/deviceWarnCombine/list', + method: 'get', + params: query + }); +}; + +/** + * 查询设备告警信息详细 + * @param id + */ +export const getDeviceWarnCombine = (id: string | number): AxiosPromise => { + return request({ + url: '/fishery/deviceWarnCombine/' + id, + method: 'get' + }); +}; + +/** + * 新增设备告警信息 + * @param data + */ +export const addDeviceWarnCombine = (data: DeviceWarnCombineForm) => { + return request({ + url: '/fishery/deviceWarnCombine', + method: 'post', + data: data + }); +}; + +/** + * 修改设备告警信息 + * @param data + */ +export const updateDeviceWarnCombine = (data: DeviceWarnCombineForm) => { + return request({ + url: '/fishery/deviceWarnCombine', + method: 'put', + data: data + }); +}; + +/** + * 删除设备告警信息 + * @param id + */ +export const delDeviceWarnCombine = (id: string | number | Array) => { + return request({ + url: '/fishery/deviceWarnCombine/' + id, + method: 'delete' + }); +}; diff --git a/src/api/fishery/deviceWarnCombine/types.ts b/src/api/fishery/deviceWarnCombine/types.ts new file mode 100644 index 0000000..3a67870 --- /dev/null +++ b/src/api/fishery/deviceWarnCombine/types.ts @@ -0,0 +1,143 @@ +export interface DeviceWarnCombineVO { + /** + * 主键id + */ + id: string | number; + + /** + * 设备编号 + */ + deviceSerialNum: string; + + /** + * 设备类型 + */ + deviceType: number; + + /** + * 参数类型 + */ + thresholdType: number; + + /** + * 进展状态 + */ + processStatus: number; + + /** + * 故障类型 + */ + warnType: number; + + /** + * 告警总数量 + */ + totalCount: number; + + /** + * 处理人 + */ + handlerName: string; + + /** + * 处理时间 + */ + processTime: string; + + /** + * 创建时间 + */ + createTime: string; + +} + +export interface DeviceWarnCombineForm extends BaseEntity { + /** + * 主键id + */ + id?: string | number; + + /** + * 设备编号 + */ + deviceSerialNum?: string; + + /** + * 设备类型 + */ + deviceType?: number; + + /** + * 参数类型 + */ + thresholdType?: number; + + /** + * 进展状态 + */ + processStatus?: number; + + /** + * 故障类型 + */ + warnType?: number; + + /** + * 告警总数量 + */ + totalCount?: number; + + /** + * 备注 + */ + remarkContent?: string; + + /** + * 处理人 + */ + handlerName?: string; + + /** + * 处理时间 + */ + processTime?: string; + + /** + * 备注 + */ + remark?: string; + +} + +export interface DeviceWarnCombineQuery extends PageQuery { + + /** + * 设备编号 + */ + deviceSerialNum?: string; + + /** + * 设备类型 + */ + deviceType?: number; + + /** + * 参数类型 + */ + thresholdType?: number; + + /** + * 进展状态 + */ + processStatus?: number; + + /** + * 故障类型 + */ + warnType?: number; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/src/api/fishery/deviceWarnOne/index.ts b/src/api/fishery/deviceWarnOne/index.ts new file mode 100644 index 0000000..b2e635d --- /dev/null +++ b/src/api/fishery/deviceWarnOne/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { DeviceWarnOneVO, DeviceWarnOneForm, DeviceWarnOneQuery } from '@/api/fishery/deviceWarnOne/types'; + +/** + * 查询设备报警明细列表 + * @param query + * @returns {*} + */ + +export const listDeviceWarnOne = (query?: DeviceWarnOneQuery): AxiosPromise => { + return request({ + url: '/fishery/deviceWarnOne/list', + method: 'get', + params: query + }); +}; + +/** + * 查询设备报警明细详细 + * @param id + */ +export const getDeviceWarnOne = (id: string | number): AxiosPromise => { + return request({ + url: '/fishery/deviceWarnOne/' + id, + method: 'get' + }); +}; + +/** + * 新增设备报警明细 + * @param data + */ +export const addDeviceWarnOne = (data: DeviceWarnOneForm) => { + return request({ + url: '/fishery/deviceWarnOne', + method: 'post', + data: data + }); +}; + +/** + * 修改设备报警明细 + * @param data + */ +export const updateDeviceWarnOne = (data: DeviceWarnOneForm) => { + return request({ + url: '/fishery/deviceWarnOne', + method: 'put', + data: data + }); +}; + +/** + * 删除设备报警明细 + * @param id + */ +export const delDeviceWarnOne = (id: string | number | Array) => { + return request({ + url: '/fishery/deviceWarnOne/' + id, + method: 'delete' + }); +}; diff --git a/src/api/fishery/deviceWarnOne/types.ts b/src/api/fishery/deviceWarnOne/types.ts new file mode 100644 index 0000000..8d129ad --- /dev/null +++ b/src/api/fishery/deviceWarnOne/types.ts @@ -0,0 +1,143 @@ +export interface DeviceWarnOneVO { + /** + * 主键id + */ + id: string | number; + + /** + * 报警主表id + */ + warnCombineId: string | number; + + /** + * 用户id + */ + userId: string | number; + + /** + * 告警最大值 + */ + limitUpper: number; + + /** + * 告警最小值 + */ + limitLower: number; + + /** + * 告警当前值 + */ + curValue: number; + + /** + * 进展状态 + */ + processStatus: number; + + /** + * 故障类型 + */ + warnType: number; + + /** + * 处理人 + */ + handlerName: string; + + /** + * 处理时间 + */ + processTime: string; + +} + +export interface DeviceWarnOneForm extends BaseEntity { + /** + * 主键id + */ + id?: string | number; + + /** + * 报警主表id + */ + warnCombineId?: string | number; + + /** + * 用户id + */ + userId?: string | number; + + /** + * 告警最大值 + */ + limitUpper?: number; + + /** + * 告警最小值 + */ + limitLower?: number; + + /** + * 告警当前值 + */ + curValue?: number; + + /** + * 进展状态 + */ + processStatus?: number; + + /** + * 故障类型 + */ + warnType?: number; + + /** + * 处理人 + */ + handlerName?: string; + + /** + * 处理时间 + */ + processTime?: string; + + /** + * 备注 + */ + remark?: string; + +} + +export interface DeviceWarnOneQuery extends PageQuery { + + /** + * 报警主表id + */ + warnCombineId?: string | number; + + /** + * 用户id + */ + userId?: string | number; + + /** + * 进展状态 + */ + processStatus?: number; + + /** + * 故障类型 + */ + warnType?: number; + + /** + * 处理人 + */ + handlerName?: string; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/src/api/fishery/messageOpRecord/index.ts b/src/api/fishery/messageOpRecord/index.ts new file mode 100644 index 0000000..06bcb42 --- /dev/null +++ b/src/api/fishery/messageOpRecord/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { MessageOpRecordVO, MessageOpRecordForm, MessageOpRecordQuery } from '@/api/fishery/messageOpRecord/types'; + +/** + * 查询用户操作记录列表 + * @param query + * @returns {*} + */ + +export const listMessageOpRecord = (query?: MessageOpRecordQuery): AxiosPromise => { + return request({ + url: '/fishery/messageOpRecord/list', + method: 'get', + params: query + }); +}; + +/** + * 查询用户操作记录详细 + * @param id + */ +export const getMessageOpRecord = (id: string | number): AxiosPromise => { + return request({ + url: '/fishery/messageOpRecord/' + id, + method: 'get' + }); +}; + +/** + * 新增用户操作记录 + * @param data + */ +export const addMessageOpRecord = (data: MessageOpRecordForm) => { + return request({ + url: '/fishery/messageOpRecord', + method: 'post', + data: data + }); +}; + +/** + * 修改用户操作记录 + * @param data + */ +export const updateMessageOpRecord = (data: MessageOpRecordForm) => { + return request({ + url: '/fishery/messageOpRecord', + method: 'put', + data: data + }); +}; + +/** + * 删除用户操作记录 + * @param id + */ +export const delMessageOpRecord = (id: string | number | Array) => { + return request({ + url: '/fishery/messageOpRecord/' + id, + method: 'delete' + }); +}; diff --git a/src/api/fishery/messageOpRecord/types.ts b/src/api/fishery/messageOpRecord/types.ts new file mode 100644 index 0000000..07dc88f --- /dev/null +++ b/src/api/fishery/messageOpRecord/types.ts @@ -0,0 +1,108 @@ +export interface MessageOpRecordVO { + /** + * 主键id + */ + id: string | number; + + /** + * 用户id + */ + userId: string | number; + + /** + * 操作用户id + */ + opUserId: string | number; + + /** + * 操作标题 + */ + title: string; + + /** + * 操作内容 + */ + message: string; + + /** + * 操作方式 + */ + opType: number; + + /** + * 备注 + */ + remark: string; + +} + +export interface MessageOpRecordForm extends BaseEntity { + /** + * 主键id + */ + id?: string | number; + + /** + * 用户id + */ + userId?: string | number; + + /** + * 操作用户id + */ + opUserId?: string | number; + + /** + * 操作标题 + */ + title?: string; + + /** + * 操作内容 + */ + message?: string; + + /** + * 操作方式 + */ + opType?: number; + + /** + * 备注 + */ + remark?: string; + +} + +export interface MessageOpRecordQuery extends PageQuery { + + /** + * 用户id + */ + userId?: string | number; + + /** + * 操作用户id + */ + opUserId?: string | number; + + /** + * 操作标题 + */ + title?: string; + + /** + * 操作内容 + */ + message?: string; + + /** + * 操作方式 + */ + opType?: number; + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/src/api/fishery/tecentUserCache/index.ts b/src/api/fishery/tecentUserCache/index.ts new file mode 100644 index 0000000..8bb1c23 --- /dev/null +++ b/src/api/fishery/tecentUserCache/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { TecentUserCacheVO, TecentUserCacheForm, TecentUserCacheQuery } from '@/api/fishery/tecentUserCache/types'; + +/** + * 查询公众号用户缓存列表 + * @param query + * @returns {*} + */ + +export const listTecentUserCache = (query?: TecentUserCacheQuery): AxiosPromise => { + return request({ + url: '/fishery/tecentUserCache/list', + method: 'get', + params: query + }); +}; + +/** + * 查询公众号用户缓存详细 + * @param id + */ +export const getTecentUserCache = (id: string | number): AxiosPromise => { + return request({ + url: '/fishery/tecentUserCache/' + id, + method: 'get' + }); +}; + +/** + * 新增公众号用户缓存 + * @param data + */ +export const addTecentUserCache = (data: TecentUserCacheForm) => { + return request({ + url: '/fishery/tecentUserCache', + method: 'post', + data: data + }); +}; + +/** + * 修改公众号用户缓存 + * @param data + */ +export const updateTecentUserCache = (data: TecentUserCacheForm) => { + return request({ + url: '/fishery/tecentUserCache', + method: 'put', + data: data + }); +}; + +/** + * 删除公众号用户缓存 + * @param id + */ +export const delTecentUserCache = (id: string | number | Array) => { + return request({ + url: '/fishery/tecentUserCache/' + id, + method: 'delete' + }); +}; diff --git a/src/api/fishery/tecentUserCache/types.ts b/src/api/fishery/tecentUserCache/types.ts new file mode 100644 index 0000000..13759c8 --- /dev/null +++ b/src/api/fishery/tecentUserCache/types.ts @@ -0,0 +1,53 @@ +export interface TecentUserCacheVO { + /** + * 主键id + */ + id: string | number; + + /** + * openId + */ + openId: string | number; + + /** + * unionId + */ + unionId: string | number; + + /** + * 备注 + */ + remark: string; + +} + +export interface TecentUserCacheForm extends BaseEntity { + /** + * 主键id + */ + id?: string | number; + + /** + * openId + */ + openId?: string | number; + + /** + * unionId + */ + unionId?: string | number; + + /** + * 备注 + */ + remark?: string; + +} + +export interface TecentUserCacheQuery extends PageQuery { + + /** + * 日期范围参数 + */ + params?: any; +} diff --git a/src/types/components.d.ts b/src/types/components.d.ts index 137fb4d..a8d3273 100644 --- a/src/types/components.d.ts +++ b/src/types/components.d.ts @@ -19,6 +19,7 @@ declare module 'vue' { ElButton: typeof import('element-plus/es')['ElButton'] ElCard: typeof import('element-plus/es')['ElCard'] ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] + ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup'] ElCol: typeof import('element-plus/es')['ElCol'] ElColorPicker: typeof import('element-plus/es')['ElColorPicker'] ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider'] @@ -35,6 +36,7 @@ declare module 'vue' { ElForm: typeof import('element-plus/es')['ElForm'] ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElIcon: typeof import('element-plus/es')['ElIcon'] + ElImage: typeof import('element-plus/es')['ElImage'] ElInput: typeof import('element-plus/es')['ElInput'] ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] ElLink: typeof import('element-plus/es')['ElLink'] @@ -55,6 +57,7 @@ declare module 'vue' { ElTabPane: typeof import('element-plus/es')['ElTabPane'] ElTabs: typeof import('element-plus/es')['ElTabs'] ElTag: typeof import('element-plus/es')['ElTag'] + ElText: typeof import('element-plus/es')['ElText'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] ElTree: typeof import('element-plus/es')['ElTree'] ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect'] diff --git a/src/views/fishery/aquUser/index.vue b/src/views/fishery/aquUser/index.vue index 3b74234..c14c4e8 100644 --- a/src/views/fishery/aquUser/index.vue +++ b/src/views/fishery/aquUser/index.vue @@ -64,7 +64,7 @@ --> - +