wangxiaoshuang 2024-03-28 14:06:06 +08:00
commit afa835e3b9
15 changed files with 67 additions and 33 deletions

View File

@ -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">

View File

@ -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>

View File

@ -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

View File

@ -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>

View File

@ -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()

View File

@ -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

View File

@ -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()
}
}

View File

@ -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) {

View File

@ -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)
}
}
}

View File

@ -225,9 +225,6 @@ export default {
this.rotateBarMousemove(e)
}
})
},
destroyed() {
},
methods: {
handleVolumeNewImage(e) {

View File

@ -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>

View File

@ -661,7 +661,7 @@
show-overflow-tooltip
>
<template slot-scope="scope">
{{ scope.row.TrialCriterionNameList.toString() }}
{{ scope.row.TrialCriterionNameList.join(', ') }}
</template>
</el-table-column>
<!-- 模板名称 -->

View File

@ -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>

View File

@ -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
}

View File

@ -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>