阅片添加跳过当前任务功能
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
6137d9deff
commit
fd0679dbd8
|
@ -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
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
@ -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)
|
||||||
},
|
},
|
||||||
|
|
|
@ -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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
v-if="
|
v-if="
|
||||||
(isReadingTaskViewInOrder === 1 ||
|
(isReadingTaskViewInOrder === 1 ||
|
||||||
isReadingTaskViewInOrder === 2) &&
|
isReadingTaskViewInOrder === 2) &&
|
||||||
TrialReadingCriterionId === item.TrialReadingCriterionId
|
TrialReadingCriterionId === item.TrialReadingCriterionId
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div slot="search-container">
|
<div slot="search-container">
|
||||||
|
@ -75,11 +75,10 @@
|
||||||
scope.row.UrgentColor === 1
|
scope.row.UrgentColor === 1
|
||||||
? 'danger'
|
? 'danger'
|
||||||
: scope.row.UrgentColor === 2
|
: scope.row.UrgentColor === 2
|
||||||
? '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>
|
||||||
<!-- 受试者编号 -->
|
<!-- 受试者编号 -->
|
||||||
|
@ -114,11 +113,10 @@
|
||||||
scope.row.UrgentColor === 1
|
scope.row.UrgentColor === 1
|
||||||
? '#F56C6C'
|
? '#F56C6C'
|
||||||
: scope.row.UrgentColor === 2
|
: scope.row.UrgentColor === 2
|
||||||
? '#E6A23C'
|
? '#E6A23C'
|
||||||
: '#409EFF',
|
: '#409EFF',
|
||||||
}"
|
}"
|
||||||
>{{ scope.row.UrgentCount }}</span
|
>{{ scope.row.UrgentCount }}</span>
|
||||||
>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- 建议完成时间 -->
|
<!-- 建议完成时间 -->
|
||||||
|
@ -148,8 +146,8 @@
|
||||||
:title="
|
:title="
|
||||||
scope.row.ExistReadingApply
|
scope.row.ExistReadingApply
|
||||||
? $t(
|
? $t(
|
||||||
'trials:pendingReadingTasks:button:ExistReadingApply'
|
'trials:pendingReadingTasks:button:ExistReadingApply'
|
||||||
)
|
)
|
||||||
: $t('trials:pendingReadingTasks:button:review')
|
: $t('trials:pendingReadingTasks:button:review')
|
||||||
"
|
"
|
||||||
icon="el-icon-edit-outline"
|
icon="el-icon-edit-outline"
|
||||||
|
@ -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')"
|
||||||
|
@ -196,7 +194,7 @@
|
||||||
<div
|
<div
|
||||||
v-else-if="
|
v-else-if="
|
||||||
isReadingTaskViewInOrder === 0 &&
|
isReadingTaskViewInOrder === 0 &&
|
||||||
TrialReadingCriterionId === item.TrialReadingCriterionId
|
TrialReadingCriterionId === item.TrialReadingCriterionId
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<el-descriptions :column="2" border style="width: 800px">
|
<el-descriptions :column="2" border style="width: 800px">
|
||||||
|
@ -250,7 +248,7 @@
|
||||||
:disabled="
|
:disabled="
|
||||||
randomReadInfo.UnReadTaskCount +
|
randomReadInfo.UnReadTaskCount +
|
||||||
randomReadInfo.UnReadJudgeTaskCount ===
|
randomReadInfo.UnReadJudgeTaskCount ===
|
||||||
0
|
0
|
||||||
"
|
"
|
||||||
@click="handleOutOfOrderReading"
|
@click="handleOutOfOrderReading"
|
||||||
>
|
>
|
||||||
|
@ -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() {
|
async getList() {
|
||||||
this.loading = true;
|
try {
|
||||||
this.searchData.TrialId = this.trialId;
|
this.loading = true
|
||||||
this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId;
|
this.searchData.TrialId = this.trialId
|
||||||
this.isRender = false;
|
this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId
|
||||||
getIRUnReadSubjectTaskList(this.searchData)
|
this.isRender = false
|
||||||
.then((res) => {
|
const res = await getIRUnReadSubjectTaskList(this.searchData)
|
||||||
|
if (res.IsSuccess) {
|
||||||
this.isReadingTaskViewInOrder =
|
this.isReadingTaskViewInOrder =
|
||||||
res.OtherInfo.IsReadingTaskViewInOrder;
|
res.OtherInfo.IsReadingTaskViewInOrder
|
||||||
this.readingTool = res.OtherInfo.ReadingTool;
|
this.readingTool = res.OtherInfo.ReadingTool
|
||||||
this.criterionType = res.OtherInfo.CriterionType;
|
this.criterionType = res.OtherInfo.CriterionType
|
||||||
if (res.OtherInfo.IsReadingTaskViewInOrder) {
|
if (res.OtherInfo.IsReadingTaskViewInOrder) {
|
||||||
this.list = res.Result.CurrentPageData;
|
this.list = res.Result.CurrentPageData
|
||||||
this.total = res.Result.TotalCount;
|
this.total = res.Result.TotalCount
|
||||||
} else {
|
} else {
|
||||||
this.randomReadInfo = res.OtherInfo.RandomReadInfo;
|
this.randomReadInfo = res.OtherInfo.RandomReadInfo
|
||||||
}
|
}
|
||||||
this.isRender = true;
|
this.isRender = true
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
})
|
}
|
||||||
.catch(() => {
|
} catch (e) {
|
||||||
this.isRender = true;
|
this.isRender = true
|
||||||
this.loading = false;
|
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('TrialReadingCriterionId', this.TrialReadingCriterionId)
|
||||||
|
var token = getToken()
|
||||||
|
var path = ''
|
||||||
|
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}`
|
||||||
|
} 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}`
|
||||||
|
}
|
||||||
|
var routeData = this.$router.resolve({ path })
|
||||||
|
|
||||||
window.localStorage.setItem(
|
this.openWindow = window.open(routeData.href, '_blank')
|
||||||
"TrialReadingCriterionId",
|
} catch (e) {
|
||||||
this.TrialReadingCriterionId
|
this.loading = false
|
||||||
);
|
console.log(e)
|
||||||
var token = getToken();
|
}
|
||||||
var path = "";
|
|
||||||
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}`;
|
|
||||||
} 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}`;
|
|
||||||
}
|
|
||||||
var routeData = this.$router.resolve({ path });
|
|
||||||
|
|
||||||
this.openWindow = window.open(routeData.href, "_blank");
|
|
||||||
})
|
|
||||||
.catch(() => {
|
|
||||||
this.loading = false;
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
handleOutOfOrderReading() {
|
async handleOutOfOrderReading() {
|
||||||
if (this.openWindow) {
|
if (this.openWindow) {
|
||||||
this.openWindow.close();
|
this.openWindow.close()
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
this.loading = true
|
||||||
|
await clearSkipReadingCache()
|
||||||
|
await verifyReadingRestTime()
|
||||||
|
this.loading = false
|
||||||
|
window.localStorage.setItem('TrialReadingCriterionId', this.TrialReadingCriterionId)
|
||||||
|
var token = getToken()
|
||||||
|
var path = ''
|
||||||
|
if (this.readingTool === 0) {
|
||||||
|
path = `/readingDicoms?TrialReadingCriterionId=${this.TrialReadingCriterionId}&trialId=${this.trialId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&TokenKey=${token}`
|
||||||
|
} else {
|
||||||
|
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)
|
||||||
}
|
}
|
||||||
this.loading = true;
|
|
||||||
verifyReadingRestTime()
|
|
||||||
.then((_) => {
|
|
||||||
this.loading = false;
|
|
||||||
window.localStorage.setItem(
|
|
||||||
"TrialReadingCriterionId",
|
|
||||||
this.TrialReadingCriterionId
|
|
||||||
);
|
|
||||||
var token = getToken();
|
|
||||||
var path = "";
|
|
||||||
if (this.readingTool === 0) {
|
|
||||||
path = `/readingDicoms?TrialReadingCriterionId=${this.TrialReadingCriterionId}&trialId=${this.trialId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&TokenKey=${token}`;
|
|
||||||
} else {
|
|
||||||
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(() => {
|
|
||||||
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>
|
||||||
|
|
|
@ -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')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue