home.ts 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. import { http } from '@/utils/http/axios';
  2. import { ViolationHandleStat } from '@/views/dashboard/home/types';
  3. /** 场景标签信息 */
  4. export type SceneLabelOrModuleItem = {
  5. /** 标签id */
  6. id: number;
  7. /** 标签代码 */
  8. code: string;
  9. /** 创建时间 */
  10. createdAt: string;
  11. /** 0-未删除,大于0-已删除 */
  12. isDeleted: number;
  13. /** 标签名称 */
  14. name: string;
  15. /** 说明 */
  16. remark: string;
  17. /** 状态: 0-正常,1-不正常 */
  18. status: number;
  19. /** 更新时间 */
  20. updatedAt: string;
  21. };
  22. /** 相机信息 */
  23. export type CameraInfoItem = {
  24. /** 相机id */
  25. id: number;
  26. /** 相机IP */
  27. cameraIp: string;
  28. /** 相机协议类型 */
  29. cameraType: string;
  30. /** 相机端口 */
  31. cameraPort: string;
  32. /** 相机ID */
  33. code: string;
  34. /** 工位场景Id */
  35. workspaceId: string;
  36. /** 描述 */
  37. remark?: string;
  38. /** 相机名称 */
  39. name: string;
  40. /** 相机MAC地址 */
  41. cameraMac: string;
  42. /** 车间场景名称 */
  43. workshopName: string;
  44. /** 工位场景名称 */
  45. workspaceName: string;
  46. /** 联网状态: 0-启用, 1-禁用 */
  47. networkingState: number;
  48. /** 是否删除: 0-未删除, 1-删除 */
  49. isDeleted: number;
  50. /** 状态: 0-启用, 1-禁用 */
  51. status: number;
  52. /** 用户名 */
  53. username?: string;
  54. /** 密码 */
  55. password?: string;
  56. /** 层级类型 */
  57. nodeType: string;
  58. };
  59. /** 工位信息 */
  60. export type WorkSpaceInfoItem = {
  61. /** 工位id */
  62. id: number;
  63. /** 所属工厂id */
  64. workshopId: number;
  65. /** 工位名称 */
  66. name: string;
  67. /** 工位code */
  68. code: string;
  69. /** 工位描述 */
  70. remark: string;
  71. /** 状态: 0-启用, 1-禁用 */
  72. status: number;
  73. /** 创建时间 */
  74. createdAt: string;
  75. /** 更新时间 */
  76. updatedAt: string;
  77. /** 0-未删除,大于0-已删除 */
  78. isDeleted: number;
  79. /** 工位负责人 */
  80. principal: string;
  81. /** 排序序号 */
  82. serial: number;
  83. /** 层级类型 */
  84. nodeType: string;
  85. /** 下属相机列表 */
  86. children: CameraInfoItem[];
  87. };
  88. /** 工厂信息 */
  89. export type WorkShopInfoItem = {
  90. /** 工厂id */
  91. id: number;
  92. /** 所属公司id */
  93. companyId: number;
  94. /** 1-生产安全 2-安全环保 */
  95. type: number;
  96. /** 工厂名称 */
  97. name: string;
  98. /** 工厂code */
  99. code: string;
  100. /** 工厂描述 */
  101. remark: string;
  102. /** 状态: 0-启用, 1-禁用 */
  103. status: number;
  104. /** 创建时间 */
  105. createdAt: string;
  106. /** 更新时间 */
  107. updatedAt: string;
  108. /** 0-未删除,大于0-已删除 */
  109. isDeleted: number;
  110. /** 层级类型 */
  111. nodeType: string;
  112. /** 下属工位列表 */
  113. children: WorkSpaceInfoItem[];
  114. /** 场景标签 */
  115. labelName: string;
  116. /** 场景标签id */
  117. sceneLabelId: number;
  118. /** 排序序号 */
  119. serial: number;
  120. /** 车间模板 */
  121. workshopModule: SceneLabelOrModuleItem;
  122. };
  123. /** 公司信息 */
  124. export type CompanyInfoItem = {
  125. /** 公司id */
  126. id: number;
  127. /** 上级公司ID, 无上级为0 */
  128. parentId: number;
  129. /** 公司名称 */
  130. name: string;
  131. /** 公司code */
  132. code: string;
  133. /** 公司描述 */
  134. remark: string;
  135. /** 状态: 0-启用, 1-禁用 */
  136. status: number;
  137. /** 创建时间 */
  138. createdAt: string;
  139. /** 更新时间 */
  140. updatedAt: string;
  141. /** 排序序号 */
  142. serial: number;
  143. /** 0-未删除,大于0-已删除 */
  144. isDeleted: number;
  145. /** 层级类型 */
  146. nodeType: string;
  147. /** 下属工厂列表 */
  148. children: WorkShopInfoItem[];
  149. /** 场景标签列表 */
  150. labelList: SceneLabelOrModuleItem[];
  151. /** 场景模板列表 */
  152. moduleList: SceneLabelOrModuleItem[];
  153. };
  154. /** 根据用户权限查询场景树 */
  155. export const getAuthSceneList = () => {
  156. return http.request<CompanyInfoItem[]>({
  157. url: '/dataPreview/getList',
  158. method: 'get',
  159. });
  160. };
  161. /** 算法信息 */
  162. export type AlgoInfo = {
  163. /** 算法提供编码 */
  164. code: string;
  165. /** 创建时间 */
  166. createdAt: string;
  167. /** id */
  168. id: number;
  169. /** 0-未删除,大于0(时间戳)-已删除 */
  170. isDeleted: number;
  171. /** 算法名称 */
  172. name: string;
  173. /** 推送链接提示 */
  174. pushLinkPrompt: string;
  175. /** 推送语句 */
  176. pushStatement: string;
  177. /** 描述 */
  178. remark: string;
  179. /** 前端显示名称 */
  180. showName: string;
  181. /** 状态: 0-启用, 1-禁用 */
  182. status: number;
  183. /** 更新时间 */
  184. updatedAt: string;
  185. /** 展示视频的地址 */
  186. url: string;
  187. };
  188. /** 算法配置信息 */
  189. export type AlgoConfig = {
  190. /** id */
  191. id: number;
  192. /** 算法id */
  193. algoId: number;
  194. /** 算法信息 */
  195. algoInfo: AlgoInfo;
  196. /** 相机id */
  197. cameraId: number;
  198. /** 创建时间 */
  199. createdAt: string;
  200. /** 检测频率 */
  201. detectionFrequency: number;
  202. /** 检测时间 */
  203. detectionTime: string;
  204. /** 电子围栏: 0-启用, 1-禁用 */
  205. electronicFence: number;
  206. /** 0-未删除,大于0(时间戳)-已删除 */
  207. isDeleted: number;
  208. /** 算法状态: 0-启用, 1-禁用 */
  209. status: number;
  210. /** 更新时间 */
  211. updatedAt: string;
  212. };
  213. /** 根据相机ID查询算法列表 */
  214. export const getAlgoByCameraId = (params: { cameraId: number }) => {
  215. return http.request<AlgoConfig[]>({
  216. url: '/dataPreview/getAlgo',
  217. method: 'get',
  218. params,
  219. });
  220. };
  221. export type ViolationsQueryParam = {
  222. /** 起始日期 */
  223. startDate: string;
  224. /** 结束日期 */
  225. endDate: string;
  226. /** 用户名 */
  227. userName: string;
  228. };
  229. export type ViolationCount = {
  230. /** 算法违规数量统计 */
  231. violationAlgoList: {
  232. /** 算法名称 */
  233. name: string;
  234. /** 算法违规占比 */
  235. proportion: number;
  236. }[];
  237. /** 违规处理情况统计 */
  238. statusCountList: {
  239. /** 类型 */
  240. name: ViolationHandleStat;
  241. /** 数量 */
  242. value: number;
  243. }[];
  244. };
  245. /** 根据用户权限查询违规记录 */
  246. export const getViolation = (params: ViolationsQueryParam) => {
  247. return http.request<ViolationCount>({
  248. url: '/dataPreview/getViolation',
  249. method: 'get',
  250. params,
  251. });
  252. };