165 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			165 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
| import {
 | |
|   getRelatedVisitTask,
 | |
|   getTableAnswerRowInfoList,
 | |
|   getDicomReadingQuestionAnswer,
 | |
|   getReadingQuestionAndAnswer
 | |
| }
 | |
|   from '@/api/trials'
 | |
| import { getVisitStudyList } from '@/api/reading'
 | |
| const getDefaultState = () => {
 | |
|   return {
 | |
|     visitTaskList: [],
 | |
|     activeStack: []
 | |
| 
 | |
|   }
 | |
| }
 | |
| 
 | |
| const state = getDefaultState
 | |
| 
 | |
| const mutations = {
 | |
| }
 | |
| 
 | |
| const actions = {
 | |
|   getVisitTasks({ state }, visitTaskId) {
 | |
|     return new Promise(resolve => {
 | |
|       getRelatedVisitTask({ visitTaskId: visitTaskId }).then(res => {
 | |
|         state.visitTaskList = res.Result
 | |
|         resolve()
 | |
|       }).catch(() => { resolve() })
 | |
|     })
 | |
|   },
 | |
| 
 | |
|   getDicomReadingQuestionAnswer({ state }, obj) {
 | |
|     return new Promise(resolve => {
 | |
|       var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId)
 | |
|       var params = {
 | |
|         trialId: obj.trialId,
 | |
|         visitTaskId: obj.visitTaskId
 | |
|       }
 | |
|       getDicomReadingQuestionAnswer(params).then(res => {
 | |
|         state.visitTaskList[index].Questions = res.Result
 | |
|         resolve()
 | |
|       }).catch(() => { resolve() })
 | |
|     })
 | |
|   },
 | |
|   getReadingQuestionAndAnswer({ state }, obj) {
 | |
|     return new Promise(resolve => {
 | |
|       var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId)
 | |
|       var params = {
 | |
|         trialId: obj.trialId,
 | |
|         visitTaskId: obj.visitTaskId
 | |
|       }
 | |
|       getReadingQuestionAndAnswer(params).then(res => {
 | |
|         state.visitTaskList[index].ReadingQuestions = res.Result.SinglePage
 | |
|         resolve()
 | |
|       }).catch(() => { resolve() })
 | |
|     })
 | |
|   },
 | |
|   getMeasuredData({ state }, visitTaskId) {
 | |
|     return new Promise(resolve => {
 | |
|       var index = state.visitTaskList.findIndex(i => i.VisitTaskId === visitTaskId)
 | |
|       getTableAnswerRowInfoList(visitTaskId).then(res => {
 | |
|         var arr = []
 | |
|         res.Result.forEach(el => {
 | |
|           if (el.MeasureData) {
 | |
|             el.MeasureData = JSON.parse(el.MeasureData)
 | |
|             arr.push(el)
 | |
|           }
 | |
|         })
 | |
|         state.visitTaskList[index].MeasureData = arr
 | |
|         resolve()
 | |
|       }).catch(() => { resolve() })
 | |
|     })
 | |
|   },
 | |
|   addMeasuredData({ state }, obj) {
 | |
|     return new Promise(resolve => {
 | |
|       var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId)
 | |
|       var measureData = state.visitTaskList[index].MeasureData
 | |
|       var idx = measureData.findIndex(item => item.MeasureData.uuid === obj.data.MeasureData.data.uuid)
 | |
|       if (idx > -1) {
 | |
|         state.visitTaskList[index].MeasureData[idx].MeasureData = obj.data.MeasureData
 | |
|       } else {
 | |
|         state.visitTaskList[index].MeasureData.push(obj.data)
 | |
|       }
 | |
|       resolve()
 | |
|     })
 | |
|   },
 | |
|   removeMeasuredData({ state }, obj) {
 | |
|     return new Promise(resolve => {
 | |
|       var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId)
 | |
|       var measureData = state.visitTaskList[index].MeasureData
 | |
|       var uuid = obj.measureData.data.uuid
 | |
|       var idx = measureData.findIndex(item => item.MeasureData && item.MeasureData.data && item.MeasureData.data.uuid === uuid)
 | |
|       if (idx > -1) {
 | |
|         measureData.splice(idx, 1)
 | |
| 
 | |
|         state.visitTaskList[index].MeasureData = measureData
 | |
|       }
 | |
|       resolve()
 | |
|     })
 | |
|   },
 | |
|   getStudyInfo({ state }, obj) {
 | |
|     return new Promise(resolve => {
 | |
|       var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId)
 | |
|       var studyList = []
 | |
|       getVisitStudyList(obj.trialId, obj.subjectVisitId, 0).then(res => {
 | |
|         res.Result.forEach((study) => {
 | |
|           const data = {}
 | |
|           data.StudyId = study.StudyId
 | |
|           data.StudyCode = study.StudyCode
 | |
|           data.Modalities = study.Modalities
 | |
|           data.SeriesCount = study.SeriesCount
 | |
|           data.InstanceCount = study.InstanceCount
 | |
|           data.InstanceCount = study.InstanceCount
 | |
|           data.PreviewImageCount = 0
 | |
|           var seriesList = []
 | |
|           study.SeriesList.forEach((series) => {
 | |
|             const imageIds = []
 | |
| 
 | |
|             series.InstanceList.forEach((id) => {
 | |
|               imageIds.push(`wadouri:/api/instance/content/${id}`)
 | |
|             })
 | |
|             seriesList.push({
 | |
|               imageIds: imageIds,
 | |
|               seriesId: series.Id,
 | |
|               imageIdIndex: 0,
 | |
|               seriesUid: series.SeriesInstanceUid,
 | |
|               seriesNumber: series.SeriesNumber,
 | |
|               sliceThickness: series.SliceThickness,
 | |
|               modality: series.Modality,
 | |
|               description: series.Description,
 | |
|               previewImageUrl: `/api/series/preview/${series.Id}`,
 | |
|               instanceCount: series.InstanceCount,
 | |
|               prefetchInstanceCount: 0,
 | |
|               loadStatus: false,
 | |
|               imageloadedArr: [],
 | |
|               studyId: study.StudyId,
 | |
|               taskBlindName: obj.taskBlindName,
 | |
|               visitTaskId: obj.visitTaskId,
 | |
|               readingTaskState: state.visitTaskList[index].ReadingTaskState,
 | |
|               isBaseLineTask: state.visitTaskList[index].IsBaseLineTask,
 | |
|               isCurrentTask: state.visitTaskList[index].IsCurrentTask
 | |
|             })
 | |
|           })
 | |
|           data.SeriesList = seriesList
 | |
|           studyList.push(data)
 | |
|         })
 | |
|         state.visitTaskList[index].StudyList = studyList
 | |
|         resolve()
 | |
|       }).catch(() => { resolve() })
 | |
|     })
 | |
|   },
 | |
|   setStatus({ state }, obj) {
 | |
|     var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId)
 | |
|     state.visitTaskList[index].IsInit = true
 | |
|   }
 | |
| }
 | |
| 
 | |
| export default {
 | |
|   namespaced: true,
 | |
|   state,
 | |
|   mutations,
 | |
|   actions
 | |
| }
 | |
| 
 |