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.

465 lines
9.0 KiB

8 months ago
8 months ago
  1. import Mock from 'mockjs'
  2. const BaseUrl = 'http://localhost:5173'
  3. import type { TubeRackResponse } from '../../types/Index'
  4. import { TubeState } from '../../types/Index'
  5. //孵育盘列表
  6. const runningList = [
  7. {
  8. pos: 'SPACE01',
  9. state: 'EMPTY',
  10. bloodType: 'WHOLE_BLOOD',
  11. sampleBarcode: '',
  12. userid: '',
  13. projInfo: {
  14. //当前反应板夹做的项目的相关信息
  15. projId: 0,
  16. projName: '',
  17. projShortName: '',
  18. color: '',
  19. },
  20. startIncubatedTime: 0, //开始时间特殊处理下,有获取的时候时间已经开始了
  21. incubatedTimeSec: 30, //本项目需要孵育多久
  22. sampleId: '1',
  23. projId: 0,
  24. errors: [], //由于先推进去,发现缺液,取tip没有了,这个反应板就不要了,就设置成错误
  25. },
  26. {
  27. pos: 'SPACE02',
  28. state: 'EMPTY',
  29. bloodType: 'WHOLE_BLOOD',
  30. sampleBarcode: '',
  31. userid: '',
  32. projInfo: {
  33. projId: 0,
  34. projName: '',
  35. projShortName: '',
  36. color: '',
  37. },
  38. startIncubatedTime: 0,
  39. incubatedTimeSec: 0,
  40. sampleId: '',
  41. projId: 0,
  42. errors: [],
  43. },
  44. {
  45. pos: 'SPACE03',
  46. state: 'EMPTY',
  47. bloodType: 'WHOLE_BLOOD',
  48. sampleBarcode: '',
  49. userid: '',
  50. projInfo: {
  51. projId: 0,
  52. projName: '',
  53. projShortName: '',
  54. color: '',
  55. },
  56. startIncubatedTime: 0,
  57. incubatedTimeSec: 0,
  58. sampleId: '',
  59. projId: 0,
  60. errors: [],
  61. },
  62. {
  63. pos: 'SPACE04',
  64. state: 'EMPTY',
  65. bloodType: 'WHOLE_BLOOD',
  66. sampleBarcode: '',
  67. userid: '',
  68. projInfo: {
  69. projId: 0,
  70. projName: '',
  71. projShortName: '',
  72. color: '',
  73. },
  74. startIncubatedTime: 0,
  75. incubatedTimeSec: 0,
  76. sampleId: '',
  77. projId: 0,
  78. errors: [],
  79. },
  80. {
  81. pos: 'SPACE05',
  82. state: 'EMPTY',
  83. bloodType: 'WHOLE_BLOOD',
  84. sampleBarcode: '',
  85. userid: '',
  86. projInfo: {
  87. projId: 0,
  88. projName: '',
  89. projShortName: '',
  90. color: '',
  91. },
  92. startIncubatedTime: 0,
  93. incubatedTimeSec: 0,
  94. sampleId: '',
  95. projId: 0,
  96. errors: [],
  97. },
  98. {
  99. pos: 'SPACE06',
  100. state: 'EMPTY',
  101. bloodType: 'WHOLE_BLOOD',
  102. sampleBarcode: '',
  103. userid: '',
  104. projInfo: {
  105. projId: 0,
  106. projName: '',
  107. projShortName: '',
  108. color: '',
  109. },
  110. startIncubatedTime: 0,
  111. incubatedTimeSec: 0,
  112. sampleId: '',
  113. projId: 0,
  114. errors: [],
  115. },
  116. {
  117. pos: 'SPACE07',
  118. state: 'EMPTY',
  119. bloodType: 'WHOLE_BLOOD',
  120. sampleBarcode: '',
  121. userid: '',
  122. projInfo: {
  123. projId: 0,
  124. projName: '',
  125. projShortName: '',
  126. color: '',
  127. },
  128. startIncubatedTime: 0,
  129. incubatedTimeSec: 0,
  130. sampleId: '',
  131. projId: 0,
  132. errors: [],
  133. },
  134. {
  135. pos: 'SPACE08',
  136. state: 'EMPTY',
  137. bloodType: 'WHOLE_BLOOD',
  138. sampleBarcode: '',
  139. userid: '',
  140. projInfo: {
  141. projId: 0,
  142. projName: '',
  143. projShortName: '',
  144. color: '',
  145. },
  146. startIncubatedTime: 0,
  147. incubatedTimeSec: 0,
  148. sampleId: '',
  149. projId: 0,
  150. errors: [],
  151. },
  152. {
  153. pos: 'SPACE09',
  154. state: 'EMPTY',
  155. bloodType: 'WHOLE_BLOOD',
  156. sampleBarcode: '',
  157. userid: '',
  158. projInfo: {
  159. projId: 0,
  160. projName: '',
  161. projShortName: '',
  162. color: '',
  163. },
  164. startIncubatedTime: 0,
  165. incubatedTimeSec: 0,
  166. sampleId: '',
  167. projId: 0,
  168. errors: [],
  169. },
  170. {
  171. pos: 'SPACE10',
  172. state: 'EMPTY',
  173. bloodType: 'WHOLE_BLOOD',
  174. sampleBarcode: '',
  175. userid: '',
  176. projInfo: {
  177. projId: 0,
  178. projName: '',
  179. projShortName: '',
  180. color: '',
  181. },
  182. startIncubatedTime: 0,
  183. incubatedTimeSec: 0,
  184. sampleId: '',
  185. projId: 0,
  186. errors: [],
  187. },
  188. {
  189. pos: 'SPACE11',
  190. state: 'EMPTY',
  191. bloodType: 'WHOLE_BLOOD',
  192. sampleBarcode: '',
  193. userid: '',
  194. projInfo: {
  195. projId: 0,
  196. projName: '',
  197. projShortName: '',
  198. color: '',
  199. },
  200. startIncubatedTime: 0,
  201. incubatedTimeSec: 0,
  202. sampleId: '',
  203. projId: 0,
  204. errors: [],
  205. },
  206. {
  207. pos: 'SPACE12',
  208. state: 'EMPTY',
  209. bloodType: 'WHOLE_BLOOD',
  210. sampleBarcode: '',
  211. userid: '',
  212. projInfo: {
  213. projId: 0,
  214. projName: '',
  215. projShortName: '',
  216. color: '',
  217. },
  218. startIncubatedTime: 0,
  219. incubatedTimeSec: 0,
  220. sampleId: '',
  221. projId: 0,
  222. errors: [],
  223. },
  224. {
  225. pos: 'SPACE13',
  226. state: 'EMPTY',
  227. bloodType: 'WHOLE_BLOOD',
  228. sampleBarcode: '',
  229. userid: '',
  230. projInfo: {
  231. projId: 0,
  232. projName: '',
  233. projShortName: '',
  234. color: '',
  235. },
  236. startIncubatedTime: 0,
  237. incubatedTimeSec: 0,
  238. sampleId: '',
  239. projId: 0,
  240. errors: [],
  241. },
  242. {
  243. pos: 'SPACE14',
  244. state: 'EMPTY',
  245. bloodType: 'WHOLE_BLOOD',
  246. sampleBarcode: '',
  247. userid: '',
  248. projInfo: {
  249. projId: 0,
  250. projName: '',
  251. projShortName: '',
  252. color: '',
  253. },
  254. startIncubatedTime: 0,
  255. incubatedTimeSec: 0,
  256. sampleId: '',
  257. projId: 0,
  258. errors: [],
  259. },
  260. {
  261. pos: 'SPACE15',
  262. state: 'EMPTY',
  263. bloodType: 'WHOLE_BLOOD',
  264. sampleBarcode: '',
  265. userid: '',
  266. projInfo: {
  267. projId: 0,
  268. projName: '',
  269. projShortName: '',
  270. color: '',
  271. },
  272. startIncubatedTime: 0,
  273. incubatedTimeSec: 0,
  274. sampleId: '',
  275. projId: 0,
  276. errors: [],
  277. },
  278. {
  279. pos: 'SPACE16',
  280. state: 'EMPTY',
  281. bloodType: 'WHOLE_BLOOD',
  282. sampleBarcode: '',
  283. userid: '',
  284. projInfo: {
  285. projId: 0,
  286. projName: '',
  287. projShortName: '',
  288. color: '',
  289. },
  290. startIncubatedTime: 0,
  291. incubatedTimeSec: 0,
  292. sampleId: '',
  293. projId: 0,
  294. errors: [],
  295. },
  296. {
  297. pos: 'SPACE17',
  298. state: 'EMPTY',
  299. bloodType: 'WHOLE_BLOOD',
  300. sampleBarcode: '',
  301. userid: '',
  302. projInfo: {
  303. projId: 0,
  304. projName: '',
  305. projShortName: '',
  306. color: '',
  307. },
  308. startIncubatedTime: 0,
  309. incubatedTimeSec: 0,
  310. sampleId: '',
  311. projId: 0,
  312. errors: [],
  313. },
  314. {
  315. pos: 'SPACE18',
  316. state: 'EMPTY',
  317. bloodType: 'WHOLE_BLOOD',
  318. sampleBarcode: '',
  319. userid: '',
  320. projInfo: {
  321. projId: 0,
  322. projName: '',
  323. projShortName: '',
  324. color: '',
  325. },
  326. startIncubatedTime: 0,
  327. incubatedTimeSec: 0,
  328. sampleId: '',
  329. projId: 0,
  330. errors: [],
  331. },
  332. ]
  333. //试管架信息
  334. const mockTubeRackResponse: TubeRackResponse = {
  335. // @ts-ignore
  336. data: {
  337. tubes: [
  338. {
  339. pos: 1,
  340. isHighTube: false,
  341. isEmergency: true,
  342. bloodType: 'WHOLE_BLOOD',
  343. sampleBarcode: 'S123456',
  344. userid: 'U001',
  345. projInfo: [
  346. {
  347. projId: 1,
  348. projName: 'hscRP',
  349. projShortName: 'CA',
  350. color: '#FFC0CB',
  351. },
  352. ],
  353. projProcessOff: 0,
  354. state: TubeState.PROCESSING,
  355. errors: [],
  356. projIndexStrList: ['1'],
  357. projIds: [1],
  358. },
  359. {
  360. pos: 2,
  361. isHighTube: false,
  362. isEmergency: false,
  363. bloodType: 'SERUM',
  364. sampleBarcode: 'S654321',
  365. userid: 'U002',
  366. projInfo: [
  367. {
  368. projId: 2,
  369. projName: 'FA02',
  370. projShortName: 'FA',
  371. color: '#DC143C',
  372. },
  373. ],
  374. projProcessOff: 10,
  375. state: TubeState.TO_BE_PROCESSED,
  376. errors: [],
  377. projIndexStrList: ['2'],
  378. projIds: [2],
  379. },
  380. {
  381. pos: 3,
  382. isHighTube: false,
  383. isEmergency: false,
  384. bloodType: 'WHOLE_BLOOD',
  385. sampleBarcode: '',
  386. userid: '',
  387. projInfo: [],
  388. projProcessOff: 0,
  389. state: TubeState.EMPTY,
  390. errors: [],
  391. projIndexStrList: [],
  392. projIds: [],
  393. },
  394. {
  395. pos: 4,
  396. isHighTube: true,
  397. isEmergency: false,
  398. bloodType: 'WHOLE_BLOOD',
  399. sampleBarcode: 'S789012',
  400. userid: 'U003',
  401. projInfo: [
  402. {
  403. projId: 3,
  404. projName: 'FA03',
  405. projShortName: 'FA',
  406. color: '#DB7093',
  407. },
  408. ],
  409. projProcessOff: 5,
  410. state: TubeState.PENDING,
  411. errors: ['低液量警告'],
  412. projIndexStrList: ['3'],
  413. projIds: [3],
  414. },
  415. {
  416. pos: 5,
  417. isHighTube: false,
  418. isEmergency: false,
  419. bloodType: 'WHOLE_BLOOD',
  420. sampleBarcode: 'S456789',
  421. userid: 'U004',
  422. projInfo: [
  423. {
  424. projId: 4,
  425. projName: 'FA04',
  426. projShortName: 'FA',
  427. color: '#FF69B4',
  428. },
  429. ],
  430. projProcessOff: 0,
  431. state: TubeState.PRE_PROCESSED,
  432. errors: [],
  433. projIndexStrList: ['4'],
  434. projIds: [4],
  435. },
  436. ],
  437. state: 'PROCESSING',
  438. hasTubeToBeProcessed: true,
  439. },
  440. timestamp: Date.now(),
  441. success: true,
  442. }
  443. //获取孵育盘列表
  444. Mock.mock(
  445. BaseUrl + '/api/v1/app/deviceState/getOptScanModuleState',
  446. 'post',
  447. () => {
  448. return {
  449. dataType: 'IncubationPlate',
  450. data: runningList,
  451. timestamp: Date.now(),
  452. success: true,
  453. }
  454. },
  455. )
  456. //获取试管架状态
  457. Mock.mock(
  458. BaseUrl + '/api/v1/app/deviceState/getTubeHolderState',
  459. 'post',
  460. () => {
  461. return mockTubeRackResponse
  462. },
  463. )