待阅列表添加双屏
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-09-04 13:49:10 +08:00
parent 038f477d9e
commit 6d0b3928ee
1 changed files with 132 additions and 339 deletions

View File

@ -1,15 +1,8 @@
<template> <template>
<BaseContainer <BaseContainer v-loading="loading" style="height: 100%; background-color: #fff">
v-loading="loading"
style="height: 100%; background-color: #fff"
>
<el-tabs v-model="TrialReadingCriterionId" type="border-card"> <el-tabs v-model="TrialReadingCriterionId" type="border-card">
<el-tab-pane <el-tab-pane v-for="i in trialCriterionList" :key="i.TrialReadingCriterionId" :label="i.TrialReadingCriterionName"
v-for="i in trialCriterionList" :name="i.TrialReadingCriterionId">
:key="i.TrialReadingCriterionId"
:label="i.TrialReadingCriterionName"
:name="i.TrialReadingCriterionId"
>
<div v-if="TrialReadingCriterionId === i.TrialReadingCriterionId"> <div v-if="TrialReadingCriterionId === i.TrialReadingCriterionId">
<div slot="search-container" style="position: relative"> <div slot="search-container" style="position: relative">
<el-form :inline="true"> <el-form :inline="true">
@ -31,57 +24,24 @@
</el-form-item> --> </el-form-item> -->
<!-- 受试者编号 --> <!-- 受试者编号 -->
<el-form-item :label="$t('trials:reviewTrack:table:subjectCode')"> <el-form-item :label="$t('trials:reviewTrack:table:subjectCode')">
<el-input <el-input v-model="searchData.SubjectCode" style="width: 100px" clearable />
v-model="searchData.SubjectCode"
style="width: 100px"
clearable
/>
</el-form-item> </el-form-item>
<!-- 患者编号 --> <!-- 患者编号 -->
<el-form-item :label="$t('trials:uploadDicomList:table:pId')"> <el-form-item :label="$t('trials:uploadDicomList:table:pId')">
<el-input <el-input v-model="searchData.PatientIdStr" style="width: 140px" clearable />
v-model="searchData.PatientIdStr"
style="width: 140px"
clearable
/>
</el-form-item> </el-form-item>
<!-- 患者姓名 --> <!-- 患者姓名 -->
<el-form-item <el-form-item :label="$t('trials:uploadDicomList:table:patientName')">
:label="$t('trials:uploadDicomList:table:patientName')" <el-input v-model="searchData.SubjectName" style="width: 140px" clearable />
>
<el-input
v-model="searchData.SubjectName"
style="width: 140px"
clearable
/>
</el-form-item> </el-form-item>
<!-- 访视名称 --> <!-- 访视名称 -->
<el-form-item <el-form-item style="margin-bottom: 10px" :label="$t('trials:adReview:table:visitName')">
style="margin-bottom: 10px" <el-input v-model="searchData.TaskName" style="width: 140px" clearable />
:label="$t('trials:adReview:table:visitName')"
>
<el-input
v-model="searchData.TaskName"
style="width: 140px"
clearable
/>
</el-form-item> </el-form-item>
<!-- 任务状态 --> <!-- 任务状态 -->
<el-form-item <el-form-item style="margin-bottom: 10px" :label="$t('trials:readTask:table:taskState')">
style="margin-bottom: 10px" <el-select v-model="searchData.TaskState" clearable style="width: 120px">
:label="$t('trials:readTask:table:taskState')" <el-option v-for="i of $d.TaskState" :key="'TaskState' + i.label" :value="i.value" :label="i.label" />
>
<el-select
v-model="searchData.TaskState"
clearable
style="width: 120px"
>
<el-option
v-for="i of $d.TaskState"
:key="'TaskState' + i.label"
:value="i.value"
:label="i.label"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 任务类型 --> <!-- 任务类型 -->
@ -104,65 +64,35 @@
</el-form-item> --> </el-form-item> -->
<!-- 签名时间 --> <!-- 签名时间 -->
<el-form-item :label="$t('trials:readTask:table:signTime')"> <el-form-item :label="$t('trials:readTask:table:signTime')">
<el-date-picker <el-date-picker v-model="dateValue" type="datetimerange" range-separator="-"
v-model="dateValue"
type="datetimerange"
range-separator="-"
:start-placeholder="$t('trials:uploadClinicalData:table:beginDate')" :start-placeholder="$t('trials:uploadClinicalData:table:beginDate')"
:end-placeholder="$t('trials:uploadClinicalData:table:endDate')" :end-placeholder="$t('trials:uploadClinicalData:table:endDate')" clearable
clearable :default-time="['00:00:00', '23:59:59']">
:default-time="['00:00:00', '23:59:59']"
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<!-- 查询 --> <!-- 查询 -->
<el-button <el-button type="primary" icon="el-icon-search" @click="handleSearch">
type="primary"
icon="el-icon-search"
@click="handleSearch"
>
{{ $t('common:button:search') }} {{ $t('common:button:search') }}
</el-button> </el-button>
<!-- 重置 --> <!-- 重置 -->
<el-button <el-button type="primary" icon="el-icon-refresh-left" @click="handleReset">
type="primary"
icon="el-icon-refresh-left"
@click="handleReset"
>
{{ $t('common:button:reset') }} {{ $t('common:button:reset') }}
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div slot="main-container"> <div slot="main-container">
<el-table <el-table v-adaptive="{ bottomOffset: 75 }" :data="list" stripe height="100"
v-adaptive="{ bottomOffset: 75 }" @sort-change="handleSortChange">
:data="list"
stripe
height="100"
@sort-change="handleSortChange"
>
<!-- 受试者编号 --> <!-- 受试者编号 -->
<el-table-column <el-table-column prop="SubjectCode" min-width="100" :label="$t('trials:reviewTrack:table:subjectCode')"
prop="SubjectCode" show-overflow-tooltip sortable="custom" />
min-width="100"
:label="$t('trials:reviewTrack:table:subjectCode')"
show-overflow-tooltip
sortable="custom"
/>
<!-- 患者编号 --> <!-- 患者编号 -->
<el-table-column <el-table-column prop="PatientIdStr" min-width="100" :label="$t('trials:uploadDicomList:table:pId')"
prop="PatientIdStr" show-overflow-tooltip>
min-width="100"
:label="$t('trials:uploadDicomList:table:pId')"
show-overflow-tooltip
>
<template slot-scope="scope"> <template slot-scope="scope">
<span <span v-for="(item, index) in scope.row.PatientList" :key="`${index}${item.PatientId}`">
v-for="(item, index) in scope.row.PatientList"
:key="`${index}${item.PatientId}`"
>
{{ {{
index === scope.row.PatientList.length - 1 index === scope.row.PatientList.length - 1
? item.PatientIdStr ? item.PatientIdStr
@ -172,37 +102,18 @@
</template> </template>
</el-table-column> </el-table-column>
<!-- 患者姓名 --> <!-- 患者姓名 -->
<el-table-column <el-table-column prop="SubjectShortName" min-width="100"
prop="SubjectShortName" :label="$t('trials:uploadDicomList:table:patientName')" show-overflow-tooltip sortable="custom" />
min-width="100"
:label="$t('trials:uploadDicomList:table:patientName')"
show-overflow-tooltip
sortable="custom"
/>
<!-- 访视名称 --> <!-- 访视名称 -->
<el-table-column <el-table-column prop="TaskName" :label="$t('trials:adReview:table:visitName')" min-width="100"
prop="TaskName" sortable="custom" show-overflow-tooltip />
:label="$t('trials:adReview:table:visitName')"
min-width="100"
sortable="custom"
show-overflow-tooltip
/>
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-table-column <el-table-column prop="TrialReadingCriterionName"
prop="TrialReadingCriterionName" :label="$t('trials:adReview:table:TrialReadingCriterionName')" min-width="100" sortable="custom"
:label="$t('trials:adReview:table:TrialReadingCriterionName')" show-overflow-tooltip />
min-width="100"
sortable="custom"
show-overflow-tooltip
/>
<!-- 任务状态 --> <!-- 任务状态 -->
<el-table-column <el-table-column prop="TaskState" :label="$t('trials:readTask:table:taskState')" min-width="100"
prop="TaskState" sortable="custom" show-overflow-tooltip>
:label="$t('trials:readTask:table:taskState')"
min-width="100"
sortable="custom"
show-overflow-tooltip
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.TaskState === 0" type="primary">{{ <el-tag v-if="scope.row.TaskState === 0" type="primary">{{
$fd('TaskState', scope.row.TaskState) $fd('TaskState', scope.row.TaskState)
@ -245,13 +156,8 @@
</template> </template>
</el-table-column> --> </el-table-column> -->
<!-- 签名时间 --> <!-- 签名时间 -->
<el-table-column <el-table-column prop="SignTime" min-width="120" :label="$t('trials:readTask:table:signTime')"
prop="SignTime" sortable="custom" show-overflow-tooltip />
min-width="120"
:label="$t('trials:readTask:table:signTime')"
sortable="custom"
show-overflow-tooltip
/>
<!-- 打包状态 --> <!-- 打包状态 -->
<!-- <el-table-column <!-- <el-table-column
prop="PackState" prop="PackState"
@ -303,113 +209,63 @@
</template> </template>
</el-table-column> --> </el-table-column> -->
<!--操作--> <!--操作-->
<el-table-column <el-table-column :label="$t('common:action:action')" min-width="140" fixed="right" v-if="
:label="$t('common:action:action')" hasPermi([
min-width="140" 'trials:readTask:view',
fixed="right" 'trials:readTask:reread',
v-if=" 'trials:readTask:report',
hasPermi([ 'trials:readTask:auditRecord',
'trials:readTask:view', ])
'trials:readTask:reread', ">
'trials:readTask:report',
'trials:readTask:auditRecord',
])
"
>
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 查看 --> <!-- 查看 -->
<el-button <el-button v-hasPermi="['trials:readTask:view']" circle :title="$t('trials:readTask:button:view')"
v-hasPermi="['trials:readTask:view']" icon="el-icon-view" @click="handleReadImage(scope.row)" />
circle
:title="$t('trials:readTask:button:view')"
icon="el-icon-view"
@click="handleReadImage(scope.row)"
/>
<!-- 重阅 --> <!-- 重阅 -->
<el-button <el-button v-hasPermi="['trials:readTask:reread']" circle :disabled="scope.row.TaskState > 0"
v-hasPermi="['trials:readTask:reread']" :title="$t('trials:readTask:button:reread')" icon="el-icon-collection"
circle @click="openApplyReReading(scope.row)" />
:disabled="scope.row.TaskState > 0"
:title="$t('trials:readTask:button:reread')"
icon="el-icon-collection"
@click="openApplyReReading(scope.row)"
/>
<!--肿瘤负荷报告--> <!--肿瘤负荷报告-->
<el-button <el-button circle v-hasPermi="['trials:readTask:report']" icon="el-icon-document"
circle
v-hasPermi="['trials:readTask:report']"
icon="el-icon-document"
:title="$t('trials:trials-panel:hirVisit:EvaluationReport')" :title="$t('trials:trials-panel:hirVisit:EvaluationReport')"
@click="handleCommand('showReport', scope.row, 'evaluate')" @click="handleCommand('showReport', scope.row, 'evaluate')"
:disabled="scope.row.ReadingTaskState !== 2" :disabled="scope.row.ReadingTaskState !== 2" />
/>
<!--疗效评估报告--> <!--疗效评估报告-->
<el-button <el-button circle v-hasPermi="['trials:readTask:report']" icon="el-icon-document"
circle
v-hasPermi="['trials:readTask:report']"
icon="el-icon-document"
:title="$t('trials:trials-panel:hirVisit:TumorReport')" :title="$t('trials:trials-panel:hirVisit:TumorReport')"
@click="handleCommand('showReport', scope.row, 'tumor')" @click="handleCommand('showReport', scope.row, 'tumor')"
:disabled="scope.row.ReadingTaskState !== 2" :disabled="scope.row.ReadingTaskState !== 2" />
/>
<!--下载影像--> <!--下载影像-->
<el-button <el-button circle v-hasPermi="['trials:readTask:report']" icon="el-icon-download"
circle :loading="downloading" :title="$t('trials:reading:button:uploadImages')" @click="
v-hasPermi="['trials:readTask:report']"
icon="el-icon-download"
:loading="downloading"
:title="$t('trials:reading:button:uploadImages')"
@click="
handleCommand( handleCommand(
'getDownloadSubjectVisitStudyInfo', 'getDownloadSubjectVisitStudyInfo',
scope.row scope.row
) )
" " />
/>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页组件 --> <!-- 分页组件 -->
<pagination <pagination class="page" :total="total" :page.sync="searchData.PageIndex" :limit.sync="searchData.PageSize"
class="page" @pagination="getList" />
:total="total"
:page.sync="searchData.PageIndex"
:limit.sync="searchData.PageSize"
@pagination="getList"
/>
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<el-dialog <el-dialog v-if="ApplyforReasonVisible" :title="$t('trials:readTask:dagTitle:apply')"
v-if="ApplyforReasonVisible" :visible.sync="ApplyforReasonVisible" width="1460px" append-to-body :close-on-click-modal="false"
:title="$t('trials:readTask:dagTitle:apply')" custom-class="base-dialog-wrapper">
:visible.sync="ApplyforReasonVisible" <el-form ref="reasonForm" :rules="rules" :model="ApplyforReasonForm" class="demo-ruleForm" size="small"
width="1460px" label-width="380px">
append-to-body
:close-on-click-modal="false"
custom-class="base-dialog-wrapper"
>
<el-form
ref="reasonForm"
:rules="rules"
:model="ApplyforReasonForm"
class="demo-ruleForm"
size="small"
label-width="380px"
>
<!-- 申请原因 --> <!-- 申请原因 -->
<el-divider content-position="left">{{ <el-divider content-position="left">{{
$t('trials:readTask:title:applyReason') $t('trials:readTask:title:applyReason')
}}</el-divider> }}</el-divider>
<!-- 申请原因 --> <!-- 申请原因 -->
<el-form-item <el-form-item :label="$t('trials:readTask:title:applyReason')" prop="Type" :rules="[
:label="$t('trials:readTask:title:applyReason')" { required: true, message: $t('common:ruleMessage:select') },
prop="Type" ]">
:rules="[
{ required: true, message: $t('common:ruleMessage:select') },
]"
>
<el-radio-group v-model="ApplyforReasonForm.Type"> <el-radio-group v-model="ApplyforReasonForm.Type">
<!-- 阅片记录错误 --> <!-- 阅片记录错误 -->
<el-radio :label="1">{{ <el-radio :label="1">{{
@ -422,36 +278,19 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 备注 --> <!-- 备注 -->
<el-form-item <el-form-item v-if="ApplyforReasonForm.Type === 2" :label="$t('trials:readTask:title:remark')"
v-if="ApplyforReasonForm.Type === 2" prop="RequestReReadingReason">
:label="$t('trials:readTask:title:remark')" <el-input v-model="ApplyforReasonForm.RequestReReadingReason" type="textarea" style="width: 400px"
prop="RequestReReadingReason" :autosize="{ minRows: 2, maxRows: 4 }" :placeholder="$t('common:ruleMessage:specify')" maxlength="500"
> show-word-limit />
<el-input
v-model="ApplyforReasonForm.RequestReReadingReason"
type="textarea"
style="width: 400px"
:autosize="{ minRows: 2, maxRows: 4 }"
:placeholder="$t('common:ruleMessage:specify')"
maxlength="500"
show-word-limit
/>
</el-form-item> </el-form-item>
<!-- 是否复制阅片表单 --> <!-- 是否复制阅片表单 -->
<el-form-item <el-form-item :label="$t('trials:readTask:title:copyForm')" prop="IsCopyOrigenalForms" :rules="[
:label="$t('trials:readTask:title:copyForm')" { required: true, message: $t('common:ruleMessage:select') },
prop="IsCopyOrigenalForms" ]">
:rules="[
{ required: true, message: $t('common:ruleMessage:select') },
]"
>
<el-radio-group v-model="ApplyforReasonForm.IsCopyOrigenalForms"> <el-radio-group v-model="ApplyforReasonForm.IsCopyOrigenalForms">
<el-radio <el-radio v-for="item of $d.YesOrNo" :key="`IsCopyOrigenalForms${item.raw.Id}`" :label="item.value">{{
v-for="item of $d.YesOrNo" item.label }}</el-radio>
:key="`IsCopyOrigenalForms${item.raw.Id}`"
:label="item.value"
>{{ item.label }}</el-radio
>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -459,42 +298,22 @@
<el-divider content-position="left">{{ <el-divider content-position="left">{{
$t('trials:readTask:title:influenceList') $t('trials:readTask:title:influenceList')
}}</el-divider> }}</el-divider>
<div <div style="
style="
padding: 10px; padding: 10px;
border: 1px solid #e0e0e0; border: 1px solid #e0e0e0;
max-height: 650px; max-height: 650px;
overflow-y: auto; overflow-y: auto;
" ">
> <el-table v-loading="loading" :data="InfluenceTaskList" stripe height="100" style="min-height: 400px">
<el-table
v-loading="loading"
:data="InfluenceTaskList"
stripe
height="100"
style="min-height: 400px"
>
<!-- 任务编号 --> <!-- 任务编号 -->
<el-table-column <el-table-column prop="TaskCode" :label="$t('trials:readTask:table:taskCode')" min-width="100"
prop="TaskCode" show-overflow-tooltip />
:label="$t('trials:readTask:table:taskCode')"
min-width="100"
show-overflow-tooltip
/>
<!-- 中心编号 --> <!-- 中心编号 -->
<el-table-column <el-table-column prop="TrialSiteCode" :label="$t('trials:readTask:table:siteCode')" min-width="100"
prop="TrialSiteCode" show-overflow-tooltip />
:label="$t('trials:readTask:table:siteCode')"
min-width="100"
show-overflow-tooltip
/>
<!-- 受试者编号 --> <!-- 受试者编号 -->
<el-table-column <el-table-column prop="SubjectCode" :label="$t('trials:readTask:table:subjectCode')" min-width="120"
prop="SubjectCode" show-overflow-tooltip />
:label="$t('trials:readTask:table:subjectCode')"
min-width="120"
show-overflow-tooltip
/>
<!-- <el-table-column <!-- <el-table-column
prop="VisitTaskNum" prop="VisitTaskNum"
label="访视/阅片期名称" label="访视/阅片期名称"
@ -506,26 +325,14 @@
</template> </template>
</el-table-column> --> </el-table-column> -->
<!-- 盲态任务标识 --> <!-- 盲态任务标识 -->
<el-table-column <el-table-column prop="TaskName" :label="$t('trials:readTask:table:TaskName')" min-width="120"
prop="TaskName" show-overflow-tooltip />
:label="$t('trials:readTask:table:TaskName')"
min-width="120"
show-overflow-tooltip
/>
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-table-column <el-table-column prop="TrialReadingCriterionName" :label="$t('trials:readTask:table:criterionName')"
prop="TrialReadingCriterionName" min-width="100" show-overflow-tooltip />
:label="$t('trials:readTask:table:criterionName')"
min-width="100"
show-overflow-tooltip
/>
<!-- 任务状态 --> <!-- 任务状态 -->
<el-table-column <el-table-column prop="TaskState" :label="$t('trials:readTask:table:taskState')" min-width="100"
prop="TaskState" show-overflow-tooltip>
:label="$t('trials:readTask:table:taskState')"
min-width="100"
show-overflow-tooltip
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.TaskState === 0" type="primary">{{ <el-tag v-if="scope.row.TaskState === 0" type="primary">{{
$fd('TaskState', scope.row.TaskState) $fd('TaskState', scope.row.TaskState)
@ -567,12 +374,8 @@
</template> </template>
</el-table-column> --> </el-table-column> -->
<!-- 阅片状态 --> <!-- 阅片状态 -->
<el-table-column <el-table-column prop="ReadingTaskState" :label="$t('trials:readTask:table:readingTaskState')" min-width="100"
prop="ReadingTaskState" show-overflow-tooltip>
:label="$t('trials:readTask:table:readingTaskState')"
min-width="100"
show-overflow-tooltip
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.ReadingTaskState === 2" type="primary">{{ <el-tag v-if="scope.row.ReadingTaskState === 2" type="primary">{{
$fd('ReadingTaskState', scope.row.ReadingTaskState) $fd('ReadingTaskState', scope.row.ReadingTaskState)
@ -583,12 +386,8 @@
</template> </template>
</el-table-column> </el-table-column>
<!-- 生效后影响 --> <!-- 生效后影响 -->
<el-table-column <el-table-column prop="OptType" :label="$t('trials:readTask:table:optType')" min-width="100"
prop="OptType" show-overflow-tooltip>
:label="$t('trials:readTask:table:optType')"
min-width="100"
show-overflow-tooltip
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.OptType === 0" type="primary">{{ <el-tag v-if="scope.row.OptType === 0" type="primary">{{
$fd('ReReadingOrBackOptType', scope.row.OptType) $fd('ReReadingOrBackOptType', scope.row.OptType)
@ -602,12 +401,8 @@
</template> </template>
</el-table-column> </el-table-column>
<!-- 阅片人 --> <!-- 阅片人 -->
<el-table-column <el-table-column prop="UserName" :label="$t('trials:readTask:table:reader')" min-width="160"
prop="UserName" show-overflow-tooltip>
:label="$t('trials:readTask:table:reader')"
min-width="160"
show-overflow-tooltip
>
<template v-if="scope.row.DoctorUser" slot-scope="scope"> <template v-if="scope.row.DoctorUser" slot-scope="scope">
{{ scope.row.DoctorUser.UserName }}({{ {{ scope.row.DoctorUser.UserName }}({{
scope.row.DoctorUser.FullName scope.row.DoctorUser.FullName
@ -618,42 +413,23 @@
</div> </div>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<!-- 取消 --> <!-- 取消 -->
<el-button <el-button :disabled="btnLoading" size="small" type="primary" @click="
:disabled="btnLoading" ApplyforReasonVisible = false
size="small" ApplyforReasonForm = { Type: null, RequestReReadingReason: null }
type="primary" ">
@click="
ApplyforReasonVisible = false
ApplyforReasonForm = { Type: null, RequestReReadingReason: null }
"
>
{{ $t('common:button:cancel') }} {{ $t('common:button:cancel') }}
</el-button> </el-button>
<!-- 保存 --> <!-- 保存 -->
<el-button <el-button :loading="btnLoading" size="small" type="primary" @click="applyReReading">
:loading="btnLoading"
size="small"
type="primary"
@click="applyReReading"
>
{{ $t('common:button:save') }} {{ $t('common:button:save') }}
</el-button> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 审核记录 --> <!-- 审核记录 -->
<el-dialog <el-dialog v-if="auditRecordVisible" :visible.sync="auditRecordVisible" :close-on-click-modal="false"
v-if="auditRecordVisible" custom-class="base-dialog-wrapper" :title="`审核记录(${currentRow.SubjectCode} | ${currentRow.TaskName}`"
:visible.sync="auditRecordVisible" width="600px">
:close-on-click-modal="false" <ChatForm :row-data="currentRow" @getList="getList" @close="auditRecordVisible = false" />
custom-class="base-dialog-wrapper"
:title="`审核记录(${currentRow.SubjectCode} | ${currentRow.TaskName}`"
width="600px"
>
<ChatForm
:row-data="currentRow"
@getList="getList"
@close="auditRecordVisible = false"
/>
</el-dialog> </el-dialog>
</BaseContainer> </BaseContainer>
</template> </template>
@ -671,10 +447,12 @@ import ChatForm from './components/ChatForm'
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
import { showReadReport, showTumorReport } from '@/api/export' import { showReadReport, showTumorReport } from '@/api/export'
import { downLoadFile } from '@/utils/stream.js' import { downLoadFile } from '@/utils/stream.js'
import { getAutoCutNextTask } from '@/api/user'
import { import {
getDownloadSubjectVisitStudyInfo, getDownloadSubjectVisitStudyInfo,
downloadImageSuccess, downloadImageSuccess,
} from '@/api/trials.js' } from '@/api/trials.js'
import { openWindow } from "@/utils/splitScreen";
const searchDataDefault = () => { const searchDataDefault = () => {
return { return {
SubjectCode: '', SubjectCode: '',
@ -780,9 +558,9 @@ export default {
this.reportFlag[item.Id] = true this.reportFlag[item.Id] = true
} }
let res = null; let res = null;
if(key === 'evaluate'){ if (key === 'evaluate') {
res = await showReadReport(data); res = await showReadReport(data);
}else{ } else {
res = await showTumorReport(data); res = await showTumorReport(data);
} }
if (res.IsSuccess) { if (res.IsSuccess) {
@ -852,11 +630,9 @@ export default {
series.InstanceList.forEach((instance) => { series.InstanceList.forEach((instance) => {
let fileName = instance.Path.split('/').pop() let fileName = instance.Path.split('/').pop()
let obj = { let obj = {
name: `${data.SubjectCode}_${data.VisitName}/${ name: `${data.SubjectCode}_${data.VisitName}/${study.StudyCode
study.StudyCode }_${study.StudyTime.split(' ')[0]}_${series.Modality
}_${study.StudyTime.split(' ')[0]}_${ }/${fileName}`,
series.Modality
}/${fileName}`,
url: this.OSSclientConfig.basePath + instance.Path, url: this.OSSclientConfig.basePath + instance.Path,
} }
files.push(obj) files.push(obj)
@ -887,7 +663,7 @@ export default {
this.TrialReadingCriterionId = this.TrialReadingCriterionId =
this.trialCriterionList[0].TrialReadingCriterionId this.trialCriterionList[0].TrialReadingCriterionId
}) })
.catch(() => {}) .catch(() => { })
}, },
// //
reReadingHistory(row) { reReadingHistory(row) {
@ -929,7 +705,7 @@ export default {
this.dateValue = [] this.dateValue = []
this.getList() this.getList()
}, },
handleReadImage(row) { async handleReadImage(row) {
if (this.openWindow) { if (this.openWindow) {
this.openWindow.close() this.openWindow.close()
} }
@ -950,7 +726,24 @@ export default {
path = `/noneDicomReading?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}` path = `/noneDicomReading?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`
} }
var routeData = this.$router.resolve({ path }) var routeData = this.$router.resolve({ path })
this.openWindow = window.open(routeData.href, '_blank') const res = await getAutoCutNextTask()
let IsDoubleScreen = false
if (res.IsSuccess) {
IsDoubleScreen = res.Result.IsDoubleScreen
}
if (IsDoubleScreen) {
this.openWindow = await openWindow(routeData.href)
if (!this.openWindow) {
let html = `<div><span>${this.$t("trials:reading:tip:MultiScreen2")}</span><a style="color:#409EFF"
href="/screen.pdf"
target="blank">${this.$t("trials:reading:tip:openFile")}</a></div>`
let confirm = await this.$confirm(html, '', { dangerouslyUseHTMLString: true })
if (!confirm) return false
this.openWindow = await openWindow(routeData.href, '', true)
}
} else {
this.openWindow = window.open(routeData.href, "_blank");
}
}, },
async openApplyReReading(row) { async openApplyReReading(row) {
try { try {