阅片添加跳过当前任务功能
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2024-07-15 14:50:50 +08:00
parent 6137d9deff
commit fd0679dbd8
8 changed files with 288 additions and 154 deletions

View File

@ -171,3 +171,19 @@ export function getCustomTag(param) {
data: param data: param
}) })
} }
export function clearSkipReadingCache(param) {
return request({
url: `/ReadingImageTask/clearSkipReadingCache`,
method: 'post',
data: param
})
}
export function setSkipReadingCache(param) {
return request({
url: `/ReadingImageTask/setSkipReadingCache`,
method: 'post',
data: param
})
}

View File

@ -493,11 +493,10 @@ const actions = {
}) })
}, },
removeCustomizeMeasuredData({ state }, obj) { removeCustomizeMeasuredData({ state }, obj) {
return new Promise(async resolve => { return new Promise(async resolve => {
var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId) var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId)
var measureData = state.visitTaskList[index].MeasureData var measureData = state.visitTaskList[index].MeasureData
console.log('removeCustomizeMeasuredData',obj, state.visitTaskList[index].MeasureData) console.log('removeCustomizeMeasuredData', obj, state.visitTaskList[index].MeasureData)
// var uuid = obj.measureData.data.uuid // var uuid = obj.measureData.data.uuid
// var idx = measureData.findIndex(item => item.MeasureData && item.MeasureData.data && item.MeasureData.data.uuid === uuid) // var idx = measureData.findIndex(item => item.MeasureData && item.MeasureData.data && item.MeasureData.data.uuid === uuid)
// console.log(obj, measureData) // console.log(obj, measureData)
@ -682,7 +681,7 @@ const actions = {
} else { } else {
// state.visitTaskList[index].MeasureData.push(obj.MeasureData.data) // state.visitTaskList[index].MeasureData.push(obj.MeasureData.data)
state.visitTaskList[index].MeasureData.push({ state.visitTaskList[index].MeasureData.push({
MeasureData: obj.measureData , MeasureData: obj.measureData,
SeriesId: obj.measureData.seriesId, SeriesId: obj.measureData.seriesId,
StudyId: obj.measureData.studyId, StudyId: obj.measureData.studyId,
InstanceId: obj.measureData.instanceId, InstanceId: obj.measureData.instanceId,
@ -898,7 +897,7 @@ const actions = {
}, },
setImageloadedInfo({ state }, obj) { setImageloadedInfo({ state }, obj) {
var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId) var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId)
let prefetchInstanceCount = state.visitTaskList[index].StudyList[obj.studyIndex].SeriesList[obj.seriesIndex].prefetchInstanceCount const prefetchInstanceCount = state.visitTaskList[index].StudyList[obj.studyIndex].SeriesList[obj.seriesIndex].prefetchInstanceCount
state.visitTaskList[index].StudyList[obj.studyIndex].SeriesList[obj.seriesIndex].prefetchInstanceCount = prefetchInstanceCount + 100 state.visitTaskList[index].StudyList[obj.studyIndex].SeriesList[obj.seriesIndex].prefetchInstanceCount = prefetchInstanceCount + 100
state.visitTaskList[index].StudyList[obj.studyIndex].SeriesList[obj.seriesIndex].imageloadedArr.push(obj.imageId) state.visitTaskList[index].StudyList[obj.studyIndex].SeriesList[obj.seriesIndex].imageloadedArr.push(obj.imageId)
}, },

View File

@ -242,6 +242,10 @@
</el-form-item> </el-form-item>
<el-form-item v-if="adInfo.ReadingTaskState < 2"> <el-form-item v-if="adInfo.ReadingTaskState < 2">
<div style="text-align:center;"> <div style="text-align:center;">
<el-button type="primary" @click="skipTask">
<!-- 跳过 -->
{{ $t('trials:readingReport:button:skip') }}
</el-button>
<!-- 保存 --> <!-- 保存 -->
<el-button type="primary" @click="handleSave">{{ $t('common:button:save') }}</el-button> <el-button type="primary" @click="handleSave">{{ $t('common:button:save') }}</el-button>
<!-- 提交 --> <!-- 提交 -->
@ -317,6 +321,7 @@ import { getJudgeReadingInfo,
// uploadJudgeTaskImage, // uploadJudgeTaskImage,
saveJudgeVisitTaskResult, submitJudgeVisitTaskResult, getReadingPastResultList } from '@/api/trials' saveJudgeVisitTaskResult, submitJudgeVisitTaskResult, getReadingPastResultList } from '@/api/trials'
import { getAutoCutNextTask } from '@/api/user' import { getAutoCutNextTask } from '@/api/user'
import { setSkipReadingCache } from '@/api/reading'
import const_ from '@/const/sign-code' import const_ from '@/const/sign-code'
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
import SignForm from '@/views/trials/components/newSignForm' import SignForm from '@/views/trials/components/newSignForm'
@ -390,7 +395,7 @@ export default {
judgeResultArmEnum: '', judgeResultArmEnum: '',
criterionType: null, criterionType: null,
openWindow: null, openWindow: null,
isFixed:false isFixed: false
} }
}, },
// watch: { // watch: {
@ -716,6 +721,28 @@ export default {
var idx = this.fileList.findIndex(i => i.url === file.url) var idx = this.fileList.findIndex(i => i.url === file.url)
if (idx === -1) return if (idx === -1) return
this.fileList.splice(idx, 1) this.fileList.splice(idx, 1)
},
async skipTask() {
try {
//
const confirm = await this.$confirm(
this.$t('trials:readingReport:message:skipConfirm'),
{
type: 'warning',
distinguishCancelAndClose: true
}
)
if (confirm !== 'confirm') return
this.loading = true
const res = await setSkipReadingCache({ visitTaskId: this.visitTaskId })
this.loading = false
if (res.IsSuccess) {
window.location.reload()
}
} catch (e) {
this.loading = false
console.log(e)
}
} }
} }
} }

