diff --git a/src/api/ticket/uplinkMessage/index.ts b/src/api/ticket/uplinkMessage/index.ts
new file mode 100644
index 00000000..c87ddbab
--- /dev/null
+++ b/src/api/ticket/uplinkMessage/index.ts
@@ -0,0 +1,45 @@
+import request from '@/config/axios'
+
+// 上行报文 VO
+export interface VO {
+ id: number // 编号
+ commitTime: Date // 上报时间
+ deviceId: string // 设备编号
+ deviceName: string // 设备名称
+ status: boolean // 状态
+ resBody: string // 上行报文
+ remark: string // 备注
+}
+
+// 上行报文 API
+export const Api = {
+ // 查询上行报文分页
+ getPage: async (params: any) => {
+ return await request.get({ url: `/ticket/uplinkMessage/page`, params })
+ },
+
+ // 查询上行报文详情
+ get: async (id: number) => {
+ return await request.get({ url: `/ticket/uplinkMessage/get?id=` + id })
+ },
+
+ // 新增上行报文
+ create: async (data: VO) => {
+ return await request.post({ url: `/ticket/uplinkMessage/create`, data })
+ },
+
+ // 修改上行报文
+ update: async (data: VO) => {
+ return await request.put({ url: `/ticket/uplinkMessage/update`, data })
+ },
+
+ // 删除上行报文
+ delete: async (id: number) => {
+ return await request.delete({ url: `/ticket/uplinkMessage/delete?id=` + id })
+ },
+
+ // 导出上行报文 Excel
+ export: async (params) => {
+ return await request.download({ url: `/ticket/uplinkMessage/export-excel`, params })
+ }
+}
diff --git a/src/views/ticket/uplinkMessage/Form.vue b/src/views/ticket/uplinkMessage/Form.vue
new file mode 100644
index 00000000..63ae52d0
--- /dev/null
+++ b/src/views/ticket/uplinkMessage/Form.vue
@@ -0,0 +1,131 @@
+
+
+
+
diff --git a/src/views/ticket/uplinkMessage/index.vue b/src/views/ticket/uplinkMessage/index.vue
new file mode 100644
index 00000000..b2b58c53
--- /dev/null
+++ b/src/views/ticket/uplinkMessage/index.vue
@@ -0,0 +1,261 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+