index.ts 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804
  1. import { DictCode } from '@/constants';
  2. import type { IconfontIcon } from '@/icons/fonts/iconfont';
  3. import type { Component, ComponentPublicInstance } from 'vue';
  4. import type { StepProps, UploadProps } from 'ant-design-vue';
  5. import type { Rule, RuleObject } from 'ant-design-vue/es/form';
  6. import type { ProtocolConfigMethod } from '@/constants';
  7. export interface ApiResponse<T> {
  8. data: T;
  9. code: number;
  10. msg: string;
  11. }
  12. export interface PageData<T> {
  13. records: T[];
  14. total: number;
  15. pageIndex: number;
  16. pageSize: number;
  17. pageNum: number;
  18. }
  19. export interface PageParams {
  20. pageIndex: number;
  21. pageSize: number;
  22. pageSorts?: {
  23. column: string;
  24. asc: boolean;
  25. }[];
  26. }
  27. export interface OptionItem<T> {
  28. value: T;
  29. label: string;
  30. }
  31. export type CheckedType = boolean | string | number;
  32. export interface IconObject {
  33. name: IconfontIcon;
  34. size?: number;
  35. color?: string;
  36. }
  37. export type FormRules<T> = {
  38. [K in keyof T]?: Rule[];
  39. } & {
  40. [key: string]: Rule[];
  41. };
  42. export type RuleValidator<T> = (rule: RuleObject, value: T, callback: (error?: string) => void) => Promise<void>;
  43. export interface DictTypeDataParams {
  44. id?: number;
  45. dictCode?: DictCode;
  46. }
  47. export interface DictTypeData {
  48. dictId: number;
  49. dictCode: string;
  50. dictName: string;
  51. dictEngName: string;
  52. dictOrderNum: number | null;
  53. dictTypeDataList: DictValue[];
  54. }
  55. export interface DictValue {
  56. dictValueId: number;
  57. dictValue: string;
  58. dictEngValue: string;
  59. dictValueOrderNum: number;
  60. isDefault: boolean | null;
  61. }
  62. export interface UseGuideStepItem extends StepProps {
  63. title: string;
  64. component: Component;
  65. contentOffset?: number;
  66. formLayout?: 'horizontal' | 'vertical' | 'inline';
  67. isLastStep?: boolean;
  68. exportButtonShow?: boolean;
  69. nextStepButtonHide?: boolean;
  70. nextStepButtonText?: string;
  71. nextStepButtonDisabled?: boolean;
  72. }
  73. export interface UseGuideStepItemProps<T> {
  74. form: T;
  75. steps: UseGuideStepItem[];
  76. stepIndex: number;
  77. goToStep: (index: number) => void;
  78. }
  79. export type UseGuideStepItemExpose = {
  80. exportData?: () => void | Promise<void>;
  81. finish?: () => void | Promise<void>;
  82. };
  83. export type UseGuideStepItemInstance = ComponentPublicInstance<unknown, UseGuideStepItemExpose>;
  84. export interface SetupProtocolForm {
  85. protocolType?: string;
  86. protocolInfo: Partial<ProtocolBaseInfo>;
  87. protocolFile: UploadProps['fileList'];
  88. configMethod: ProtocolConfigMethod;
  89. deviceType?: string;
  90. }
  91. export interface CustomParamsForm {
  92. gatewayParamName: string;
  93. gatewayParamCode: string;
  94. unit: string;
  95. module: string;
  96. readWriteType: string;
  97. parsingType: string;
  98. writeFunctionCode: string;
  99. readFunctionCode: string;
  100. addressLength: number;
  101. registerAddress: number;
  102. coefficient: number;
  103. isHighFrequencyParameter: string;
  104. readCalculationFormula: string;
  105. writeCalculationFormula: string;
  106. decimalPlaces: number;
  107. contiguousAddressingRange: number;
  108. }
  109. export interface ProtocolBaseInfo {
  110. id: number;
  111. protocolName: string;
  112. protocolType: string;
  113. deviceType: string;
  114. deviceTypeId: number | null;
  115. dataBit: 5 | 6 | 7 | 8;
  116. parityBit: 'N' | 'O' | 'E';
  117. stopBit: '1' | '1.5' | '2';
  118. baudRate: number;
  119. dataSendInterval: number;
  120. highFreqSendInterval: number;
  121. readTimeout: number;
  122. nextDataReadDelay: number;
  123. nextRoundDataReadDelay: number;
  124. readContinuousAddr: string;
  125. readContinuousAddrCode: number;
  126. readContinuousAddrLength: number;
  127. byteOrder: string;
  128. byteOrderCode: string;
  129. addrOrder: string;
  130. addrOrderCode: string;
  131. }
  132. export type ProtocolParamData = PageData<ProtocolParamInfo>;
  133. export interface ProtocolParamInfo {
  134. id: number;
  135. createTime: string;
  136. updateTime: string;
  137. createUserId: number;
  138. updateUserId: number;
  139. baseInfoId: number;
  140. platformParamCode: string;
  141. platformParamName: string;
  142. gatewayParamCode: string;
  143. gatewayParamName: string;
  144. paramCode: string;
  145. paramName: string;
  146. unit: string;
  147. module: string;
  148. readWriteType: string;
  149. readWriteTypeCode: string;
  150. readFuncCode: string;
  151. writeFuncCode: string;
  152. registerAddr: string;
  153. addrNumber: string;
  154. registerType: string;
  155. registerTypeCode: string;
  156. parsingType: string;
  157. parsingTypeCode: string;
  158. addrLength: number;
  159. wordLength: number;
  160. wordLengthCode: string;
  161. quantity: number;
  162. coefficient: number;
  163. isHighFreqParam: string;
  164. isHighFreqParamCode: string;
  165. readCalcFormula: string;
  166. writeCalcFormula: string;
  167. decimalPlace: number;
  168. }
  169. export interface ProtocolParamSearchParams extends PageParams {
  170. baseInfoId: number;
  171. paramCode?: string;
  172. paramName?: string;
  173. }
  174. export type ProtocolStandardParamData = PageData<ProtocolStandardParam>;
  175. export interface ProtocolStandardParam {
  176. id: number;
  177. createTime: string;
  178. updateTime: string;
  179. createUserId: number;
  180. updateUserId: number;
  181. paramCode: string;
  182. paramName: string;
  183. unit: string;
  184. module: string;
  185. deviceTypeId: number;
  186. deviceType: string;
  187. enabled: string;
  188. }
  189. export interface ProtocolStandardParamSearchParams extends PageParams {
  190. paramCode?: string;
  191. paramName?: string;
  192. }
  193. export interface RegisterGatewayForm {
  194. snCode: string;
  195. password: string;
  196. modelId: number;
  197. linkType: string;
  198. id: number;
  199. interfaceId?: number;
  200. protocolId?: number;
  201. linkName: string;
  202. protocolName: string;
  203. }
  204. export interface VerificationEquipment {
  205. snCode: string;
  206. password: string;
  207. }
  208. export interface GatewayInformation {
  209. createTime: string;
  210. createUserId: string;
  211. deleted: number;
  212. id: number;
  213. isRegister: number;
  214. modelId: number;
  215. password: string;
  216. snCode: string;
  217. state: number;
  218. updateTime: string;
  219. updateUserId: number;
  220. }
  221. export interface GatewayModelInfo {
  222. createTime: string;
  223. createUserId: string;
  224. deleted: number;
  225. docUrl: string;
  226. iconUrl: string;
  227. id: number;
  228. interfaceId: string;
  229. interfaceNum: string;
  230. modelName: string;
  231. surfMode: string;
  232. surfModeEn: string;
  233. updateTime: string;
  234. updateUserId: string;
  235. }
  236. export interface InterfaceNum {
  237. COM: number;
  238. DI: number;
  239. DO: number;
  240. LAN: number;
  241. WAN: number;
  242. }
  243. export interface EquipmentInformation {
  244. id: number;
  245. state: number;
  246. modelId: number;
  247. docUrl: string;
  248. iconUrl: string;
  249. interfaceNum: string;
  250. modelName: string;
  251. surfMode: string | string[];
  252. surfModeEn: string | string[];
  253. }
  254. export interface GatewayInterface {
  255. comment: string;
  256. createTime: string;
  257. createUserId: string;
  258. deleted: number;
  259. dictCode: string;
  260. dictEngValue: string;
  261. dictValue: string;
  262. enabled: number;
  263. id: number;
  264. isDefault: string;
  265. orderNum: number;
  266. tag: string;
  267. updateTime: string;
  268. updateUserId: string;
  269. }
  270. export interface AddInterface {
  271. interfaceId?: number;
  272. linkName: string;
  273. gatewayId: number;
  274. protocolType: string;
  275. }
  276. export interface InterfaceList {
  277. value: string;
  278. label: string;
  279. }
  280. export interface InterfaceData {
  281. id: number;
  282. createTime: string;
  283. updateTime: string;
  284. createUserId: number;
  285. updateUserId: number;
  286. linkName: string;
  287. gatewayId: number;
  288. interfaceId: number;
  289. protocolType: string;
  290. bindState: number;
  291. dataBit: number;
  292. parityBit: string;
  293. stopBit: string;
  294. baudRate: number;
  295. readTimeout: number;
  296. nextDataReadDelay: number;
  297. nextRoundDataReadDelay: number;
  298. interfaceType: string;
  299. }
  300. export interface AgreementUpdate {
  301. id: number;
  302. linkName: string;
  303. gatewayId: number;
  304. interfaceId: number;
  305. bindState: number;
  306. dataBit: string;
  307. parityBit: string;
  308. stopBit: string;
  309. baudRate: number;
  310. readTimeout: number;
  311. nextDataReadDelay: number;
  312. nextRoundDataReadDelay: number;
  313. }
  314. export interface AgreementData {
  315. protocolType: string;
  316. station: string;
  317. name: string;
  318. protocolName: string;
  319. dev: string;
  320. dataSendInterval: number;
  321. highFreqSendInterval: number;
  322. protocolId: number;
  323. isStandard: string;
  324. }
  325. export interface AgreementForm {
  326. baudRate: number;
  327. dataBit: string;
  328. parityBit: string;
  329. stopBit: string;
  330. readTimeout: number;
  331. nextDataReadDelay: number;
  332. nextRoundDataReadDelay: number;
  333. }
  334. export interface EquipmentGroup {
  335. pageIndex: number;
  336. pageSize: number;
  337. content: string;
  338. }
  339. export interface DeviceGroupItem {
  340. id: number;
  341. createTime: Date | null;
  342. updateTime: Date | null;
  343. createUserId: number | null;
  344. updateUserId: number | null;
  345. groupName: string;
  346. comment: string | null;
  347. parentId: number;
  348. userId: number;
  349. deleted: boolean | null;
  350. deviceGroupChilds: DeviceGroupChild[];
  351. }
  352. export interface DeviceGroupChild {
  353. id: number;
  354. groupName: string;
  355. comment: string | null;
  356. parentId: number;
  357. userId: number;
  358. }
  359. export interface ListInfo {
  360. dataType: number;
  361. }
  362. export interface ProtocolList {
  363. pageIndex: number;
  364. pageSize: number;
  365. }
  366. export interface EquipmentInformationForm {
  367. groupId: number;
  368. deviceData: number[];
  369. deviceType: string;
  370. deviceName: string;
  371. brand: number;
  372. model: number;
  373. modelType: number;
  374. controlType: number;
  375. compressionLevel: number;
  376. voltageLevel: number;
  377. powerRating: string;
  378. powerUnload: string;
  379. maximumFlow: string;
  380. pressure: string;
  381. pressureMax: string;
  382. productionDate: string;
  383. productionNum: string;
  384. deviceNum: string;
  385. mainTechData: string;
  386. mountedPosition: string;
  387. department: string;
  388. respPerson: string;
  389. phone: string;
  390. serviceLife: number;
  391. status: string;
  392. remarks: string;
  393. devId: number;
  394. }
  395. export interface EquipmentTypeItem {
  396. id: number;
  397. createTime: string;
  398. updateTime: string;
  399. createUserId: number;
  400. updateUserId: number;
  401. dataType: number;
  402. dataName: string;
  403. }
  404. export type ProtocolItemData = PageData<ProtocolItem>;
  405. export interface ProtocolItem {
  406. id: number;
  407. createTime: string;
  408. updateTime: string;
  409. createUserId: number;
  410. updateUserId: number;
  411. protocolName: string;
  412. protocolType: string;
  413. deviceTypeId: number | null;
  414. deviceType: string;
  415. dataBit: number;
  416. parityBit: string;
  417. stopBit: string;
  418. baudRate: number;
  419. dataSendInterval: number;
  420. highFreqSendInterval: number;
  421. readTimeout: number | null;
  422. nextDataReadDelay: number;
  423. nextRoundDataReadDelay: number;
  424. addrOrder: string;
  425. addrOrderCode: string;
  426. byteOrder: string;
  427. byteOrderCode: string;
  428. attachment: string;
  429. readContinuousAddr: string;
  430. readContinuousAddrCode: number;
  431. readContinuousAddrLength: number;
  432. }
  433. export interface ProtocolsItem {
  434. /*协议ID */
  435. protocolId: number;
  436. /*从站号 */
  437. station: string;
  438. /*是否平台标准协议 */
  439. isStandard: string;
  440. /*普通数据上报频率 */
  441. dataSendInterval: number;
  442. /*高频发送间隔 */
  443. highFreqSendInterval: number;
  444. }
  445. export interface ProtocolReset {
  446. linkId: number;
  447. protocols: ProtocolsItem[];
  448. }
  449. export interface VerificationAgreement {
  450. id: number;
  451. createTime: string;
  452. updateTime: string;
  453. createUserId: number;
  454. updateUserId: number;
  455. linkId: number;
  456. protocolId: number;
  457. station: number;
  458. isStandard: number;
  459. dataSendInterval: number;
  460. highFreqSendInterval: number;
  461. protocolName: string;
  462. protocolType: string;
  463. }
  464. export interface ProtocolListItem {
  465. pageIndex: number;
  466. pageSize: number;
  467. id?: number;
  468. linkId?: number;
  469. readWriteTypeCode?: string;
  470. }
  471. export type ProtocolListPageItemData = PageData<ProtocolListPageItem>;
  472. export interface ProtocolListPageItem {
  473. id: number;
  474. createTime: string | null;
  475. updateTime: string | null;
  476. createUserId: number | null;
  477. updateUserId: number | null;
  478. baseInfoId: number | null;
  479. platformParamCode: string | null;
  480. platformParamName: string | null;
  481. gatewayParamCode: string;
  482. gatewayParamName: string;
  483. paramCode: string;
  484. paramName: string;
  485. unit: string | null;
  486. module: number;
  487. readWriteType: string | null;
  488. readWriteTypeCode: string | null;
  489. readFuncCode: string | null;
  490. writeFuncCode: string | null;
  491. registerAddr: string | null;
  492. addrNumber: number | null;
  493. registerType: string | null;
  494. registerTypeCode: string | null;
  495. parsingType: string | null;
  496. parsingTypeCode: string | null;
  497. addrLength: number | null;
  498. wordLength: number | null;
  499. wordLengthCode: string | null;
  500. quantity: number | null;
  501. coefficient: number;
  502. isHighFreqParam: boolean | null;
  503. isHighFreqParamCode: string | null;
  504. readCalcFormula: string | null;
  505. writeCalcFormula: string | null;
  506. decimalPlace: number | null;
  507. }
  508. export type SerialNumberItemData = PageData<SerialNumberItem>;
  509. export interface SerialNumberItem {
  510. id: number;
  511. createTime: string;
  512. updateTime: string;
  513. createUserId: number | null;
  514. updateUserId: number | null;
  515. snCode: string;
  516. password: string;
  517. modelId: number;
  518. isRegister: number;
  519. state: number;
  520. deleted: number;
  521. modelName: string;
  522. }
  523. export type ListEquipmentParametersItemData = PageData<ListEquipmentParametersItem>;
  524. export interface ListEquipmentParametersItem {
  525. id: number;
  526. createTime: string;
  527. updateTime: string;
  528. createUserId: number;
  529. updateUserId: number;
  530. baseInfoId: number;
  531. platformParamCode: string | null;
  532. platformParamName: string | null;
  533. gatewayParamCode: string | null;
  534. gatewayParamName: string | null;
  535. paramCode: string;
  536. paramName: string;
  537. unit: string | null;
  538. module: string;
  539. readWriteType: string;
  540. readWriteTypeCode: string;
  541. readFuncCode: string;
  542. writeFuncCode: string | null;
  543. registerAddr: string;
  544. addrNumber: string | null;
  545. registerType: string | null;
  546. registerTypeCode: string | null;
  547. parsingType: string;
  548. parsingTypeCode: string;
  549. addrLength: number;
  550. wordLength: number | null;
  551. wordLengthCode: string | null;
  552. quantity: number | null;
  553. coefficient: number;
  554. isHighFreqParam: string;
  555. isHighFreqParamCode: string;
  556. readCalcFormula: string | null;
  557. writeCalcFormula: string | null;
  558. decimalPlace: number | null;
  559. }
  560. export interface EquipmentUpdateForm {
  561. deviceId: number;
  562. gatewayId: number;
  563. gatewayProtocolId: number;
  564. }
  565. export interface GetListItem {
  566. deviceId: number;
  567. gatewayId?: number;
  568. createUserId?: number;
  569. }
  570. export interface PostProtocolPage {
  571. pageIndex: number;
  572. pageSize: number;
  573. deviceIds: number[];
  574. gatewayIds: number[];
  575. }
  576. export type PostProtocolPageItemData = PageData<PostProtocolPageItem>;
  577. export interface PostProtocolPageItem {
  578. id: number;
  579. createTime: string;
  580. updateTime: string;
  581. createUserId: number;
  582. updateUserId: number;
  583. baseInfoId: number;
  584. platformParamCode?: string;
  585. platformParamName?: string;
  586. gatewayParamCode?: string;
  587. gatewayParamName?: string;
  588. paramCode: string;
  589. paramName: string;
  590. unit?: string;
  591. module: string;
  592. readWriteType: string;
  593. readWriteTypeCode: string;
  594. readFuncCode: string;
  595. writeFuncCode?: string;
  596. registerAddr: string;
  597. addrNumber?: string;
  598. registerType: string;
  599. registerTypeCode?: string;
  600. parsingType: string;
  601. parsingTypeCode: string;
  602. addrLength: number;
  603. wordLength?: string;
  604. wordLengthCode?: string;
  605. quantity?: string;
  606. coefficient: number;
  607. isHighFreqParam: string;
  608. isHighFreqParamCode: string;
  609. readCalcFormula?: string;
  610. writeCalcFormula?: string;
  611. decimalPlace?: number;
  612. deviceName: string;
  613. deviceNum: string;
  614. groupSerialNum: number;
  615. groupParamSerialNum: number;
  616. deviceId: number;
  617. }
  618. export interface ProtocolGatewayListListItem {
  619. pageIndex: number;
  620. pageSize: number;
  621. snCode?: number;
  622. gatewayId?: number;
  623. }
  624. export interface ParameterVerification {
  625. id: number;
  626. deviceParamGroupName: string;
  627. valueVos: ParameterVerificationList[];
  628. }
  629. export interface ParameterVerificationList {
  630. baseInfoId: number;
  631. platformParamCode: string;
  632. platformParamName: string;
  633. gatewayParamCode: string;
  634. gatewayParamName: string;
  635. paramCode: string;
  636. paramName: string;
  637. unit: string;
  638. module: string;
  639. readWriteType: string;
  640. readWriteTypeCode: string;
  641. readFuncCode: string;
  642. writeFuncCode: string;
  643. registerAddr: string;
  644. addrNumber: string;
  645. registerType: string;
  646. registerTypeCode: string;
  647. parsingType: string;
  648. parsingTypeCode: string;
  649. addrLength: number;
  650. wordLength: string;
  651. wordLengthCode: string;
  652. quantity: number;
  653. coefficient: number;
  654. isHighFreqParam: string;
  655. isHighFreqParamCode: string;
  656. readCalcFormula: string;
  657. writeCalcFormula: string;
  658. decimalPlace: number;
  659. valueId: number;
  660. value: number | string;
  661. }
  662. export interface GroupingList {
  663. groupName: string;
  664. serialNum?: number;
  665. deviceId: number;
  666. }
  667. export interface GroupingListData {
  668. id: number;
  669. createTime: string;
  670. updateTime: string;
  671. createUserId: number;
  672. updateUserId: number;
  673. groupName: string;
  674. deviceId: number;
  675. serialNum: number;
  676. }
  677. export interface DevicesList {
  678. pageIndex: number;
  679. pageSize: number;
  680. groupId?: number;
  681. deviceType?: number;
  682. searchContent?: string;
  683. }
  684. export interface ListInterfaces {
  685. id: number;
  686. createTime: string;
  687. updateTime: string;
  688. createUserId: number;
  689. updateUserId: number;
  690. modelId: number;
  691. interfaceType: string;
  692. name: string;
  693. }
  694. export interface ListPhysicalInterfaces {
  695. id: number;
  696. createTime: string;
  697. updateTime: string;
  698. createUserId: number;
  699. updateUserId: number;
  700. interfaceId: number;
  701. protocolName: string;
  702. orderNum: number;
  703. }
  704. export interface CustomizationData {
  705. paramNum: string;
  706. paramName: string;
  707. customFormula: string;
  708. unit: string;
  709. decimalDigits?: number;
  710. paramGroupId?: number;
  711. groupSerialNum?: number;
  712. groupParamSerialNum?: number;
  713. isProcessData: boolean;
  714. }
  715. export interface CustomParameters {
  716. customFormula: string;
  717. unit: string;
  718. decimalDigits?: number;
  719. deviceId: number;
  720. isProcessData: boolean;
  721. }
  722. export interface SubmitSorting {
  723. protocolParamId?: number;
  724. paramGroupId?: number;
  725. serialNum?: number;
  726. paramType?: number;
  727. }
  728. export type DevicesListItemData = PageData<DevicesListItem>;
  729. export interface DevicesListItem {
  730. name: string;
  731. }