type.ts 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684
  1. import { IntegrationIsActive } from '../camera/type';
  2. import { ViewType, DrawerType } from './constant';
  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 WorkSpaceInfoItem = {
  24. /** 工位id */
  25. id: number;
  26. /** 所属工厂id */
  27. workshopId: number;
  28. /** 工位名称 */
  29. name: string;
  30. /** 工位code */
  31. code: string;
  32. /** 工位描述 */
  33. remark: string;
  34. /** 状态: 0-启用, 1-禁用 */
  35. status: number;
  36. /** 创建时间 */
  37. createdAt: string;
  38. /** 更新时间 */
  39. updatedAt: string;
  40. /** 0-未删除,大于0-已删除 */
  41. isDeleted: number;
  42. /** 工位负责人 */
  43. principal: string;
  44. /** 排序序号 */
  45. serial: number;
  46. };
  47. /** 工厂信息 */
  48. export type WorkShopInfoItem = {
  49. /** 工厂id */
  50. id: number;
  51. /** 所属公司id */
  52. companyId: number;
  53. /** 1-生产安全 2-安全环保 */
  54. // type: number;
  55. /** 工厂名称 */
  56. name: string;
  57. /** 工厂code */
  58. code: string;
  59. /** 工厂描述 */
  60. remark: string;
  61. /** 状态: 0-启用, 1-禁用 */
  62. status: number;
  63. /** 创建时间 */
  64. createdAt: string;
  65. /** 更新时间 */
  66. updatedAt: string;
  67. /** 0-未删除,大于0-已删除 */
  68. isDeleted: number;
  69. /** 下属工位列表 */
  70. children: WorkSpaceInfoItem[];
  71. /** 场景标签 */
  72. labelName: string;
  73. /** 场景标签id */
  74. sceneLabelId: number;
  75. /** 排序序号 */
  76. serial: number;
  77. /** 车间模板 */
  78. workshopModule: SceneLabelOrModuleItem;
  79. };
  80. /** 公司信息 */
  81. export type CompanyInfoItem = {
  82. /** 公司id */
  83. id: number;
  84. /** 上级公司ID, 无上级为0 */
  85. parentId: number;
  86. /** 公司名称 */
  87. name: string;
  88. /** 公司code */
  89. code: string;
  90. /** 公司描述 */
  91. remark: string;
  92. /** 状态: 0-启用, 1-禁用 */
  93. status: number;
  94. /** 创建时间 */
  95. createdAt: string;
  96. /** 更新时间 */
  97. updatedAt: string;
  98. /** 排序序号 */
  99. serial: number;
  100. /** 0-未删除,大于0-已删除 */
  101. isDeleted: number;
  102. /** 下属工厂列表 */
  103. children: WorkShopInfoItem[];
  104. /** 场景标签列表 */
  105. labelList: SceneLabelOrModuleItem[];
  106. /** 场景模板列表 */
  107. moduleList: SceneLabelOrModuleItem[];
  108. // 模板列表信息
  109. labelModuleList: { sceneLabel: SceneLabelOrModuleItem; sceneModule: SceneLabelOrModuleItem }[];
  110. };
  111. /** 公司主页配置 */
  112. export interface UpdateCompanyLayoutParam extends Omit<UpdateViewLayoutParam, 'targetId'> {
  113. /** 标签id */
  114. labelId: number;
  115. targetId: number;
  116. /** 更新时需要上传layout布局id */
  117. id?: number;
  118. }
  119. /** ??? */
  120. export interface LayoutResp {
  121. /** 创建时间 */
  122. createdAt: string;
  123. /** 自增主键 */
  124. id: number;
  125. /** 页面布局json */
  126. layout: string;
  127. /** 目标id: 对应公司ID/车间ID */
  128. targetId: number;
  129. viewType: ViewType;
  130. integrationState?: number;
  131. }
  132. /** ??? */
  133. export interface UpdateViewLayoutParam {
  134. layout: string;
  135. targetId: string;
  136. viewType: ViewType;
  137. }
  138. /** ??? */
  139. export type CameraItem = {
  140. id: number;
  141. /** 相机名称 */
  142. name: string;
  143. /** 相机code */
  144. code: string;
  145. /** 相机IP地址 */
  146. cameraIp: string;
  147. /** 相机描述 */
  148. remark: string;
  149. /** 状态: 0-启用, 1-禁用 */
  150. status?: number;
  151. /** 推流地址 */
  152. pushstreamIp?: string;
  153. };
  154. export interface ShopMapCamera extends CameraItem {
  155. isSet: number;
  156. /** 工位名称 */
  157. workSpaceName: string;
  158. /** 相机是否接入平台 */
  159. integrationState?: IntegrationIsActive;
  160. }
  161. /** ??? */
  162. export type WorkSpaceCameraRelative = WorkSpaceInfoItem & { cameraList: CameraItem[] };
  163. // 传入参数类型 还缺个场景list
  164. export interface ComAddDatas {
  165. code?: string; //公司编码
  166. createdAt?: string; //创建时间
  167. id?: number; //新增后返回的唯一com的id
  168. isDeleted?: number; //是否删除
  169. name: string; //公司名字
  170. parentId?: number; //上级公司id 无上级为0
  171. remark?: string; //描述
  172. // isDisabled?: number; //状态 0-启动 1-禁用
  173. updatedAt?: string;
  174. serial?: number; //排序
  175. labelList?: string[]; //创建的多个场景标签 自定义后面需要修改 这里没
  176. parent?: null | ComAddDatas;
  177. longitude?: number; //经度
  178. latitude?: number; //纬度
  179. regionCode?: string;
  180. thumbnail?: string;
  181. }
  182. // 传入参数类型
  183. export interface WorkshopAddDatas {
  184. code?: string;
  185. companyId?: number; //公司id
  186. sceneLabelId?: number; //类型 1-车间 2-危险点 3-物流 4-生活园区
  187. createdAt?: string;
  188. id?: number;
  189. isDeleted?: number;
  190. name: string;
  191. remark?: string;
  192. // isDisabled?: number; //状态 0-启动 1-禁用
  193. updatedAt?: string;
  194. serial?: number;
  195. parent?: null | WorkshopAddDatas;
  196. workshopModule?: WorkShopTempleteType;
  197. labelList?: WorkShopTempleteType[];
  198. longitude?: number; //经度
  199. latitude?: number; //纬度
  200. // templete?: string; //车间模板
  201. // tag?: string; //场景标签
  202. }
  203. // 传入参数类型
  204. export interface WorkspaceAddDatas {
  205. code?: string;
  206. createdAt?: string;
  207. id?: number;
  208. isDeleted?: number;
  209. name: string;
  210. principal?: string; //工位负责人
  211. remark?: string;
  212. // isDisabled?: number; //状态 0-启动 1-禁用
  213. serial?: number;
  214. updatedAt?: string;
  215. workshopId?: number; //车间id
  216. parent?: null | WorkspaceAddDatas;
  217. longitude?: number; //经度
  218. latitude?: number; //纬度
  219. // tag?: string; //场景标签
  220. }
  221. // 传入参数类型
  222. export interface SceneListType<T, S> {
  223. code?: string;
  224. createdAt?: string;
  225. id?: number;
  226. isDeleted?: number;
  227. name?: string;
  228. parentId?: number;
  229. remark?: string;
  230. status?: number;
  231. serial?: number;
  232. updatedAt?: string;
  233. children?: T[]; //车间-工位信息
  234. labelList?: S[]; //创建的多个场景标签
  235. moduleList?: S[]; //创建得多个模板
  236. }
  237. /** ??? */
  238. export interface LabelModuleListType {
  239. code?: string;
  240. createdAt?: string;
  241. id?: number;
  242. isDeleted?: number;
  243. name?: string;
  244. remark?: string;
  245. status?: number;
  246. updatedAt?: string;
  247. }
  248. /** ??? */
  249. export interface GetListWorkshop<U, A> {
  250. code?: string;
  251. companyId?: number; //公司id
  252. sceneLabelId?: number; //类型 1-车间 2-危险点 3-物流 4-生活园区
  253. labelName?: string;
  254. createdAt?: string;
  255. id?: number;
  256. isDeleted?: number;
  257. name?: string;
  258. remark?: string;
  259. serial?: number;
  260. status?: number;
  261. updatedAt?: string;
  262. children?: U[]; //工位信息
  263. workshopModule?: A; //车间模板
  264. workshopFuncPermissions: number[];
  265. // tag?: string; //场景标签 自定义 后面需要修改
  266. }
  267. //查询场景标签
  268. export interface CompanyType {
  269. tenantId: number;
  270. userId: number;
  271. createDate: string;
  272. modifyDate: string;
  273. tenantCode: string;
  274. tenantName: string;
  275. beginDate: string;
  276. endDate: string;
  277. tenantStatus: number;
  278. isDelete: boolean;
  279. }
  280. //查询场景模板
  281. export interface InputType {
  282. tenantCode: string;
  283. tenantId: number;
  284. type: string;
  285. }
  286. //查询场景标签
  287. export interface SceneLabelType {
  288. code?: string;
  289. createdAt?: string;
  290. id?: number;
  291. isDeleted?: number;
  292. name?: string;
  293. remark?: string;
  294. status?: number;
  295. updatedAt?: string;
  296. }
  297. //查询场景模板
  298. export interface TemplateType {
  299. code?: string;
  300. createdAt?: string;
  301. id?: number;
  302. isDeleted?: number;
  303. name?: string;
  304. remark?: string;
  305. status?: number;
  306. updatedAt?: string;
  307. }
  308. //查询车间模板
  309. export interface WorkshopModuleType {
  310. code?: string;
  311. createdAt?: string;
  312. id?: number;
  313. isDeleted?: number;
  314. name?: string;
  315. remark?: string;
  316. status?: number;
  317. updatedAt?: string;
  318. }
  319. //根据公司ID查询场景标签
  320. export interface SceneLabelByCompanyType {
  321. code?: string;
  322. createdAt?: string;
  323. id?: number;
  324. isDeleted?: number;
  325. name?: string;
  326. remark?: string;
  327. status?: number;
  328. updatedAt?: string;
  329. }
  330. //保存公司-场景标签-场景模板关系
  331. export interface SceneTempleteType {
  332. companyId?: number;
  333. createdAt?: string;
  334. id?: number;
  335. isDeleted?: number;
  336. remark?: string;
  337. sceneLabelId?: number;
  338. sceneModuleId?: number;
  339. updatedAt?: string;
  340. }
  341. //保存车间-车间模板关系
  342. export interface WorkShopTempleteType {
  343. id?: number;
  344. workshopId?: number;
  345. workshopModuleId?: number;
  346. remark?: string;
  347. createdAt?: string;
  348. isDeleted?: number;
  349. updatedAt?: string;
  350. }
  351. /** ---------------------------------------------------------------------------------
  352. * V4版 接口定义修改说明
  353. * date: 2025-01-09
  354. * 修改了原场景相关的接口定义
  355. * 获取公司数据的结构整合为一个树
  356. * 公司-车间-工位单独的结构用于增改查的接口参数
  357. * 原传入参数类型不变
  358. * 区分公司-车间-工位类型的原因为目前树节点结构趋同但不保证以后相同
  359. ------------------------------------------------------------------------------------ */
  360. /** 带指向父节点的公司-车间-工位树结构 */
  361. export interface ComTreeType extends UseComType<UseWorkshopType<UseWorkspaceType>> {}
  362. /** 公司信息类型,注释的属性会返回但不用,下同 */
  363. export interface UseComType<T> {
  364. uniqueCode?: string;
  365. // createdAt: string;
  366. // createdBy: number;
  367. id: number;
  368. // isDeleted: number;
  369. isDisabled: number;
  370. latitude?: number;
  371. longitude?: number;
  372. name: string;
  373. nodeType: DrawerType;
  374. orderNum: number;
  375. parentId: number;
  376. regionCode: string;
  377. remark: string;
  378. tenantId: number;
  379. thumbnail: string;
  380. // updatedAt:string;
  381. // updatedBy:number;
  382. children?: T[];
  383. }
  384. /** 车间信息类型 */
  385. export interface UseWorkshopType<T> {
  386. uniqueCode?: string;
  387. companyId: number;
  388. // createdAt: string;
  389. // createdBy: number;
  390. id: number;
  391. code?: string; //上飞定制需要
  392. // isDeleted: number;
  393. isDisabled: number;
  394. name: string;
  395. nodeType: DrawerType;
  396. orderNum: number;
  397. remark: string;
  398. tenantId: number;
  399. // updatedAt: string;
  400. // updatedBy: number;
  401. children?: T[];
  402. }
  403. /** 工位信息类型 */
  404. export interface UseWorkspaceType {
  405. uniqueCode?: string;
  406. workshopId: number;
  407. companyId: number;
  408. // createdAt: string;
  409. // createdBy: number;
  410. id: number;
  411. code?: string; //上飞定制需要
  412. isDeleted: number;
  413. isDisabled: number;
  414. name: string;
  415. nodeType: DrawerType;
  416. orderNum: number;
  417. principalId: number;
  418. principalName: string;
  419. remark: string;
  420. tenantId: number;
  421. // updatedAt: string;
  422. // updatedBy: number;
  423. }
  424. /** --------------------------------------------------------------------------------- */
  425. // 根据车间id查工位-相机列表
  426. export interface GetCameraStatusByWorkshopRes {
  427. /*节点类型 */
  428. nodeType: string;
  429. /*车间id */
  430. id: number;
  431. /*公司id */
  432. companyId: number;
  433. /*车间名称 */
  434. name: string;
  435. /*车间编号 */
  436. code: string;
  437. /*排序序号 */
  438. orderNum: number;
  439. /*描述 */
  440. remark: string;
  441. /*状态: 0-启用, 1-禁用 */
  442. isDisabled: number;
  443. /*创建人 */
  444. createdBy: number;
  445. /*更新人 */
  446. updatedBy: number;
  447. /*创建时间 */
  448. createdAt: Record<string, unknown>;
  449. /*修改时间 */
  450. updatedAt: Record<string, unknown>;
  451. /*租户ID */
  452. tenantId: number;
  453. /*工位-相机信息 */
  454. children: {
  455. /*节点类型 */
  456. nodeType: string;
  457. /*工位id */
  458. id: number;
  459. /*车间id */
  460. workshopId: number;
  461. /*工位名称 */
  462. name: string;
  463. /*工位编号 */
  464. code: string;
  465. /*描述 */
  466. remark: string;
  467. /*排序序号 */
  468. orderNum: number;
  469. /*工位负责人 */
  470. principalName: string;
  471. /*工位负责人id */
  472. principalId: number;
  473. /*状态: 0-启用, 1-禁用 */
  474. isDisabled: number;
  475. /*创建人 */
  476. createdBy: number;
  477. /*更新人 */
  478. updatedBy: number;
  479. /*创建时间 */
  480. createdAt: Record<string, unknown>;
  481. /*更新时间 */
  482. updatedAt: Record<string, unknown>;
  483. /*租户ID */
  484. tenantId: number;
  485. /*相机信息 */
  486. children: {
  487. /*自增主键 */
  488. id: number;
  489. /*车间id */
  490. workshopId: number;
  491. /*工位id */
  492. workspaceId: number;
  493. /*相机名称 */
  494. name: string;
  495. /*相机编号 */
  496. code: string;
  497. /*相机IP */
  498. cameraIp: string;
  499. /*相机端口 */
  500. cameraPort: string;
  501. /*登录账号(用户名) */
  502. username: string;
  503. /*密码 */
  504. password: string;
  505. /*相机类型: haikang/dahua/anxus/huawei */
  506. cameraType: string;
  507. /*描述 */
  508. remark: string;
  509. /*相机是否支持移动缩放:0-不支持;1-支持 */
  510. isPtz: number;
  511. /*相机的ONVIF端口号 */
  512. onvifPort: string;
  513. /*添加方式: IP,NVR,RTSP */
  514. sourceType: string;
  515. /*rtsp地址 */
  516. rtspUrl: string;
  517. /*NVR id */
  518. nvrId: number;
  519. /*NVR通道号 */
  520. nvrChannel: string;
  521. /*视频编码标准,H264, H265 */
  522. videoStandard: string;
  523. /*视频服务类型,TCP, UDP, AUTO */
  524. videoServiceType: string;
  525. /*状态: 0-启用, 1-禁用 */
  526. isDisabled: number;
  527. /*创建人 */
  528. createdBy: number;
  529. /*更新人 */
  530. updatedBy: number;
  531. /*创建时间 */
  532. createdAt: Record<string, unknown>;
  533. /*更新时间 */
  534. updatedAt: Record<string, unknown>;
  535. /*0-未删除,大于0(时间戳)-已删除 */
  536. isDeleted: number;
  537. /*租户ID */
  538. tenantId: number;
  539. /*联网状态: 0-启用, 1-禁用 */
  540. networkingState: number;
  541. /*接入状态: 0-启用, 1-禁用 */
  542. integrationState: number;
  543. /*渲染选择,无渲染/某个算法 */
  544. render: string;
  545. /*版本 */
  546. version: number;
  547. /*扩展数据 */
  548. extra: string;
  549. /*场景-模板列表 */
  550. sceneTemplateList: {
  551. /*场景id */
  552. sceneId: number;
  553. /*模板id */
  554. templateId: number;
  555. }[];
  556. /* */
  557. pushStreamDTO: {
  558. /* */
  559. videoUrls: {
  560. /*推流地址(前端播放的地址) */
  561. pushstreamIp: string;
  562. /*渲染推流地址(前端播放的渲染地址) */
  563. pushstreamRenderUrl: string;
  564. /*ios推流地址(前端播放的地址) */
  565. m3u8PushstreamIp: string;
  566. /*ios推流地址(前端播放的地址) */
  567. m3u8PushstreamRenderIp: string;
  568. /*推流地址(前端播放的地址) */
  569. pushstreamIpAbs: string;
  570. /*渲染推流地址(前端播放的渲染地址) */
  571. pushstreamRenderUrlAbs: string;
  572. /*ios推流地址(前端播放的地址) */
  573. m3u8PushstreamIpAbs: string;
  574. /*ios推流地址(前端播放的地址) */
  575. m3u8PushstreamRenderIpAbs: string;
  576. };
  577. /*摄像头实时记录的画面 */
  578. imageUrl: string;
  579. };
  580. /*节点类型 */
  581. nodeType: string;
  582. }[];
  583. }[];
  584. }