yanghao 13 godzin temu
rodzic
commit
4d892b611c
100 zmienionych plików z 2972 dodań i 410 usunięć
  1. 3 0
      .env.dev
  2. 1 1
      .env.local
  3. 3 0
      .env.prod
  4. 1 1
      .vscode/settings.json
  5. 7 1
      index.html
  6. 11 1
      package.json
  7. 982 354
      pnpm-lock.yaml
  8. BIN
      public/js/EasyPlayer.swf
  9. 0 0
      public/js/EasyPlayer/EasyPlayer-decode.js
  10. 0 0
      public/js/EasyPlayer/EasyPlayer-lib.js
  11. 0 0
      public/js/EasyPlayer/EasyPlayer-pro.js
  12. BIN
      public/js/EasyPlayer/EasyPlayer-pro.wasm
  13. BIN
      public/js/EasyPlayer/EasyPlayer-snap.wasm
  14. BIN
      public/js/EasyPlayer/EasyPlayer.swf
  15. 0 0
      public/js/EasyWasmPlayer.js
  16. BIN
      public/js/jessibuca-pro/bg.jpg
  17. 0 0
      public/js/jessibuca-pro/decoder-pro-audio.js
  18. BIN
      public/js/jessibuca-pro/decoder-pro-audio.wasm
  19. 0 0
      public/js/jessibuca-pro/decoder-pro-hard-not-wasm.js
  20. 0 0
      public/js/jessibuca-pro/decoder-pro-hard.js
  21. 8 0
      public/js/jessibuca-pro/decoder-pro-mt-worker.js
  22. BIN
      public/js/jessibuca-pro/decoder-pro-mt-worker.wasm
  23. 0 0
      public/js/jessibuca-pro/decoder-pro-mt-worker.worker.js
  24. 0 0
      public/js/jessibuca-pro/decoder-pro-mt.js
  25. 7 0
      public/js/jessibuca-pro/decoder-pro-simd-mt-worker.js
  26. BIN
      public/js/jessibuca-pro/decoder-pro-simd-mt-worker.wasm
  27. 0 0
      public/js/jessibuca-pro/decoder-pro-simd-mt-worker.worker.js
  28. 0 0
      public/js/jessibuca-pro/decoder-pro-simd-mt.js
  29. 0 0
      public/js/jessibuca-pro/decoder-pro-simd.js
  30. BIN
      public/js/jessibuca-pro/decoder-pro-simd.wasm
  31. 0 0
      public/js/jessibuca-pro/decoder-pro.js
  32. BIN
      public/js/jessibuca-pro/decoder-pro.wasm
  33. BIN
      public/js/jessibuca-pro/expand-hover.png
  34. BIN
      public/js/jessibuca-pro/expand.png
  35. BIN
      public/js/jessibuca-pro/jessibuca-logo.png
  36. 0 0
      public/js/jessibuca-pro/jessibuca-pro-multi.js
  37. 0 0
      public/js/jessibuca-pro/jessibuca-pro-talk.js
  38. 0 0
      public/js/jessibuca-pro/jessibuca-pro.js
  39. BIN
      public/js/jessibuca-pro/logo.png
  40. BIN
      public/js/jessibuca-pro/zoom-stop-hover.png
  41. BIN
      public/js/jessibuca-pro/zoom-stop.png
  42. BIN
      public/model/industrialEquipment2.glb
  43. BIN
      public/model/test2.glb
  44. 13 3
      src/api/login/index.ts
  45. 71 11
      src/api/pms/device/index.ts
  46. 61 2
      src/api/pms/inspect/order/index.ts
  47. 1 1
      src/api/pms/iotlockstock/index.ts
  48. 11 1
      src/api/pms/iotmainworkorder/index.ts
  49. 32 21
      src/api/pms/iotopeationfill/index.ts
  50. 5 5
      src/api/pms/iotprojectinfo/index.ts
  51. 2 2
      src/api/pms/iotprojecttask/index.ts
  52. 34 1
      src/api/pms/iotrddailyreport/index.ts
  53. 14 0
      src/api/pms/iotrhdailyreport/index.ts
  54. 14 0
      src/api/pms/iotrydailyreport/index.ts
  55. 1 1
      src/api/pms/iotsapstock/index.ts
  56. 3 3
      src/api/pms/maintenance/index.ts
  57. 20 0
      src/api/pms/report/index.ts
  58. 33 0
      src/api/pms/stat/index.ts
  59. 53 0
      src/api/pms/video/category.ts
  60. 121 0
      src/api/pms/video/channel.ts
  61. 333 0
      src/api/pms/video/device.ts
  62. 8 0
      src/api/pms/video/dicts.ts
  63. 61 0
      src/api/pms/video/group.ts
  64. 158 0
      src/api/pms/video/list.ts
  65. 52 0
      src/api/pms/video/mediaServer.ts
  66. 106 0
      src/api/pms/video/model.ts
  67. 77 0
      src/api/pms/video/product.ts
  68. 44 0
      src/api/pms/video/protocol.ts
  69. 88 0
      src/api/pms/video/record.ts
  70. 53 0
      src/api/pms/video/salve.ts
  71. 34 0
      src/api/pms/video/sipConfig.ts
  72. 73 0
      src/api/pms/video/sipdevice.ts
  73. 64 0
      src/api/pms/video/temp.ts
  74. 53 0
      src/api/pms/video/template.ts
  75. 186 0
      src/api/pms/video/user.ts
  76. 10 0
      src/api/pms/video/warn.ts
  77. 53 0
      src/api/rq/iotmeasurebook/index.ts
  78. 7 1
      src/api/system/dept/index.ts
  79. BIN
      src/assets/icon/clear.png
  80. BIN
      src/assets/icon/download.png
  81. BIN
      src/assets/icon/fangda-hov.png
  82. BIN
      src/assets/icon/fangda.png
  83. BIN
      src/assets/icon/guangquan+.png
  84. BIN
      src/assets/icon/guangquan-.png
  85. BIN
      src/assets/icon/guangquan-hov+.png
  86. BIN
      src/assets/icon/guangquan-hov-.png
  87. BIN
      src/assets/icon/icon-card.png
  88. BIN
      src/assets/icon/icon-ercode.png
  89. BIN
      src/assets/icon/icon-font.png
  90. BIN
      src/assets/icon/icon-fullscreen.png
  91. BIN
      src/assets/icon/icon-info.png
  92. BIN
      src/assets/icon/icon-list.png
  93. BIN
      src/assets/icon/icon-rank-1.png
  94. BIN
      src/assets/icon/icon-rank-2.png
  95. BIN
      src/assets/icon/icon-rank-3.png
  96. BIN
      src/assets/icon/icon-rank-4.png
  97. BIN
      src/assets/icon/icon-search.png
  98. BIN
      src/assets/icon/jujiao+.png
  99. BIN
      src/assets/icon/jujiao-.png
  100. BIN
      src/assets/icon/jujiao-hov+.png

+ 3 - 0
.env.dev

@@ -6,6 +6,9 @@ VITE_DEV=true
 # 请求路径
 VITE_BASE_URL='https://iot.deepoil.cc'
 
+# MQTT服务地址
+VITE_MQTT_SERVER_URL = ''
+
 # 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务
 VITE_UPLOAD_TYPE=server
 

+ 1 - 1
.env.local

@@ -3,7 +3,7 @@ NODE_ENV=development
 
 VITE_DEV=true
 
-# 请求路径  http://192.168.188.149:48080  https://iot.deepoil.cc  http://172.21.10.222:8080
+# 请求路径  http://192.168.188.149:48080  https://iot.deepoil.cc  http://172.26.0.3:48080
 VITE_BASE_URL='https://iot.deepoil.cc'
 
 # 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务

+ 3 - 0
.env.prod

@@ -6,6 +6,9 @@ VITE_DEV=false
 # 请求路径
 VITE_BASE_URL='https://aims.deepoil.cc'
 
+# MQTT服务地址
+VITE_MQTT_SERVER_URL = ''
+
 # 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务
 VITE_UPLOAD_TYPE=server
 

+ 1 - 1
.vscode/settings.json

