forked from gzt/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
465 lines
9.0 KiB
import Mock from 'mockjs'
|
|
const BaseUrl = 'http://localhost:5173'
|
|
import type { TubeRackResponse } from '../../types/Index'
|
|
import { TubeState } from '../../types/Index'
|
|
//孵育盘列表
|
|
const runningList = [
|
|
{
|
|
pos: 'SPACE01',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
//当前反应板夹做的项目的相关信息
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0, //开始时间特殊处理下,有获取的时候时间已经开始了
|
|
incubatedTimeSec: 30, //本项目需要孵育多久
|
|
sampleId: '1',
|
|
projId: 0,
|
|
errors: [], //由于先推进去,发现缺液,取tip没有了,这个反应板就不要了,就设置成错误
|
|
},
|
|
{
|
|
pos: 'SPACE02',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE03',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE04',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE05',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE06',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE07',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE08',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE09',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE10',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE11',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE12',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE13',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE14',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE15',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE16',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE17',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
{
|
|
pos: 'SPACE18',
|
|
state: 'EMPTY',
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: {
|
|
projId: 0,
|
|
projName: '',
|
|
projShortName: '',
|
|
color: '',
|
|
},
|
|
startIncubatedTime: 0,
|
|
incubatedTimeSec: 0,
|
|
sampleId: '',
|
|
projId: 0,
|
|
errors: [],
|
|
},
|
|
]
|
|
//试管架信息
|
|
const mockTubeRackResponse: TubeRackResponse = {
|
|
// @ts-ignore
|
|
data: {
|
|
tubes: [
|
|
{
|
|
pos: 1,
|
|
isHighTube: false,
|
|
isEmergency: true,
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: 'S123456',
|
|
userid: 'U001',
|
|
projInfo: [
|
|
{
|
|
projId: 1,
|
|
projName: 'hscRP',
|
|
projShortName: 'CA',
|
|
color: '#FFC0CB',
|
|
},
|
|
],
|
|
projProcessOff: 0,
|
|
state: TubeState.PROCESSING,
|
|
errors: [],
|
|
projIndexStrList: ['1'],
|
|
projIds: [1],
|
|
},
|
|
{
|
|
pos: 2,
|
|
isHighTube: false,
|
|
isEmergency: false,
|
|
bloodType: 'SERUM',
|
|
sampleBarcode: 'S654321',
|
|
userid: 'U002',
|
|
projInfo: [
|
|
{
|
|
projId: 2,
|
|
projName: 'FA02',
|
|
projShortName: 'FA',
|
|
color: '#DC143C',
|
|
},
|
|
],
|
|
projProcessOff: 10,
|
|
state: TubeState.TO_BE_PROCESSED,
|
|
errors: [],
|
|
projIndexStrList: ['2'],
|
|
projIds: [2],
|
|
},
|
|
{
|
|
pos: 3,
|
|
isHighTube: false,
|
|
isEmergency: false,
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: '',
|
|
userid: '',
|
|
projInfo: [],
|
|
projProcessOff: 0,
|
|
state: TubeState.EMPTY,
|
|
errors: [],
|
|
projIndexStrList: [],
|
|
projIds: [],
|
|
},
|
|
{
|
|
pos: 4,
|
|
isHighTube: true,
|
|
isEmergency: false,
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: 'S789012',
|
|
userid: 'U003',
|
|
projInfo: [
|
|
{
|
|
projId: 3,
|
|
projName: 'FA03',
|
|
projShortName: 'FA',
|
|
color: '#DB7093',
|
|
},
|
|
],
|
|
projProcessOff: 5,
|
|
state: TubeState.PENDING,
|
|
errors: ['低液量警告'],
|
|
projIndexStrList: ['3'],
|
|
projIds: [3],
|
|
},
|
|
{
|
|
pos: 5,
|
|
isHighTube: false,
|
|
isEmergency: false,
|
|
bloodType: 'WHOLE_BLOOD',
|
|
sampleBarcode: 'S456789',
|
|
userid: 'U004',
|
|
projInfo: [
|
|
{
|
|
projId: 4,
|
|
projName: 'FA04',
|
|
projShortName: 'FA',
|
|
color: '#FF69B4',
|
|
},
|
|
],
|
|
projProcessOff: 0,
|
|
state: TubeState.PRE_PROCESSED,
|
|
errors: [],
|
|
projIndexStrList: ['4'],
|
|
projIds: [4],
|
|
},
|
|
],
|
|
state: 'PROCESSING',
|
|
hasTubeToBeProcessed: true,
|
|
},
|
|
timestamp: Date.now(),
|
|
success: true,
|
|
}
|
|
|
|
//获取孵育盘列表
|
|
Mock.mock(
|
|
BaseUrl + '/api/v1/app/deviceState/getOptScanModuleState',
|
|
'post',
|
|
() => {
|
|
return {
|
|
dataType: 'IncubationPlate',
|
|
data: runningList,
|
|
timestamp: Date.now(),
|
|
success: true,
|
|
}
|
|
},
|
|
)
|
|
|
|
//获取试管架状态
|
|
Mock.mock(
|
|
BaseUrl + '/api/v1/app/deviceState/getTubeHolderState',
|
|
'post',
|
|
() => {
|
|
return mockTubeRackResponse
|
|
},
|
|
)
|