View File

@ -12,6 +12,15 @@
style="margin-right:5px;" style="margin-right:5px;"
@change="handleShowDetail" @change="handleShowDetail"
/> />
<el-button
v-if="readingTaskState<2"
type="primary"
size="small"
@click="skipTask"
>
<!-- 跳过 -->
{{ $t('trials:readingReport:button:skip') }}
</el-button>
<el-button <el-button
v-if="readingTaskState<2" v-if="readingTaskState<2"
type="primary" type="primary"
@ -172,8 +181,7 @@
@change="evaluateReasonChange" @change="evaluateReasonChange"
/> />
<!-- 系统评估结果为xxx,与当前调整的结果不一致请填写调整原因 --> <!-- 系统评估结果为xxx,与当前调整的结果不一致请填写调整原因 -->
<p v-if="currentEvaluateResult !== tumorEvaluate" style="width: 140px;padding:0 2px;white-space: normal;word-break: break-all;word-wrap: break-word;" v-html="getWarningText()"> <p v-if="currentEvaluateResult !== tumorEvaluate" style="width: 140px;padding:0 2px;white-space: normal;word-break: break-all;word-wrap: break-word;" v-html="getWarningText()" />
</p>
<p v-else-if="currentExistDisease !== isExistDisease" style="width: 140px;padding:0 2px;white-space: normal;word-break: break-all;word-wrap: break-word;">{{ $t('trials:readingReport:title:sysEvaluationRes') }}<span style="color:red">{{ $fd('ExistDisease',isExistDisease) }}</span>{{ $t('trials:readingReport:message:msg1') }} <p v-else-if="currentExistDisease !== isExistDisease" style="width: 140px;padding:0 2px;white-space: normal;word-break: break-all;word-wrap: break-word;">{{ $t('trials:readingReport:title:sysEvaluationRes') }}<span style="color:red">{{ $fd('ExistDisease',isExistDisease) }}</span>{{ $t('trials:readingReport:message:msg1') }}
</p> </p>
</template> </template>
@ -262,6 +270,7 @@
</template> </template>
<script> <script>
import { getReadingReportEvaluation, changeDicomReadingQuestionAnswer, submitDicomVisitTask, verifyVisitTaskQuestions, getTaskAdditionalQuestion } from '@/api/trials' import { getReadingReportEvaluation, changeDicomReadingQuestionAnswer, submitDicomVisitTask, verifyVisitTaskQuestions, getTaskAdditionalQuestion } from '@/api/trials'
import { setSkipReadingCache } from '@/api/reading'
import { getAutoCutNextTask } from '@/api/user' import { getAutoCutNextTask } from '@/api/user'
import DicomEvent from './DicomEvent' import DicomEvent from './DicomEvent'
import const_ from '@/const/sign-code' import const_ from '@/const/sign-code'
@ -816,14 +825,36 @@ export default {
var sysRes = '' var sysRes = ''
var curRes = '' var curRes = ''
if (this.CriterionType === 2) { if (this.CriterionType === 2) {
sysRes = this.$fd('ImagingOverallAssessment_Lugano',this.tumorEvaluate) sysRes = this.$fd('ImagingOverallAssessment_Lugano', this.tumorEvaluate)
curRes = this.$fd('ImagingOverallAssessment_Lugano',this.currentEvaluateResult) curRes = this.$fd('ImagingOverallAssessment_Lugano', this.currentEvaluateResult)
} else { } else {
sysRes = this.$fd('OverallAssessment',this.tumorEvaluate) sysRes = this.$fd('OverallAssessment', this.tumorEvaluate)
curRes = this.$fd('OverallAssessment',this.currentEvaluateResult) curRes = this.$fd('OverallAssessment', this.currentEvaluateResult)
} }
let msg = this.$t('trials:readingReport:message:msg9').replace('xxx','<font color="red">' + sysRes + '</font>').replace('yyy','<font color="red">' + curRes + '</font>') const msg = this.$t('trials:readingReport:message:msg9').replace('xxx', '<font color="red">' + sysRes + '</font>').replace('yyy', '<font color="red">' + curRes + '</font>')
return msg return msg
},
async skipTask() {
try {
//
const confirm = await this.$confirm(
this.$t('trials:readingReport:message:skipConfirm'),
{
type: 'warning',
distinguishCancelAndClose: true
}
)
if (confirm !== 'confirm') return
this.loading = true
const res = await setSkipReadingCache({ visitTaskId: this.visitTaskId })
this.loading = false
if (res.IsSuccess) {
window.location.reload()
}
} catch (e) {
this.loading = false
console.log(e)
}
} }
} }
} }