@@ -65,7 +65,7 @@
     "editor.defaultFormatter": "esbenp.prettier-vscode"
   },
   "[typescriptreact]": {
-    "editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
+    "editor.defaultFormatter": "esbenp.prettier-vscode"
   },
   "[html]": {
     "editor.defaultFormatter": "esbenp.prettier-vscode"

+ 7 - 1
index.html

@@ -3,8 +3,14 @@
   <head>
     <script src="https://g.alicdn.com/code/npm/@ali/dingtalk-h5-remote-debug/0.1.3/index.js"></script>
     <script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>
-    <script async type="text/javascript" src="/js/base64.min.js"></script>
+    <script src="https://cdn.jsdelivr.net/npm/sockjs-client@1.6.1/dist/sockjs.min.js"></script>
+    <script src="https://cdn.jsdelivr.net/npm/stompjs@2.3.3/lib/stomp.min.js"></script>
+    <script type="text/javascript" src="/js/base64.min.js"></script>
     <script src="https://api.map.baidu.com/api?v=3.0&ak=c0crhdxQ5H7WcqbcazGr7mnHrLa4GmO0"></script>
+
+    <script src="/js/jessibuca-pro/jessibuca-pro.js"></script>
+    <!-- <script type="text/javascript" src="/js/EasyWasmPlayer.js"></script> -->
+    <script type="text/javascript" src="/js/EasyPlayer/EasyPlayer-pro.js"></script>
     <meta charset="UTF-8" />
     <link rel="icon" href="/favicon.ico" />
     <meta http-equiv="X-UA-Compatible" content="IE=edge" />

+ 11 - 1
package.json

@@ -33,7 +33,10 @@
     "@fullcalendar/interaction": "^6.1.17",
     "@fullcalendar/vue3": "^6.1.17",
     "@iconify/iconify": "^3.1.1",
+    "@kjgl77/datav-vue3": "^1.7.4",
     "@microsoft/fetch-event-source": "^2.0.1",
+    "@number-flow/vue": "^0.4.8",
+    "@riophae/vue-treeselect": "^0.4.0",
     "@types/echarts": "^5.0.0",
     "@videojs-player/vue": "^1.0.0",
     "@vueuse/core": "^10.9.0",
@@ -56,8 +59,11 @@
     "driver.js": "^1.3.1",
     "echarts": "^5.6.0",
     "echarts-wordcloud": "^2.1.0",
-    "element-plus": "2.9.1",
+    "element-china-area-data": "^6.1.0",
+    "element-plus": "2.13.0",
     "fast-xml-parser": "^4.3.2",
+    "file-save": "^0.2.0",
+    "file-saver": "^2.0.5",
     "highlight.js": "^11.9.0",
     "jsencrypt": "^3.3.2",
     "lodash-es": "^4.17.21",
@@ -70,6 +76,7 @@
     "mitt": "^3.0.1",
     "moment": "^2.30.1",
     "motion-v": "^1.7.4",
+    "mqtt": "^5.14.1",
     "nprogress": "^0.2.0",
     "pinia": "^2.1.7",
     "pinia-plugin-persistedstate": "^3.2.1",
@@ -78,6 +85,7 @@
     "qs": "^6.12.0",
     "sortablejs": "1.15.0",
     "steady-xml": "^0.1.0",
+    "three": "^0.182.0",
     "url": "^0.11.3",
     "v3-jsoneditor": "^0.0.6",
     "video.js": "^7.21.5",
@@ -85,8 +93,10 @@
     "vue-dompurify-html": "^4.1.4",
     "vue-echarts": "^7.0.3",
     "vue-i18n": "9.10.2",
+    "vue-json-viewer": "^3.0.4",
     "vue-router": "4.4.5",
     "vue-types": "^5.1.1",
+    "vue3-next-qrcode": "^4.0.0",
     "vue3-signature": "^0.2.4",
     "vuedraggable": "^4.1.0",
     "vuex": "^4.1.0",

Plik diff jest za duży
+ 982 - 354
pnpm-lock.yaml


BIN
public/js/EasyPlayer.swf


Plik diff jest za duży
+ 0 - 0
public/js/EasyPlayer/EasyPlayer-decode.js


Plik diff jest za duży
+ 0 - 0
public/js/EasyPlayer/EasyPlayer-lib.js


Plik diff jest za duży
+ 0 - 0
public/js/EasyPlayer/EasyPlayer-pro.js


BIN
public/js/EasyPlayer/EasyPlayer-pro.wasm


BIN
public/js/EasyPlayer/EasyPlayer-snap.wasm


BIN
public/js/EasyPlayer/EasyPlayer.swf


Plik diff jest za duży
+ 0 - 0
public/js/EasyWasmPlayer.js


BIN
public/js/jessibuca-pro/bg.jpg


Plik diff jest za duży
+ 0 - 0
public/js/jessibuca-pro/decoder-pro-audio.js


BIN
public/js/jessibuca-pro/decoder-pro-audio.wasm


Plik diff jest za duży
+ 0 - 0
public/js/jessibuca-pro/decoder-pro-hard-not-wasm.js


Plik diff jest za duży
+ 0 - 0
public/js/jessibuca-pro/decoder-pro-hard.js


Plik diff jest za duży
+ 8 - 0
public/js/jessibuca-pro/decoder-pro-mt-worker.js


BIN
public/js/jessibuca-pro/decoder-pro-mt-worker.wasm


Plik diff jest za duży
+ 0 - 0
public/js/jessibuca-pro/decoder-pro-mt-worker.worker.js


Plik diff jest za duży
+ 0 - 0
public/js/jessibuca-pro/decoder-pro-mt.js


Plik diff jest za duży
+ 7 - 0
public/js/jessibuca-pro/decoder-pro-simd-mt-worker.js


BIN
public/js/jessibuca-pro/decoder-pro-simd-mt-worker.wasm


Plik diff jest za duży
+ 0 - 0
public/js/jessibuca-pro/decoder-pro-simd-mt-worker.worker.js


Plik diff jest za duży
+ 0 - 0
public/js/jessibuca-pro/decoder-pro-simd-mt.js


Plik diff jest za duży
+ 0 - 0
public/js/jessibuca-pro/decoder-pro-simd.js


BIN
public/js/jessibuca-pro/decoder-pro-simd.wasm


Plik diff jest za duży
+ 0 - 0
public/js/jessibuca-pro/decoder-pro.js


BIN
public/js/jessibuca-pro/decoder-pro.wasm


BIN
public/js/jessibuca-pro/expand-hover.png


BIN
public/js/jessibuca-pro/expand.png


BIN
public/js/jessibuca-pro/jessibuca-logo.png


Plik diff jest za duży
+ 0 - 0
public/js/jessibuca-pro/jessibuca-pro-multi.js


Plik diff jest za duży
+ 0 - 0
public/js/jessibuca-pro/jessibuca-pro-talk.js


Plik diff jest za duży
+ 0 - 0
public/js/jessibuca-pro/jessibuca-pro.js


BIN
public/js/jessibuca-pro/logo.png


BIN
public/js/jessibuca-pro/zoom-stop-hover.png


BIN
public/js/jessibuca-pro/zoom-stop.png


BIN
public/model/industrialEquipment2.glb


BIN
public/model/test2.glb


+ 13 - 3
src/api/login/index.ts

@@ -1,5 +1,6 @@
 import request from '@/config/axios'
 import type { RegisterVO, UserLoginVO } from './types'
+import { head } from 'lodash-es'
 
 export interface SmsCodeVO {
   mobile: string
@@ -16,12 +17,12 @@ export const login = (data: UserLoginVO) => {
   return request.post({ url: '/system/auth/login', data })
 }
 
-export const dingTalkLogin = (data:{code:string,type:number,state:number}) => {
-  return request.post({ url: '/system/auth/h5SocialLogin', data,headers:{'tenant-id':1} })
+export const dingTalkLogin = (data: { code: string; type: number; state: number }) => {
+  return request.post({ url: '/system/auth/h5SocialLogin', data, headers: { 'tenant-id': 1 } })
 }
 
 export const simpleLogin = (id: any) => {
-  return request.post({ url: '/system/auth/simple/login/'+id })
+  return request.post({ url: '/system/auth/simple/login/' + id })
 }
 // 注册
 export const register = (data: RegisterVO) => {
@@ -90,3 +91,12 @@ export const reqCheck = (data: any) => {
 export const smsResetPassword = (data: any) => {
   return request.post({ url: '/system/auth/reset-password', data })
 }
+
+// 门户用户登录
+export const portalLogin = (data: any) => {
+  return request.post({
+    url: 'system/auth/portal/login',
+    headers: { 'portal-secret': 'cc99d802-ce5c-5f62-b037-9a00726e7109' },
+    data
+  })
+}

+ 71 - 11
src/api/pms/device/index.ts

@@ -3,6 +3,10 @@ import request from '@/config/axios'
 // 设备台账 VO
 export interface IotDeviceVO {
   id: number // 主键id
+  totalRunTime: number // 累计运行时长H
+  totalMileage: number // 累计运行里程KM
+  multiAttrsTotalMileage: Record<string, number> // 多属性累计运行里程KM
+  multiAttrsTotalRuntime: Record<string, number> // 多属性累计运行时长H
   deviceCode: string // 资产编码
   deviceName: string // 设备名称
   brand: number // 品牌
@@ -49,6 +53,9 @@ export const IotDeviceApi = {
   getCompany: async (params: any) => {
     return await request.get({ url: `/rq/iot-device/company?id=` + params })
   },
+  getCompanyByDevice: async (params: any) => {
+    return await request.get({ url: `/rq/iot-device/company/` + params })
+  },
   getMaxCode: async (params: any) => {
     return await request.get({ url: `/rq/iot-device/max?yfCode=` + params })
   },
@@ -113,16 +120,12 @@ export const IotDeviceApi = {
   getIotDevice: async (id: number) => {
     return await request.get({ url: `/rq/iot-device/get?id=` + id })
   },
+
   getIotDeviceTds: async (id: number) => {
-    return await request.get({
-      url: `/rq/iot-device/get/gateway/td?id=` + id
-    })
+    return await request.get({ url: `/rq/iot-device/get/gateway/td?id=` + id })
   },
-
   getIotDeviceZHBDTds: async (id: number) => {
-    return await request.get({
-      url: `/rq/iot-device/get/zhbd/td?id=` + id
-    })
+    return await request.get({ url: `/rq/iot-device/get/zhbd/td?id=` + id })
   },
   // 新增设备台账
   createIotDevice: async (data: IotDeviceVO) => {
@@ -153,15 +156,36 @@ export const IotDeviceApi = {
   exportIotDevice: async (params) => {
     return await request.download({ url: `/rq/iot-device/export-excel`, params })
   },
+
+  exportIotDeviceAdjust: async (params) => {
+    return await request.download({ url: `/pms/iot-device-status-log/export-excel`, params })
+  },
+
+  exportIotDevicePerson: async (params) => {
+    return await request.download({ url: `/pms/iot-device-person-log/export-excel`, params })
+  },
+
+  exportIotDeviceAllot: async (params) => {
+    return await request.download({ url: `/pms/iot-device-allot-log/export-excel`, params })
+  },
+
+  exportIotDeviceMainAlarm: async (params) => {
+    return await request.download({ url: `/pms/iot-main-work-order/exportMaintenances`, params })
+  },
   getIotDeviceTdPage: async (params: any) => {
     return await request.get({ url: `/rq/iot-device/td/page`, params })
   },
 
-  // 设备成套接口
+  getIotDeviceOliConnectPage: async (params: any) => {
+    return await request.get({ url: `/rq/iot-device/td/ly/page`, params })
+  },
 
-  // 查看详情时获取成套设备列表
-  getIotDeviceSets: async (params: any) => {
-    return await request.get({ url: `/rq/iot-device-group-detail/page`, params })
+  getMonitoringQuery: async (params: any) => {
+    return await request.get({ url: `rq/stat/td/ly/chart`, params })
+  },
+
+  exportMonitoringQuery: async (params: any) => {
+    return await request.download({ url: `rq/ly/export`, params })
   },
 
   // 新增时根据部门id获取设备列表
@@ -169,6 +193,28 @@ export const IotDeviceApi = {
     return await request.get({ url: `/rq/iot-device/dept/${id}` })
   },
 
+  // 设备总数量
+  getIotDeviceCount: async (params: any) => {
+    return await request.get({ url: `/rq/report/device/count`, params })
+  },
+
+  // 设备状态
+  getIotDeviceStatus: async (params: any) => {
+    return await request.get({ url: `/rq/report/device/status`, params })
+  },
+  // 分类top
+  getIotDeviceClassify: async (params: any) => {
+    return await request.get({ url: `/rq/report/device/type`, params })
+  },
+  // 列表
+  getIotDeviceList: async (params: any) => {
+    return await request.get({ url: `/rq/report/device/page`, params })
+  },
+  // 查看详情时获取成套设备列表
+  getIotDeviceSets: async (params: any) => {
+    return await request.get({ url: `/rq/iot-device-group-detail/page`, params })
+  },
+
   // 获取成套列表
   getIotDeviceSetList: async (params: any) => {
     return await request.get({ url: `/rq/iot-device-group/page`, params })
@@ -189,5 +235,19 @@ export const IotDeviceApi = {
   // 获取关联设备
   getIotDeviceSetRelation: async (params) => {
     return await request.get({ url: `/rq/iot-device-group/device/group`, params })
+  },
+
+  // 设备报表导出
+  exportDeviceReport: async (params) => {
+    return await request.download({ url: `/rq/report/export-excel`, params })
+  },
+
+  // 获取成套设备参数
+  getDeviceSetParams: async (id) => {
+    return await request.get({ url: `/rq/iot-device-group/td/${id}` })
+  },
+  // 获取所有设备品牌
+  getDeviceBrand: async () => {
+    return await request.get({ url: `/supplier/base/all` })
   }
 }

+ 61 - 2
src/api/pms/inspect/order/index.ts

@@ -9,7 +9,7 @@ export interface IotInspectOrderVO {
   remark: string // 备注
   deptId: number // 部门id
   deviceIds: string // 设备id
-  details:[]
+  details: []
 }
 
 // 巡检工单 API
@@ -30,7 +30,7 @@ export const IotInspectOrderApi = {
     return await request.get({ url: `/rq/iot-inspect-order/get?id=` + id })
   },
   orderReason: async (params: {}): Promise<any> => {
-    return await request.post({ url: `/rq/iot-inspect-order/ignore`,params })
+    return await request.post({ url: `/rq/iot-inspect-order/ignore`, params })
   },
   getIotInspectOrderDetail: async (id: number) => {
     return await request.get({ url: `/rq/iot-inspect-order/get/details?id=` + id })
@@ -57,5 +57,64 @@ export const IotInspectOrderApi = {
   //填写巡检工单
   writeIotInspectOrder: async (data: any, orderId) => {
     return await request.post({ url: `/rq/iot-inspect-order/write/` + orderId, data })
+  },
+
+  // 报表统计相关接口
+  // 巡检工单列表
+  getIotInspectOrderList: async (params: any) => {
+    return await request.get({ url: `/rq/iot-inspect-order/report/stat`, params })
+  },
+  // 异常设备数量
+  getIotInspectOrderExceptionDeviceCount: async (params: any) => {
+    return await request.get({ url: `/rq/stat/inspect/exception/device`, params })
+  },
+  // 巡检异常点数量
+  getIotInspectOrderExceptionPointCount: async (params: any) => {
+    return await request.get({ url: `/rq/iot-inspect-order-detail/report/status`, params })
+  },
+  // 设备状态接口
+  getInspectItemStatus: async (params: any) => {
+    return await request.get({ url: `/rq/stat/report/inspect/status`, params })
+  },
+
+  // 故障上报
+  // 状态接口
+  getFaultReportStatus: async (params: any) => {
+    return await request.get({ url: `/rq/report/failure/status`, params })
+  },
+  // 列表接口
+  getFaultReportList: async (params: any) => {
+    return await request.get({ url: `/rq/report/failure/page`, params })
+  },
+
+  // 异常设备列表
+  getExceptionDeviceList: async (params: any) => {
+    return await request.get({ url: `/rq/iot-inspect-order/exception/device`, params })
+  },
+
+  // 导出巡检报表 Excel
+  exportInspectReport: async (params) => {
+    return await request.download({ url: `/rq/iot-inspect-order/report/export-excel`, params })
+  },
+
+  // 异常巡检点导出 Excel
+  exportExceptionPointInspectReport: async (params) => {
+    return await request.download({
+      url: `/rq/iot-inspect-order/report/exception/item/export-excel`,
+      params
+    })
+  },
+
+  //  异常设备导出 Excel
+  exportExceptionDeviceInspectReport: async (params) => {
+    return await request.download({
+      url: `/rq/iot-inspect-order/report/exception/device/export-excel`,
+      params
+    })
+  },
+
+  // 故障报表导出 Excel
+  exportFaultReport: async (params) => {
+    return await request.download({ url: `/rq/report/failure/report/export-excel`, params })
   }
 }

+ 1 - 1
src/api/pms/iotlockstock/index.ts

@@ -65,5 +65,5 @@ export const IotLockStockApi = {
   // 导出PMS 本地 库存 Excel
   exportIotLockStock: async (params) => {
     return await request.download({ url: `/pms/iot-lock-stock/export-excel`, params })
-  },
+  }
 }

+ 11 - 1
src/api/pms/iotmainworkorder/index.ts

@@ -62,7 +62,10 @@ export const IotMainWorkOrderApi = {
   },
 
   getDeviceIotWorkOrder: async (orderId: number, deviceId: number) => {
-    return await request.get({ url: `/pms/iot-main-work-order/deviceWorkOrder?workOrderId=` + orderId+'&deviceId='+deviceId })
+    return await request.get({
+      url:
+        `/pms/iot-main-work-order/deviceWorkOrder?workOrderId=` + orderId + '&deviceId=' + deviceId
+    })
   },
 
   // 新增保养工单
@@ -99,4 +102,11 @@ export const IotMainWorkOrderApi = {
   exportIotMainWorkOrder: async (params) => {
     return await request.download({ url: `/pms/iot-main-work-order/export-excel`, params })
   },
+
+  exportIotMainWorkOrderIndex: async (params) => {
+    return await request.download({
+      url: `/pms/iot-main-work-order/exportMaintenanceOrders`,
+      params
+    })
+  }
 }

+ 32 - 21
src/api/pms/iotopeationfill/index.ts

@@ -2,11 +2,12 @@ import request from '@/config/axios'
 
 // 运行记录填报 VO
 export interface IotOpeationFillVO {
-  id: number // 主键id
+  id: any // 主键id
+  wellName: string // 井号
   deviceCode: string // 资产编号
-  deviceCategoryId:number
+  deviceCategoryId: number
   deviceName: string // 设备名称
-  fillContent: string // 填写内容
+  fillContent: any // 填写内容
   deviceType: string // 设备类别
   deviceComponent: string // 设备部件
   deptId: number // 公司id
@@ -17,21 +18,26 @@ export interface IotOpeationFillVO {
   teamName: string // 所属小队
   dutyName: string // 设备负责人
   creDate: Date // 填写日期
-  name:string
-  type:string
-  modelAttr:string,
-  modelId:number,
-  isFill:number,
-  fillContent:string
-  pointCode:string
-  pointName:string
-  orderName:string
-  orderType:string
-  orderStatus:number
-  createTime:Date
-  totalRunTime:number
-  userId:number,
-  isSum:number,
+  name: string
+  type: string
+  modelAttr: string
+  modelId: number
+  isFill: number
+  pointCode: string
+  pointName: string
+  orderName: string
+  orderType: string
+  orderStatus: number
+  createTime: any
+  totalRunTime: number
+  userId: any
+  isSum: number
+  deviceId: any
+  limitType: any
+  currentSumValue: any
+  maxAllowedValue: any
+  isCollection: any
+  description: any
 }
 
 // 运行记录填报 API
@@ -56,15 +62,15 @@ export const IotOpeationFillApi = {
     return await request.get({ url: `/rq/iot-opeation-fill/fillRecordPage`, params })
   },
 
-  getAttrs:async (params: any) => {
+  getAttrs: async (params: any) => {
     return await request.get({ url: `/rq/iot-opeation-fill/getAttrs`, params })
   },
 
-  getAttrs1:async (params: any) => {
+  getAttrs1: async (params: any) => {
     return await request.get({ url: `/rq/iot-opeation-fill/getAttrs1`, params })
   },
 
-  getDeivceFillInfo:async (params: any) => {
+  getDeivceFillInfo: async (params: any) => {
     return await request.get({ url: `/rq/iot-opeation-fill/getDeivceFillInfo`, params })
   },
 
@@ -102,4 +108,9 @@ export const IotOpeationFillApi = {
   exportIotOpeationFill: async (params) => {
     return await request.download({ url: `/rq/iot-opeation-fill/export-excel`, params })
   },
+
+  // 获取公司
+  getOrgName: async (id) => {
+    return await request.get({ url: `/rq/report/dept/${id}` })
+  }
 }

+ 5 - 5
src/api/pms/iotprojectinfo/index.ts

@@ -1,5 +1,5 @@
 import request from '@/config/axios'
-import {RouteParamValue} from "vue-router";
+import { RouteParamValue } from 'vue-router'
 
 // 项目信息 VO
 export interface IotProjectInfoVO {
@@ -17,8 +17,8 @@ export interface IotProjectInfoVO {
   payment: string // 施工工艺
   userName: string // 用户名
   userId: number // 用户id
-  manufacturerId:number
-  manufactureName:string
+  manufacturerId: number
+  manufactureName: string
 }
 
 // 项目信息 API
@@ -30,7 +30,7 @@ export const IotProjectInfoApi = {
 
   //根据用户获取项目信息
   getIotProjectInfoUser: async (deptId: string | RouteParamValue[]) => {
-    return await request.get({ url: `/rq/iot-project-info/projectList?deptId=`+deptId })
+    return await request.get({ url: `/rq/iot-project-info/projectList?deptId=` + deptId })
   },
   // 查询项目信息详情
   getIotProjectInfo: async (id: string | RouteParamValue[]) => {
@@ -55,5 +55,5 @@ export const IotProjectInfoApi = {
   // 导出项目信息 Excel
   exportIotProjectInfo: async (params) => {
     return await request.download({ url: `/rq/iot-project-info/export-excel`, params })
-  },
+  }
 }

+ 2 - 2
src/api/pms/iotprojecttask/index.ts

@@ -12,7 +12,7 @@ export interface IotProjectTaskVO {
   userName: string // 用户名
   userId: number // 用户id
   remark: string // 备注
-  deptIds:[]
+  deptIds: []
 }
 
 // 项目信息任务拆分 API
@@ -47,5 +47,5 @@ export const IotProjectTaskApi = {
   // 导出项目信息任务拆分 Excel
   exportIotProjectTask: async (params) => {
     return await request.download({ url: `/rq/iot-project-task/export-excel`, params })
-  },
+  }
 }

+ 34 - 1
src/api/pms/iotrddailyreport/index.ts

@@ -2,7 +2,7 @@ import request from '@/config/axios'
 
 // 瑞都日报 VO
 export interface IotRdDailyReportVO {
-  createTime:any,
+  createTime: any
   id: number // 主键id
   deptId: number // 施工队伍id
   projectId: number // 项目id
@@ -51,6 +51,14 @@ export const IotRdDailyReportApi = {
     return await request.get({ url: `/pms/iot-rd-daily-report/page`, params })
   },
 
+  getIotRdDailyReportTeamPage: async (params: any) => {
+    return await request.get({ url: `/pms/iot-rd-daily-report/teamReports`, params })
+  },
+
+  getIotRdDailyReportWellPage: async (params: any) => {
+    return await request.get({ url: `/pms/iot-rd-daily-report/wellReports`, params })
+  },
+
   // 查询瑞都日报 汇总统计
   statistics: async (params: any) => {
     return await request.get({ url: `/pms/iot-rd-daily-report/statistics`, params })
@@ -91,8 +99,33 @@ export const IotRdDailyReportApi = {
     return await request.download({ url: `/pms/iot-rd-daily-report/export-excel`, params })
   },
 
+  exportIotRdDailyReportDetails: async (params) => {
+    return await request.download({ url: `/pms/iot-rd-daily-report/export-detail`, params })
+  },
+
   // 查询项目任务实际进度列表
   taskActualProgress: async (params: any) => {
     return await request.get({ url: `/pms/iot-rd-daily-report/taskActualProgress`, params })
   },
+
+  totalWorkload: async (params: any) => {
+    return await request.get({ url: `/pms/iot-rd-daily-report/totalWorkload`, params })
+  },
+
+  getIotRdDailyReportSummary: async (params: any) => {
+    return await request.get({ url: `/pms/iot-rd-daily-report/summaryStatistics`, params })
+  },
+  getIotRdDailyReportSummaryPolyline: async (params: any) => {
+    return await request.get({ url: `/pms/iot-rd-daily-report/polylineStatistics`, params })
+  },
+
+  exportRdDailyReportStatistics: async (params) => {
+    return await request.download({ url: `/pms/iot-rd-daily-report/exportStatistics`, params })
+  },
+  exportIotRdDailyReportWell: async (params) => {
+    return await request.download({ url: `/pms/iot-rd-daily-report/exportSingleWells`, params })
+  },
+  exportIotRdDailyReportTeam: async (params) => {
+    return await request.download({ url: `/pms/iot-rd-daily-report/exportSingleTeams`, params })
+  }
 }

+ 14 - 0
src/api/pms/iotrhdailyreport/index.ts

@@ -43,6 +43,14 @@ export const IotRhDailyReportApi = {
     return await request.get({ url: `/pms/iot-rh-daily-report/page`, params })
   },
 
+  getIotRhDailyReportTeamPage: async (params: any) => {
+    return await request.get({ url: `/pms/iot-rh-daily-report/teamReports`, params })
+  },
+
+  getIotRhDailyReportWellPage: async (params: any) => {
+    return await request.get({ url: `/pms/iot-rh-daily-report/wellReports`, params })
+  },
+
   getIotRhDailyReportSummary: async (params: any) => {
     return await request.get({ url: `/pms/iot-rh-daily-report/statistics`, params })
   },
@@ -105,5 +113,11 @@ export const IotRhDailyReportApi = {
   // 导出瑞恒日报 Excel
   exportIotRhDailyReport: async (params) => {
     return await request.download({ url: `/pms/iot-rh-daily-report/export-excel`, params })
+  },
+  exportIotRhDailyReportWell: async (params) => {
+    return await request.download({ url: `/pms/iot-rh-daily-report/exportSingleWells`, params })
+  },
+  exportIotRhDailyReportTeam: async (params) => {
+    return await request.download({ url: `/pms/iot-rh-daily-report/exportSingleTeams`, params })
   }
 }

+ 14 - 0
src/api/pms/iotrydailyreport/index.ts

@@ -61,6 +61,14 @@ export const IotRyDailyReportApi = {
     })
   },
 
+  getIotRyDailyReportTeamPage: async (params: any) => {
+    return await request.get({ url: `/pms/iot-ry-daily-report/teamReports`, params })
+  },
+
+  getIotRyDailyReportWellPage: async (params: any) => {
+    return await request.get({ url: `/pms/iot-ry-daily-report/wellReports`, params })
+  },
+
   ryUnReportDetails: async (params: any) => {
     return await request.get({ url: `/pms/iot-ry-daily-report/ryUnReportDetails`, params })
   },
@@ -115,5 +123,11 @@ export const IotRyDailyReportApi = {
 
   approvalIotRyDailyReport: async (data: { id: number; auditStatus: 20 | 30; opinion: string }) => {
     return await request.put({ url: `/pms/iot-ry-daily-report/approval`, data })
+  },
+  exportIotRyDailyReportWell: async (params) => {
+    return await request.download({ url: `/pms/iot-ry-daily-report/exportSingleWells`, params })
+  },
+  exportIotRyDailyReportTeam: async (params) => {
+    return await request.download({ url: `/pms/iot-ry-daily-report/exportSingleTeams`, params })
   }
 }

+ 1 - 1
src/api/pms/iotsapstock/index.ts

@@ -64,5 +64,5 @@ export const IotSapStockApi = {
   // 导出PMS SAP 库存(通用库存/项目部库存) Excel
   exportIotSapStock: async (params) => {
     return await request.download({ url: `/pms/iot-sap-stock/export-excel`, params })
-  },
+  }
 }

+ 3 - 3
src/api/pms/maintenance/index.ts

@@ -39,7 +39,7 @@ export const IotMaintenancePlanApi = {
     return await request.post({ url: `/rq/iot-maintenance-plan/updatePlan`, data })
   },
 
-  updatePlanStatus : (id: number, status: number) => {
+  updatePlanStatus: (id: number, status: number) => {
     const data = {
       id,
       status
@@ -54,6 +54,6 @@ export const IotMaintenancePlanApi = {
 
   // 导出保养计划 Excel
   exportIotMaintenancePlan: async (params) => {
-    return await request.download({ url: `/rq/iot-maintenance-plan/export-excel`, params })
-  },
+    return await request.download({ url: `/pms/iot-maintenance-bom/exportPlans`, params })
+  }
 }

+ 20 - 0
src/api/pms/report/index.ts

@@ -0,0 +1,20 @@
+import request from '@/config/axios'
+
+export const IotReportApi = {
+  getCostsFee: async (params: any) => {
+    return await request.get({ url: `/rq/report/repair/fee`, params })
+  },
+
+  getCostsPage: async (params: any) => {
+    return await request.get({ url: `/rq/report/repair/page`, params })
+  },
+  getOrderNumber: async (params: any) => {
+    return await request.get({ url: `/rq/report/order/number`, params })
+  },
+  getOrderPage: async (params: any) => {
+    return await request.get({ url: `/rq/report/order/page`, params })
+  },
+  exportCosts: async (params) => {
+    return await request.download({ url: `/rq/report/repair/report/export-excel`, params })
+  }
+}

+ 33 - 0
src/api/pms/stat/index.ts

@@ -57,6 +57,9 @@ export const IotStatApi = {
   getInspectStatuss: async (params: any, dept: any) => {
     return await request.get({ url: `/rq/stat/inspect/statuss/` + dept, params })
   },
+  getInspectZjxjCount: async () => {
+    return await request.get({ url: `/rq/stat/home/ry/count/zjxj` })
+  },
   getProject: async (params: any) => {
     return await request.get({ url: `/rq/stat/project/` + params })
   },
@@ -120,6 +123,12 @@ export const IotStatApi = {
   getDeviceCount: async (params: any) => {
     return await request.get({ url: `/rq/stat/home/device/count/` + params })
   },
+  getAbnormalDevice: async (params: any) => {
+    return await request.get({ url: `/rq/stat/inspect/exception/device` + params })
+  },
+  getOutliers: async (params: any) => {
+    return await request.get({ url: `/rq/iot-inspect-order-detail/report/status` + params })
+  },
   getRhRate: async (params: any) => {
     return await request.get({ url: `/rq/stat/rh/device/utilizationRate`, params })
   },
@@ -171,5 +180,29 @@ export const IotStatApi = {
   },
   getDevSta: async (params: any) => {
     return await request.get({ url: `/rq/iot-opeation-fill/getDeviceCount`, params })
+  },
+  getRdWorkload: async (params: any) => {
+    return await request.get({ url: `/pms/iot-rd-daily-report/summaryStatistics`, params })
+  },
+  getRdWorkloadYear: async (params: any) => {
+    return await request.get({ url: `/pms/iot-rd-daily-report/workloadKanban`, params })
+  },
+  getUtilization: async (params: any) => {
+    return await request.get({ url: `/rq/stat/rd/device/utilizationRates`, params })
+  },
+  getWhl: async () => {
+    return await request.get({ url: `/rq/report/rd/whl` })
+  },
+  getDeviceException: async (params: any) => {
+    return await request.get({ url: `/rq/stat/inspect/exception/device`, params })
+  },
+  getStatusException: async (params: any) => {
+    return await request.get({ url: `/rq/iot-inspect-order-detail/report/status`, params })
+  },
+  getProductionException: async (params: any) => {
+    return await request.get({ url: `/pms/iot-rd-daily-report/abnormalAlert`, params })
+  },
+  getConstructionBriefing: async () => {
+    return await request.get({ url: `/pms/iot-rd-daily-report/constructionBriefing` })
   }
 }

+ 53 - 0
src/api/pms/video/category.ts

@@ -0,0 +1,53 @@
+import request from '@/config/axios'
+
+// 查询产品分类列表
+export function listCategory(query) {
+  return request.get({
+    url: '/rq/iot-category/list',
+   
+    params: query
+  })
+}
+
+// 查询产品简短分类列表
+export function listShortCategory(query) {
+  return request.get({
+    url: '/rq/iot-category/shortlist',
+  
+    params: query,
+  })
+}
+
+// 查询产品分类详细
+export function getCategory(categoryId) {
+  return request.get({
+    url: '/rq/iot-category/' + categoryId,
+ 
+  })
+}
+
+// 新增产品分类
+export function addCategory(data) {
+  return request.post({
+    url: '/rq/iot-category',
+    
+    data: data
+  })
+}
+
+// 修改产品分类
+export function updateCategory(data) {
+  return request.put({
+    url: '/rq/iot-category',
+  
+    data: data
+  })
+}
+
+// 删除产品分类
+export function delCategory(categoryId) {
+  return request.delete({
+    url: `/rq/iot-category/delete?id=${categoryId}`
+  
+  })
+}

+ 121 - 0
src/api/pms/video/channel.ts

@@ -0,0 +1,121 @@
+import request from '@/config/axios'
+
+// 查询监控设备通道信息列表
+export async function listChannel(query) {
+  return await request.get({
+    url: '/rq/yf-sip-device-channel/page',
+    params: query
+  })
+}
+
+// 查询监控设备通道信息详细
+export function getChannel(channelId) {
+  return request.get({
+    url: '/sip/channel/' + channelId
+  })
+}
+
+// 新增监控设备通道信息
+export function addChannel(createNum, data) {
+  return request.post({
+    url: '/rq/yf-sip-device-channel/' + createNum,
+
+    data
+  })
+}
+
+// 修改监控设备通道信息
+export function updateChannel(data) {
+  return request.put({
+    url: '/sip/channel',
+
+    data: data
+  })
+}
+
+// 删除监控设备通道信息
+export function delChannel(channelId) {
+  return request.delete({
+    url: '/sip/channel/' + channelId
+  })
+}
+
+// 开始播放
+export function startPlay(deviceId, channelId) {
+  return request.get({
+    url: '/rq/sip/player/play/' + deviceId + '/' + channelId // /rq/sip/player/play
+  })
+}
+
+// 获取流信息
+export function getStreaminfo(deviceId, channelId) {
+  return request.get({
+    url: '/sip/player/playstream/' + deviceId + '/' + channelId
+  })
+}
+
+export function playbackvideo(deviceId, channelId, query) {
+  return request.get({
+    url: '/rq/sip/player/playback/' + deviceId + '/' + channelId,
+
+    params: query
+  })
+}
+
+export function closeStream(deviceId, channelId, streamId) {
+  return request.get({
+    url: '/rq/sip/player/closeStream/' + deviceId + '/' + channelId + '/' + streamId
+  })
+}
+
+export function playbackPause(deviceId, channelId, streamId) {
+  return request.get({
+    url: '/sip/player/playbackPause/' + deviceId + '/' + channelId + '/' + streamId
+  })
+}
+
+export function playbackReplay(deviceId, channelId, streamId) {
+  return request.get({
+    url: '/sip/player/playbackReplay/' + deviceId + '/' + channelId + '/' + streamId
+  })
+}
+
+export function playbackSeek(deviceId, channelId, streamId, query) {
+  return request.get({
+    url: '/rq/sip/player/playbackSeek/' + deviceId + '/' + channelId + '/' + streamId,
+
+    params: query
+  })
+}
+
+export function playbackSpeed(deviceId, channelId, streamId, query) {
+  return request.get({
+    url: '/sip/player/playbackSpeed/' + deviceId + '/' + channelId + '/' + streamId,
+
+    params: query
+  })
+}
+
+// 监控设备绑定设备或场景
+export function binding(data) {
+  return request.post({
+    url: '/iot/relation/addOrUp',
+
+    data
+  })
+}
+// 通过设备或场景查询监控设备通道信息
+export function listRelDeviceOrScene(query) {
+  return request.get({
+    url: '/sip/channel/listRelDeviceOrScene',
+
+    params: query
+  })
+}
+
+// 告警图片
+export function getAlarmPic(id) {
+  return request.download({
+    url: '/rq/iot-video-alarm/pic' + '/' + id
+  })
+}

+ 333 - 0
src/api/pms/video/device.ts

@@ -0,0 +1,333 @@
+import request from '@/config/axios'
+
+// 查询设备列表
+export function listDevice(query) {
+    return request.get({
+        url: '/iot/device/list',
+       
+        params: query,
+    });
+}
+
+// 查询未授权设备列表
+export function listUnAuthDevice(query) {
+    return request.get({
+        url: '/iot/device/unAuthlist',
+       
+        params: query,
+    });
+}
+
+// 查询分组可添加设备分页列表
+export function listDeviceByGroup(query) {
+    return request.get({
+        url: '/iot/device/listByGroup',
+        
+        params: query,
+    });
+}
+
+// 查询设备简短列表
+export function listDeviceShort(query) {
+    return request.get({
+        url: '/rq/yf-iot-device/shortList',
+       
+        params: query,
+    });
+}
+
+// 查询所有设备简短列表
+export function listAllDeviceShort() {
+    return request.get({
+        url: '/iot/device/all',
+        
+    });
+}
+
+// 查询设备详细
+export function getDevice(deviceId) {
+    return request.get({
+        url: '/rq/yf-iot-device/' + deviceId,
+        
+    });
+}
+
+// 设备数据同步
+export function deviceSynchronization(serialNumber) {
+    return request.get({
+        url: '/iot/device/synchronization/' + serialNumber,
+       
+    });
+}
+
+// 根据设备编号查询设备详细
+export function getDeviceBySerialNumber(serialNumber) {
+    return request.get({
+        url: '/iot/device/getDeviceBySerialNumber/' + serialNumber,
+       
+    });
+}
+
+// 查询设备统计信息
+export function getDeviceStatistic() {
+    return request.get({
+        url: '/iot/device/statistic',
+       
+    });
+}
+
+// 选择分配设备
+export function distributionDevice(deptId, deviceIds) {
+    return request.post({
+        url: '/iot/device/assignment?deptId=' + deptId + '&deviceIds=' + deviceIds,
+       
+    });
+}
+//回收设备
+export function recycleDevice(deviceIds, recoveryDeptId) {
+    return request.post({
+        url: '/iot/device/recovery?deviceIds=' + deviceIds + '&recoveryDeptId=' + recoveryDeptId,
+        
+    });
+}
+//查询设备导入记录
+export function listImportRecord(params) {
+    return request.get({
+        url: '/iot/record/list',
+       
+        params: params,
+    });
+}
+//查询设备回收记录
+export function listRecycleRecord(params) {
+    return request.get({
+        url: '/iot/record/list',
+       
+        params: params,
+    });
+}
+//查询设备分配记录
+export function listAllotRecord(params) {
+    return request.get({
+        url: '/iot/record/list',
+      
+        params: params,
+    });
+}
+
+// 查询设备运行状态详细
+export function getDeviceRunningStatus(params) {
+    return request.get({
+        url: '/iot/device/runningStatus',
+      
+        params: params,
+    });
+}
+
+// 查询设备物模型的值
+export function getDeviceThingsModelValue(deviceId) {
+    return request.get({
+        url: '/iot/device/thingsModelValue/' + deviceId,
+       
+    });
+}
+
+// 新增设备
+export function addDevice(data) {
+    return request.post({
+        url: '/rq/yf-iot-device',
+        
+        data: data,
+    });
+}
+
+// 修改设备
+export function updateDevice(data) {
+    return request.put({
+        url: '/rq/yf-iot-device',
+       
+        data: data,
+    });
+}
+
+// 删除设备
+export function delDevice(deviceId) {
+    return request.delete({
+        url: '/rq/yf-iot-device/' + deviceId,
+       
+    });
+}
+
+// 生成设备编号
+export function generatorDeviceNum(params) {
+    return request.get({
+        url: '/rq/yf-iot-device/generator',
+        
+        params: params,
+    });
+}
+
+export function getGwDevCode(params) {
+    return request.get({
+        url: '/iot/device/gwDevCount',
+        
+        params: params,
+    });
+}
+
+//mqtt连接参数查看
+export function getMqttConnect(params) {
+    return request.get({
+        url: '/iot/device/getMqttConnectData',
+        
+        params: params,
+    });
+}
+
+
+// 查询设备变量概况
+export function listThingsModel(query) {
+    return request.get({
+        url: '/iot/device/listThingsModel',
+       
+        params: query,
+    });
+}
+
+// 查询设备历史轨迹
+export function getdevicehis(params) {
+    return request.get({
+        url: '/iot/device/devicehis',
+       
+        params: params,
+    });
+}
+
+// 测试dtu
+export function getDevDtu(data) {
+    return request.post({
+        url: '/iot/device/getDevDtu',
+       
+        data: data,
+    });
+}
+
+export function getDtuDeviceList(params) {
+    return request.get({
+        url: '/iot/device/getDtuDeviceList',
+       
+        params: params,
+    });
+}
+
+export function addDeviceUsers(data) {
+    return request.post({
+        url: '/iot/device/addDeviceUsers',
+      
+        data: data,
+    });
+}
+
+export function getDtuDeviceGroup() {
+    return request.get({
+        url: '/iot/device/getDtuDeviceGroup',
+       
+    });
+}
+
+export function updateDtuDevice(data) {
+    return request.post({
+        url: '/iot/device/updateDtuDevice',
+      
+        data: data,
+    });
+}
+
+export function deleteDtuDevice(data) {
+    return request.post({
+        url: '/iot/device/deleteDtuDevice',
+      
+        data: data,
+    });
+}
+
+export function getDtuDeviceGroupList(params) {
+    return request.get({
+        url: '/iot/device/getDtuDeviceGroupList',
+        
+        params: params,
+    });
+}
+
+export function addAndUpdateDtuDevGroup(data) {
+    return request.post({
+        url: '/iot/device/addAndUpdateDtuDevGroup',
+       
+        data: data,
+    });
+}
+
+export function deleteDtuDeviceGroup(params) {
+    return request.get({
+        url: '/iot/device/deleteDtuDeviceGroup',
+        
+        params: params,
+    });
+}
+
+export function selectDeviceAisfptList(params) {
+    return request.get({
+        url: '/iot/device/selectDeviceAisfptList',
+       
+        params: params,
+    });
+}
+
+export function addAndUpdateDeviceAisfpt(data) {
+    return request.post({
+        url: '/iot/device/addAndUpdateDeviceAisfpt',
+        
+        data: data,
+    });
+}
+
+export function deleteDeviceAisfpt(params) {
+    return request.get({
+        url: '/iot/device/deleteDeviceAisfpt',
+       
+        params: params,
+    });
+}
+
+export function getDeviceAbnormalList(query) {
+    return request.get({
+        url: `/iot/device/getDeviceAbnormalList`,
+       
+        params: query
+    })
+}
+
+export function updateMqttConnectData(query) {
+    return request.post({
+        url: `/iot/device/updateMqttConnectData`,
+       
+        data: query
+    })
+}
+
+// 查询设备统计信息
+export function getdeviceBoardList() {
+    return request.get({
+        url: '/iot/device/deviceBoardList',
+       
+    });
+}
+
+
+// 根据经纬度来查询地图上的数据
+export function deviceLongitudeAndLatitudeApi() {
+    return request.get({
+        url: '/iot/device/deviceLongitudeAndLatitude',
+       
+    });
+}

+ 8 - 0
src/api/pms/video/dicts.ts

@@ -0,0 +1,8 @@
+import request from '@/config/axios'
+
+// 查询设备列表
+export function getDicts(type) {
+    return request.get({
+        url: `/system/dict-data/type/${type}`,
+    });
+}

+ 61 - 0
src/api/pms/video/group.ts

@@ -0,0 +1,61 @@
+import request from '@/config/axios'
+
+// 查询设备分组列表
+export function listGroup(query) {
+  return request.get({
+    url: '/rq/iot-group/page',
+   
+    params: query
+  })
+}
+
+// 查询设备分组详细
+export function getGroup(groupId) {
+  return request.get({
+    url: '/rq/iot-group/' + groupId,
+  
+  })
+}
+
+// 查询分组下的关联设备ID数组
+export function getDeviceIds(groupId) {
+  return request.get({
+    url: '/rq/iot-group/getDeviceIds/' + groupId,
+  
+  })
+}
+
+// 新增设备分组
+export function addGroup(data) {
+  return request.post({
+    url: '/rq/iot-group',
+ 
+    data: data
+  })
+}
+
+// 修改设备分组
+export function updateGroup(data) {
+  return request.put({
+    url: '/rq/iot-group',
+ 
+    data: data
+  })
+}
+
+// 更新分组下的设备
+export function updateDeviceGroups(data) {
+  return request.put({
+    url: '/rq/iot-group/updateDeviceGroups',
+  
+    data: data
+  })
+}
+
+// 删除设备分组
+export function delGroup(groupId) {
+  return request.delete({
+    url: '/rq/iot-group/' + groupId,
+   
+  })
+}

+ 158 - 0
src/api/pms/video/list.ts

@@ -0,0 +1,158 @@
+import request from '@/config/axios'
+
+// 查询场景管理列表
+export function getSceneModelList(query) {
+    return request.get({
+        url: '/scene/model/list',
+      
+        params: query,
+    });
+}
+
+// 新增场景管理
+export function addSceneModel(data) {
+    return request.post({
+        url: '/scene/model',
+        
+        data: data,
+    });
+}
+
+// 修改场景管理
+export function updateSceneModel(data) {
+    return request.put({
+        url: '/scene/model',
+       
+        data: data,
+    });
+}
+
+// 删除场景管理
+export function deleteSceneModel(id) {
+    return request.delete({
+        url: '/scene/model/' + id,
+       
+    });
+}
+
+// 获取场景管理详细信息
+export function getSceneModelDetail(id) {
+    return request.get({
+        url: '/scene/model/' + id,
+       
+    });
+}
+
+// 点击查看进入后查询变量列表
+export function getSceneModelDataList(query) {
+    return request.get({
+        url: '/scene/modelData/list',
+       
+        params: query,
+    });
+}
+
+// 查询场景关联设备列表
+export function getSceneModelDeviceList(query) {
+    return request.get({
+        url: '/scene/modelDevice/list',
+       
+        params: query,
+    });
+}
+
+// 新增场景关联设备
+export function addModelDevice(data) {
+    return request.post({
+        url: '/scene/modelDevice',
+       
+        data: data,
+    });
+}
+
+// 删除场景关联设备
+export function deleteModelDevice(id) {
+    return request.delete({
+        url: '/scene/modelDevice/' + id,
+       
+    });
+}
+
+// 编辑场景关联设备
+export function updateModelDevice(data) {
+    return request.put({
+        url: '/scene/modelDevice',
+       
+        data: data,
+    });
+}
+
+// 点击编辑进入后根据类型查询变量列表
+export function getSceneModelDataListByType(query) {
+    return request.get({
+        url: '/scene/modelData/listByType',
+       
+        params: query,
+    });
+}
+
+// 全部启用
+export function enableModelDevice(data) {
+    return request.post({
+        url: '/scene/modelDevice/editEnable',
+      
+        data: data,
+    });
+}
+
+// 启用变量
+export function enableModelData(data) {
+    return request.post({
+        url: '/scene/modelData/editEnable',
+       
+        data: data,
+    });
+}
+
+// 获取场景录入运算变量列表
+export function getSceneModelTagList(query) {
+    return request.get({
+        url: '/scene/modelTag/list',
+       
+        params: query,
+    });
+}
+
+// 新增场景录入运算变量
+export function addSceneModelTag(data) {
+    return request.post({
+        url: '/scene/modelTag',
+       
+        data: data,
+    });
+}
+
+// 编辑场景录入运算变量
+export function updateSceneModelTag(data) {
+    return request.put({
+        url: '/scene/modelTag',
+        
+        data: data,
+    });
+}
+
+// 删除场景录入运算变量
+export function deleteSceneModelTag(id) {
+    return request.delete({
+        url: '/scene/modelTag/' + id,
+       
+    });
+}
+
+// 获取场景录入运算变量详情
+export function getSceneModelTag(id) {
+    return request.get({
+        url: '/scene/modelTag/' + id,
+        
+    });
+}

+ 52 - 0
src/api/pms/video/mediaServer.ts

@@ -0,0 +1,52 @@
+import request from '@/config/axios'
+
+// 查询流媒体服务器配置列表
+export function listmediaServer(query) {
+  return request.get({
+    url: '/rq/yf-media-server/page',
+   
+    params: query
+  })
+}
+
+// 查询流媒体服务器配置详细
+export function getmediaServer() {
+  return request.get({
+    url: '/rq/yf-media-server/',
+    
+  })
+}
+
+// 新增流媒体服务器配置
+export function addmediaServer(data) {
+  return request.post({
+    url: '/rq/yf-media-server/create',
+    
+    data: data
+  })
+}
+
+// 修改流媒体服务器配置
+export function updatemediaServer(data) {
+  return request.put({
+    url: '/rq/yf-media-server/update',
+    
+    data: data
+  })
+}
+
+// 删除流媒体服务器配置
+export function delmediaServer(id) {
+  return request.delete({
+    url: '/rq/yf-media-server/' + id,
+   
+  })
+}
+
+export function checkmediaServer(query) {
+  return request.get({
+    url: '/rq/yf-media-server/check' ,
+    
+    params: query
+  })
+}

+ 106 - 0
src/api/pms/video/model.ts

@@ -0,0 +1,106 @@
+import request from '@/config/axios'
+
+// 查询物模型列表
+export function listModel(query) {
+  return request.get({
+    url: '/rq/iot-things-model/page',
+ 
+    params: query,
+  });
+}
+
+// 查询物模型详细
+export function getModel(modelId) {
+  return request.get({
+    url: '/iot/model/' + modelId,
+   
+  });
+}
+
+// 查询物模型对应分享设备用户权限列表
+export function permListModel(productId) {
+  return request.get({
+    url: '/iot/model/permList/' + productId,
+   
+  });
+}
+
+// 新增物模型
+export function addModel(data) {
+  return request.post({
+    url: '/iot/model',
+
+    data: data,
+  });
+}
+
+// 导入通用物模型
+export function importModel(data) {
+  return request.post({
+    url: '/iot/model/import',
+  
+    data: data,
+  });
+}
+
+// 导入excel物模型
+export function importExcel(data) {
+    return request.post({
+        url: '/iot/model/importExcel',
+        
+        data: data,
+    });
+}
+
+
+// 修改物模型
+export function updateModel(data) {
+  return request.put({
+    url: '/iot/model',
+   
+    data: data,
+  });
+}
+
+// 删除物模型
+export function delModel(modelId) {
+  return request.delete({
+    url: '/iot/model/' + modelId,
+   
+  });
+}
+
+// 根据产品ID获取缓存的物模型
+export function cacheJsonThingsModel(productId) {
+  return request.get({
+    url: '/iot/model/cache/' + productId,
+    
+  });
+}
+
+// 同步采集点模板到产品物模型
+export function synchron(data) {
+  return request.post({
+    url: '/iot/model/synchron',
+   
+    data: data,
+  });
+}
+
+// 根据产品ID获取缓存的物模型
+export function getlListModbus(query) {
+  return request.get({
+    url: '/iot/model/listModbus',
+   
+    params: query,
+  });
+}
+
+// 根据产品ID获取缓存的物模型
+export function getWriteList(query) {
+  return request.get({
+    url: '/iot/model/write',
+ 
+    params: query,
+  });
+}

+ 77 - 0
src/api/pms/video/product.ts

@@ -0,0 +1,77 @@
+import request from '@/config/axios'
+
+// 查询产品列表
+export function listProduct(query) {
+  return request.get({
+    url: '/rq/iot-product/list',
+   
+    params: query
+  })
+}
+
+// 查询产品列表
+export function listShortProduct() {
+  return request.get({
+    url: '/rq/iot-product/shortList',
+    
+  })
+}
+
+// 查询产品详细
+export function getProduct(productId) {
+  return request.get({
+    url: `/rq/iot-product/get?id=${productId}`,
+  })
+}
+
+// 新增产品
+export function addProduct(data) {
+  return request.post({
+    url: '/rq/iot-product',
+   
+    data: data
+  })
+}
+
+// 修改产品
+export function updateProduct(data) {
+  return request.put({
+    url: '/rq/iot-product',
+   
+    data: data
+  })
+}
+
+// 获取产品下设备的数量
+export function deviceCount(productId) {
+  return request.get({
+    url: '/rq/iot-product/deviceCount/' + productId,
+    
+  })
+}
+
+// 更新产品状态
+export function changeProductStatus(data) {
+  return request.put({
+    url: '/rq/iot-product/status',
+   
+    data:data
+  })
+}
+
+// 删除产品
+export function delProduct(productId) {
+  return request.delete({
+    url: '/rq/iot-product/' + productId,
+    
+  })
+}
+
+// 根据采集点模板id查询所有产品
+export function selectByTempleId(params) {
+  return request.get({
+    url: '/rq/iot-product/queryByTemplateId',
+    
+    params: params
+  })
+}

+ 44 - 0
src/api/pms/video/protocol.ts

@@ -0,0 +1,44 @@
+import request from '@/config/axios'
+
+// 查询协议列表
+export function listProtocol(query) {
+  return request.get({
+    url: '/rq/iot-protocol/list',
+    
+    params: query
+  })
+}
+
+// 查询协议详细
+export function getProtocol(id) {
+  return request.get({
+    url: '/rq/iot-protocol' + id,
+    
+  })
+}
+
+// 新增协议
+export function addProtocol(data) {
+  return request.post({
+    url: '/rq/iot-protocol',
+  
+    data: data
+  })
+}
+
+// 修改协议
+export function updateProtocol(data) {
+  return request.put({
+    url: '/rq/iot-protocol',
+   
+    data: data
+  })
+}
+
+// 删除协议
+export function delProtocol(id) {
+  return request.delete({
+    url: '/rq/iot-protocol/' + id,
+    
+  })
+}

+ 88 - 0
src/api/pms/video/record.ts

@@ -0,0 +1,88 @@
+import request from '@/config/axios'
+
+export function getDevRecord(deviceId,channelId,query) {
+  return request.get({
+    url: '/rq/sip/record/devquery/' + deviceId + "/" + channelId,
+ 
+    params: query
+  })
+}
+
+export function getRecord(channelId,sn) {
+  return request.get({
+    url: '/sip/record/query/' + channelId + "/" + sn,
+   
+  })
+}
+
+export function getServerRecord(query) {
+  return request.get({
+    url: '/sip/record/serverRecord/list',
+  
+    params: query
+  })
+}
+
+export function getServerRecordByDate(query) {
+  return request.get({
+    url: '/sip/record/serverRecord/date/list',
+ 
+    params: query
+  })
+}
+
+export function getServerRecordByStream(query) {
+  return request.get({
+    url: '/sip/record/serverRecord/stream/list',
+   
+    params: query
+  })
+}
+
+export function getServerRecordByApp(query) {
+  return request.get({
+    url: '/sip/record/serverRecord/app/list',
+   
+    params: query
+  })
+}
+
+export function getServerRecordByFile(query) {
+  return request.get({
+    url: '/sip/record/serverRecord/file/list',
+   
+    params: query
+  })
+}
+
+export function getServerRecordByDevice(query) {
+  return request.get({
+    url: '/sip/record/serverRecord/device/list',
+   
+    params: query
+  })
+}
+
+export function startPlayRecord(deviceId, channelId) {
+  return request.get({
+    url: '/rq/sip/record/play/' + deviceId + "/" + channelId,
+   
+  })
+}
+
+export function startDownloadRecord(deviceId, channelId, query) {
+  return request.get({
+    url: '/rq/sip/record/download/' + deviceId + "/" + channelId,
+ 
+    params: query
+  })
+}
+
+
+export function uploadRecord(query) {
+  return request.get({
+    url: '/sip/record/upload',
+    
+    params: query
+  })
+}

+ 53 - 0
src/api/pms/video/salve.ts

@@ -0,0 +1,53 @@
+import request from '@/config/axios'
+
+// 查询变量模板设备从机列表
+export function listSalve(query) {
+  return request.get({
+    url: '/iot/salve/list',
+ 
+    params: query
+  })
+}
+
+// 查询变量模板设备从机详细
+export function getSalve(id) {
+  return request.get({
+    url: '/iot/salve/' + id,
+  
+  })
+}
+
+// 新增变量模板设备从机
+export function addSalve(data) {
+  return request.post({
+    url: '/iot/salve',
+   
+    data: data
+  })
+}
+
+// 修改变量模板设备从机
+export function updateSalve(data) {
+  return request.put({
+    url: '/iot/salve',
+ 
+    data: data
+  })
+}
+
+// 删除变量模板设备从机
+export function delSalve(id) {
+  return request.delete({
+    url: '/iot/salve/' + id,
+   
+  })
+}
+
+//根据产品id查询从机列表
+export function listByPid(params) {
+    return request.get({
+        url: "/iot/salve/listByPId",
+       
+        params: params,
+    })
+}

+ 34 - 0
src/api/pms/video/sipConfig.ts

@@ -0,0 +1,34 @@
+import request from '@/config/axios'
+
+// 查询sip系统配置详细
+export function getSipconfig(productId) {
+  return request.get({
+    url: '/rq/iot-sip-config/' + productId,
+  
+  })
+}
+
+// 新增sip系统配置
+export function addSipconfig(data) {
+  return request.post({
+    url: '/rq/iot-sip-config',
+   
+    data: data
+  })
+}
+
+// 修改sip系统配置
+export function updateSipconfig(data) {
+  return request.put({
+    url: '/rq/iot-sip-config/update',
+  
+    data: data
+  })
+}
+
+export function delSipconfigByProductId(productId) {
+  return request.delete({
+    url: '/rq/iot-sip-config/product/' + productId,
+   
+  })
+}

+ 73 - 0
src/api/pms/video/sipdevice.ts

@@ -0,0 +1,73 @@
+import request from '@/config/axios'
+
+// 查询监控设备列表
+export function listSipDevice(query) {
+  return request.get({
+    url: '/sip/device/list',
+    params: query
+  })
+}
+
+export function listSipDeviceChannel(deviceId) {
+  return request.get({
+    url: '/rq/yf-sip-device/listchannel/'+ deviceId,
+    
+  })
+}
+
+// 查询监控设备详细
+export function getSipDevice(deviceId) {
+  return request.get({
+    url: '/sip/device/' + deviceId,
+  
+  })
+}
+
+// 新增监控设备
+export function addSipDevice(data) {
+  return request.post({
+    url: '/sip/device',
+  
+    data: data
+  })
+}
+
+// 修改监控设备
+export function updateSipDevice(data) {
+  return request.put({
+    url: '/sip/device',
+  
+    data: data
+  })
+}
+
+// 删除监控设备
+export function delSipDevice(deviceId) {
+  return request.delete({
+    url: '/sip/device/' + deviceId,
+   
+  })
+}
+
+export function delSipDeviceBySipId(sipId) {
+  return request.delete({
+    url: '/rq/yf-sip-device/sipid/' + sipId,
+    
+  })
+}
+
+export function ptzdirection(deviceId,channelId,data) {
+  return request.post({
+    url: '/sip/ptz/direction/'+ deviceId + "/" + channelId,
+   
+    data: data
+  })
+}
+
+export function ptzscale(deviceId,channelId,data) {
+  return request.post({
+    url: '/sip/ptz/scale/'+ deviceId + "/" + channelId,
+    
+    data: data
+  })
+}

+ 64 - 0
src/api/pms/video/temp.ts

@@ -0,0 +1,64 @@
+import request from '@/config/axios'
+
+// 查询设备采集变量模板列表
+export function listTemp(query) {
+  return request.get({
+    url: '/rq/iot-var-temp/page',
+    
+    params: query
+  })
+}
+
+// 查询设备采集变量模板详细
+export function getTemp(templateId) {
+  return request.get({
+    url: '/iot/temp/' + templateId,
+   
+  })
+}
+
+// 新增设备采集变量模板
+export function addTemp(data) {
+  return request.post({
+    url: '/iot/temp',
+  
+    data: data
+  })
+}
+
+// 修改设备采集变量模板
+export function updateTemp(data) {
+  return request.put({
+    url: '/iot/temp',
+   
+    data: data
+  })
+}
+
+// 删除设备采集变量模板
+export function delTemp(templateId) {
+  return request.delete({
+    url: '/iot/temp/' + templateId,
+    
+  })
+}
+
+
+//根据产品查询采集点关联
+export function getDeviceTemp(params){
+  return request.get({
+    url: '/iot/temp/getTemp' ,
+    
+    params: params,
+    
+  })
+}
+
+export function getTempByPId(params){
+  return request.get({
+    url: '/rq/iot-var-temp/getTempByPid',
+    params: params,
+    
+
+  })
+}

+ 53 - 0
src/api/pms/video/template.ts

@@ -0,0 +1,53 @@
+import request from '@/config/axios'
+
+// 查询通用物模型列表
+export function listTemplate(query) {
+  return request.get({
+    url: '/rq/iot-things-model-template/list',
+    
+    params: query
+  })
+}
+
+// 查询通用物模型详细
+export function getTemplate(templateId) {
+  return request.get({
+    url: '/iot/template/' + templateId,
+   
+  })
+}
+
+// 新增通用物模型
+export function addTemplate(data) {
+  return request.post({
+    url: '/iot/template',
+  
+    data: data
+  })
+}
+
+// 修改通用物模型
+export function updateTemplate(data) {
+  return request.put({
+    url: '/iot/template',
+   
+    data: data
+  })
+}
+
+// 删除通用物模型
+export function delTemplate(templateId) {
+  return request.delete({
+    url: '/iot/template/' + templateId,
+    
+  })
+}
+
+// 查询通用物模型详细
+export function getAllPoints(params) {
+  return request.get({
+    url: '/rq/iot-things-model-template/getPoints',
+   
+    params: params,
+  })
+}

+ 186 - 0
src/api/pms/video/user.ts

@@ -0,0 +1,186 @@
+import request from '@/config/axios'
+function parseStrEmpty(str) {
+  if (!str || str == "undefined" || str == "null") {
+    return "";
+  }
+  return str;
+}
+
+// 查询用户列表
+export function listUser(query) {
+    return request.get({
+        url: '/system/user/list',
+        
+        params: query,
+    });
+}
+
+// 查询终端用户列表
+export function terminalUserList(query) {
+    return request.get({
+        url: '/system/user/listTerminal',
+       
+        params: query,
+    });
+}
+// 查询用户详细
+export function getUser(userId) {
+    return request.get({
+        url: '/system/user/' + parseStrEmpty(userId),
+       
+    });
+}
+// 查询角色列表
+export function getRole(deptId) {
+    return request.get({
+        url: '/system/dept/getRole?deptId=' + deptId,
+       
+    });
+}
+
+// 新增用户
+export function addUser(data) {
+    return request.post({
+        url: '/system/user',
+       
+        data: data,
+    });
+}
+
+// 修改用户
+export function updateUser(data) {
+    return request.put({
+        url: '/system/user',
+       
+        data: data,
+    });
+}
+
+// 删除用户
+export function delUser(userId) {
+    return request.delete({
+        url: '/system/user/' + userId,
+      
+    });
+}
+
+// 用户密码重置
+export function resetUserPwd(userId, password) {
+    const data = {
+        userId,
+        password,
+    };
+    return request.put({
+        url: '/system/user/resetPwd',
+        
+        data: data,
+    });
+}
+
+// 用户状态修改
+export function changeUserStatus(userId, status) {
+    const data = {
+        userId,
+        status,
+    };
+    return request.put({
+        url: '/system/user/changeStatus',
+       
+        data: data,
+    });
+}
+// 获取微信二维码
+export function getLoginParam() {
+    return request.get({
+        url: '/wechat/getWxBindQr',
+       
+    });
+}
+// 解除绑定
+export function secureBind(data) {
+    return request.post({
+        url: '/wechat/cancelBind',
+       
+        data: data,
+    });
+}
+// 查询用户个人信息
+export function getUserProfile() {
+    return request.get({
+        url: '/system/user/profile',
+       
+    });
+}
+
+// 修改用户个人信息
+export function updateUserProfile(data) {
+    return request.put({
+        url: '/system/user/profile',
+       
+        data: data,
+    });
+}
+
+// 用户密码重置
+export function updateUserPwd(oldPassword, newPassword) {
+    const data = {
+        oldPassword,
+        newPassword,
+    };
+    return request.put({
+        url: '/system/user/profile/updatePwd',
+        
+        params: data,
+    });
+}
+
+// 用户头像上传
+export function uploadAvatar(data) {
+    return request.post({
+        url: '/system/user/profile/avatar',
+       
+        data: data,
+    });
+}
+
+// 查询授权角色
+export function getAuthRole(userId) {
+    return request.get({
+        url: '/system/user/authRole/' + userId,
+        
+    });
+}
+
+// 保存授权角色
+export function updateAuthRole(data) {
+    return request.put({
+        url: '/system/user/authRole',
+      
+        params: data,
+    });
+}
+
+// 查询机构下拉树结构
+export function deptsTreeSelect() {
+    return request.get({
+        url: '/system/user/deptTree',
+       
+    });
+}
+
+// 查询子机构下拉树结构
+export function deptsTreeSelectSub(showOwner) {
+    return request.get({
+        url: '/system/user/deptTree?showOwner=' + showOwner,
+       
+    });
+}
+
+// 查询终端用户列表
+export function getByDeptId(query) {
+  return request.get({
+    url: '/system/user/getByDeptId',
+   
+    params: query,
+  });
+}

+ 10 - 0
src/api/pms/video/warn.ts

@@ -0,0 +1,10 @@
+import request from '@/config/axios'
+
+// 查询用户列表
+export function warnList(query) {
+    return request.get({
+        url: '/rq/iot-video-alarm/page',
+        
+        params: query,
+    });
+}

+ 53 - 0
src/api/rq/iotmeasurebook/index.ts

@@ -0,0 +1,53 @@
+import request from '@/config/axios/service2'
+
+// 计量器具台账 VO
+export interface IotMeasureBookVO {
+  id: number // 主键id
+  measureCode: string // 计量器具编码
+  measureName: string // 计量器具名称
+  classify: string // 分类
+  dutyPerson: string // 责任人
+  buyDate: string // 采购日期
+  brand: string // 品牌
+  modelName: string // 规格型号
+  validity: Date // 有效期
+  lastTime: string // 上次检验/校准日期
+  measureUnit: string // 单位
+  measurePrice: number // 价格
+  measurePic: string // 图片
+  remark: string // 备注
+  deptId: number // 部门id
+}
+
+// 计量器具台账 API
+export const IotMeasureBookApi = {
+  // 查询计量器具台账分页
+  getIotMeasureBookPage: async (params: any) => {
+    return await request.get({ url: `/rq/iot-measure-book/page`, params })
+  },
+
+  // 查询计量器具台账详情
+  getIotMeasureBook: async (id: number) => {
+    return await request.get({ url: `/rq/iot-measure-book/get?id=` + id })
+  },
+
+  // 新增计量器具台账
+  createIotMeasureBook: async (data: IotMeasureBookVO) => {
+    return await request.post({ url: `/rq/iot-measure-book/create`, data })
+  },
+
+  // 修改计量器具台账
+  updateIotMeasureBook: async (data: IotMeasureBookVO) => {
+    return await request.put({ url: `/rq/iot-measure-book/update`, data })
+  },
+
+  // 删除计量器具台账
+  deleteIotMeasureBook: async (id: number) => {
+    return await request.delete({ url: `/rq/iot-measure-book/delete?id=` + id })
+  },
+
+  // 导出计量器具台账 Excel
+  exportIotMeasureBook: async (params) => {
+    return await request.download({ url: `/rq/iot-measure-book/export-excel`, params })
+  },
+}

+ 7 - 1
src/api/system/dept/index.ts

@@ -22,7 +22,13 @@ export const getSimpleDeptList = async (): Promise<DeptVO[]> => {
 
 // 获取指定部门精简信息列表
 export const specifiedSimpleDepts = async (deptId: number): Promise<DeptVO[]> => {
-  return await request.get({ url: '/system/dept/specifiedSimpleDepts?deptId=' + deptId  })
+  return await request.get({ url: '/system/dept/specifiedSimpleDepts?deptId=' + deptId })
+}
+
+export const getTaskWellNames = async (deptId: number, wellName: string) => {
+  return await request.get({
+    url: `/rq/iot-project-task/taskTreeWellNames?companyId=${deptId}&wellName=${wellName}`
+  })
 }
 
 // 查询当前用户所属的公司级部门列表 项目 日报

BIN
src/assets/icon/clear.png


BIN
src/assets/icon/download.png


BIN
src/assets/icon/fangda-hov.png


BIN
src/assets/icon/fangda.png


BIN
src/assets/icon/guangquan+.png


BIN
src/assets/icon/guangquan-.png


BIN
src/assets/icon/guangquan-hov+.png


BIN
src/assets/icon/guangquan-hov-.png


BIN
src/assets/icon/icon-card.png


BIN
src/assets/icon/icon-ercode.png


BIN
src/assets/icon/icon-font.png


BIN
src/assets/icon/icon-fullscreen.png


BIN
src/assets/icon/icon-info.png


BIN
src/assets/icon/icon-list.png


BIN
src/assets/icon/icon-rank-1.png


BIN
src/assets/icon/icon-rank-2.png


BIN
src/assets/icon/icon-rank-3.png


BIN
src/assets/icon/icon-rank-4.png


BIN
src/assets/icon/icon-search.png


BIN
src/assets/icon/jujiao+.png


BIN
src/assets/icon/jujiao-.png


BIN
src/assets/icon/jujiao-hov+.png


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików