文件大小为NULL时,展示为空,不要为0.展示时单位需要处理
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-07-08 13:39:14 +08:00
parent a5f3b49e2f
commit 74033b2d4f
12 changed files with 269 additions and 835 deletions

View File

@ -29,9 +29,7 @@
<el-table-column prop="FileSize" :label="$t('trials:audit:table:nonDicomsFileSize')" width="100">
<template slot-scope="scope">
<span>{{
scope.row.FileSize && scope.row.FileSize > 0
? `${(scope.row.FileSize / 1024 / 1024).toFixed(3)}MB`
: ''
$FormatSize(scope.row.FileSize)
}}</span>
</template>
</el-table-column>
@ -68,9 +66,7 @@
<el-table-column prop="FileSize" :label="$t('trials:audit:table:nonDicomsFileSize')" width="100">
<template slot-scope="scope">
<span>{{
scope.row.FileSize && scope.row.FileSize > 0
? `${(scope.row.FileSize / 1024 / 1024).toFixed(3)}MB`
: ''
$FormatSize(scope.row.FileSize)
}}</span>
</template>
</el-table-column>

View File

@ -26,6 +26,9 @@ Vue.use(VueClipboard)
import permission from './utils/permission'
Vue.use(permission)
import { formatSize } from "./utils"
Vue.prototype.$FormatSize = formatSize
import Viewer from 'v-viewer'
import './assets/css/viewer.css'
Viewer.setDefaults({

View File

@ -91,4 +91,14 @@ export function deepClone(source, map = new WeakMap()) {
}
return target;
}
export function formatSize(size, fixed = 0) {
if (isNaN(parseFloat(size))) return ''
let kbSize = size / 1024
if (kbSize <= 1024) {
return `${kbSize.toFixed(fixed)}KB`
}
let mbSize = kbSize / 1024
return `${mbSize.toFixed(fixed)}MB`
}

View File

@ -99,9 +99,9 @@
<template slot-scope="scope">
<span>{{
scope.row.size && scope.row.size > 0
? `${(scope.row.size / 1024 / 1024).toFixed(3)}MB`
? $FormatSize(scope.row.size)
: scope.row.Size && scope.row.Size > 0
? `${(scope.row.Size / 1024 / 1024).toFixed(3)}MB`
? $FormatSize(scope.row.Size)
: ''
}}</span>
</template>

View File

@ -850,22 +850,22 @@ export default {
item = {
key: v.Code,
Enum: this.$i18n.locale === 'zh' ? v.ValueCN : v.Value,
newValue: parseInt(obj[v.Code] ) >= 0 ? `${(obj[v.Code] / 1024 / 1024).toFixed(3)}MB` : '--',
newValue: parseInt(obj[v.Code] ) >= 0 ? this.$FormatSize(obj[v.Code]) : '--',
oldValue: ''
}
} else if (row.OptType === 'Delete') {
item = {
key: v.Code,
Enum: this.$i18n.locale === 'zh' ? v.ValueCN : v.Value,
oldValue: parseInt(obj[v.Code] ) >= 0 ? `${(obj[v.Code] / 1024 / 1024).toFixed(3)}MB` : '--',
oldValue: parseInt(obj[v.Code] ) >= 0 ? this.$FormatSize(obj[v.Code]) : '--',
newValue: '--'
}
} else {
item = {
key: v.Code,
Enum: this.$i18n.locale === 'zh' ? v.ValueCN : v.Value,
newValue: parseInt(obj[v.Code] ) >= 0 ? `${(obj[v.Code] / 1024 / 1024).toFixed(3)}MB` : '--',
oldValue: parseInt(upObj[v.Code] ) >= 0 ? `${(upObj[v.Code] / 1024 / 1024).toFixed(3)}MB` : '--',
newValue: parseInt(obj[v.Code] ) >= 0 ? this.$FormatSize(obj[v.Code]) : '--',
oldValue: parseInt(upObj[v.Code] ) >= 0 ? this.$FormatSize(upObj[v.Code]) : '--',
}
}
item.DataType = v.DataType

View File

@ -66,10 +66,10 @@
<template slot-scope="scope">
<el-tag v-if="scope.row.IsHaveDicom" type="primary">{{
$fd('IsDicom', true)
}}</el-tag>
}}</el-tag>
<el-tag v-if="scope.row.IsHaveNoneDicom" type="primary">{{
$fd('IsDicom', false)
}}</el-tag>
}}</el-tag>
</template>
</el-table-column>
<!-- 影像数量 -->
@ -308,7 +308,7 @@ export default {
this.selectArr = selection
let num = this.selectArr.reduce((sum, item) => sum + item.TotalImageSize, 0)
if (num <= 0) return this.image_size.CheckImageSize = null
this.image_size.CheckImageSize = (num / 1024 / 1024).toFixed(3) + 'MB'
this.image_size.CheckImageSize = this.$FormatSize(num)
},
// site
getSite() {

View File

@ -3,212 +3,100 @@
<template slot="search-container">
<el-form :inline="true">
<!--所在中心-->
<el-form-item
:label="$t('trials:pushRecord:table:trialSiteKeyInfo')"
prop="TrialSiteKeyInfo"
>
<el-input
v-model="searchData.TrialSiteKeyInfo"
size="small"
clearable
style="width: 150px"
:placeholder="$t('trials:pushRecord:placeholder:trialSiteKeyInfo')"
/>
<el-form-item :label="$t('trials:pushRecord:table:trialSiteKeyInfo')" prop="TrialSiteKeyInfo">
<el-input v-model="searchData.TrialSiteKeyInfo" size="small" clearable style="width: 150px"
:placeholder="$t('trials:pushRecord:placeholder:trialSiteKeyInfo')" />
</el-form-item>
<!--接收端AE-->
<el-form-item
:label="$t('trials:pushRecord:table:calledAE')"
prop="CalledAE"
>
<el-select
v-model="searchData.CalledAE"
clearable
style="width: 120px"
>
<el-option
v-for="item of calledAEList"
:key="item"
:value="item"
:label="item"
/>
<el-form-item :label="$t('trials:pushRecord:table:calledAE')" prop="CalledAE">
<el-select v-model="searchData.CalledAE" clearable style="width: 120px">
<el-option v-for="item of calledAEList" :key="item" :value="item" :label="item" />
</el-select>
</el-form-item>
<!--发送端AE-->
<el-form-item
:label="$t('trials:pushRecord:table:callingAE')"
prop="CallingAE"
>
<el-select
v-model="searchData.CallingAE"
clearable
style="width: 120px"
>
<el-option
v-for="item of callingAEList"
:key="item"
:value="item"
:label="item"
/>
<el-form-item :label="$t('trials:pushRecord:table:callingAE')" prop="CallingAE">
<el-select v-model="searchData.CallingAE" clearable style="width: 120px">
<el-option v-for="item of callingAEList" :key="item" :value="item" :label="item" />
</el-select>
</el-form-item>
<!--最新接受日期-->
<el-form-item :label="$t('trials:pushRecord:table:createTime')">
<el-date-picker
v-model="datetimerange"
type="datetimerange"
:default-time="['00:00:00', '23:59:59']"
<el-date-picker v-model="datetimerange" type="datetimerange" :default-time="['00:00:00', '23:59:59']"
:start-placeholder="$t('trials:loginLog:table:beginTime')"
:end-placeholder="$t('trials:loginLog:table:endTime')"
value-format="yyyy-MM-dd HH:mm:ss"
@change="handleDatetimeChange"
/>
:end-placeholder="$t('trials:loginLog:table:endTime')" value-format="yyyy-MM-dd HH:mm:ss"
@change="handleDatetimeChange" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
{{ $t('common:button:search') }}
</el-button>
<!-- 重置 -->
<el-button
type="primary"
icon="el-icon-refresh-left"
@click="handleReset"
>
<el-button type="primary" icon="el-icon-refresh-left" @click="handleReset">
{{ $t('common:button:reset') }}
</el-button>
<!--导出-->
<el-button
type="primary"
icon="el-icon-download"
:disabled="list.length <= 0"
@click="handleExport"
>
<el-button type="primary" icon="el-icon-download" :disabled="list.length <= 0" @click="handleExport">
{{ $t('common:button:export') }}
</el-button>
</el-form-item>
</el-form>
</template>
<template slot="main-container">
<el-table
v-loading="loading"
v-adaptive="{ bottomOffset: 60 }"
height="100"
:data="list"
class="table"
@sort-change="handleSortByColumn"
:default-sort="{ prop: 'StartTime', order: 'descending' }"
>
<el-table v-loading="loading" v-adaptive="{ bottomOffset: 60 }" height="100" :data="list" class="table"
@sort-change="handleSortByColumn" :default-sort="{ prop: 'StartTime', order: 'descending' }">
<el-table-column type="index" width="50" />
<!--中心编号-->
<el-table-column
:label="$t('trials:pushRecord:table:trialSiteCode')"
prop="TrialSiteCode"
min-width="160"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column :label="$t('trials:pushRecord:table:trialSiteCode')" prop="TrialSiteCode" min-width="160"
show-overflow-tooltip sortable="custom" />
<!--中心名称-->
<el-table-column
:label="$t('trials:pushRecord:table:trialSiteAliasName')"
prop="TrialSiteAliasName"
min-width="160"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column :label="$t('trials:pushRecord:table:trialSiteAliasName')" prop="TrialSiteAliasName"
min-width="160" show-overflow-tooltip sortable="custom" />
<!--发送端AE-->
<el-table-column
:label="$t('trials:pushRecord:table:callingAEList')"
prop="CallingAE"
min-width="90"
show-overflow-tooltip
/>
<el-table-column :label="$t('trials:pushRecord:table:callingAEList')" prop="CallingAE" min-width="90"
show-overflow-tooltip />
<!--发送端IP-->
<el-table-column
:label="$t('trials:pushRecord:table:callingAEIP')"
prop="CallingAEIP"
min-width="160"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column :label="$t('trials:pushRecord:table:callingAEIP')" prop="CallingAEIP" min-width="160"
show-overflow-tooltip sortable="custom" />
<!--接收端AE-->
<el-table-column
:label="$t('trials:pushRecord:table:calledAEList')"
prop="CalledAE"
min-width="90"
show-overflow-tooltip
/>
<el-table-column :label="$t('trials:pushRecord:table:calledAEList')" prop="CalledAE" min-width="90"
show-overflow-tooltip />
<!--检查数-->
<el-table-column
:label="$t('trials:pushRecord:table:studyCount')"
prop="StudyCount"
min-width="160"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column :label="$t('trials:pushRecord:table:studyCount')" prop="StudyCount" min-width="160"
show-overflow-tooltip sortable="custom" />
<!--图像数量-->
<el-table-column
:label="$t('trials:pushRecord:table:fileCount')"
prop="FileCount"
min-width="160"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column :label="$t('trials:pushRecord:table:fileCount')" prop="FileCount" min-width="160"
show-overflow-tooltip sortable="custom" />
<!--图像大小-->
<el-table-column
:label="$t('trials:pushRecord:table:fileSize')"
prop="FileSize"
min-width="160"
show-overflow-tooltip
sortable="custom"
>
<el-table-column :label="$t('trials:pushRecord:table:fileSize')" prop="FileSize" min-width="160"
show-overflow-tooltip sortable="custom">
<template slot-scope="scope">
<span>{{
scope.row.FileSize && scope.row.FileSize > 0
? `${(scope.row.FileSize / 1024 / 1024).toFixed(3)}MB`
: ''
$FormatSize(scope.row.FileSize)
}}</span>
</template>
</el-table-column>
<!--推送开始时间-->
<el-table-column
:label="$t('trials:pushRecord:table:startTime')"
prop="StartTime"
min-width="160"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column :label="$t('trials:pushRecord:table:startTime')" prop="StartTime" min-width="160"
show-overflow-tooltip sortable="custom" />
<!--推送结束时间-->
<el-table-column
:label="$t('trials:pushRecord:table:endTime')"
prop="EndTime"
min-width="160"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column :label="$t('trials:pushRecord:table:endTime')" prop="EndTime" min-width="160"
show-overflow-tooltip sortable="custom" />
<!-- 总共用时 -->
<el-table-column
prop="UploadIntervalStr"
min-width="100"
:label="$t('trials:pushRecord:table:totalTime')"
show-overflow-tooltip
>
<el-table-column prop="UploadIntervalStr" min-width="100" :label="$t('trials:pushRecord:table:totalTime')"
show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.UploadIntervalStr }}
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination
class="page"
:total="total"
:page.sync="searchData.PageIndex"
:limit.sync="searchData.PageSize"
@pagination="getList"
/>
<pagination class="page" :total="total" :page.sync="searchData.PageIndex" :limit.sync="searchData.PageSize"
@pagination="getList" />
</template>
</BaseContainer>
</template>
<script>
<script>
import {
getSCPImageUploadList,
getDicomCalledAEList,
@ -335,5 +223,4 @@ export default {
},
},
}
</script>
</script>

