Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web
commit
afa835e3b9
|
@ -23,8 +23,9 @@
|
|||
<div style="margin-left:20px;">
|
||||
<el-dropdown class="dropdown-container" trigger="click">
|
||||
<span class="el-dropdown-link">
|
||||
{{ name }}
|
||||
<span v-if="userTypeShortName">({{ userTypeShortName }})</span>
|
||||
{{ `${name} (${userTypeShortName})` }}
|
||||
<!-- {{ name }}
|
||||
<span v-if="userTypeShortName"> ({{ userTypeShortName }}) </span> -->
|
||||
<i class="el-icon-caret-bottom" />
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown" class="user-dropdown">
|
||||
|
|
|
@ -40,8 +40,9 @@
|
|||
<el-submenu index="4" class="my_info">
|
||||
<span slot="title">
|
||||
<i class="el-icon-s-custom" />
|
||||
<span>{{ userName }}</span>
|
||||
<span v="userTypeShortName">({{ userTypeShortName }})</span>
|
||||
{{ `${name} (${userTypeShortName})` }}
|
||||
<!-- <span>{{ userName }}</span>
|
||||
<span v="userTypeShortName">({{ userTypeShortName }})</span> -->
|
||||
</span>
|
||||
<!-- 账户信息 -->
|
||||
<el-menu-item v-if="!hasPermi(['role:air'])" index="4-2">{{ $t('trials:trials-myinfo:title:accountInfo') }}</el-menu-item>
|
||||
|
|
|
@ -81,13 +81,13 @@
|
|||
@change="(v) => {return isEnableChange(scope.row, v)}"
|
||||
:disabled="!hasPermi(['trials:trials-panel:enrolled-reviewers:list:edit'])"
|
||||
/>
|
||||
<span>{{$fd('IsEnable', scope.row.IsEnable)}}</span>
|
||||
<span> {{$fd('IsEnable', scope.row.IsEnable)}}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-for="ite of TrialReadingCriterionList"
|
||||
:key="ite"
|
||||
:key="ite.TrialReadingCriterionName"
|
||||
:label="ite.TrialReadingCriterionName"
|
||||
width="360"
|
||||
header-align="center"
|
||||
|
@ -99,7 +99,7 @@
|
|||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-for="item of scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}) ? scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}).ReadingCategorys : []" :key="item">
|
||||
<span v-for="item of scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}) ? scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}).ReadingCategorys : []" :key="item.TrialReadingCriterionId">
|
||||
<el-tag v-if="item === 1" type="primary">{{ $fd('ReadingCategory', item) + ' & ' + $fd('ReadingCategory', 2) }}</el-tag>
|
||||
<!-- <el-tag v-if="item === 2" type="info">{{ $fd('ReadingCategory', item) }}</el-tag>-->
|
||||
<el-tag v-if="item === 4" type="danger">{{ $fd('ReadingCategory', item) }}</el-tag>
|
||||
|
@ -127,8 +127,8 @@
|
|||
@change="(v) => {return isConsistencyChange(scope.row, ite, v, true)}"
|
||||
:disabled="!hasPermi(['trials:trials-panel:enrolled-reviewers:list:edit'])"
|
||||
/>
|
||||
<span v-if="scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}).IsJoinAnalysis">{{$fd('YesOrNo', scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}).IsJoinAnalysis)}}</span>
|
||||
<span v-else>{{$fd('YesOrNo',false)}}</span>
|
||||
<span v-if="scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}).IsJoinAnalysis"> {{$fd('YesOrNo', scope.row.CriterionCategoryList.find(v => {return v.TrialReadingCriterionId === ite.TrialReadingCriterionId}).IsJoinAnalysis)}}</span>
|
||||
<span v-else> {{$fd('YesOrNo',false)}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
|
|
@ -99,8 +99,8 @@
|
|||
</div>
|
||||
|
||||
<div class="info-instance">
|
||||
<div v-if="dicomInfo.location">Location: {{ Number(dicomInfo.location).toFixed(digitPlaces) }}</div>
|
||||
<div v-show="dicomInfo.thick">Slice Thickness: {{ dicomInfo.thick }}mm</div>
|
||||
<div v-if="dicomInfo.location">Location: {{ `${Number(dicomInfo.location).toFixed(digitPlaces)} mm` }}</div>
|
||||
<div v-show="dicomInfo.thick">Slice Thickness: {{ `${dicomInfo.thick} mm` }}</div>
|
||||
<div v-show="dicomInfo.wwwc">WW/WL: {{ dicomInfo.wwwc }}</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1878,7 +1878,8 @@ export default {
|
|||
var oA = document.createElement('a')
|
||||
var subjectCode = this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].subjectCode
|
||||
var taskBlindName = this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].stack.taskBlindName
|
||||
oA.download = `${subjectCode}_${taskBlindName}`// 设置下载的文件名,默认是'下载'
|
||||
var timestamp = Date.now()
|
||||
oA.download = `${subjectCode}_${taskBlindName}_${timestamp}`// 设置下载的文件名,默认是'下载'
|
||||
oA.href = oImg
|
||||
document.body.appendChild(oA)
|
||||
oA.click()
|
||||
|
|
|
@ -151,6 +151,11 @@ export default {
|
|||
})
|
||||
})
|
||||
},
|
||||
receiveMsg(event) {
|
||||
if (event.data.type === 'setReadingState' || event.data.type === 'closeHistoryScreenshot') {
|
||||
window.close()
|
||||
}
|
||||
},
|
||||
toRight() {
|
||||
if (this.translateX < this.pageSize * this.itemWidth) {
|
||||
this.translateX = 0
|
||||
|
|
|
@ -527,7 +527,8 @@ export default {
|
|||
initAnnotations: [],
|
||||
activeCanvasWW: null,
|
||||
activeCanvasWC: null,
|
||||
fusion: { visible: false } // 历史记录融合调窗
|
||||
fusion: { visible: false }, // 历史记录融合调窗
|
||||
screenshotWindow: null
|
||||
// initFirstAnnotation:false
|
||||
}
|
||||
},
|
||||
|
@ -621,8 +622,15 @@ export default {
|
|||
loading.close()
|
||||
callback(pictureBaseStr)
|
||||
})
|
||||
FusionEvent.$on('viewHistoryScreenshot', (path) => {
|
||||
if (this.screenshotWindow) {
|
||||
this.screenshotWindow.close()
|
||||
}
|
||||
const routeData = this.$router.resolve({ path })
|
||||
this.screenshotWindow = window.open(routeData.href, '_blank')
|
||||
})
|
||||
},
|
||||
destroyed() {
|
||||
beforeDestroy() {
|
||||
cornerstoneTools.destroy()
|
||||
eventTarget.reset()
|
||||
cache.purgeCache()
|
||||
|
@ -2127,11 +2135,16 @@ export default {
|
|||
} else if (event.data.type === 'readingPageStateUpdate') {
|
||||
this.readingTaskState = event.data.data.readingTaskState
|
||||
if (this.readingTaskState === 2) {
|
||||
FusionEvent.$emit('closeHistoryScreenshot')
|
||||
if (this.screenshotWindow) {
|
||||
this.screenshotWindow.close()
|
||||
}
|
||||
window.close()
|
||||
}
|
||||
} else if (event.data.type === 'setReadingState') {
|
||||
this.readingTaskState = event.data.data.readingTaskState
|
||||
if (this.readingTaskState === 2) {
|
||||
FusionEvent.$emit('closeHistoryScreenshot')
|
||||
window.close()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -417,8 +417,7 @@ export default {
|
|||
var token = getToken()
|
||||
var subjectCode = this.$route.query.subjectCode
|
||||
var path = `/historyScreenshot?&subjectCode=${subjectCode}&visitTaskId=${this.visitTaskId}&questionType=${question.QuestionType}&TokenKey=${token}`
|
||||
const routeData = this.$router.resolve({ path })
|
||||
window.open(routeData.href, '_blank')
|
||||
FusionEvent.$emit('viewHistoryScreenshot', path)
|
||||
},
|
||||
setMeasuredData(measurement) {
|
||||
if (measurement.data.isHandleOutsideImage) {
|
||||
|
|
|
@ -1022,8 +1022,7 @@ export default {
|
|||
var token = getToken()
|
||||
var subjectCode = this.$route.query.subjectCode
|
||||
var path = `/historyScreenshot?rowId=${rowId}&subjectCode=${subjectCode}&lesionName=${this.lesionName}&TokenKey=${token}`
|
||||
const routeData = this.$router.resolve({ path })
|
||||
window.open(routeData.href, '_blank')
|
||||
FusionEvent.$emit('viewHistoryScreenshot', path)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -225,9 +225,6 @@ export default {
|
|||
this.rotateBarMousemove(e)
|
||||
}
|
||||
})
|
||||
},
|
||||
destroyed() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
handleVolumeNewImage(e) {
|
||||
|
|
|
@ -727,7 +727,7 @@ export default {
|
|||
methods: {
|
||||
handleConfirmModality() {
|
||||
this.form.ModalityList = Object.assign([], this.selectedList.map(v => v.value))
|
||||
this.form.ModalityListStr = this.form.ModalityList.toString().replaceAll(',', '|')
|
||||
this.form.ModalityListStr = this.form.ModalityList.toString().replaceAll(',', ' | ')
|
||||
this.modalityListVisible = false
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
|
@ -781,7 +781,7 @@ export default {
|
|||
var bodyPartTypes = this.form.BodyPartTypeList.map(i => {
|
||||
return this.$fd('Bodypart', i)
|
||||
})
|
||||
this.form.BodyPartTypes = bodyPartTypes.toString().replaceAll(',', '|')
|
||||
this.form.BodyPartTypes = bodyPartTypes.toString().replaceAll(',', ' | ')
|
||||
this.bodyPartListVisible = false
|
||||
},
|
||||
// 配置信息保存
|
||||
|
@ -791,7 +791,7 @@ export default {
|
|||
this.loading = true
|
||||
// 保存配置信息
|
||||
var params = Object.assign({}, this.form)
|
||||
params.BodyPartTypes = this.form.BodyPartTypeList.toString().replaceAll(',', '|')
|
||||
params.BodyPartTypes = this.form.BodyPartTypeList.toString().replaceAll(',', ' | ')
|
||||
configTrialBasicInfo(params).then(res => {
|
||||
this.loading = false
|
||||
if (res.IsSuccess) {
|
||||
|
@ -842,7 +842,7 @@ export default {
|
|||
this.btnLoading = true
|
||||
// 保存配置信息
|
||||
var params = Object.assign({}, this.form)
|
||||
params.BodyPartTypes = this.form.BodyPartTypeList.toString().replaceAll(',', '|')
|
||||
params.BodyPartTypes = this.form.BodyPartTypeList.toString().replaceAll(',', ' | ')
|
||||
configTrialBasicInfo(params).then(res => {
|
||||
this.btnLoading = false
|
||||
if (res.IsSuccess) {
|
||||
|
@ -865,7 +865,7 @@ export default {
|
|||
signConfirm(signInfo) {
|
||||
this.loading = true
|
||||
var obj = Object.assign({}, this.form)
|
||||
obj.BodyPartTypes = this.form.BodyPartTypeList.toString().replaceAll(',', '|')
|
||||
obj.BodyPartTypes = this.form.BodyPartTypeList.toString().replaceAll(',', ' | ')
|
||||
const params = {
|
||||
data: obj,
|
||||
signInfo: signInfo
|
||||
|
@ -978,12 +978,12 @@ export default {
|
|||
this.form[k] = res[k]
|
||||
}
|
||||
}
|
||||
this.form.ModalityListStr = this.form.ModalityList.toString().replaceAll(',', '|')
|
||||
this.form.BodyPartTypeList = this.form.BodyPartTypes.split('|')
|
||||
this.form.ModalityListStr = this.form.ModalityList.toString().replaceAll(',', ' | ')
|
||||
this.form.BodyPartTypeList = this.form.BodyPartTypes.split(' | ')
|
||||
var bodyPartTypes = this.form.BodyPartTypeList.map(i => {
|
||||
return this.$fd('Bodypart', i)
|
||||
})
|
||||
this.form.BodyPartTypes = bodyPartTypes.toString().replaceAll(',', '|')
|
||||
this.form.BodyPartTypes = bodyPartTypes.toString().replaceAll(',', ' | ')
|
||||
// this.form.ClinicalDataSetNamesStr = this.form.ClinicalDataSetNames.join(', ')
|
||||
this.initialForm = { ...this.form }
|
||||
this.loading = false
|
||||
|
@ -1104,5 +1104,8 @@ export default {
|
|||
.fontColor{
|
||||
color: red;
|
||||
}
|
||||
::v-deep .el-table__header-wrapper .el-checkbox {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -661,7 +661,7 @@
|
|||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.TrialCriterionNameList.toString() }}
|
||||
{{ scope.row.TrialCriterionNameList.join(', ') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 模板名称 -->
|
||||
|
|
|
@ -113,7 +113,7 @@
|
|||
<div style="display: flex;align-items: center">
|
||||
<div v-if="scope.row.Modalities">{{ scope.row.Modalities }}({{ scope.row.Count }}), </div>
|
||||
<div v-else style="color:#f44336;">N/A, </div>
|
||||
<div v-if="scope.row.Bodypart" style="margin:0 3px;">{{ getBodyPart(scope.row.Bodypart) }}, </div>
|
||||
<div v-if="scope.row.Bodypart" style="margin:0 3px;">{{ scope.row.Bodypart }}, </div>
|
||||
<div v-else style="color:#f44336;margin:0 3px;">N/A, </div>
|
||||
<div v-if="scope.row.StudyTime">{{ moment(scope.row.StudyTime).format('YYYY-MM-DD') }} </div>
|
||||
<div v-else style="color:#f44336;">N/A </div>
|
||||
|
|
|
@ -54,6 +54,17 @@
|
|||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item :label="$t('trials:readingPeriod:table:completeClinicalData')">
|
||||
<el-select v-model="searchData.CompleteClinicalData" clearable style="width:120px">
|
||||
<el-option
|
||||
v-for="item of $d.CompleteClinicalDataEnum"
|
||||
:key="item.value"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
||||
{{ $t('common:button:search') }}
|
||||
|
@ -173,7 +184,10 @@
|
|||
<div v-if="otherInfo.ExistClinicalData" style="display: flex;justify-content: space-between;border-bottom: 1px solid #d9d9d9;margin-bottom: 8px;padding-bottom: 8px">
|
||||
<div style="display: flex;justify-content: space-between;width: 100%">
|
||||
<!-- 临床资料 -->
|
||||
<div>
|
||||
<div>
|
||||
<el-tooltip v-if="scope.row.Data[i-1].CompleteClinicalData!==1" class="item" effect="dark" :content="$t('trials:readingPeriod:table:clinicalDataNotComplete')" placement="bottom">
|
||||
<i class="el-icon-warning" style="color:red" />
|
||||
</el-tooltip>
|
||||
{{ $t('trials:readingPeriod:table:clinicalInfo2') }}
|
||||
</div>
|
||||
<el-link type="danger" v-if="(scope.row.Data[i-1].IsVisit && otherInfo.IsExistsSubjectClinicalData && scope.row.Data[i-1].IsBaseLine) ||(scope.row.Data[i-1].IsVisit && otherInfo.IsExistsVisitClinicalData) || (!scope.row.Data[i-1].IsVisit && otherInfo.IsExistsReadingClinicalData && scope.row.Data[i-1].ModuleType === 3) || (!scope.row.Data[i-1].IsVisit && otherInfo.IsExistsOncologyReadClinicalData && scope.row.Data[i-1].ModuleType === 5)" @click="handleView(scope.row,scope.row.Data[i-1])">
|
||||
|
@ -355,6 +369,7 @@ const searchDataDefault = () => {
|
|||
ModuleType: null,
|
||||
ReadingStatus: null,
|
||||
Name: '',
|
||||
CompleteClinicalData: '',
|
||||
PageIndex: 1,
|
||||
PageSize: 20
|
||||
}
|
||||
|
|
|
@ -237,7 +237,7 @@
|
|||
<span v-else>{{ $t('trials:crcUpload:label:noneDicom') }}: {{ scope.row.NoneDicomStudyCount }}</span>
|
||||
</div>
|
||||
<span>
|
||||
{{ scope.row.IsBaseLine && otherInfo.ClinicalInformationTransmissionEnum > 0?[scope.row.DicomStudyCount,scope.row.NoneDicomStudyCount,scope.row.IsHaveClinicalData?'w/':'w/o'].join(','):[scope.row.DicomStudyCount,scope.row.NoneDicomStudyCount].join(', ') }}
|
||||
{{ scope.row.IsBaseLine && otherInfo.ClinicalInformationTransmissionEnum > 0?[scope.row.DicomStudyCount,scope.row.NoneDicomStudyCount,scope.row.IsHaveClinicalData?'w/':'w/o'].join(', '):[scope.row.DicomStudyCount,scope.row.NoneDicomStudyCount].join(', ') }}
|
||||
</span>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
|
|
Loading…
Reference in New Issue