A8000
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

638 lines
14 KiB

8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
  1. import Mock from 'mockjs'
  2. // 导入所有的类型
  3. import type {
  4. ConsumablesScanResultData,
  5. ConsumablesOneChannel,
  6. } from '../../types/Index/index'
  7. const consumablesScanResultData: ConsumablesScanResultData = Mock.mock({
  8. scanReports: [
  9. //扫描后应该给用户一个反馈,反馈信息根据这个结果来给用户呈现,弹窗呈现
  10. {
  11. chNum: 0,
  12. report: 'PASS', //PASS表示扫描没问题,详细信息查看 scanResult.state包含的种类
  13. projId: 1,
  14. lotId: 'FA010000',
  15. },
  16. {
  17. chNum: 1,
  18. report: 'PASS',
  19. projId: 2,
  20. lotId: 'FA020000',
  21. },
  22. {
  23. chNum: 2,
  24. report: 'PASS',
  25. projId: 3,
  26. lotId: 'FA030000',
  27. },
  28. {
  29. chNum: 3,
  30. report: 'PASS',
  31. projId: 4,
  32. lotId: 'FA040000',
  33. },
  34. {
  35. chNum: 4,
  36. report: 'PASS',
  37. projId: 5,
  38. lotId: 'FA050000',
  39. },
  40. {
  41. chNum: 5,
  42. report: 'PASS',
  43. projId: 6,
  44. lotId: 'FA060000',
  45. },
  46. ],
  47. scanRawResults: [
  48. {
  49. chNum: 0,
  50. PBScanResult: '1||FA010000||2024.10.29||0||0',
  51. littBSScanResult: 'FA010000',
  52. larBSScanResult: 'FA010000',
  53. },
  54. {
  55. chNum: 1,
  56. PBScanResult: '1||FA020000||2024.10.29||0||0',
  57. littBSScanResult: 'FA020000',
  58. larBSScanResult: 'FA020000',
  59. },
  60. {
  61. chNum: 2,
  62. PBScanResult: '1||FA030000||2024.10.29||0||0',
  63. littBSScanResult: 'FA030000',
  64. larBSScanResult: 'FA030000',
  65. },
  66. {
  67. chNum: 3,
  68. PBScanResult: '1||FA040000||2024.10.29||0||0',
  69. littBSScanResult: 'FA040000',
  70. larBSScanResult: 'FA040000',
  71. },
  72. {
  73. chNum: 4,
  74. PBScanResult: '1||FA050000||2024.10.29||0||0',
  75. littBSScanResult: 'FA050000',
  76. larBSScanResult: 'FA050000',
  77. },
  78. {
  79. chNum: 5,
  80. PBScanResult: '1||FA060000||2024.10.29||0||0',
  81. littBSScanResult: 'FA060000',
  82. larBSScanResult: 'FA060000',
  83. },
  84. ],
  85. consumableState: {
  86. scanDate: 1730195920858,
  87. tips: [
  88. {
  89. tipNum: 20,
  90. //tip头数量,第一次扫描后台返回0,当前端设置了数量后,当再次扫描是这个数量就会变成前端的设置值
  91. },
  92. {
  93. tipNum: 30,
  94. },
  95. {
  96. tipNum: 40,
  97. },
  98. ],
  99. reactionPlateGroup: [
  100. //反应板夹
  101. {
  102. projId: 1, //项目编号,项目唯一ID,在配置试管页面选择项目时传递的是projIndex,以后改成projId
  103. projName: 'hscRP', //项目名称
  104. projShortName: 'CA', //缩写名称(页面显示这个名称)
  105. lotId: 'CAHAC46U', //批次号(会存在一个项目有两个批次号)
  106. color: '#FFC0CB', //UI颜色,后台分配,前端直接显示
  107. enable: false, //忽略掉,暂时没用
  108. num: 25, //第一次扫描后台返回25,当前端设置了数量后,当再次扫描是这个数量就会变成前端的设置值
  109. },
  110. {
  111. projId: 2,
  112. projName: 'FA02',
  113. projShortName: 'FA',
  114. color: '#DC143C',
  115. lotId: 'FA020000',
  116. num: 25,
  117. },
  118. {
  119. projId: 3,
  120. projName: 'FA03',
  121. projShortName: 'FA',
  122. lotId: 'FA030000',
  123. color: '#DB7093',
  124. num: 25,
  125. },
  126. {
  127. projId: 4,
  128. projName: 'FA04',
  129. projShortName: 'FA',
  130. lotId: 'FA040000',
  131. color: '#FF69B4',
  132. num: 25,
  133. },
  134. {
  135. projId: 5,
  136. projName: 'FA05',
  137. projShortName: 'FA',
  138. lotId: 'FA050000',
  139. color: '#FF1493',
  140. num: 25,
  141. },
  142. {
  143. projId: 6,
  144. projName: 'FA06',
  145. projShortName: 'FA',
  146. lotId: 'FA060000',
  147. color: '#C71585',
  148. num: 25,
  149. },
  150. ],
  151. littBottleGroup: [
  152. //小缓冲液或者探测物质
  153. {
  154. projId: 1,
  155. projName: 'FA01',
  156. projShortName: 'FA',
  157. type: 'BufferSolution', //项目组合有两种方式 1:反应板夹+小缓冲液 2:反应板夹+探测物质+大缓冲液
  158. lotId: 'FA010000',
  159. color: '#FFC0CB',
  160. num: 25, //第一次扫描后台返回25,当前端设置了数量后,当再次扫描是这个数量就会变成前端的设置值
  161. },
  162. {
  163. projId: 2,
  164. projName: 'FA02',
  165. projShortName: 'FA',
  166. type: 'ProbeSubstance',
  167. lotId: 'FA020000',
  168. color: '#DC143C',
  169. num: 25,
  170. },
  171. {
  172. projId: 3,
  173. projName: 'FA03',
  174. projShortName: 'FA',
  175. type: 'BufferSolution',
  176. lotId: 'FA030000',
  177. color: '#DB7093',
  178. num: 25,
  179. },
  180. {
  181. projId: 4,
  182. projName: 'FA04',
  183. projShortName: 'FA',
  184. type: 'ProbeSubstance',
  185. lotId: 'FA040000',
  186. color: '#FF69B4',
  187. num: 25,
  188. },
  189. {
  190. projId: 5,
  191. projName: 'FA05',
  192. projShortName: 'FA',
  193. type: 'ProbeSubstance',
  194. lotId: 'FA050000',
  195. color: '#FF1493',
  196. num: 25,
  197. },
  198. {
  199. projId: 6,
  200. projName: 'FA06',
  201. projShortName: 'FA',
  202. type: 'ProbeSubstance',
  203. lotId: 'FA060000',
  204. color: '#C71585',
  205. num: 25,
  206. },
  207. ],
  208. larBottleGroup: [
  209. {
  210. lotId: '',
  211. color: '',
  212. num: 0,
  213. isInstall: false,
  214. },
  215. {
  216. projId: 2,
  217. projName: 'FA02',
  218. projShortName: 'FA',
  219. lotId: 'FA020000',
  220. color: '#DC143C',
  221. num: 25,
  222. isInstall: true,
  223. },
  224. {
  225. lotId: '',
  226. color: '',
  227. num: 0,
  228. isInstall: false,
  229. },
  230. {
  231. projId: 4,
  232. projName: 'FA04',
  233. projShortName: 'FA',
  234. lotId: 'FA040000',
  235. color: '#FF69B4',
  236. num: 25,
  237. isInstall: true,
  238. },
  239. {
  240. projId: 5,
  241. projName: 'FA05',
  242. projShortName: 'FA',
  243. lotId: 'FA050000',
  244. color: '#FF1493',
  245. num: 25,
  246. isInstall: true,
  247. },
  248. {
  249. projId: 6,
  250. projName: 'FA06',
  251. projShortName: 'FA',
  252. lotId: 'FA060000',
  253. color: '#C71585',
  254. num: 25,
  255. isInstall: true,
  256. },
  257. ],
  258. },
  259. })
  260. const consumableOneChannelData: ConsumablesOneChannel = Mock.mock({
  261. scanReport: {
  262. chNum: 0,
  263. report: 'PASS',
  264. projId: 1,
  265. lotId: 'FA010000',
  266. },
  267. scanRawResult: {
  268. chNum: 0,
  269. PBScanResult: '1||FA010000||2024.10.29||0||0',
  270. littBSScanResult: 'FA010000',
  271. larBSScanResult: 'FA010000',
  272. },
  273. consumableState: {
  274. scanDate: 1730195920858,
  275. tips: [
  276. {
  277. tipNum: 0,
  278. //tip头数量,第一次扫描后台返回0,当前端设置了数量后,当再次扫描是这个数量就会变成前端的设置值
  279. },
  280. {
  281. tipNum: 0,
  282. },
  283. {
  284. tipNum: 0,
  285. },
  286. ],
  287. reactionPlateGroup: [
  288. //反应板夹
  289. {
  290. projId: 1, //项目编号,项目唯一ID,在配置试管页面选择项目时传递的是projIndex,以后改成projId
  291. projName: 'hscRP', //项目名称
  292. projShortName: 'CA', //缩写名称(页面显示这个名称)
  293. lotId: 'CAHAC46U', //批次号(会存在一个项目有两个批次号)
  294. color: '#FFC0CB', //UI颜色,后台分配,前端直接显示
  295. enable: false, //忽略掉,暂时没用
  296. num: 25, //第一次扫描后台返回25,当前端设置了数量后,当再次扫描是这个数量就会变成前端的设置值
  297. },
  298. {
  299. projId: 2,
  300. projName: 'FA02',
  301. projShortName: 'FA',
  302. lotId: 'FA020000',
  303. color: '#DC143C',
  304. num: 25,
  305. },
  306. {
  307. projId: 3,
  308. projName: 'FA03',
  309. projShortName: 'FA',
  310. lotId: 'FA030000',
  311. color: '#DB7093',
  312. num: 25,
  313. },
  314. {
  315. projId: 4,
  316. projName: 'FA04',
  317. projShortName: 'FA',
  318. lotId: 'FA040000',
  319. color: '#FF69B4',
  320. num: 25,
  321. },
  322. {
  323. projId: 5,
  324. projName: 'FA05',
  325. projShortName: 'FA',
  326. lotId: 'FA050000',
  327. color: '#FF1493',
  328. num: 25,
  329. },
  330. {
  331. projId: 6,
  332. projName: 'FA06',
  333. projShortName: 'FA',
  334. lotId: 'FA060000',
  335. color: '#C71585',
  336. num: 25,
  337. },
  338. ],
  339. littBottleGroup: [
  340. //小缓冲液或者探测物质
  341. {
  342. projId: 1,
  343. projName: 'FA01',
  344. projShortName: 'FA',
  345. type: 'BufferSolution', //项目组合有两种方式 1:反应板夹+小缓冲液 2:反应板夹+探测物质+大缓冲液
  346. lotId: 'FA010000',
  347. color: '#FFC0CB',
  348. num: 25, //第一次扫描后台返回25,当前端设置了数量后,当再次扫描是这个数量就会变成前端的设置值
  349. },
  350. {
  351. projId: 2,
  352. projName: 'FA02',
  353. projShortName: 'FA',
  354. type: 'ProbeSubstance',
  355. lotId: 'FA020000',
  356. color: '#DC143C',
  357. num: 25,
  358. },
  359. {
  360. projId: 3,
  361. projName: 'FA03',
  362. projShortName: 'FA',
  363. type: 'BufferSolution',
  364. lotId: 'FA030000',
  365. color: '#DB7093',
  366. num: 25,
  367. },
  368. {
  369. projId: 4,
  370. projName: 'FA04',
  371. projShortName: 'FA',
  372. type: 'ProbeSubstance',
  373. lotId: 'FA040000',
  374. color: '#FF69B4',
  375. num: 25,
  376. },
  377. {
  378. projId: 5,
  379. projName: 'FA05',
  380. projShortName: 'FA',
  381. type: 'ProbeSubstance',
  382. lotId: 'FA050000',
  383. color: '#FF1493',
  384. num: 25,
  385. },
  386. {
  387. projId: 6,
  388. projName: 'FA06',
  389. projShortName: 'FA',
  390. type: 'ProbeSubstance',
  391. lotId: 'FA060000',
  392. color: '#C71585',
  393. num: 25,
  394. },
  395. ],
  396. larBottleGroup: [
  397. {
  398. lotId: '',
  399. color: '',
  400. num: 0,
  401. isInstall: false,
  402. },
  403. {
  404. projId: 2,
  405. projName: 'FA02',
  406. projShortName: 'FA',
  407. lotId: 'FA020000',
  408. color: '#DC143C',
  409. num: 25,
  410. isInstall: true,
  411. },
  412. {
  413. lotId: '',
  414. color: '',
  415. num: 0,
  416. isInstall: false,
  417. },
  418. {
  419. projId: 4,
  420. projName: 'FA04',
  421. projShortName: 'FA',
  422. lotId: 'FA040000',
  423. color: '#FF69B4',
  424. num: 25,
  425. isInstall: true,
  426. },
  427. {
  428. projId: 5,
  429. projName: 'FA05',
  430. projShortName: 'FA',
  431. lotId: 'FA050000',
  432. color: '#FF1493',
  433. num: 25,
  434. isInstall: true,
  435. },
  436. {
  437. projId: 6,
  438. projName: 'FA06',
  439. projShortName: 'FA',
  440. lotId: 'FA060000',
  441. color: '#C71585',
  442. num: 25,
  443. isInstall: true,
  444. },
  445. ],
  446. },
  447. })
  448. const BaseUrl = 'http://localhost:5173'
  449. //id卡信息
  450. const idCardInfo = [
  451. {
  452. id: 7,
  453. color: '#FFC0CB',
  454. projName: 'hsCRP',
  455. lotId: 'CAHAC46U',
  456. expiryDate: 1725638400000,
  457. projId: 1,
  458. palteCode: 9,
  459. updateChipVersion: 5,
  460. },
  461. {
  462. id: 6,
  463. color: '#C71585',
  464. projName: 'FA06',
  465. lotId: 'FA060000',
  466. expiryDate: 1730282880209,
  467. projId: 6,
  468. palteCode: 0,
  469. updateChipVersion: 1,
  470. },
  471. {
  472. id: 5,
  473. color: '#FF1493',
  474. projName: 'FA05',
  475. lotId: 'FA050000',
  476. expiryDate: 1730282880202,
  477. projId: 5,
  478. palteCode: 0,
  479. updateChipVersion: 1,
  480. },
  481. {
  482. id: 4,
  483. color: '#FF69B4',
  484. projName: 'FA04',
  485. lotId: 'FA040000',
  486. expiryDate: 1730282880191,
  487. projId: 4,
  488. palteCode: 0,
  489. updateChipVersion: 1,
  490. },
  491. {
  492. id: 3,
  493. color: '#DB7093',
  494. projName: 'FA03',
  495. lotId: 'FA030000',
  496. expiryDate: 1730282880183,
  497. projId: 3,
  498. palteCode: 0,
  499. updateChipVersion: 1,
  500. },
  501. ]
  502. //耗材扫描接口
  503. Mock.mock(
  504. BaseUrl + '/api/v1/app/consumableScan/scanConsumables',
  505. 'post',
  506. () => {
  507. return {
  508. dataType: 'ConsumablesScanResultPacket',
  509. data: consumablesScanResultData,
  510. timestamp: 1730195948938,
  511. success: true,
  512. }
  513. },
  514. )
  515. //耗材扫描单组接口
  516. Mock.mock(
  517. BaseUrl + '/api/v1/app/consumableScan/scanOneGroupConsumables',
  518. 'post',
  519. () => {
  520. return {
  521. dataType: 'ConsumablesOneChannelScanResultPacket',
  522. data: consumableOneChannelData,
  523. timestamp: 1730196482827,
  524. success: true,
  525. }
  526. },
  527. )
  528. //修改反应板夹的数量接口
  529. Mock.mock(
  530. BaseUrl + '/api/v1/app/consumablesMgr/setCounsumableNum',
  531. 'post',
  532. (options) => {
  533. const body = JSON.parse(options.body)
  534. console.log(body)
  535. return {
  536. timestamp: 1730196482827,
  537. success: true,
  538. }
  539. },
  540. )
  541. const wasteData = Mock.mock({
  542. pboxTemperature: 25, //可能是处理箱的温度?
  543. incubateBoxTemperature: 25, //孵育箱的温度
  544. wasteBinFullFlag: '@boolean', //废料仓状态
  545. })
  546. const idEventList = ['AppIDCardMountEvent', 'AppIDCardUnmountEvent']
  547. //模拟id卡事件
  548. const idCardEvent = Mock.mock({
  549. //从idEventList中随机选择一个
  550. typeName: `@pick(${idEventList})`,
  551. })
  552. //废料区接口查询
  553. Mock.mock(BaseUrl + '/api/v1/app/deviceState/getSensorState', 'post', () => {
  554. return {
  555. dataType: 'SensorState',
  556. data: wasteData,
  557. timestamp: 1730202043994,
  558. success: true,
  559. }
  560. })
  561. //id卡信息查询
  562. Mock.mock(BaseUrl + '/api/v1/app/a8kProjectCard/get', 'post', () => {
  563. return {
  564. dataType: 'IdCardInfo',
  565. data: {
  566. pageNum: 0,
  567. pageSize: 5,
  568. totalPage: 2,
  569. total: 7,
  570. list: idCardInfo,
  571. },
  572. timestamp: Date.now(),
  573. success: true,
  574. }
  575. })
  576. //id卡事件查询
  577. Mock.mock(BaseUrl + '/api/v1/idcard/event', 'post', () => {
  578. if (idCardEvent.typeName === 'AppIDCardMountEvent') {
  579. return {
  580. dataType: 'ArrayList',
  581. data: [
  582. {
  583. typeName: 'AppIDCardMountEvent',
  584. timestamp: 1730185235,
  585. projectInfo: {
  586. id: 0,
  587. projName: 'hsCRP',
  588. lotId: 'CAHAC46U',
  589. expiryDate: 1725638400000,
  590. projId: 1,
  591. palteCode: 9,
  592. updateChipVersion: 5,
  593. },
  594. },
  595. ],
  596. timestamp: 1730185238982,
  597. success: true,
  598. }
  599. } else {
  600. return {
  601. dataType: 'ArrayList',
  602. data: [
  603. {
  604. typeName: 'AppIDCardUnmountEvent',
  605. timestamp: 1730185276,
  606. },
  607. ],
  608. timestamp: 1730185281523,
  609. success: true,
  610. }
  611. }
  612. })
  613. //保存id
  614. Mock.mock(
  615. BaseUrl + '/api/v1/app/a8kProjectCard/saveMountedCardInfo',
  616. 'post',
  617. () => {
  618. return {
  619. timestamp: 1730197044478,
  620. success: true,
  621. }
  622. },
  623. )