View File

@ -35,10 +35,8 @@
sortable="custom">
<template slot-scope="scope">
<span>{{
scope.row.FileSize && scope.row.FileSize > 0
? `${(scope.row.FileSize / 1024 / 1024).toFixed(3)}MB`
: ''
}}</span>
$FormatSize(scope.row.FileSize)
}}</span>
</template>
</el-table-column>
<el-table-column prop="CreateTime" :label="$t('trials:trialDocument:historyFileList:CreateTime')"

View File

@ -1,48 +1,29 @@
<template>
<div v-loading="loading" class="clinical-data-wrapper">
<el-tabs type="border-card">
<el-tab-pane
v-for="cd in clinicalDatas"
:key="cd.ClinicalDataTrialSetId"
:label="
$i18n.locale === 'zh'
? cd.ClinicalDataSetName
: cd.ClinicalDataSetEnName
"
>
<el-tab-pane v-for="cd in clinicalDatas" :key="cd.ClinicalDataTrialSetId" :label="$i18n.locale === 'zh'
? cd.ClinicalDataSetName
: cd.ClinicalDataSetEnName
">
<!-- 格式化录入 -->
<div v-if="cd.ClinicalUploadType === 0">
<!-- 既往放疗史 -->
<h4>{{ $t("trials:uploadClinicalData:title:pastTreatment") }}</h4>
<div v-if="allowAddOrEdit" style="text-align: right">
<!-- 新增 -->
<el-button
type="primary"
icon="el-icon-plus"
size="small"
@click.native.prevent="
addPreviousHistory(cd.ClinicalDataTrialSetId)
"
>
<el-button type="primary" icon="el-icon-plus" size="small" @click.native.prevent="
addPreviousHistory(cd.ClinicalDataTrialSetId)
">
{{ $t("common:button:new") }}
</el-button>
</div>
<el-table
:data="cd.ClinicalTableData.PreviousHistoryList"
style="width: 100%"
>
<el-table :data="cd.ClinicalTableData.PreviousHistoryList" style="width: 100%">
<el-table-column type="index" width="50" />
<!-- 放疗部位 -->
<el-table-column
prop="Position"
:label="$t('trials:uploadClinicalData:table:bodyPart')"
/>
<el-table-column prop="Position" :label="$t('trials:uploadClinicalData:table:bodyPart')" />
<!-- 开始日期 -->
<el-table-column
prop="StartTime"
:label="$t('trials:uploadClinicalData:table:beginDate')"
>
<el-table-column prop="StartTime" :label="$t('trials:uploadClinicalData:table:beginDate')">
<template slot-scope="scope">
{{
scope.row.StartTime
@ -52,10 +33,7 @@
</template>
</el-table-column>
<!-- 结束日期 -->
<el-table-column
prop="EndTime"
:label="$t('trials:uploadClinicalData:table:endDate')"
>
<el-table-column prop="EndTime" :label="$t('trials:uploadClinicalData:table:endDate')">
<template slot-scope="scope">
{{
scope.row.EndTime
@ -65,71 +43,39 @@
</template>
</el-table-column>
<!-- 病灶是否PD -->
<el-table-column
prop="IsPD"
:label="$t('trials:uploadClinicalData:table:isPD')"
>
<el-table-column prop="IsPD" :label="$t('trials:uploadClinicalData:table:isPD')">
<template slot-scope="scope">
{{ $fd("IsPdEnum", scope.row.IsPD) }}
</template>
</el-table-column>
<el-table-column
v-if="allowAddOrEdit"
:label="$t('common:action:action')"
min-width="120"
>
<el-table-column v-if="allowAddOrEdit" :label="$t('common:action:action')" min-width="120">
<template slot-scope="scope">
<!-- 编辑 -->
<el-button
v-if="allowAddOrEdit"
icon="el-icon-edit-outline"
circle
:title="$t('common:button:edit')"
size="small"
@click.native.prevent="editRow(scope.row, 1)"
/>
<el-button v-if="allowAddOrEdit" icon="el-icon-edit-outline" circle :title="$t('common:button:edit')"
size="small" @click.native.prevent="editRow(scope.row, 1)" />
<!-- 移除 -->
<el-button
v-if="
data.SubmitState * 1 < 2 ||
(data.SubmitState === 2 && data.IsQCConfirmedReupload)
"
icon="el-icon-delete"
circle
:title="$t('common:button:delete')"
size="small"
@click.native.prevent="deletePreviousHistory(scope.row)"
/>
<el-button v-if="
data.SubmitState * 1 < 2 ||
(data.SubmitState === 2 && data.IsQCConfirmedReupload)
" icon="el-icon-delete" circle :title="$t('common:button:delete')" size="small"
@click.native.prevent="deletePreviousHistory(scope.row)" />
</template>
</el-table-column>
</el-table>
<!-- 既往手术史 -->
<h4>{{ $t("trials:uploadClinicalData:title:pastSurgery") }}</h4>
<div v-if="allowAddOrEdit" style="text-align: right">
<el-button
type="primary"
icon="el-icon-plus"
size="small"
@click="addPreviousSurgery(cd.ClinicalDataTrialSetId)"
>
<el-button type="primary" icon="el-icon-plus" size="small"
@click="addPreviousSurgery(cd.ClinicalDataTrialSetId)">
{{ $t("common:button:new") }}
</el-button>
</div>
<el-table
:data="cd.ClinicalTableData.PreviousSurgeryList"
style="width: 100%"
>
<el-table :data="cd.ClinicalTableData.PreviousSurgeryList" style="width: 100%">
<el-table-column type="index" width="50" />
<!-- 手术名称 -->
<el-table-column
prop="OperationName"
:label="$t('trials:uploadClinicalData:table:surgeryName')"
/>
<el-table-column prop="OperationName" :label="$t('trials:uploadClinicalData:table:surgeryName')" />
<!-- 手术日期 -->
<el-table-column
prop="OperationTime"
:label="$t('trials:uploadClinicalData:table:surgeryDate')"
>
<el-table-column prop="OperationTime" :label="$t('trials:uploadClinicalData:table:surgeryDate')">
<template slot-scope="scope">
{{
scope.row.OperationTime
@ -139,33 +85,17 @@
</template>
</el-table-column>
<el-table-column
v-if="allowAddOrEdit"
:label="$t('common:action:action')"
min-width="200"
>
<el-table-column v-if="allowAddOrEdit" :label="$t('common:action:action')" min-width="200">
<template slot-scope="scope">
<!-- 编辑 -->
<el-button
v-if="allowAddOrEdit"
icon="el-icon-edit-outline"
circle
:title="$t('common:button:edit')"
size="small"
@click.native.prevent="editRow(scope.row, 2)"
/>
<el-button v-if="allowAddOrEdit" icon="el-icon-edit-outline" circle :title="$t('common:button:edit')"
size="small" @click.native.prevent="editRow(scope.row, 2)" />
<!-- 移除 -->
<el-button
v-if="
data.SubmitState * 1 < 2 ||
(data.SubmitState === 2 && data.IsQCConfirmedReupload)
"
icon="el-icon-delete"
circle
:title="$t('common:button:delete')"
size="small"
@click.native.prevent="deletePreviousSurgery(scope.row)"
/>
<el-button v-if="
data.SubmitState * 1 < 2 ||
(data.SubmitState === 2 && data.IsQCConfirmedReupload)
" icon="el-icon-delete" circle :title="$t('common:button:delete')" size="small"
@click.native.prevent="deletePreviousSurgery(scope.row)" />
</template>
</el-table-column>
</el-table>
@ -173,30 +103,17 @@
<h4>{{ $t("trials:uploadClinicalData:title:others") }}</h4>
<div v-if="allowAddOrEdit" style="text-align: right">
<!-- 新增 -->
<el-button
type="primary"
icon="el-icon-plus"
size="small"
@click="addPreviousOther(cd.ClinicalDataTrialSetId)"
>
<el-button type="primary" icon="el-icon-plus" size="small"
@click="addPreviousOther(cd.ClinicalDataTrialSetId)">
{{ $t("common:button:new") }}
</el-button>
</div>
<el-table
:data="cd.ClinicalTableData.PreviousOtherList"
style="width: 100%"
>
<el-table :data="cd.ClinicalTableData.PreviousOtherList" style="width: 100%">
<el-table-column type="index" width="50" />
<!-- 治疗类型 -->
<el-table-column
prop="TreatmentType"
:label="$t('trials:uploadClinicalData:table:treatmentType')"
/>
<el-table-column prop="TreatmentType" :label="$t('trials:uploadClinicalData:table:treatmentType')" />
<!-- 开始日期 -->
<el-table-column
prop="StartTime"
:label="$t('trials:uploadClinicalData:table:treatmentbeginDate')"
>
<el-table-column prop="StartTime" :label="$t('trials:uploadClinicalData:table:treatmentbeginDate')">
<template slot-scope="scope">
{{
scope.row.StartTime
@ -206,10 +123,7 @@
</template>
</el-table-column>
<!-- 结束日期 -->
<el-table-column
prop="EndTime"
:label="$t('trials:uploadClinicalData:table:treatmentendDate')"
>
<el-table-column prop="EndTime" :label="$t('trials:uploadClinicalData:table:treatmentendDate')">
<template slot-scope="scope">
{{
scope.row.EndTime
@ -219,33 +133,17 @@
</template>
</el-table-column>
<el-table-column
v-if="allowAddOrEdit"
:label="$t('common:action:action')"
min-width="200"
>
<el-table-column v-if="allowAddOrEdit" :label="$t('common:action:action')" min-width="200">
<template slot-scope="scope">
<!-- 编辑 -->
<el-button
v-if="allowAddOrEdit"
icon="el-icon-edit-outline"
circle
:title="$t('common:button:edit')"
size="small"
@click.native.prevent="editRow(scope.row, 3)"
/>
<el-button v-if="allowAddOrEdit" icon="el-icon-edit-outline" circle :title="$t('common:button:edit')"
size="small" @click.native.prevent="editRow(scope.row, 3)" />
<!-- 移除 -->
<el-button
v-if="
data.SubmitState * 1 < 2 ||
(data.SubmitState === 2 && data.IsQCConfirmedReupload)
"
icon="el-icon-delete"
circle
:title="$t('common:button:delete')"
size="small"
@click.native.prevent="deletePreviousOther(scope.row)"
/>
<el-button v-if="
data.SubmitState * 1 < 2 ||
(data.SubmitState === 2 && data.IsQCConfirmedReupload)
" icon="el-icon-delete" circle :title="$t('common:button:delete')" size="small"
@click.native.prevent="deletePreviousOther(scope.row)" />
</template>
</el-table-column>
</el-table>
@ -254,42 +152,21 @@
<div v-if="cd.ClinicalUploadType === 1">
<div v-if="allowAddOrEdit" style="display:flex;align-items:center;justify-content: flex-end;">
<!-- 下载模板 -->
<el-button
v-if="cd.Path"
type="primary"
icon="el-icon-download"
size="small"
:loading="downloadLoading"
@click.native.prevent="handleDownloadTpl(cd)"
>
<el-button v-if="cd.Path" type="primary" icon="el-icon-download" size="small" :loading="downloadLoading"
@click.native.prevent="handleDownloadTpl(cd)">
{{ $t("trials:uploadClinicalData:button:downloadTemplate") }}
</el-button>
<div
id="directoryInputWrapper"
class="btn btn-link"
style="
<div id="directoryInputWrapper" class="btn btn-link" style="
position: relative;
overflow: hidden;
display: inline-block;
margin-left:10px
"
>
">
<!-- 新增 -->
<el-button
icon="el-icon-plus"
type="primary"
size="small"
:disabled="btnLoading"
:loading="btnLoading"
>
<el-button icon="el-icon-plus" type="primary" size="small" :disabled="btnLoading" :loading="btnLoading">
{{ $t("common:button:new") }}
</el-button>
<input
type="file"
name="file"
multiple
ref="addFile"
style="
<input type="file" name="file" multiple ref="addFile" style="
position: absolute;
top: 0;
left: 0;
@ -297,188 +174,85 @@
height: 100%;
opacity: 0;
cursor: pointer;
"
:accept="faccept.join(',')"
@change="
" :accept="faccept.join(',')" @change="
($event) =>
beginScanFiles($event, cd.Id, cd.ClinicalDataTrialSetId)
"
/>
" />
</div>
</div>
<el-table :data="cd.PDFFileList" style="width: 100%">
<el-table-column type="index" width="50" />
<!-- 文件名称 -->
<el-table-column
prop="FileName"
:label="$t('trials:uploadClinicalData:table:fileName')"
width="250"
/>
<el-table-column prop="FileName" :label="$t('trials:uploadClinicalData:table:fileName')" width="250" />
<!-- 文件大小 -->
<el-table-column
prop="Size"
:label="$t('trials:uploadClinicalData:table:fileSize')"
width="150"
>
<template slot-scope="scope">
<span>{{
scope.row.Size && scope.row.Size > 0
? `${(scope.row.Size / 1024 / 1024).toFixed(3)}MB`
: ''
}}</span>
</template>
<el-table-column prop="Size" :label="$t('trials:uploadClinicalData:table:fileSize')" width="150">
<template slot-scope="scope">
<span>{{
$FormatSize(scope.row.Size)
}}</span>
</template>
</el-table-column>
<!-- 上传时间 -->
<el-table-column
prop="CreateTime"
:label="$t('trials:uploadClinicalData:table:uploadedTime')"
width="200"
/>
<el-table-column prop="CreateTime" :label="$t('trials:uploadClinicalData:table:uploadedTime')"
width="200" />
<el-table-column :label="$t('common:action:action')" width="200">
<template slot-scope="scope">
<!-- 预览 -->
<el-button
icon="el-icon-view"
circle
:title="$t('trials:uploadClinicalData:action:preview')"
size="small"
@click.native.prevent="preview(scope.row)"
/>
<el-button icon="el-icon-view" circle :title="$t('trials:uploadClinicalData:action:preview')"
size="small" @click.native.prevent="preview(scope.row)" />
<!-- 移除 -->
<el-button
v-if="allowAddOrEdit"
icon="el-icon-delete"
circle
:title="$t('common:button:delete')"
size="small"
@click.native.prevent="deleteFile(scope.row.Id)"
/>
<el-button v-if="allowAddOrEdit" icon="el-icon-delete" circle :title="$t('common:button:delete')"
size="small" @click.native.prevent="deleteFile(scope.row.Id)" />
</template>
</el-table-column>
</el-table>
</div>
<!-- PDF录入 -->
<div v-if="cd.ClinicalUploadType === 2">
<clinicalDataQuestions
v-if="cd.ClinicalFromList.length > 0"
:data="cd"
:trial-clinical-id="cd.ClinicalDataTrialSetId"
:is-viewer="false"
:visit-id="subjectVisitId"
:subject-id="data.SubjectId"
:trial-id="trialId"
:clinical-form-id="cd.ClinicalFromList[0].ClinicalFormId"
:open-type="allowAddOrEdit ? 'edit' : 'look'"
@close="getClinicalData"
/>
<clinicalDataQuestions
v-else
:data="cd"
:trial-clinical-id="cd.ClinicalDataTrialSetId"
:is-viewer="!allowAddOrEdit"
:visit-id="subjectVisitId"
:subject-id="data.SubjectId"
:trial-id="trialId"
:open-type="'add'"
@close="getClinicalData"
/>
<clinicalDataQuestions v-if="cd.ClinicalFromList.length > 0" :data="cd"
:trial-clinical-id="cd.ClinicalDataTrialSetId" :is-viewer="false" :visit-id="subjectVisitId"
:subject-id="data.SubjectId" :trial-id="trialId" :clinical-form-id="cd.ClinicalFromList[0].ClinicalFormId"
:open-type="allowAddOrEdit ? 'edit' : 'look'" @close="getClinicalData" />
<clinicalDataQuestions v-else :data="cd" :trial-clinical-id="cd.ClinicalDataTrialSetId"
:is-viewer="!allowAddOrEdit" :visit-id="subjectVisitId" :subject-id="data.SubjectId" :trial-id="trialId"
:open-type="'add'" @close="getClinicalData" />
</div>
</el-tab-pane>
</el-tabs>
<!-- 既往放疗史 -->
<el-dialog
v-if="prVisible"
:visible.sync="prVisible"
:close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:pastTreatment')"
width="600px"
append-to-body
custom-class="base-dialog-wrapper"
>
<PreviousRadiotherapy
v-if="prVisible"
:data="currentRow"
:subject-visit-id="subjectVisitId"
@closePRDialog="closePRDialog"
@refresh="refresh"
/>
<el-dialog v-if="prVisible" :visible.sync="prVisible" :close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:pastTreatment')" width="600px" append-to-body
custom-class="base-dialog-wrapper">
<PreviousRadiotherapy v-if="prVisible" :data="currentRow" :subject-visit-id="subjectVisitId"
@closePRDialog="closePRDialog" @refresh="refresh" />
</el-dialog>
<!-- 既往手术史 -->
<el-dialog
v-if="psVisible"
:visible.sync="psVisible"
:close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:pastSurgery')"
width="600px"
append-to-body
custom-class="base-dialog-wrapper"
>
<PreviousSurgery
v-if="psVisible"
:data="currentRow"
:parent-data="data"
:subject-visit-id="subjectVisitId"
@closePSDialog="closePSDialog"
@refresh="refresh"
/>
<el-dialog v-if="psVisible" :visible.sync="psVisible" :close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:pastSurgery')" width="600px" append-to-body
custom-class="base-dialog-wrapper">
<PreviousSurgery v-if="psVisible" :data="currentRow" :parent-data="data" :subject-visit-id="subjectVisitId"
@closePSDialog="closePSDialog" @refresh="refresh" />
</el-dialog>
<!-- 既往其他治疗史 -->
<el-dialog
v-if="poVisible"
:visible.sync="poVisible"
:close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:others')"
width="600px"
append-to-body
custom-class="base-dialog-wrapper"
>
<PreviousOther
v-if="poVisible"
:data="currentRow"
:parent-data="data"
:subject-visit-id="subjectVisitId"
@closePODialog="closePODialog"
@refresh="refresh"
/>
<el-dialog v-if="poVisible" :visible.sync="poVisible" :close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:others')" width="600px" append-to-body
custom-class="base-dialog-wrapper">
<PreviousOther v-if="poVisible" :data="currentRow" :parent-data="data" :subject-visit-id="subjectVisitId"
@closePODialog="closePODialog" @refresh="refresh" />
</el-dialog>
<!-- 上传文件 -->
<el-dialog
v-if="upVisible"
:visible.sync="upVisible"
:close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:uploadFile')"
width="600px"
append-to-body
custom-class="base-dialog-wrapper"
>
<PreviousFiles
v-if="upVisible"
:data="currentRow"
:parent-data="data"
:subject-visit-id="subjectVisitId"
@closeUpDialog="closeUpDialog"
@refresh="refresh"
/>
<el-dialog v-if="upVisible" :visible.sync="upVisible" :close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:uploadFile')" width="600px" append-to-body
custom-class="base-dialog-wrapper">
<PreviousFiles v-if="upVisible" :data="currentRow" :parent-data="data" :subject-visit-id="subjectVisitId"
@closeUpDialog="closeUpDialog" @refresh="refresh" />
</el-dialog>
<!-- 预览文件 -->
<el-dialog
v-if="previewObj.visible"
:visible.sync="previewObj.visible"
:title="previewObj.fileName"
:fullscreen="true"
append-to-body
custom-class="base-dialog-wrapper"
>
<div
class="base-modal-body"
style="border: 2px solid #ccc; padding: 10px"
>
<PreviewFile
v-if="previewObj.visible"
:file-path="previewObj.filePath"
:file-type="previewObj.fileType"
/>
<el-dialog v-if="previewObj.visible" :visible.sync="previewObj.visible" :title="previewObj.fileName"
:fullscreen="true" append-to-body custom-class="base-dialog-wrapper">
<div class="base-modal-body" style="border: 2px solid #ccc; padding: 10px">
<PreviewFile v-if="previewObj.visible" :file-path="previewObj.filePath" :file-type="previewObj.fileType" />
</div>
</el-dialog>
</div>
@ -567,7 +341,7 @@ export default {
};
this.currentRow.TrialId = this.$route.query.trialId;
var files = e.target.files;
this.fileList= [];
this.fileList = [];
for (var i = 0; i < files.length; ++i) {
const fileName = files[i].name;
var extendName = fileName
@ -575,15 +349,15 @@ export default {
.toLocaleLowerCase();
if (this.faccept.indexOf(extendName) !== -1) {
let obj = {
size:files[i].size,
type:extendName.split('.')[1],
file:files[i],
size: files[i].size,
type: extendName.split('.')[1],
file: files[i],
}
this.fileList.push(obj);
}
}
this.handleUploadFile();
this.$refs.addFile.forEach(item=>{
this.$refs.addFile.forEach(item => {
item.value = null;
})
},

View File

@ -38,9 +38,7 @@
<el-table-column prop="FileSize" :label="$t('trials:audit:table:nonDicomsFileSize')" width="100">
<template slot-scope="scope">
<span>{{
scope.row.FileSize && scope.row.FileSize > 0
? `${(scope.row.FileSize / 1024 / 1024).toFixed(3)}MB`
: ''
$FormatSize(scope.row.FileSize)
}}</span>
</template>
</el-table-column>

View File

@ -1,48 +1,29 @@
<template>
<div v-loading="loading" class="clinical-data-wrapper">
<el-tabs type="border-card">
<el-tab-pane
v-for="cd in clinicalDatas"
:key="cd.ClinicalDataTrialSetId"
:label="
$i18n.locale === 'zh'
? cd.ClinicalDataSetName
: cd.ClinicalDataSetEnName
"
>
<el-tab-pane v-for="cd in clinicalDatas" :key="cd.ClinicalDataTrialSetId" :label="$i18n.locale === 'zh'
? cd.ClinicalDataSetName
: cd.ClinicalDataSetEnName
">
<!-- 格式化录入 -->
<div v-if="cd.ClinicalUploadType === 0">
<!-- 既往放疗史 -->
<h4>{{ $t('trials:uploadClinicalData:title:pastTreatment') }}</h4>
<div v-if="allowAddOrEdit" style="text-align: right">
<!-- 新增 -->
<el-button
type="primary"
icon="el-icon-plus"
size="small"
@click.native.prevent="
addPreviousHistory(cd.ClinicalDataTrialSetId)
"
>
<el-button type="primary" icon="el-icon-plus" size="small" @click.native.prevent="
addPreviousHistory(cd.ClinicalDataTrialSetId)
">
{{ $t('common:button:new') }}
</el-button>
</div>
<el-table
:data="cd.ClinicalTableData.PreviousHistoryList"
style="width: 100%"
>
<el-table :data="cd.ClinicalTableData.PreviousHistoryList" style="width: 100%">
<el-table-column type="index" width="50" />
<!-- 放疗部位 -->
<el-table-column
prop="Position"
:label="$t('trials:uploadClinicalData:table:bodyPart')"
/>
<el-table-column prop="Position" :label="$t('trials:uploadClinicalData:table:bodyPart')" />
<!-- 开始日期 -->
<el-table-column
prop="StartTime"
:label="$t('trials:uploadClinicalData:table:beginDate')"
>
<el-table-column prop="StartTime" :label="$t('trials:uploadClinicalData:table:beginDate')">
<template slot-scope="scope">
{{
scope.row.StartTime
@ -52,10 +33,7 @@
</template>
</el-table-column>
<!-- 结束日期 -->
<el-table-column
prop="EndTime"
:label="$t('trials:uploadClinicalData:table:endDate')"
>
<el-table-column prop="EndTime" :label="$t('trials:uploadClinicalData:table:endDate')">
<template slot-scope="scope">
{{
scope.row.EndTime
@ -65,71 +43,39 @@
</template>
</el-table-column>
<!-- 病灶是否PD -->
<el-table-column
prop="IsPD"
:label="$t('trials:uploadClinicalData:table:isPD')"
>
<el-table-column prop="IsPD" :label="$t('trials:uploadClinicalData:table:isPD')">
<template slot-scope="scope">
{{ $fd('IsPdEnum', scope.row.IsPD) }}
</template>
</el-table-column>
<el-table-column
v-if="allowAddOrEdit"
:label="$t('common:action:action')"
min-width="120"
>
<el-table-column v-if="allowAddOrEdit" :label="$t('common:action:action')" min-width="120">
<template slot-scope="scope">
<!-- 编辑 -->
<el-button
v-if="allowAddOrEdit"
icon="el-icon-edit-outline"
circle
:title="$t('common:button:edit')"
size="small"
@click.native.prevent="editRow(scope.row, 1)"
/>
<el-button v-if="allowAddOrEdit" icon="el-icon-edit-outline" circle :title="$t('common:button:edit')"
size="small" @click.native.prevent="editRow(scope.row, 1)" />
<!-- 移除 -->
<el-button
v-if="
data.SubmitState * 1 < 2 ||
(data.SubmitState === 2 && data.IsQCConfirmedReupload)
"
icon="el-icon-delete"
circle
:title="$t('common:button:delete')"
size="small"
@click.native.prevent="deletePreviousHistory(scope.row)"
/>
<el-button v-if="
data.SubmitState * 1 < 2 ||
(data.SubmitState === 2 && data.IsQCConfirmedReupload)
" icon="el-icon-delete" circle :title="$t('common:button:delete')" size="small"
@click.native.prevent="deletePreviousHistory(scope.row)" />
</template>
</el-table-column>
</el-table>
<!-- 既往手术史 -->
<h4>{{ $t('trials:uploadClinicalData:title:pastSurgery') }}</h4>
<div v-if="allowAddOrEdit" style="text-align: right">
<el-button
type="primary"
icon="el-icon-plus"
size="small"
@click="addPreviousSurgery(cd.ClinicalDataTrialSetId)"
>
<el-button type="primary" icon="el-icon-plus" size="small"
@click="addPreviousSurgery(cd.ClinicalDataTrialSetId)">
{{ $t('common:button:new') }}
</el-button>
</div>
<el-table
:data="cd.ClinicalTableData.PreviousSurgeryList"
style="width: 100%"
>
<el-table :data="cd.ClinicalTableData.PreviousSurgeryList" style="width: 100%">
<el-table-column type="index" width="50" />
<!-- 手术名称 -->
<el-table-column
prop="OperationName"
:label="$t('trials:uploadClinicalData:table:surgeryName')"
/>
<el-table-column prop="OperationName" :label="$t('trials:uploadClinicalData:table:surgeryName')" />
<!-- 手术日期 -->
<el-table-column
prop="OperationTime"
:label="$t('trials:uploadClinicalData:table:surgeryDate')"
>
<el-table-column prop="OperationTime" :label="$t('trials:uploadClinicalData:table:surgeryDate')">
<template slot-scope="scope">
{{
scope.row.OperationTime
@ -139,33 +85,17 @@
</template>
</el-table-column>
<el-table-column
v-if="allowAddOrEdit"
:label="$t('common:action:action')"
min-width="200"
>
<el-table-column v-if="allowAddOrEdit" :label="$t('common:action:action')" min-width="200">
<template slot-scope="scope">
<!-- 编辑 -->
<el-button
v-if="allowAddOrEdit"
icon="el-icon-edit-outline"
circle
:title="$t('common:button:edit')"
size="small"
@click.native.prevent="editRow(scope.row, 2)"
/>
<el-button v-if="allowAddOrEdit" icon="el-icon-edit-outline" circle :title="$t('common:button:edit')"
size="small" @click.native.prevent="editRow(scope.row, 2)" />
<!-- 移除 -->
<el-button
v-if="
data.SubmitState * 1 < 2 ||
(data.SubmitState === 2 && data.IsQCConfirmedReupload)
"
icon="el-icon-delete"
circle
:title="$t('common:button:delete')"
size="small"
@click.native.prevent="deletePreviousSurgery(scope.row)"
/>
<el-button v-if="
data.SubmitState * 1 < 2 ||
(data.SubmitState === 2 && data.IsQCConfirmedReupload)
" icon="el-icon-delete" circle :title="$t('common:button:delete')" size="small"
@click.native.prevent="deletePreviousSurgery(scope.row)" />
</template>
</el-table-column>
</el-table>
@ -173,30 +103,17 @@
<h4>{{ $t('trials:uploadClinicalData:title:others') }}</h4>
<div v-if="allowAddOrEdit" style="text-align: right">
<!-- 新增 -->
<el-button
type="primary"
icon="el-icon-plus"
size="small"
@click="addPreviousOther(cd.ClinicalDataTrialSetId)"
>
<el-button type="primary" icon="el-icon-plus" size="small"
@click="addPreviousOther(cd.ClinicalDataTrialSetId)">
{{ $t('common:button:new') }}
</el-button>
</div>
<el-table
:data="cd.ClinicalTableData.PreviousOtherList"
style="width: 100%"
>
<el-table :data="cd.ClinicalTableData.PreviousOtherList" style="width: 100%">
<el-table-column type="index" width="50" />
<!-- 治疗类型 -->
<el-table-column
prop="TreatmentType"
:label="$t('trials:uploadClinicalData:table:treatmentType')"
/>
<el-table-column prop="TreatmentType" :label="$t('trials:uploadClinicalData:table:treatmentType')" />
<!-- 开始日期 -->
<el-table-column
prop="StartTime"
:label="$t('trials:uploadClinicalData:table:treatmentbeginDate')"
>
<el-table-column prop="StartTime" :label="$t('trials:uploadClinicalData:table:treatmentbeginDate')">
<template slot-scope="scope">
{{
scope.row.StartTime
@ -206,10 +123,7 @@
</template>
</el-table-column>
<!-- 结束日期 -->
<el-table-column
prop="EndTime"
:label="$t('trials:uploadClinicalData:table:treatmentendDate')"
>
<el-table-column prop="EndTime" :label="$t('trials:uploadClinicalData:table:treatmentendDate')">
<template slot-scope="scope">
{{
scope.row.EndTime
@ -219,53 +133,27 @@
</template>
</el-table-column>
<el-table-column
v-if="allowAddOrEdit"
:label="$t('common:action:action')"
min-width="200"
>
<el-table-column v-if="allowAddOrEdit" :label="$t('common:action:action')" min-width="200">
<template slot-scope="scope">
<!-- 编辑 -->
<el-button
v-if="allowAddOrEdit"
icon="el-icon-edit-outline"
circle
:title="$t('common:button:edit')"
size="small"
@click.native.prevent="editRow(scope.row, 3)"
/>
<el-button v-if="allowAddOrEdit" icon="el-icon-edit-outline" circle :title="$t('common:button:edit')"
size="small" @click.native.prevent="editRow(scope.row, 3)" />
<!-- 移除 -->
<el-button
v-if="
data.SubmitState * 1 < 2 ||
(data.SubmitState === 2 && data.IsQCConfirmedReupload)
"
icon="el-icon-delete"
circle
:title="$t('common:button:delete')"
size="small"
@click.native.prevent="deletePreviousOther(scope.row)"
/>
<el-button v-if="
data.SubmitState * 1 < 2 ||
(data.SubmitState === 2 && data.IsQCConfirmedReupload)
" icon="el-icon-delete" circle :title="$t('common:button:delete')" size="small"
@click.native.prevent="deletePreviousOther(scope.row)" />
</template>
</el-table-column>
</el-table>
</div>
<!-- PDF录入 -->
<div v-if="cd.ClinicalUploadType === 1">
<div
v-if="allowAddOrEdit"
style="text-align: right; display: flex; justify-content: flex-end"
>
<div v-if="allowAddOrEdit" style="text-align: right; display: flex; justify-content: flex-end">
<!-- 下载模板 -->
<el-button
v-if="cd.Path"
type="primary"
icon="el-icon-download"
size="small"
:loading="downloadLoading"
@click.native.prevent="handleDownloadTpl(cd)"
style="margin-right: 10px"
>
<el-button v-if="cd.Path" type="primary" icon="el-icon-download" size="small" :loading="downloadLoading"
@click.native.prevent="handleDownloadTpl(cd)" style="margin-right: 10px">
{{ $t('trials:uploadClinicalData:button:downloadTemplate') }}
</el-button>
<!-- 新增 -->
@ -279,22 +167,10 @@
</el-button> -->
<!-- 新增 -->
<div style="position: relative">
<el-button
icon="el-icon-plus"
type="primary"
size="small"
:disabled="btnLoading"
:loading="btnLoading"
>
<el-button icon="el-icon-plus" type="primary" size="small" :disabled="btnLoading" :loading="btnLoading">
{{ $t('common:button:new') }}
</el-button>
<input
type="file"
name="file"
multiple
ref="addFile"
:title="$t('common:button:new')"
style="
<input type="file" name="file" multiple ref="addFile" :title="$t('common:button:new')" style="
position: absolute;
top: 0;
left: 0;
@ -302,189 +178,85 @@
height: 100%;
opacity: 0;
cursor: pointer;
"
:accept="faccept.join(',')"
@change="
" :accept="faccept.join(',')" @change="
($event) =>
beginScanFiles($event, cd.Id, cd.ClinicalDataTrialSetId)
"
/>
" />
</div>
</div>
<el-table :data="cd.PDFFileList" style="width: 100%" height="300">
<el-table-column type="index" width="50" />
<!-- 文件名称 -->
<el-table-column
prop="FileName"
:label="$t('trials:uploadClinicalData:table:fileName')"
width="250"
/>
<el-table-column prop="FileName" :label="$t('trials:uploadClinicalData:table:fileName')" width="250" />
<!-- 文件大小 -->
<el-table-column
prop="Size"
:label="$t('trials:uploadClinicalData:table:fileSize')"
width="150"
>
<el-table-column prop="Size" :label="$t('trials:uploadClinicalData:table:fileSize')" width="150">
<template slot-scope="scope">
<span>{{
scope.row.Size && scope.row.Size > 0
? `${(scope.row.Size / 1024 / 1024).toFixed(3)}MB`
: ''
$FormatSize(scope.row.Size)
}}</span>
</template>
</el-table-column>
<!-- 上传时间 -->
<el-table-column
prop="CreateTime"
:label="$t('trials:uploadClinicalData:table:uploadedTime')"
width="200"
/>
<el-table-column prop="CreateTime" :label="$t('trials:uploadClinicalData:table:uploadedTime')"
width="200" />
<el-table-column :label="$t('common:action:action')" width="200">
<template slot-scope="scope">
<!-- 预览 -->
<el-button
icon="el-icon-view"
circle
:title="$t('trials:uploadClinicalData:action:preview')"
size="small"
@click.native.prevent="preview(scope.row)"
/>
<el-button icon="el-icon-view" circle :title="$t('trials:uploadClinicalData:action:preview')"
size="small" @click.native.prevent="preview(scope.row)" />
<!-- 移除 -->
<el-button
v-if="allowAddOrEdit"
icon="el-icon-delete"
circle
:title="$t('common:button:delete')"
size="small"
@click.native.prevent="deleteFile(scope.row.Id)"
/>
<el-button v-if="allowAddOrEdit" icon="el-icon-delete" circle :title="$t('common:button:delete')"
size="small" @click.native.prevent="deleteFile(scope.row.Id)" />
</template>
</el-table-column>
</el-table>
</div>
<!-- PDF录入 -->
<div v-if="cd.ClinicalUploadType === 2">
<clinicalDataQuestions
v-if="cd.ClinicalFromList.length > 0"
:data="cd"
:trial-clinical-id="cd.ClinicalDataTrialSetId"
:is-viewer="false"
:visit-id="subjectVisitId"
:subject-id="data.SubjectId"
:trial-id="trialId"
:clinical-form-id="cd.ClinicalFromList[0].ClinicalFormId"
:open-type="allowAddOrEdit ? 'edit' : 'look'"
@close="getClinicalData"
/>
<clinicalDataQuestions
v-else
:data="cd"
:trial-clinical-id="cd.ClinicalDataTrialSetId"
:is-viewer="!allowAddOrEdit"
:visit-id="subjectVisitId"
:subject-id="data.SubjectId"
:trial-id="trialId"
:open-type="'add'"
@close="getClinicalData"
/>
<clinicalDataQuestions v-if="cd.ClinicalFromList.length > 0" :data="cd"
:trial-clinical-id="cd.ClinicalDataTrialSetId" :is-viewer="false" :visit-id="subjectVisitId"
:subject-id="data.SubjectId" :trial-id="trialId" :clinical-form-id="cd.ClinicalFromList[0].ClinicalFormId"
:open-type="allowAddOrEdit ? 'edit' : 'look'" @close="getClinicalData" />
<clinicalDataQuestions v-else :data="cd" :trial-clinical-id="cd.ClinicalDataTrialSetId"
:is-viewer="!allowAddOrEdit" :visit-id="subjectVisitId" :subject-id="data.SubjectId" :trial-id="trialId"
:open-type="'add'" @close="getClinicalData" />
</div>
</el-tab-pane>
</el-tabs>
<!-- 既往放疗史 -->
<el-dialog
v-if="prVisible"
:visible.sync="prVisible"
:close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:pastTreatment')"
width="600px"
append-to-body
custom-class="base-dialog-wrapper"
>
<PreviousRadiotherapy
v-if="prVisible"
:data="currentRow"
:subject-visit-id="subjectVisitId"
@closePRDialog="closePRDialog"
@refresh="refresh"
/>
<el-dialog v-if="prVisible" :visible.sync="prVisible" :close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:pastTreatment')" width="600px" append-to-body
custom-class="base-dialog-wrapper">
<PreviousRadiotherapy v-if="prVisible" :data="currentRow" :subject-visit-id="subjectVisitId"
@closePRDialog="closePRDialog" @refresh="refresh" />
</el-dialog>
<!-- 既往手术史 -->
<el-dialog
v-if="psVisible"
:visible.sync="psVisible"
:close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:pastSurgery')"
width="600px"
append-to-body
custom-class="base-dialog-wrapper"
>
<PreviousSurgery
v-if="psVisible"
:data="currentRow"
:parent-data="data"
:subject-visit-id="subjectVisitId"
@closePSDialog="closePSDialog"
@refresh="refresh"
/>
<el-dialog v-if="psVisible" :visible.sync="psVisible" :close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:pastSurgery')" width="600px" append-to-body
custom-class="base-dialog-wrapper">
<PreviousSurgery v-if="psVisible" :data="currentRow" :parent-data="data" :subject-visit-id="subjectVisitId"
@closePSDialog="closePSDialog" @refresh="refresh" />
</el-dialog>
<!-- 既往其他治疗史 -->
<el-dialog
v-if="poVisible"
:visible.sync="poVisible"
:close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:others')"
width="600px"
append-to-body
custom-class="base-dialog-wrapper"
>
<PreviousOther
v-if="poVisible"
:data="currentRow"
:parent-data="data"
:subject-visit-id="subjectVisitId"
@closePODialog="closePODialog"
@refresh="refresh"
/>
<el-dialog v-if="poVisible" :visible.sync="poVisible" :close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:others')" width="600px" append-to-body
custom-class="base-dialog-wrapper">
<PreviousOther v-if="poVisible" :data="currentRow" :parent-data="data" :subject-visit-id="subjectVisitId"
@closePODialog="closePODialog" @refresh="refresh" />
</el-dialog>
<!-- 上传文件 -->
<el-dialog
v-if="upVisible"
:visible.sync="upVisible"
:close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:uploadFile')"
width="600px"
append-to-body
custom-class="base-dialog-wrapper"
>
<PreviousFiles
v-if="upVisible"
:data="currentRow"
:parent-data="data"
:subject-visit-id="subjectVisitId"
:studyData="studyData"
@closeUpDialog="closeUpDialog"
@refresh="refresh"
/>
<el-dialog v-if="upVisible" :visible.sync="upVisible" :close-on-click-modal="false"
:title="$t('trials:uploadClinicalData:title:uploadFile')" width="600px" append-to-body
custom-class="base-dialog-wrapper">
<PreviousFiles v-if="upVisible" :data="currentRow" :parent-data="data" :subject-visit-id="subjectVisitId"
:studyData="studyData" @closeUpDialog="closeUpDialog" @refresh="refresh" />
</el-dialog>
<!-- 预览文件 -->
<el-dialog
v-if="previewObj.visible"
:visible.sync="previewObj.visible"
:title="previewObj.fileName"
:fullscreen="true"
append-to-body
custom-class="base-dialog-wrapper"
>
<div
class="base-modal-body"
style="border: 2px solid #ccc; padding: 10px"
>
<PreviewFile
v-if="previewObj.visible"
:file-path="previewObj.filePath"
:file-type="previewObj.fileType"
/>
<el-dialog v-if="previewObj.visible" :visible.sync="previewObj.visible" :title="previewObj.fileName"
:fullscreen="true" append-to-body custom-class="base-dialog-wrapper">
<div class="base-modal-body" style="border: 2px solid #ccc; padding: 10px">
<PreviewFile v-if="previewObj.visible" :file-path="previewObj.filePath" :file-type="previewObj.fileType" />
</div>
</el-dialog>
</div>

View File

@ -285,11 +285,7 @@
<el-table-column prop="FileSize" :label="$t('trials:audit:table:nonDicomsFileSize')" width="100">
<template slot-scope="scope">
<span>{{
scope.row.FileSize && scope.row.FileSize > 0
? `${(scope.row.FileSize / 1024 / 1024).toFixed(
2
)}MB`
: 0
$FormatSize(scope.row.FileSize)
}}</span>
</template>
</el-table-column>