View File

@ -11,6 +11,15 @@
style="margin-right:5px" style="margin-right:5px"
@change="handleShowDetail" @change="handleShowDetail"
/> />
<el-button
v-if="readingTaskState<2"
type="primary"
size="small"
@click="skipTask"
>
<!-- 跳过 -->
{{ $t('trials:readingReport:button:skip') }}
</el-button>
<el-button v-if="readingTaskState<2" type="primary" size="small" @click="getReportInfo">{{$t('trials:readingReport:button:refresh')}}</el-button> <el-button v-if="readingTaskState<2" type="primary" size="small" @click="getReportInfo">{{$t('trials:readingReport:button:refresh')}}</el-button>
<el-button v-if="readingTaskState<2" type="primary" size="small" @click="handleSave(true)">{{$t('common:button:save')}}</el-button> <el-button v-if="readingTaskState<2" type="primary" size="small" @click="handleSave(true)">{{$t('common:button:save')}}</el-button>
<el-button v-if="readingTaskState<2" type="primary" size="small" @click="handleConfirm">{{$t('common:button:submit')}}</el-button> <el-button v-if="readingTaskState<2" type="primary" size="small" @click="handleConfirm">{{$t('common:button:submit')}}</el-button>
@ -260,6 +269,7 @@
</template> </template>
<script> <script>
import { changeCalculationAnswer, getReadingReportEvaluation, changeDicomReadingQuestionAnswer, submitDicomVisitTask, verifyVisitTaskQuestions, getQuestionCalculateRelation } from '@/api/trials' import { changeCalculationAnswer, getReadingReportEvaluation, changeDicomReadingQuestionAnswer, submitDicomVisitTask, verifyVisitTaskQuestions, getQuestionCalculateRelation } from '@/api/trials'
import { setSkipReadingCache } from '@/api/reading'
import DicomEvent from './../components/DicomEvent' import DicomEvent from './../components/DicomEvent'
import CustomizeReportPageUpload from './CustomizeReportPageUpload' import CustomizeReportPageUpload from './CustomizeReportPageUpload'
import const_ from '@/const/sign-code' import const_ from '@/const/sign-code'
@ -828,6 +838,28 @@ export default {
reject() reject()
}) })
}) })
},
async skipTask() {
try {
//
const confirm = await this.$confirm(
this.$t('trials:readingReport:message:skipConfirm'),
{
type: 'warning',
distinguishCancelAndClose: true
}
)
if (confirm !== 'confirm') return
this.loading = true
const res = await setSkipReadingCache({ visitTaskId: this.visitTaskId })
this.loading = false
if (res.IsSuccess) {
window.location.reload()
}
} catch (e) {
this.loading = false
console.log(e)
}
} }
} }
} }

