Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
d7ebed0b05
|
|
@ -24,9 +24,9 @@
|
|||
$t('DicomViewer:anonymous:Comparison') }}</div>
|
||||
<div class="btn" v-else @click="comparison(false)">{{
|
||||
$t('DicomViewer:anonymous:Exit') }}</div>
|
||||
<div :class="{ btn: true, isNoted: isComparison }" @click="recovery(false)">{{
|
||||
<div :class="{ btn: true }" @click="recovery(false)">{{
|
||||
$t('DicomViewer:anonymous:Recovery') }}</div>
|
||||
<div :class="{ btn: true, isNoted: isComparison }" @click="recovery(true)">{{
|
||||
<div :class="{ btn: true }" @click="recovery(true)">{{
|
||||
$t('DicomViewer:anonymous:RecoveryAll') }}</div>
|
||||
</div>
|
||||
<div v-show="layoutRow >= 1" class="dicom-row" :style="{ height: rowHeight }">
|
||||
|
|
@ -562,8 +562,8 @@ export default {
|
|||
],
|
||||
imageIds: [newImageId]
|
||||
}, serie)
|
||||
this.$refs[`dicomCanvas0`].loadImageStack(dicomCanvas0_info, this.$t('DicomViewer:anonymous:before'))
|
||||
this.$refs[`dicomCanvas1`].loadImageStack(dicomCanvas1_info, this.$t('DicomViewer:anonymous:after'))
|
||||
this.$refs[`dicomCanvas0`].loadImageStack(dicomCanvas0_info, this.$t('DicomViewer:anonymous:after'))
|
||||
this.$refs[`dicomCanvas1`].loadImageStack(dicomCanvas1_info, this.$t('DicomViewer:anonymous:before'))
|
||||
})
|
||||
} else {
|
||||
this.isComparison = f
|
||||
|
|
@ -573,7 +573,10 @@ export default {
|
|||
}
|
||||
},
|
||||
recovery(isAll = false) {
|
||||
if (this.isComparison) return false
|
||||
// if (this.isComparison) return false
|
||||
if (this.isAnonymous) {
|
||||
this.comparison(false)
|
||||
}
|
||||
this.setToolsPassive()
|
||||
this.$refs[`dicomCanvas0`].getNote_RectangleRoi().then(async obj => {
|
||||
let { image } = obj
|
||||
|
|
|
|||
|
|
@ -516,7 +516,7 @@ async function VueInit() {
|
|||
count = 0;
|
||||
isLock = null
|
||||
// zzSessionStorage.removeItem('isLock')
|
||||
DicomEvent.$emit('isLock', false)
|
||||
// DicomEvent.$emit('isLock', false)
|
||||
localStorage.setItem('count', '0')
|
||||
document.querySelector('#my_username').value = null
|
||||
document.querySelector('#my_password').value = null
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
<el-input v-model="password.UserType" disabled />
|
||||
</el-form-item> -->
|
||||
<!-- 用户名 -->
|
||||
<el-form-item :label="$t('recompose:form:userName')" prop="NewUserName">
|
||||
<el-form-item class="my_new_pwd" :label="$t('recompose:form:userName')" prop="NewUserName">
|
||||
<el-input v-model="password.NewUserName" :disabled="isUpdate" />
|
||||
</el-form-item>
|
||||
<!-- 新密码 -->
|
||||
|
|
@ -77,7 +77,7 @@ export default {
|
|||
callback(
|
||||
lang === 'zh'
|
||||
? new Error(
|
||||
'1)新建账号,用户名字符长度最小为4个字符,最大为16个字符,只可使用字母、数字、下划线;'
|
||||
'新建账号,用户名字符长度最小为4个字符,最大为16个字符,只可使用字母、数字、下划线;'
|
||||
)
|
||||
: new Error(
|
||||
'For a new account, the username must have:1) At least 4 characters;2) At most 16 characters;3)Only letters, numbers, and underscores are allowed.'
|
||||
|
|
|
|||
|
|
@ -270,7 +270,7 @@ export default {
|
|||
callback(
|
||||
lang === 'zh'
|
||||
? new Error(
|
||||
'1)新建账号,用户名字符长度最小为4个字符,最大为16个字符,只可使用字母、数字、下划线;'
|
||||
'新建账号,用户名字符长度最小为4个字符,最大为16个字符,只可使用字母、数字、下划线;'
|
||||
)
|
||||
: new Error(
|
||||
'For a new account, the username must have:1) At least 4 characters;2) At most 16 characters;3)Only letters, numbers, and underscores are allowed.'
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@
|
|||
</el-switch>
|
||||
<span style="margin-left: 5px;">{{
|
||||
$t('trials:reading:Segmentations:title:InactiveSegmentationsShow')
|
||||
}}</span>
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<template v-if="segmentList.length > 0">
|
||||
|
|
@ -243,9 +243,10 @@
|
|||
|
||||
<el-color-picker v-model="item.color" size="mini"
|
||||
@change="(e) => changeColor(e, item)"></el-color-picker>
|
||||
<div style="width: 100%;display: flex;align-items: center;justify-content: space-between;">
|
||||
<div
|
||||
style="width: 100%;display: flex;align-items: center;justify-content: space-between;">
|
||||
<div class="SegmentName">{{ item.SegmentLabel }}</div>
|
||||
<div v-if="item.stats && item.stats['volume']">{{
|
||||
<div v-if="item.stats && item.stats['volume']" style="text-align: left;width: 100px;">{{
|
||||
Number(item.stats['volume'].value).toFixed(digitPlaces) }}{{
|
||||
item.stats['volume'].unit }}</div>
|
||||
</div>
|
||||
|
|
@ -309,7 +310,7 @@
|
|||
<template slot-scope="scope">
|
||||
<el-button type="text" @click.stop="restoreSegmentationVersion(scope.row)">{{
|
||||
$t('trials:reading:Segmentations:button:recovery')
|
||||
}}</el-button>
|
||||
}}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
|
|||
|
|
@ -137,6 +137,14 @@
|
|||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!--影像质控风险控制-->
|
||||
<el-form-item :label="$t('trials:processCfg:form:IsImageQualityControl')" prop="IsImageQualityControl">
|
||||
<el-radio-group v-model="form.IsImageQualityControl" :disabled="form.IsTrialBasicLogicConfirmed && !isEdit">
|
||||
<el-radio v-for="item of $d.YesOrNo" :key="item.id" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 失访可读 -->
|
||||
<el-form-item :label="$t('trials:logincCfg:form:IsOpenLostVistRead')" prop="IsOpenLostVistRead " v-if="showMore">
|
||||
<el-radio-group v-model="form.IsOpenLostVistRead" :disabled="form.IsTrialBasicLogicConfirmed && !isEdit">
|
||||
|
|
@ -546,6 +554,7 @@ export default {
|
|||
StudyUseStudyNameList: [],
|
||||
IsIQCAutoNextTask: false,
|
||||
IsSupportQCDownloadImage: false,
|
||||
IsImageQualityControl: false,
|
||||
IsOpenLostVistRead: false,
|
||||
IsIQCAutoTaskDistinguishType: false
|
||||
// ClinicalDataSetNames: [],
|
||||
|
|
@ -1287,6 +1296,11 @@ export default {
|
|||
NewVal: this.$fd('YesOrNo', this.form.IsSupportQCDownloadImage),
|
||||
OldVal: this.$fd('YesOrNo', this.initialForm.IsSupportQCDownloadImage),
|
||||
},
|
||||
{
|
||||
Name: this.$t('trials:processCfg:form:IsImageQualityControl'), // 影像质控风险控制
|
||||
NewVal: this.$fd('YesOrNo', this.form.IsImageQualityControl),
|
||||
OldVal: this.$fd('YesOrNo', this.initialForm.IsImageQualityControl),
|
||||
},
|
||||
{
|
||||
Name: this.$t('trials:logincCfg:form:IsOpenLostVistRead'),
|
||||
NewVal: this.$fd('YesOrNo', this.form.IsOpenLostVistRead),
|
||||
|
|
|
|||
|
|
@ -62,14 +62,14 @@
|
|||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!--影像质控风险控制-->
|
||||
<el-form-item :label="$t('trials:processCfg:form:IsImageQualityControl')" prop="IsImageQualityControl"
|
||||
<!-- <el-form-item :label="$t('trials:processCfg:form:IsImageQualityControl')" prop="IsImageQualityControl"
|
||||
v-if="form.QCProcessEnum > 0">
|
||||
<el-radio-group v-model="form.IsImageQualityControl" :disabled="form.IsTrialProcessConfirmed && !isEdit">
|
||||
<el-radio v-for="item of $d.YesOrNo" :key="item.id" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<!-- 一致性核查流程 -->
|
||||
<el-form-item :label="$t('trials:processCfg:form:conProcess')" prop="IsImageConsistencyVerification">
|
||||
<el-radio-group v-model="form.IsImageConsistencyVerification"
|
||||
|
|
@ -749,7 +749,7 @@ export default {
|
|||
ClinicalDataTrialSetIds: [],
|
||||
ClinicalDataSetNamesStr: '',
|
||||
QCProcessEnum: null,
|
||||
IsImageQualityControl: false,
|
||||
// IsImageQualityControl: false,
|
||||
CollectImagesEnum: null,
|
||||
ImageFormatList: [],
|
||||
IsImageConsistencyVerification: null,
|
||||
|
|
@ -899,8 +899,8 @@ export default {
|
|||
mounted() { },
|
||||
methods: {
|
||||
QCProcessEnumChange(v) {
|
||||
this.form.IsImageQualityControl = false
|
||||
if (v > 0) this.form.IsImageQualityControl = true
|
||||
// this.form.IsImageQualityControl = false
|
||||
// if (v > 0) this.form.IsImageQualityControl = true
|
||||
},
|
||||
handlePreview(row) {
|
||||
this.rowData = { ...row }
|
||||
|
|
@ -1073,11 +1073,11 @@ export default {
|
|||
NewVal: this.$fd('QCProcessEnum', this.form.QCProcessEnum),
|
||||
OldVal: this.$fd('QCProcessEnum', this.initialForm.QCProcessEnum),
|
||||
},
|
||||
{
|
||||
Name: this.$t('trials:processCfg:form:IsImageQualityControl'), // 影像质控风险控制
|
||||
NewVal: this.$fd('YesOrNo', this.form.IsImageQualityControl),
|
||||
OldVal: this.$fd('YesOrNo', this.initialForm.IsImageQualityControl),
|
||||
},
|
||||
// {
|
||||
// Name: this.$t('trials:processCfg:form:IsImageQualityControl'), // 影像质控风险控制
|
||||
// NewVal: this.$fd('YesOrNo', this.form.IsImageQualityControl),
|
||||
// OldVal: this.$fd('YesOrNo', this.initialForm.IsImageQualityControl),
|
||||
// },
|
||||
{
|
||||
Name: this.$t('trials:processCfg:form:conProcess'), // 一致性核查流程
|
||||
NewVal: this.$fd('YesOrNo', this.form.IsImageConsistencyVerification),
|
||||
|
|
|
|||
|
|
@ -53,6 +53,14 @@
|
|||
style="margin-left: 10px" @click="getCRCUploadedStudyInfo('dicom')">
|
||||
{{ $t('trials:audit:button:downLoadAllDiocms') }}
|
||||
</el-button>
|
||||
<!-- 下载阅片影像 -->
|
||||
<el-button v-if="
|
||||
IsSupportQCDownloadImage &&
|
||||
!hasPermi(['role:spm'])
|
||||
" :loading="downloading" :disabled="selectTableDicom.length <= 0" size="small" type="primary"
|
||||
style="margin-left: 10px" @click="getCRCUploadedStudyInfo('dicom', true)">
|
||||
{{ $t('trials:audit:button:downLoadReadingDiocms') }}
|
||||
</el-button>
|
||||
<!-- 下载工具 -->
|
||||
<el-button v-if="
|
||||
IsSupportQCDownloadImage &&
|
||||
|
|
@ -267,6 +275,14 @@
|
|||
style="margin-left: 10px" @click="getCRCUploadedStudyInfo('noneDicom')">
|
||||
{{ $t('trials:audit:button:downLoadAllNonDiocms') }}
|
||||
</el-button>
|
||||
<!-- 下载阅片影像 -->
|
||||
<el-button v-if="
|
||||
IsSupportQCDownloadImage &&
|
||||
!hasPermi(['role:spm'])
|
||||
" :loading="downloading" :disabled="selectTableNonedicom.length <= 0" size="small" type="primary"
|
||||
style="margin-left: 10px" @click="getCRCUploadedStudyInfo('noneDicom', true)">
|
||||
{{ $t('trials:audit:button:downLoadReadingNonDiocms') }}
|
||||
</el-button>
|
||||
<!-- 预览 -->
|
||||
<el-button size="small" :disabled="noneDicomStudyList.length === 0" type="primary"
|
||||
style="margin-left: 10px" @click="handleViewAllNoneDicoms(false)">
|
||||
|
|
@ -1153,13 +1169,14 @@ export default {
|
|||
this.selectTableNonedicom = val
|
||||
},
|
||||
// 获取下载文件信息
|
||||
async getCRCUploadedStudyInfo(type) {
|
||||
async getCRCUploadedStudyInfo(type, isReading = null) {
|
||||
if (this.downloading) return
|
||||
try {
|
||||
let data = {
|
||||
SubjectVisitId: this.data.Id,
|
||||
NoneDicomStudyIdList: [],
|
||||
DicomStudyIdList: [],
|
||||
IsExportReading: isReading
|
||||
}
|
||||
if (type === 'tools') {
|
||||
return this.handleDownload()
|
||||
|
|
|
|||
Loading…
Reference in New Issue