Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2024-01-23 14:50:58 +08:00
commit 8c6b5b4e55
6 changed files with 33 additions and 27 deletions

View File

@ -66,7 +66,7 @@
IRC Imaging System IRC Imaging System
</p> </p>
<p style="margin-bottom: 20px"> <p style="margin-bottom: 20px">
V1.2.0.001 V1.3.0.001
</p> </p>
<p style="margin-bottom: 20px"> <p style="margin-bottom: 20px">
Copyright © {{ new Date().getFullYear() }} 上海展影医疗科技有限公司 版权所有 Copyright © {{ new Date().getFullYear() }} 上海展影医疗科技有限公司 版权所有

View File

@ -46,10 +46,13 @@ service.interceptors.request.use(
} }
) )
var isConfirm = true
service.interceptors.response.use( service.interceptors.response.use(
response => { response => {
const res = response.data const res = response.data
if (res.IsSuccess) { if (res.IsSuccess) {
isConfirm = true
return Promise.resolve(res) return Promise.resolve(res)
} else if (res.IsSuccess === false) { } else if (res.IsSuccess === false) {
if (res.Code !== 5) { if (res.Code !== 5) {
@ -115,7 +118,7 @@ service.interceptors.response.use(
}) })
} }
} else { } else {
if(message !== ''){ if(message !== '' && isConfirm){
MessageBox.confirm(message, store.state.lang.language === 'en'? 'Warning' : '警告', { MessageBox.confirm(message, store.state.lang.language === 'en'? 'Warning' : '警告', {
type: 'warning', type: 'warning',
showCancelButton: false, showCancelButton: false,
@ -124,12 +127,13 @@ service.interceptors.response.use(
} }
} }
} }
if (!window.navigator.onLine) { if (!window.navigator.onLine && isConfirm) {
MessageBox.confirm(store.state.lang.language === 'en'? 'Please check your network, refresh the page later to try again' : '请检查您的网络,稍后刷新页面重试!', store.state.lang.language === 'en'? 'Warning' : '警告', { MessageBox.confirm(store.state.lang.language === 'en'? 'Please check your networkand try again later' : '请检查网络,稍后重试!', store.state.lang.language === 'en'? 'Warning' : '警告', {
type: 'warning', type: 'warning',
showCancelButton: false, showCancelButton: false,
callback: action => {} callback: action => {}
}) })
isConfirm = false
} }
return Promise.reject(new Error(message || 'Error')) return Promise.reject(new Error(message || 'Error'))
} }

View File

@ -124,7 +124,7 @@
IRC Imaging System IRC Imaging System
</p> </p>
<p style="margin-bottom: 20px"> <p style="margin-bottom: 20px">
V1.2.0.001 V1.3.0.001
</p> </p>
<p style="margin-bottom: 20px" v-if="language === 'zh'"> <p style="margin-bottom: 20px" v-if="language === 'zh'">
Copyright © {{ new Date().getFullYear() }} 上海展影医疗科技有限公司 版权所有 Copyright © {{ new Date().getFullYear() }} 上海展影医疗科技有限公司 版权所有

View File

@ -44,7 +44,17 @@
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tooltip placement="top"> <el-tooltip placement="top" v-if="(() => {
var r = false
if (scope.row.IsHaveUploadFailed) {
uploadQueues.forEach((v) => {
if (v.dicomInfo.studyUid === scope.row.StudyInstanceUid && v.uploadState.record && v.uploadState.record.Failed.length){
r = true
}
})
}
return r
})()">
<div slot="content"> <div slot="content">
{{ $t('trials:uploadDicomList:table:status4') }} {{ $t('trials:uploadDicomList:table:status4') }}
</div> </div>
@ -133,16 +143,15 @@
circle circle
@click="handleDeleteStudy(scope.row)" @click="handleDeleteStudy(scope.row)"
/> />
<el-button <!-- <el-button-->
icon="el-icon-toilet-paper" <!-- icon="el-icon-toilet-paper"-->
circle <!-- circle-->
:title="$t('trials:uploadDicomFiles:button:historical')" <!-- :title="$t('trials:uploadDicomFiles:button:historical')"-->
@click="handleHistorical(scope.row)" <!-- @click="handleHistorical(scope.row)"-->
/> <!-- />-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 多文件上传 --> <!-- 多文件上传 -->
<form id="inputForm" ref="uploadForm" enctype="multipart/form-data"> <form id="inputForm" ref="uploadForm" enctype="multipart/form-data">
<el-divider content-position="left">{{ $t('trials:uploadedDicoms:title:dicomFilesOnly') }}</el-divider> <el-divider content-position="left">{{ $t('trials:uploadedDicoms:title:dicomFilesOnly') }}</el-divider>
@ -1140,7 +1149,7 @@ export default {
Record.Existed.push(name) Record.Existed.push(name)
Record.FileCount++ Record.FileCount++
} else { } else {
let path = `/${params.trialId}/Image/${params.siteId}/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.studyUid}/${v.seriesUid}/${o.instanceUid}/${scope.getGuid(dicomInfo.studyUid + v.seriesUid + o.instanceUid + params.trialId)}` let path = `/${params.trialId}/Image/${params.siteId}/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.studyUid}/${scope.getGuid(dicomInfo.studyUid + v.seriesUid + o.instanceUid + params.trialId)}`
let res = await dcmUpload(path, o.file, config) let res = await dcmUpload(path, o.file, config)
if (!res || !res.url) { if (!res || !res.url) {
params.failedFileCount++ params.failedFileCount++
@ -1151,7 +1160,7 @@ export default {
o.file o.file
) )
let blob = await scope.dicomToPng(fileId, o.imageColumns, o.imageRows) let blob = await scope.dicomToPng(fileId, o.imageColumns, o.imageRows)
let thumbnailPath = `/${params.trialId}/Image/${params.siteId}/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.studyUid}/${v.seriesUid}/${v.seriesUid}.png` let thumbnailPath = `/${params.trialId}/Image/${params.siteId}/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.studyUid}/${v.seriesUid}.png`
let OSSclient = scope.OSSclient let OSSclient = scope.OSSclient
let seriesRes = await OSSclient.put(thumbnailPath, blob) let seriesRes = await OSSclient.put(thumbnailPath, blob)
if (seriesRes && seriesRes.url) { if (seriesRes && seriesRes.url) {
@ -1237,7 +1246,7 @@ export default {
v.instanceList[0].file v.instanceList[0].file
) )
let blob = await scope.dicomToPng(fileId, v.instanceList[0].imageColumns, v.instanceList[0].imageRows) let blob = await scope.dicomToPng(fileId, v.instanceList[0].imageColumns, v.instanceList[0].imageRows)
let thumbnailPath = `/${params.trialId}/Image/${params.siteId}/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.studyUid}/${v.seriesUid}/${v.seriesUid}.png` let thumbnailPath = `/${params.trialId}/Image/${params.siteId}/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.studyUid}/${v.seriesUid}.png`
let OSSclient = scope.OSSclient let OSSclient = scope.OSSclient
let seriesRes = await OSSclient.put(thumbnailPath, blob) let seriesRes = await OSSclient.put(thumbnailPath, blob)
if (seriesRes && seriesRes.url) { if (seriesRes && seriesRes.url) {

View File

@ -180,12 +180,6 @@
min-width="120" min-width="120"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tooltip placement="top" v-key="scope.row.Id" v-if="scope.row.IsHaveUploadFailed">
<div slot="content">
{{ $t('trials:uploadDicomList:table:status4') }}
</div>
<span class="el-icon-warning" style="color: #cbb024;cursor: pointer"></span>
</el-tooltip>
<span style="margin: 0 4px">{{ scope.row.SubjectCode }}</span> <span style="margin: 0 4px">{{ scope.row.SubjectCode }}</span>
<!-- --> <!-- -->
<span v-if="scope.row.SubjectFirstGiveMedicineTime" class="status-primary-circle"> <span v-if="scope.row.SubjectFirstGiveMedicineTime" class="status-primary-circle">
@ -1428,8 +1422,7 @@ export default {
if (res.IsSuccess) { if (res.IsSuccess) {
let text = this.$t('trials:crcUpload:message:submit') let text = this.$t('trials:crcUpload:message:submit')
if (this.rowData.IsHaveUploadFailed) { if (this.rowData.IsHaveUploadFailed) {
text = `<div>${this.$t('trials:crcUpload:message:submit')}</div>` + text = `<div>${this.$t('trials:crcUpload:message:submit')}</div>`
`<div style="font-size: 12px;color:#f66;margin-top: 5px;"><span class="el-icon-warning"></span>${this.$t('trials:crcUpload:message:submitNote')}</div>`
} }
this.$confirm(text, { this.$confirm(text, {
dangerouslyUseHTMLString: true, dangerouslyUseHTMLString: true,

View File

@ -1,10 +1,10 @@
<template> <template>
<div class="wrapper"> <div class="wrapper">
<el-row> <el-row>
<el-col :span="8"> <el-col :span="10">
<h3>{{$t('trials:audit:tab:clinicalDataconfirm')}}</h3> <h3>{{$t('trials:audit:tab:clinicalDataconfirm')}}</h3>
</el-col> </el-col>
<el-col :span="16" style="text-align:right;"> <el-col :span="14" style="text-align:right;">
<h3> <h3>
<Pagination class="page" :total="total" :page.sync="listQuery.pageIndex" :limit.sync="listQuery.pageSize" layout="total, sizes, prev, pager, next" :background="false" style="display: inline-block;" @pagination="getList" /> <Pagination class="page" :total="total" :page.sync="listQuery.pageIndex" :limit.sync="listQuery.pageSize" layout="total, sizes, prev, pager, next" :background="false" style="display: inline-block;" @pagination="getList" />
<!-- 重置 --> <!-- 重置 -->