View File

@ -25,7 +25,14 @@
</div> </div>
<div v-if=" readingTaskState < 2" style="text-align:right;margin:5px 0;"> <div v-if=" readingTaskState < 2" style="text-align:right;margin:5px 0;">
<el-button
type="primary"
size="small"
@click="skipTask"
>
<!-- 跳过 -->
{{ $t('trials:readingReport:button:skip') }}
</el-button>
<el-button size="small" type="primary" @click="handleSave"> <el-button size="small" type="primary" @click="handleSave">
{{ $t('common:button:save') }} {{ $t('common:button:save') }}
</el-button> </el-button>
@ -142,6 +149,7 @@
<script> <script>
import { getGlobalReadingInfo, getReadingPastResultList, submitGlobalReadingInfo, saveGlobalReadingInfo } from '@/api/trials' import { getGlobalReadingInfo, getReadingPastResultList, submitGlobalReadingInfo, saveGlobalReadingInfo } from '@/api/trials'
import { getAutoCutNextTask } from '@/api/user' import { getAutoCutNextTask } from '@/api/user'
import { setSkipReadingCache } from '@/api/reading'
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
import const_ from '@/const/sign-code' import const_ from '@/const/sign-code'
import DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent' import DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent'
@ -377,6 +385,28 @@ export default {
handleSave() { handleSave() {
this.$refs['globalTbl'].handleSave(true) this.$refs['globalTbl'].handleSave(true)
}, },
async skipTask() {
try {
//
const confirm = await this.$confirm(
this.$t('trials:readingReport:message:skipConfirm'),
{
type: 'warning',
distinguishCancelAndClose: true
}
)
if (confirm !== 'confirm') return
this.loading = true
const res = await setSkipReadingCache({ visitTaskId: this.visitTaskId })
this.loading = false
if (res.IsSuccess) {
window.location.reload()
}
} catch (e) {
this.loading = false
console.log(e)
}
},
async handleConfirm() { async handleConfirm() {
// 访 // 访
var idx = this.taskList.findIndex(i => !i.AgreeOrNotAnswer) var idx = this.taskList.findIndex(i => !i.AgreeOrNotAnswer)

View File

@ -78,8 +78,7 @@
? 'warning' ? 'warning'
: 'primary' : 'primary'
" "
>{{ $fd("YesOrNo", scope.row.IsUrgent) }}</el-tag >{{ $fd("YesOrNo", scope.row.IsUrgent) }}</el-tag>
>
</template> </template>
</el-table-column> </el-table-column>
<!-- 受试者编号 --> <!-- 受试者编号 -->
@ -117,8 +116,7 @@
? '#E6A23C' ? '#E6A23C'
: '#409EFF', : '#409EFF',
}" }"
>{{ scope.row.UrgentCount }}</span >{{ scope.row.UrgentCount }}</span>
>
</template> </template>
</el-table-column> </el-table-column>
<!-- 建议完成时间 --> <!-- 建议完成时间 -->
@ -157,12 +155,12 @@
/> />
<!-- 上传 --> <!-- 上传 -->
<el-button <el-button
v-hasPermi="['role:ir']"
v-if=" v-if="
item.CriterionType === 0 && item.CriterionType === 0 &&
item.ImageUploadEnum > 0 && item.ImageUploadEnum > 0 &&
item.IsReadingTaskViewInOrder > 0 item.IsReadingTaskViewInOrder > 0
" "
v-hasPermi="['role:ir']"
circle circle
icon="el-icon-upload2" icon="el-icon-upload2"
:title="$t('trials:pendingReadingTasks:button:upload')" :title="$t('trials:pendingReadingTasks:button:upload')"
@ -170,12 +168,12 @@
/> />
<!-- 下载 --> <!-- 下载 -->
<el-button <el-button
v-hasPermi="['role:ir']"
v-if=" v-if="
item.CriterionType === 0 && item.CriterionType === 0 &&
item.ImageDownloadEnum === 1 && item.ImageDownloadEnum === 1 &&
item.IsReadingTaskViewInOrder > 0 item.IsReadingTaskViewInOrder > 0
" "
v-hasPermi="['role:ir']"
circle circle
icon="el-icon-download" icon="el-icon-download"
:title="$t('trials:pendingReadingTasks:button:download')" :title="$t('trials:pendingReadingTasks:button:download')"
@ -264,8 +262,8 @@
<upload-image <upload-image
v-if="uploadImageVisible" v-if="uploadImageVisible"
:visible.sync="uploadImageVisible" :visible.sync="uploadImageVisible"
:SubjectId="uploadSubjectId" :subject-id="uploadSubjectId"
:Criterion="uploadTrialCriterion" :criterion="uploadTrialCriterion"
:status="uploadStatus" :status="uploadStatus"
@getList="getList" @getList="getList"
/> />
@ -274,35 +272,36 @@
<script> <script>
import { import {
getIRUnReadSubjectTaskList, getIRUnReadSubjectTaskList,
verifyReadingRestTime, verifyReadingRestTime
} from "@/api/trials"; } from '@/api/trials'
import { getTrialCriterionList } from "@/api/trials/reading"; import { getTrialCriterionList } from '@/api/trials/reading'
import BaseContainer from "@/components/BaseContainer"; import { clearSkipReadingCache } from '@/api/reading'
import uploadImage from "@/components/uploadImage"; import BaseContainer from '@/components/BaseContainer'
import Pagination from "@/components/Pagination"; import uploadImage from '@/components/uploadImage'
import { getToken } from "@/utils/auth"; import Pagination from '@/components/Pagination'
import { getToken } from '@/utils/auth'
const searchDataDefault = () => { const searchDataDefault = () => {
return { return {
SubjectCode: "", SubjectCode: '',
PageIndex: 1, PageIndex: 1,
PageSize: 20, PageSize: 20
}; }
}; }
export default { export default {
name: "ReadingTaskList", name: 'ReadingTaskList',
components: { BaseContainer, Pagination, "upload-image": uploadImage }, components: { BaseContainer, Pagination, 'upload-image': uploadImage },
data() { data() {
return { return {
searchData: searchDataDefault(), searchData: searchDataDefault(),
list: [], list: [],
total: 0, total: 0,
loading: false, loading: false,
trialId: "", trialId: '',
isReadingTaskViewInOrder: null, isReadingTaskViewInOrder: null,
randomReadInfo: {}, randomReadInfo: {},
isRender: false, isRender: false,
trialCriterionList: [], trialCriterionList: [],
TrialReadingCriterionId: "", TrialReadingCriterionId: '',
isTableShow: true, isTableShow: true,
readingTool: null, readingTool: null,
criterionType: null, criterionType: null,
@ -312,147 +311,146 @@ export default {
uploadImageVisible: false, uploadImageVisible: false,
uploadSubjectId: null, uploadSubjectId: null,
uploadTrialCriterion: {}, uploadTrialCriterion: {},
uploadStatus: "upload", uploadStatus: 'upload'
}; }
}, },
watch: { watch: {
TrialReadingCriterionId(v) { TrialReadingCriterionId(v) {
if (v) { if (v) {
this.getList(); this.getList()
}
} }
}, },
},
mounted() { mounted() {
window.addEventListener("message", this.receiveMsg); window.addEventListener('message', this.receiveMsg)
this.trialId = this.$route.query.trialId; this.trialId = this.$route.query.trialId
this.getTrialCriterionList(); this.getTrialCriterionList()
}, },
beforeDestroy() { beforeDestroy() {
window.removeEventListener("message", this.receiveMsg); window.removeEventListener('message', this.receiveMsg)
if (this.openWindow) { if (this.openWindow) {
this.openWindow.close(); this.openWindow.close()
} }
}, },
methods: { methods: {
// //
openUploadImage(item, trialCriterion, status) { openUploadImage(item, trialCriterion, status) {
this.uploadSubjectId = item.SubjectId; this.uploadSubjectId = item.SubjectId
this.uploadTrialCriterion = trialCriterion; this.uploadTrialCriterion = trialCriterion
this.uploadStatus = status; this.uploadStatus = status
this.uploadImageVisible = true; this.uploadImageVisible = true
}, },
getTrialCriterionList() { async getTrialCriterionList() {
getTrialCriterionList(this.trialId) try {
.then((res) => { const res = await getTrialCriterionList(this.trialId)
this.trialCriterionList = res.Result; if (res.IsSuccess) {
this.trialCriterionList = res.Result
this.TrialReadingCriterionId = this.TrialReadingCriterionId =
this.trialCriterionList[0].TrialReadingCriterionId; this.trialCriterionList[0].TrialReadingCriterionId
}) }
.catch(() => {}); } catch (e) {
}, console.log(e)
getList() { }
this.loading = true; },
this.searchData.TrialId = this.trialId; async getList() {
this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId; try {
this.isRender = false; this.loading = true
getIRUnReadSubjectTaskList(this.searchData) this.searchData.TrialId = this.trialId
.then((res) => { this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId
this.isReadingTaskViewInOrder = this.isRender = false
res.OtherInfo.IsReadingTaskViewInOrder; const res = await getIRUnReadSubjectTaskList(this.searchData)
this.readingTool = res.OtherInfo.ReadingTool; if (res.IsSuccess) {
this.criterionType = res.OtherInfo.CriterionType; this.isReadingTaskViewInOrder =
if (res.OtherInfo.IsReadingTaskViewInOrder) { res.OtherInfo.IsReadingTaskViewInOrder
this.list = res.Result.CurrentPageData; this.readingTool = res.OtherInfo.ReadingTool
this.total = res.Result.TotalCount; this.criterionType = res.OtherInfo.CriterionType
} else { if (res.OtherInfo.IsReadingTaskViewInOrder) {
this.randomReadInfo = res.OtherInfo.RandomReadInfo; this.list = res.Result.CurrentPageData
this.total = res.Result.TotalCount
} else {
this.randomReadInfo = res.OtherInfo.RandomReadInfo
}
this.isRender = true
this.loading = false
}
} catch (e) {
this.isRender = true
this.loading = false
} }
this.isRender = true;
this.loading = false;
})
.catch(() => {
this.isRender = true;
this.loading = false;
});
}, },
handleSearch() { handleSearch() {
this.searchData.PageIndex = 1; this.searchData.PageIndex = 1
this.getList(); this.getList()
}, },
handleReset() { handleReset() {
this.searchData = searchDataDefault(); this.searchData = searchDataDefault()
this.getList(); this.getList()
}, },
handleReadImage(row) { async handleReadImage(row) {
if (this.openWindow) { if (this.openWindow) {
this.openWindow.close(); this.openWindow.close()
} }
this.loading = true; try {
verifyReadingRestTime() this.loading = true
.then((_) => { await clearSkipReadingCache()
this.loading = false; await verifyReadingRestTime()
this.loading = false
window.localStorage.setItem( window.localStorage.setItem('TrialReadingCriterionId', this.TrialReadingCriterionId)
"TrialReadingCriterionId", var token = getToken()
this.TrialReadingCriterionId var path = ''
);
var token = getToken();
var path = "";
if (this.readingTool === 0) { if (this.readingTool === 0) {
path = `/readingDicoms?TrialReadingCriterionId=${this.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&TokenKey=${token}`; path = `/readingDicoms?TrialReadingCriterionId=${this.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${this.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&TokenKey=${token}`; path = `/noneDicomReading?TrialReadingCriterionId=${this.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&TokenKey=${token}`
} }
var routeData = this.$router.resolve({ path }); var routeData = this.$router.resolve({ path })
this.openWindow = window.open(routeData.href, "_blank"); this.openWindow = window.open(routeData.href, '_blank')
}) } catch (e) {
.catch(() => { this.loading = false
this.loading = false; console.log(e)
}); }
}, },
handleOutOfOrderReading() { async handleOutOfOrderReading() {
if (this.openWindow) { if (this.openWindow) {
this.openWindow.close(); this.openWindow.close()
} }
this.loading = true; try {
verifyReadingRestTime() this.loading = true
.then((_) => { await clearSkipReadingCache()
this.loading = false; await verifyReadingRestTime()
window.localStorage.setItem( this.loading = false
"TrialReadingCriterionId", window.localStorage.setItem('TrialReadingCriterionId', this.TrialReadingCriterionId)
this.TrialReadingCriterionId var token = getToken()
); var path = ''
var token = getToken();
var path = "";
if (this.readingTool === 0) { if (this.readingTool === 0) {
path = `/readingDicoms?TrialReadingCriterionId=${this.TrialReadingCriterionId}&trialId=${this.trialId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&TokenKey=${token}`; path = `/readingDicoms?TrialReadingCriterionId=${this.TrialReadingCriterionId}&trialId=${this.trialId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${this.TrialReadingCriterionId}&trialId=${this.trialId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&TokenKey=${token}`; path = `/noneDicomReading?TrialReadingCriterionId=${this.TrialReadingCriterionId}&trialId=${this.trialId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&TokenKey=${token}`
}
var routeData = this.$router.resolve({ path })
this.openWindow = window.open(routeData.href, '_blank')
} catch (e) {
this.loading = false
console.log(e)
} }
var routeData = this.$router.resolve({ path });
this.openWindow = window.open(routeData.href, "_blank");
})
.catch(() => {
this.loading = false;
});
}, },
receiveMsg(event) { receiveMsg(event) {
if (event.data === "refreshTaskList") { if (event.data === 'refreshTaskList') {
this.getList(); this.getList()
} }
}, },
// //
handleSortChange(column) { handleSortChange(column) {
if (column.order === "ascending") { if (column.order === 'ascending') {
this.searchData.Asc = true; this.searchData.Asc = true
} else { } else {
this.searchData.Asc = false; this.searchData.Asc = false
} }
this.searchData.SortField = column.prop; this.searchData.SortField = column.prop
this.searchData.PageIndex = 1; this.searchData.PageIndex = 1
this.getList(); this.getList()
}, }
}, }
}; }
</script> </script>

View File

@ -63,7 +63,8 @@ module.exports = {
// target: 'http://123.56.94.154:8079', // 国内测试环境2 // target: 'http://123.56.94.154:8079', // 国内测试环境2
// target: 'http://123.56.94.154:7000', // 国内测试环境2 // target: 'http://123.56.94.154:7000', // 国内测试环境2
// target: 'http://123.56.94.154:30668', // target: 'http://123.56.94.154:30668',
target: 'http://106.14.89.110:30000', // target: 'http://106.14.89.110:30000',
target: 'http://47.117.164.182:7010', // uat
// target: 'http://123.56.181.144:7000', // target: 'http://123.56.181.144:7000',
changeOrigin: true, changeOrigin: true,
secure: false, secure: false,
@ -94,7 +95,7 @@ module.exports = {
ignore: ['.*'] ignore: ['.*']
} }
]), ]),
process.env.NODE_ENV === 'development' || process.env.VUE_APP_OSS_CONFIG_BUCKET === 'zyypacs-usa' ? function () { } process.env.NODE_ENV === 'development' || process.env.VUE_APP_OSS_CONFIG_BUCKET === 'zyypacs-usa' ? function() { }
: new WebpackAliyunOss({ : new WebpackAliyunOss({
from: ['./dist/**'], from: ['./dist/**'],
dist: process.env.VUE_APP_OSS_PATH + distDate, dist: process.env.VUE_APP_OSS_PATH + distDate,
@ -123,7 +124,7 @@ module.exports = {
// 生成文件的最大体积 // 生成文件的最大体积
maxAssetSize: 3000000000, maxAssetSize: 3000000000,
// 只给出js的性能提示 // 只给出js的性能提示
assetFilter: function (assetFileName) { assetFilter: function(assetFileName) {
return assetFileName.endsWith('.js') return assetFileName.endsWith('.js')
} }
}, },