type.ts 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807
  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 interface CameraItem {
  140. /*自增主键 */
  141. id: number;
  142. /*车间id */
  143. workshopId: number;
  144. /*工位id */
  145. workspaceId: number;
  146. /*相机名称 */
  147. name: string;
  148. /*相机编号 */
  149. code: string;
  150. /*相机IP */
  151. cameraIp: string;
  152. /*相机端口 */
  153. cameraPort: string;
  154. /*登录账号(用户名) */
  155. username: string;
  156. /*密码 */
  157. password: string;
  158. /*相机类型: haikang/dahua/anxus/huawei */
  159. cameraType: string;
  160. /*描述 */
  161. remark: string;
  162. /*相机是否支持移动缩放:0-不支持;1-支持 */
  163. isPtz: number;
  164. /*相机的ONVIF端口号 */
  165. onvifPort: string;
  166. /*添加方式: IP,NVR,RTSP */
  167. sourceType: string;
  168. /*rtsp地址 */
  169. rtspUrl: string;
  170. /*NVR id */
  171. nvrId: number;
  172. /*NVR通道号 */
  173. nvrChannel: string;
  174. /*视频编码标准,H264, H265 */
  175. videoStandard: string;
  176. /*视频服务类型,TCP, UDP, AUTO */
  177. videoServiceType: string;
  178. /*状态: 0-启用, 1-禁用 */
  179. isDisabled: number;
  180. /*创建人 */
  181. createdBy: number;
  182. /*更新人 */
  183. updatedBy: number;
  184. /*创建时间 */
  185. createdAt: Record<string, unknown>;
  186. /*更新时间 */
  187. updatedAt: Record<string, unknown>;
  188. /*0-未删除,大于0(时间戳)-已删除 */
  189. isDeleted: number;
  190. /*租户ID */
  191. tenantId: number;
  192. /*联网状态: 0-启用, 1-禁用 */
  193. networkingState: number;
  194. /*接入状态: 0-启用, 1-禁用 */
  195. integrationState: number;
  196. /*渲染选择,无渲染/某个算法 */
  197. render: string;
  198. /*版本 */
  199. version: number;
  200. /*扩展数据 */
  201. extra: string;
  202. /*业务场景 */
  203. sceneTemplateList: {
  204. /*场景id */
  205. sceneId: number;
  206. /*模板id */
  207. templateId: number;
  208. templateCode: string;
  209. }[];
  210. /* */
  211. pushStreamDTO: {
  212. /* */
  213. videoUrls: {
  214. /*推流地址(前端播放的地址) */
  215. pushstreamIp: string;
  216. /*渲染推流地址(前端播放的渲染地址) */
  217. pushstreamRenderUrl: string;
  218. /*ios推流地址(前端播放的地址) */
  219. m3u8PushstreamIp: string;
  220. /*ios推流地址(前端播放的地址) */
  221. m3u8PushstreamRenderIp: string;
  222. /*推流地址(前端播放的地址) */
  223. pushstreamIpAbs: string;
  224. /*渲染推流地址(前端播放的渲染地址) */
  225. pushstreamRenderUrlAbs: string;
  226. /*ios推流地址(前端播放的地址) */
  227. m3u8PushstreamIpAbs: string;
  228. /*ios推流地址(前端播放的地址) */
  229. m3u8PushstreamRenderIpAbs: string;
  230. };
  231. /*摄像头实时记录的画面 */
  232. imageUrl: string;
  233. };
  234. }
  235. export interface ShopMapCamera extends CameraItem {
  236. isSet: number;
  237. /** 工位名称 */
  238. workSpaceName: string;
  239. /** 相机是否接入平台 */
  240. integrationState?: IntegrationIsActive;
  241. }
  242. /** ??? */
  243. export type WorkSpaceCameraRelative = WorkSpaceInfoItem & { cameraList: CameraItem[] };
  244. // 传入参数类型 还缺个场景list
  245. export interface ComAddDatas {
  246. code?: string; //公司编码
  247. createdAt?: string; //创建时间
  248. id?: number; //新增后返回的唯一com的id
  249. isDeleted?: number; //是否删除
  250. name: string; //公司名字
  251. parentId?: number; //上级公司id 无上级为0
  252. remark?: string; //描述
  253. // isDisabled?: number; //状态 0-启动 1-禁用
  254. updatedAt?: string;
  255. serial?: number; //排序
  256. labelList?: string[]; //创建的多个场景标签 自定义后面需要修改 这里没
  257. parent?: null | ComAddDatas;
  258. longitude?: number; //经度
  259. latitude?: number; //纬度
  260. regionCode?: string;
  261. thumbnail?: string;
  262. }
  263. // 传入参数类型
  264. export interface WorkshopAddDatas {
  265. code?: string;
  266. companyId?: number; //公司id
  267. sceneLabelId?: number; //类型 1-车间 2-危险点 3-物流 4-生活园区
  268. createdAt?: string;
  269. id?: number;
  270. isDeleted?: number;
  271. name: string;
  272. remark?: string;
  273. // isDisabled?: number; //状态 0-启动 1-禁用
  274. updatedAt?: string;
  275. serial?: number;
  276. parent?: null | WorkshopAddDatas;
  277. workshopModule?: WorkShopTempleteType;
  278. labelList?: WorkShopTempleteType[];
  279. longitude?: number; //经度
  280. latitude?: number; //纬度
  281. // templete?: string; //车间模板
  282. // tag?: string; //场景标签
  283. }
  284. // 传入参数类型
  285. export interface WorkspaceAddDatas {
  286. code?: string;
  287. createdAt?: string;
  288. id?: number;
  289. isDeleted?: number;
  290. name: string;
  291. principal?: string; //工位负责人
  292. remark?: string;
  293. // isDisabled?: number; //状态 0-启动 1-禁用
  294. serial?: number;
  295. updatedAt?: string;
  296. workshopId?: number; //车间id
  297. parent?: null | WorkspaceAddDatas;
  298. longitude?: number; //经度
  299. latitude?: number; //纬度
  300. // tag?: string; //场景标签
  301. }
  302. // 传入参数类型
  303. export interface SceneListType<T, S> {
  304. code?: string;
  305. createdAt?: string;
  306. id?: number;
  307. isDeleted?: number;
  308. name?: string;
  309. parentId?: number;
  310. remark?: string;
  311. status?: number;
  312. serial?: number;
  313. updatedAt?: string;
  314. children?: T[]; //车间-工位信息
  315. labelList?: S[]; //创建的多个场景标签
  316. moduleList?: S[]; //创建得多个模板
  317. }
  318. /** ??? */
  319. export interface LabelModuleListType {
  320. code?: string;
  321. createdAt?: string;
  322. id?: number;
  323. isDeleted?: number;
  324. name?: string;
  325. remark?: string;
  326. status?: number;
  327. updatedAt?: string;
  328. }
  329. /** ??? */
  330. export interface GetListWorkshop<U, A> {
  331. code?: string;
  332. companyId?: number; //公司id
  333. sceneLabelId?: number; //类型 1-车间 2-危险点 3-物流 4-生活园区
  334. labelName?: string;
  335. createdAt?: string;
  336. id?: number;
  337. isDeleted?: number;
  338. name?: string;
  339. remark?: string;
  340. serial?: number;
  341. status?: number;
  342. updatedAt?: string;
  343. children?: U[]; //工位信息
  344. workshopModule?: A; //车间模板
  345. workshopFuncPermissions: number[];
  346. // tag?: string; //场景标签 自定义 后面需要修改
  347. }
  348. //查询场景标签
  349. export interface CompanyType {
  350. tenantId: number;
  351. userId: number;
  352. createDate: string;
  353. modifyDate: string;
  354. tenantCode: string;
  355. tenantName: string;
  356. beginDate: string;
  357. endDate: string;
  358. tenantStatus: number;
  359. isDelete: boolean;
  360. }
  361. //查询场景模板
  362. export interface InputType {
  363. tenantCode: string;
  364. tenantId: number;
  365. type: string;
  366. }
  367. //查询场景标签
  368. export interface SceneLabelType {
  369. code?: string;
  370. createdAt?: string;
  371. id?: number;
  372. isDeleted?: number;
  373. name?: string;
  374. remark?: string;
  375. status?: number;
  376. updatedAt?: string;
  377. }
  378. //查询场景模板
  379. export interface TemplateType {
  380. code?: string;
  381. createdAt?: string;
  382. id?: number;
  383. isDeleted?: number;
  384. name?: string;
  385. remark?: string;
  386. status?: number;
  387. updatedAt?: string;
  388. }
  389. //查询车间模板
  390. export interface WorkshopModuleType {
  391. code?: string;
  392. createdAt?: string;
  393. id?: number;
  394. isDeleted?: number;
  395. name?: string;
  396. remark?: string;
  397. status?: number;
  398. updatedAt?: string;
  399. }
  400. //根据公司ID查询场景标签
  401. export interface SceneLabelByCompanyType {
  402. code?: string;
  403. createdAt?: string;
  404. id?: number;
  405. isDeleted?: number;
  406. name?: string;
  407. remark?: string;
  408. status?: number;
  409. updatedAt?: string;
  410. }
  411. //保存公司-场景标签-场景模板关系
  412. export interface SceneTempleteType {
  413. companyId?: number;
  414. createdAt?: string;
  415. id?: number;
  416. isDeleted?: number;
  417. remark?: string;
  418. sceneLabelId?: number;
  419. sceneModuleId?: number;
  420. updatedAt?: string;
  421. }
  422. //保存车间-车间模板关系
  423. export interface WorkShopTempleteType {
  424. id?: number;
  425. workshopId?: number;
  426. workshopModuleId?: number;
  427. remark?: string;
  428. createdAt?: string;
  429. isDeleted?: number;
  430. updatedAt?: string;
  431. }
  432. /** ---------------------------------------------------------------------------------
  433. * V4版 接口定义修改说明
  434. * date: 2025-01-09
  435. * 修改了原场景相关的接口定义
  436. * 获取公司数据的结构整合为一个树
  437. * 公司-车间-工位单独的结构用于增改查的接口参数
  438. * 原传入参数类型不变
  439. * 区分公司-车间-工位类型的原因为目前树节点结构趋同但不保证以后相同
  440. ------------------------------------------------------------------------------------ */
  441. /** 带指向父节点的公司-车间-工位树结构 */
  442. export interface ComTreeType extends UseComType<UseWorkshopType<UseWorkspaceType>> {}
  443. /** 公司信息类型,注释的属性会返回但不用,下同 */
  444. export interface UseComType<T> {
  445. uniqueCode?: string;
  446. // createdAt: string;
  447. // createdBy: number;
  448. id: number;
  449. // isDeleted: number;
  450. isDisabled: number;
  451. latitude?: number;
  452. longitude?: number;
  453. name: string;
  454. nodeType: DrawerType;
  455. orderNum: number;
  456. parentId: number;
  457. regionCode: string;
  458. remark: string;
  459. tenantId: number;
  460. thumbnail: string;
  461. // updatedAt:string;
  462. // updatedBy:number;
  463. children?: T[];
  464. }
  465. /** 车间信息类型 */
  466. export interface UseWorkshopType<T> {
  467. uniqueCode?: string;
  468. companyId: number;
  469. // createdAt: string;
  470. // createdBy: number;
  471. id: number;
  472. code?: string; //上飞定制需要
  473. // isDeleted: number;
  474. isDisabled: number;
  475. name: string;
  476. nodeType: DrawerType;
  477. orderNum: number;
  478. remark: string;
  479. tenantId: number;
  480. // updatedAt: string;
  481. // updatedBy: number;
  482. children?: T[];
  483. }
  484. /** 工位信息类型 */
  485. export interface UseWorkspaceType {
  486. uniqueCode?: string;
  487. workshopId: number;
  488. companyId: number;
  489. // createdAt: string;
  490. // createdBy: number;
  491. id: number;
  492. code?: string; //上飞定制需要
  493. isDeleted: number;
  494. isDisabled: number;
  495. name: string;
  496. nodeType: DrawerType;
  497. orderNum: number;
  498. principalId: number;
  499. principalName: string;
  500. remark: string;
  501. tenantId: number;
  502. // updatedAt: string;
  503. // updatedBy: number;
  504. }
  505. /** --------------------------------------------------------------------------------- */
  506. // 根据车间id查工位-相机列表
  507. export interface GetCameraStatusByWorkshopRes {
  508. /*节点类型 */
  509. nodeType: string;
  510. /*车间id */
  511. id: number;
  512. /*公司id */
  513. companyId: number;
  514. /*车间名称 */
  515. name: string;
  516. /*车间编号 */
  517. code: string;
  518. /*排序序号 */
  519. orderNum: number;
  520. /*描述 */
  521. remark: string;
  522. /*状态: 0-启用, 1-禁用 */
  523. isDisabled: number;
  524. /*创建人 */
  525. createdBy: number;
  526. /*更新人 */
  527. updatedBy: number;
  528. /*创建时间 */
  529. createdAt: Record<string, unknown>;
  530. /*修改时间 */
  531. updatedAt: Record<string, unknown>;
  532. /*租户ID */
  533. tenantId: number;
  534. /*工位-相机信息 */
  535. children: {
  536. /*节点类型 */
  537. nodeType: string;
  538. /*工位id */
  539. id: number;
  540. /*车间id */
  541. workshopId: number;
  542. /*工位名称 */
  543. name: string;
  544. /*工位编号 */
  545. code: string;
  546. /*描述 */
  547. remark: string;
  548. /*排序序号 */
  549. orderNum: number;
  550. /*工位负责人 */
  551. principalName: string;
  552. /*工位负责人id */
  553. principalId: number;
  554. /*状态: 0-启用, 1-禁用 */
  555. isDisabled: number;
  556. /*创建人 */
  557. createdBy: number;
  558. /*更新人 */
  559. updatedBy: number;
  560. /*创建时间 */
  561. createdAt: Record<string, unknown>;
  562. /*更新时间 */
  563. updatedAt: Record<string, unknown>;
  564. /*租户ID */
  565. tenantId: number;
  566. /*相机信息 */
  567. children: {
  568. /*自增主键 */
  569. id: number;
  570. /*车间id */
  571. workshopId: number;
  572. /*工位id */
  573. workspaceId: number;
  574. /*相机名称 */
  575. name: string;
  576. /*相机编号 */
  577. code: string;
  578. /*相机IP */
  579. cameraIp: string;
  580. /*相机端口 */
  581. cameraPort: string;
  582. /*登录账号(用户名) */
  583. username: string;
  584. /*密码 */
  585. password: string;
  586. /*相机类型: haikang/dahua/anxus/huawei */
  587. cameraType: string;
  588. /*描述 */
  589. remark: string;
  590. /*相机是否支持移动缩放:0-不支持;1-支持 */
  591. isPtz: number;
  592. /*相机的ONVIF端口号 */
  593. onvifPort: string;
  594. /*添加方式: IP,NVR,RTSP */
  595. sourceType: string;
  596. /*rtsp地址 */
  597. rtspUrl: string;
  598. /*NVR id */
  599. nvrId: number;
  600. /*NVR通道号 */
  601. nvrChannel: string;
  602. /*视频编码标准,H264, H265 */
  603. videoStandard: string;
  604. /*视频服务类型,TCP, UDP, AUTO */
  605. videoServiceType: string;
  606. /*状态: 0-启用, 1-禁用 */
  607. isDisabled: number;
  608. /*创建人 */
  609. createdBy: number;
  610. /*更新人 */
  611. updatedBy: number;
  612. /*创建时间 */
  613. createdAt: Record<string, unknown>;
  614. /*更新时间 */
  615. updatedAt: Record<string, unknown>;
  616. /*0-未删除,大于0(时间戳)-已删除 */
  617. isDeleted: number;
  618. /*租户ID */
  619. tenantId: number;
  620. /*联网状态: 0-启用, 1-禁用 */
  621. networkingState: number;
  622. /*接入状态: 0-启用, 1-禁用 */
  623. integrationState: number;
  624. /*渲染选择,无渲染/某个算法 */
  625. render: string;
  626. /*版本 */
  627. version: number;
  628. /*扩展数据 */
  629. extra: string;
  630. /*场景-模板列表 */
  631. sceneTemplateList: {
  632. /*场景id */
  633. sceneId: number;
  634. /*模板id */
  635. templateId: number;
  636. }[];
  637. /* */
  638. pushStreamDTO: {
  639. /* */
  640. videoUrls: {
  641. /*推流地址(前端播放的地址) */
  642. pushstreamIp: string;
  643. /*渲染推流地址(前端播放的渲染地址) */
  644. pushstreamRenderUrl: string;
  645. /*ios推流地址(前端播放的地址) */
  646. m3u8PushstreamIp: string;
  647. /*ios推流地址(前端播放的地址) */
  648. m3u8PushstreamRenderIp: string;
  649. /*推流地址(前端播放的地址) */
  650. pushstreamIpAbs: string;
  651. /*渲染推流地址(前端播放的渲染地址) */
  652. pushstreamRenderUrlAbs: string;
  653. /*ios推流地址(前端播放的地址) */
  654. m3u8PushstreamIpAbs: string;
  655. /*ios推流地址(前端播放的地址) */
  656. m3u8PushstreamRenderIpAbs: string;
  657. };
  658. /*摄像头实时记录的画面 */
  659. imageUrl: string;
  660. };
  661. /*节点类型 */
  662. nodeType: string;
  663. }[];
  664. }[];
  665. }