查看历史访视黑屏问题
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
25e348f428
commit
81297954d3
File diff suppressed because it is too large
Load Diff
|
|
@ -8,25 +8,48 @@
|
|||
<!-- 跳过 -->
|
||||
{{ $t('trials:readingReport:button:skip') }}
|
||||
</el-button>
|
||||
<el-button v-if="readingTaskState < 2" type="primary" size="small" @click="getReportInfo">{{
|
||||
$t('trials:readingReport:button:refresh') }}</el-button>
|
||||
<el-button v-if="readingTaskState < 2" type="primary" size="small" @click="handleSave(true)">{{
|
||||
$t('common:button:save') }}</el-button>
|
||||
<el-button v-if="readingTaskState < 2" type="primary" size="small" @click="handleConfirm">{{
|
||||
$t('common:button:submit') }}</el-button>
|
||||
<el-button v-if="readingTaskState < 2" type="primary" size="small" @click="getReportInfo">
|
||||
{{
|
||||
$t('trials:readingReport:button:refresh') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="readingTaskState < 2"
|
||||
type="primary"
|
||||
size="small"
|
||||
@click="handleSave(true)"
|
||||
>
|
||||
{{
|
||||
$t('common:button:save') }}
|
||||
</el-button>
|
||||
<el-button v-if="readingTaskState < 2" type="primary" size="small" @click="handleConfirm">
|
||||
{{
|
||||
$t('common:button:submit') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div style="flex: 1">
|
||||
<el-table v-if="taskQuestions.length > 0" ref="reportList" v-adaptive="{ bottomOffset: 0 }"
|
||||
:data="taskQuestions" row-key="Id" border default-expand-all height="100"
|
||||
:tree-props="{ children: 'Childrens', hasChildren: 'hasChildren' }" size="mini">
|
||||
<el-table-column prop="" label="" show-overflow-tooltip width="350px">
|
||||
<el-table
|
||||
v-if="taskQuestions.length > 0"
|
||||
ref="reportList"
|
||||
v-adaptive="{ bottomOffset: 0 }"
|
||||
:data="taskQuestions"
|
||||
row-key="Id"
|
||||
border
|
||||
default-expand-all
|
||||
height="100"
|
||||
:tree-props="{ children: 'Childrens', hasChildren: 'hasChildren' }"
|
||||
size="mini"
|
||||
>
|
||||
<el-table-column prop label show-overflow-tooltip width="350px">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.QuestionName">{{ scope.row.BlindName ? scope.row.QuestionName :
|
||||
<span v-if="scope.row.QuestionName">
|
||||
{{ scope.row.BlindName ? scope.row.QuestionName :
|
||||
scope.row.QuestionName }}
|
||||
<svg-icon
|
||||
v-if="scope.row.ShowChartTypeEnum > 0 || (scope.row.LesionType === 0 && scope.row.ReportLayType === 1)"
|
||||
icon-class="readingChart" class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({
|
||||
icon-class="readingChart"
|
||||
class="svg-icon svg-readingChart-mini"
|
||||
@click.stop="(e) => handleReadingChart({
|
||||
e,
|
||||
data: {
|
||||
QuestionId: scope.row.RowIndex ? null : scope.row.QuestionId,
|
||||
|
|
@ -35,19 +58,24 @@
|
|||
ReportChartTypeEnum: scope.row.LesionType === 0 && scope.row.ReportLayType === 1 ? 0 : null,
|
||||
QuestionName: scope.row.QuestionName
|
||||
}
|
||||
})" />
|
||||
</span>
|
||||
<span v-else style="font-weight: bold;font-size: 16px;color: #f44336;">
|
||||
{{ scope.row.GroupName }}
|
||||
})"
|
||||
/>
|
||||
</span>
|
||||
<span
|
||||
v-else
|
||||
style="font-weight: bold;font-size: 16px;color: #f44336;"
|
||||
>{{ scope.row.GroupName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column v-for="task in visitTaskList" :key="task.VisitTaskId" prop="date" show-overflow-tooltip
|
||||
width="200px">
|
||||
<el-table-column
|
||||
v-for="task in visitTaskList"
|
||||
:key="task.VisitTaskId"
|
||||
prop="date"
|
||||
show-overflow-tooltip
|
||||
width="200px"
|
||||
>
|
||||
<template slot="header">
|
||||
<div v-if="task.IsCurrentTask">
|
||||
{{ task.BlindName }}
|
||||
</div>
|
||||
<div v-if="task.IsCurrentTask">{{ task.BlindName }}</div>
|
||||
<div v-else>
|
||||
<div>
|
||||
{{ task.BlindName }}
|
||||
|
|
@ -59,37 +87,49 @@
|
|||
</template>
|
||||
<template slot-scope="scope">
|
||||
<template
|
||||
v-if="readingTaskState < 2 && task.VisitTaskId === visitTaskId && (scope.row.Type === 'input' || scope.row.Type === 'number' || scope.row.Type === 'select' || scope.row.Type === 'textarea' || scope.row.Type === 'radio')">
|
||||
v-if="readingTaskState < 2 && task.VisitTaskId === visitTaskId && (scope.row.Type === 'input' || scope.row.Type === 'number' || scope.row.Type === 'select' || scope.row.Type === 'textarea' || scope.row.Type === 'radio')"
|
||||
>
|
||||
<!-- 输入框 -->
|
||||
<div>
|
||||
<template
|
||||
v-if="!((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)" />
|
||||
v-if="!((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
|
||||
/>
|
||||
<el-input
|
||||
v-else-if="questionForm[scope.row.QuestionId] instanceof Array && (scope.row.Type === 'input' || scope.row.Type === 'textarea') && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
|
||||
v-model="questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId]"
|
||||
size="mini" />
|
||||
size="mini"
|
||||
/>
|
||||
<span
|
||||
v-else-if="questionForm[scope.row.QuestionId] instanceof Array && (scope.row.Type === 'input' || scope.row.Type === 'textarea')">
|
||||
{{ questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId] }}
|
||||
</span>
|
||||
v-else-if="questionForm[scope.row.QuestionId] instanceof Array && (scope.row.Type === 'input' || scope.row.Type === 'textarea')"
|
||||
>{{ questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId] }}</span>
|
||||
<el-input
|
||||
v-else-if="(scope.row.Type === 'input' || scope.row.Type === 'textarea') && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
|
||||
v-model="questionForm[scope.row.QuestionId]" size="mini" />
|
||||
<span v-else-if="scope.row.Type === 'input' || scope.row.Type === 'textarea'">
|
||||
{{ questionForm[scope.row.QuestionId] }}
|
||||
</span>
|
||||
v-model="questionForm[scope.row.QuestionId]"
|
||||
size="mini"
|
||||
/>
|
||||
<span
|
||||
v-else-if="scope.row.Type === 'input' || scope.row.Type === 'textarea'"
|
||||
>{{ questionForm[scope.row.QuestionId] }}</span>
|
||||
<el-select
|
||||
v-else-if="questionForm[scope.row.QuestionId] instanceof Array && (scope.row.Type === 'select' || scope.row.Type === 'radio') && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
|
||||
v-model="questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId]"
|
||||
size="mini" clearable :multiple="scope.row.OptionTypeEnum === 1">
|
||||
size="mini"
|
||||
clearable
|
||||
:multiple="scope.row.OptionTypeEnum === 1"
|
||||
>
|
||||
<template>
|
||||
<el-option v-for="val in scope.row.TypeValue.split('|')" :key="val" :label="val" :value="val" />
|
||||
<el-option
|
||||
v-for="val in scope.row.TypeValue.split('|')"
|
||||
:key="val"
|
||||
:label="val"
|
||||
:value="val"
|
||||
/>
|
||||
</template>
|
||||
</el-select>
|
||||
<span
|
||||
v-else-if="questionForm[scope.row.QuestionId] instanceof Array && questionForm[scope.row.QuestionId][scope.row.xfIndex] && (scope.row.Type === 'select' || scope.row.Type === 'radio')">
|
||||
v-else-if="questionForm[scope.row.QuestionId] instanceof Array && questionForm[scope.row.QuestionId][scope.row.xfIndex] && (scope.row.Type === 'select' || scope.row.Type === 'radio')"
|
||||
>
|
||||
{{
|
||||
|
||||
Array.isArray(questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId])
|
||||
?
|
||||
questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId].join(',') :
|
||||
|
|
@ -98,10 +138,18 @@
|
|||
</span>
|
||||
<el-select
|
||||
v-else-if="(scope.row.Type === 'select' || scope.row.Type === 'radio') && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
|
||||
v-model="questionForm[scope.row.QuestionId]" size="mini" clearable
|
||||
:multiple="scope.row.OptionTypeEnum === 1">
|
||||
v-model="questionForm[scope.row.QuestionId]"
|
||||
size="mini"
|
||||
clearable
|
||||
:multiple="scope.row.OptionTypeEnum === 1"
|
||||
>
|
||||
<template>
|
||||
<el-option v-for="val in scope.row.TypeValue.split('|')" :key="val" :label="val" :value="val" />
|
||||
<el-option
|
||||
v-for="val in scope.row.TypeValue.split('|')"
|
||||
:key="val"
|
||||
:label="val"
|
||||
:value="val"
|
||||
/>
|
||||
</template>
|
||||
</el-select>
|
||||
<span v-else-if="scope.row.Type === 'select' || scope.row.Type === 'radio'">
|
||||
|
|
@ -114,16 +162,23 @@
|
|||
<el-input
|
||||
v-else-if="scope.row.DataSource !== 1 && questionForm[scope.row.QuestionId] instanceof Array && scope.row.Type === 'number' && (scope.row.xfIndex || scope.row.xfIndex === 0) && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
|
||||
v-model="questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId]"
|
||||
:disabled="scope.row.DataSource === 1" size="mini"
|
||||
:disabled="scope.row.DataSource === 1"
|
||||
size="mini"
|
||||
@blur="limitBlur(questionForm[scope.row.QuestionId][scope.row.xfIndex], scope.row.TableQuestionId, scope.row.ValueType)"
|
||||
@focus="() => { questionId = scope.row.QuestionId }">
|
||||
<template v-if="scope.row.Unit !== 0" slot="append">{{ scope.row.Unit !== 4 ? $fd('ValueUnit',
|
||||
scope.row.Unit) : scope.row.CustomUnit }}</template>
|
||||
@focus="() => { questionId = scope.row.QuestionId }"
|
||||
>
|
||||
<template v-if="scope.row.Unit !== 0" slot="append">
|
||||
{{ scope.row.Unit !== 4 ? $fd('ValueUnit',
|
||||
scope.row.Unit) : scope.row.CustomUnit }}
|
||||
</template>
|
||||
<template v-else-if="scope.row.ValueType === 2" slot="append">%</template>
|
||||
</el-input>
|
||||
<span
|
||||
v-else-if="questionForm[scope.row.QuestionId] instanceof Array && scope.row.Type === 'number' && (scope.row.xfIndex || scope.row.xfIndex === 0)">
|
||||
<template v-if="(scope.row.ValueType === 0 || scope.row.ValueType === 1) && scope.row.Unit">
|
||||
v-else-if="questionForm[scope.row.QuestionId] instanceof Array && scope.row.Type === 'number' && (scope.row.xfIndex || scope.row.xfIndex === 0)"
|
||||
>
|
||||
<template
|
||||
v-if="(scope.row.ValueType === 0 || scope.row.ValueType === 1) && scope.row.Unit"
|
||||
>
|
||||
{{
|
||||
isNaN(parseInt(questionForm[scope.row.QuestionId][scope.row.xfIndex][scope.row.TableQuestionId]))
|
||||
?
|
||||
|
|
@ -150,15 +205,22 @@
|
|||
</span>
|
||||
<el-input
|
||||
v-else-if="scope.row.DataSource !== 1 && scope.row.Type === 'number' && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
|
||||
v-model="questionForm[scope.row.QuestionId]" :disabled="scope.row.DataSource === 1" size="mini"
|
||||
v-model="questionForm[scope.row.QuestionId]"
|
||||
:disabled="scope.row.DataSource === 1"
|
||||
size="mini"
|
||||
@blur="limitBlur(questionForm, scope.row.QuestionId, scope.row.ValueType)"
|
||||
@focus="() => { questionId = scope.row.QuestionId }">
|
||||
<template v-if="scope.row.Unit !== 0" slot="append">{{ scope.row.Unit !== 4 ? $fd('ValueUnit',
|
||||
scope.row.Unit) : scope.row.CustomUnit }}</template>
|
||||
@focus="() => { questionId = scope.row.QuestionId }"
|
||||
>
|
||||
<template v-if="scope.row.Unit !== 0" slot="append">
|
||||
{{ scope.row.Unit !== 4 ? $fd('ValueUnit',
|
||||
scope.row.Unit) : scope.row.CustomUnit }}
|
||||
</template>
|
||||
<template v-else-if="scope.row.ValueType === 2" slot="append">%</template>
|
||||
</el-input>
|
||||
<span v-else-if="scope.row.Type === 'number'">
|
||||
<template v-if="(scope.row.ValueType === 0 || scope.row.ValueType === 1) && scope.row.Unit">
|
||||
<template
|
||||
v-if="(scope.row.ValueType === 0 || scope.row.ValueType === 1) && scope.row.Unit"
|
||||
>
|
||||
{{ isNaN(parseInt(questionForm[scope.row.QuestionId])) ?
|
||||
questionForm[scope.row.QuestionId] : `${questionForm[scope.row.QuestionId]} ${scope.row.Unit !== 4
|
||||
?
|
||||
|
|
@ -175,12 +237,19 @@
|
|||
</span>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else-if="scope.row.Type === 'upload' && scope.row.Answers[task.VisitTaskId]">
|
||||
<span v-for="(url, index) in scope.row.Answers[task.VisitTaskId].split('|')" :key="url"
|
||||
style="margin-left: 5px;">
|
||||
<el-button v-if="scope.row.Answers[task.VisitTaskId]" type="text" @click="preview(url)">
|
||||
{{ `${$t('trials:noneDicom:title:attachment')}${index + 1}` }}
|
||||
</el-button>
|
||||
<template
|
||||
v-else-if="scope.row.Type === 'upload' && scope.row.Answers[task.VisitTaskId]"
|
||||
>
|
||||
<span
|
||||
v-for="(url, index) in scope.row.Answers[task.VisitTaskId].split('|')"
|
||||
:key="url"
|
||||
style="margin-left: 5px;"
|
||||
>
|
||||
<el-button
|
||||
v-if="scope.row.Answers[task.VisitTaskId]"
|
||||
type="text"
|
||||
@click="preview(url)"
|
||||
>{{ `${$t('trials:noneDicom:title:attachment')}${index + 1}` }}</el-button>
|
||||
</span>
|
||||
</template>
|
||||
<template v-else-if="scope.row.DictionaryCode">
|
||||
|
|
@ -196,8 +265,11 @@
|
|||
}}
|
||||
</template>
|
||||
<template
|
||||
v-else-if="!((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)" />
|
||||
<template v-else-if="(scope.row.ValueType === 0 || scope.row.ValueType === 1) && scope.row.Unit">
|
||||
v-else-if="!((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
|
||||
/>
|
||||
<template
|
||||
v-else-if="(scope.row.ValueType === 0 || scope.row.ValueType === 1) && scope.row.Unit"
|
||||
>
|
||||
{{
|
||||
isNaN(parseInt(scope.row.Answers[task.VisitTaskId])) ? scope.row.Answers[task.VisitTaskId] :
|
||||
`${scope.row.Answers[task.VisitTaskId]}
|
||||
|
|
@ -207,9 +279,9 @@
|
|||
{{ isNaN(parseInt(scope.row.Answers[task.VisitTaskId])) ?
|
||||
scope.row.Answers[task.VisitTaskId] : `${scope.row.Answers[task.VisitTaskId]} %` }}
|
||||
</template>
|
||||
<template v-else-if="scope.row.Answers && scope.row.Answers.hasOwnProperty(task.VisitTaskId)">
|
||||
{{ scope.row.Answers[task.VisitTaskId] }}
|
||||
</template>
|
||||
<template
|
||||
v-else-if="scope.row.Answers && scope.row.Answers.hasOwnProperty(task.VisitTaskId)"
|
||||
>{{ scope.row.Answers[task.VisitTaskId] }}</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -217,33 +289,49 @@
|
|||
</el-card>
|
||||
|
||||
<!-- 签名框 -->
|
||||
<el-dialog v-if="signVisible" :visible.sync="signVisible" :close-on-click-modal="false" width="600px"
|
||||
custom-class="base-dialog-wrapper">
|
||||
<el-dialog
|
||||
v-if="signVisible"
|
||||
:visible.sync="signVisible"
|
||||
:close-on-click-modal="false"
|
||||
width="600px"
|
||||
custom-class="base-dialog-wrapper"
|
||||
>
|
||||
<div slot="title">
|
||||
<span style="font-size:18px;">{{ $t('common:dialogTitle:sign') }}</span>
|
||||
<span style="font-size:12px;margin-left:5px">{{ `(${$t('common:label:sign')}${currentUser})` }}</span>
|
||||
<span
|
||||
style="font-size:12px;margin-left:5px"
|
||||
>{{ `(${$t('common:label:sign')}${currentUser})` }}</span>
|
||||
</div>
|
||||
<SignForm ref="signForm" :sign-code-enum="signCode" @closeDialog="closeSignDialog" />
|
||||
</el-dialog>
|
||||
|
||||
<!-- 预览文件 -->
|
||||
<viewer ref="picture_perview_customizeReportPage" style="margin: 0 10px"
|
||||
<viewer
|
||||
ref="picture_perview_customizeReportPage"
|
||||
style="margin: 0 10px"
|
||||
v-if="currentType && ['png', 'jpg', 'jpeg'].includes(currentType.toLowerCase())"
|
||||
:images="[`${OSSclientConfig.basePath}${currentPath}`]" :options="viewerOptions">
|
||||
|
||||
:images="[`${OSSclientConfig.basePath}${currentPath}`]"
|
||||
:options="viewerOptions"
|
||||
>
|
||||
<img v-show="false" :src="`${OSSclientConfig.basePath}${currentPath}`" alt="Image" />
|
||||
</viewer>
|
||||
<readingChart ref="readingChart_report" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { changeCalculationAnswer, getReadingReportEvaluation, submitDicomVisitTask, verifyVisitTaskQuestions, getQuestionCalculateRelation } from '@/api/trials'
|
||||
import {
|
||||
changeCalculationAnswer,
|
||||
getReadingReportEvaluation,
|
||||
submitDicomVisitTask,
|
||||
verifyVisitTaskQuestions,
|
||||
getQuestionCalculateRelation,
|
||||
} from '@/api/trials'
|
||||
import { setSkipReadingCache } from '@/api/reading'
|
||||
import { getAutoCutNextTask } from '@/api/user'
|
||||
import const_ from '@/const/sign-code'
|
||||
import SignForm from '@/views/trials/components/newSignForm'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import { openWindow } from "@/utils/splitScreen";
|
||||
import { openWindow } from '@/utils/splitScreen'
|
||||
import readingChart from '@/components/readingChart'
|
||||
export default {
|
||||
name: 'CustomizeReportPage',
|
||||
|
|
@ -275,7 +363,6 @@ export default {
|
|||
currentPath: '',
|
||||
currentType: '',
|
||||
|
||||
|
||||
viewerOptions: {
|
||||
toolbar: {
|
||||
zoomIn: true,
|
||||
|
|
@ -287,8 +374,8 @@ export default {
|
|||
rotateRight: true,
|
||||
flipHorizontal: true,
|
||||
flipVertical: true,
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
|
@ -298,11 +385,10 @@ export default {
|
|||
handler(v, oldv) {
|
||||
try {
|
||||
if (!v[this.questionId] || !oldv[this.questionId]) return
|
||||
} catch (e) {
|
||||
}
|
||||
} catch (e) {}
|
||||
this.formItemNumberChange(this.questionId, false)
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
async mounted() {
|
||||
this.taskInfo = JSON.parse(sessionStorage.getItem('taskInfo'))
|
||||
|
|
@ -318,7 +404,7 @@ export default {
|
|||
})
|
||||
await this.getQuestionCalculateRelation()
|
||||
this.getReportInfo()
|
||||
document.addEventListener("click", this.foo);
|
||||
document.addEventListener('click', this.foo)
|
||||
},
|
||||
methods: {
|
||||
handleReadingChart(row) {
|
||||
|
|
@ -359,7 +445,7 @@ export default {
|
|||
}
|
||||
},
|
||||
getTagterAnswers(list, questionId) {
|
||||
list.forEach(v => {
|
||||
list.forEach((v) => {
|
||||
if (v.QuestionId === questionId) {
|
||||
return Object.assign({}, v.Answers)
|
||||
} else if (v.Childrens.length > 0) {
|
||||
|
|
@ -370,7 +456,7 @@ export default {
|
|||
formItemNumberChange(questionId, isTable) {
|
||||
if (isTable) {
|
||||
this.CalculationList.forEach((v, i) => {
|
||||
var find = v.CalculateQuestionList.filter(o => {
|
||||
var find = v.CalculateQuestionList.filter((o) => {
|
||||
return o.QuestionId === questionId
|
||||
})
|
||||
// find的自动计算值number
|
||||
|
|
@ -383,8 +469,8 @@ export default {
|
|||
}
|
||||
})
|
||||
} else {
|
||||
this.CalculationList.forEach(v => {
|
||||
var find = v.CalculateQuestionList.filter(o => {
|
||||
this.CalculationList.forEach((v) => {
|
||||
var find = v.CalculateQuestionList.filter((o) => {
|
||||
return o.TableQuestionId === questionId
|
||||
})
|
||||
// find的自动计算值number
|
||||
|
|
@ -415,9 +501,26 @@ export default {
|
|||
},
|
||||
InitVisitTaskQuestionForm() {
|
||||
this.taskQuestions.map((v, i) => {
|
||||
if (v.Type === 'group' && v.Childrens.length === 0 && v.Type !== 'table' && v.Type !== 'basicTable') return
|
||||
if (!v.IsPage && v.Type !== 'group' && v.Type !== 'summary' && v.Type !== 'table' && v.Type !== 'basicTable' && v.Type !== 'number') {
|
||||
this.$set(this.questionForm, v.QuestionId, v.Answers[this.visitTaskId])
|
||||
if (
|
||||
v.Type === 'group' &&
|
||||
v.Childrens.length === 0 &&
|
||||
v.Type !== 'table' &&
|
||||
v.Type !== 'basicTable'
|
||||
)
|
||||
return
|
||||
if (
|
||||
!v.IsPage &&
|
||||
v.Type !== 'group' &&
|
||||
v.Type !== 'summary' &&
|
||||
v.Type !== 'table' &&
|
||||
v.Type !== 'basicTable' &&
|
||||
v.Type !== 'number'
|
||||
) {
|
||||
this.$set(
|
||||
this.questionForm,
|
||||
v.QuestionId,
|
||||
v.Answers[this.visitTaskId]
|
||||
)
|
||||
}
|
||||
if (v.Type === 'table' || v.Type === 'basicTable') {
|
||||
var tableAnswers = this.getTableAnswers(v.QuestionId, v.Childrens, i)
|
||||
|
|
@ -427,11 +530,16 @@ export default {
|
|||
if (v.Type === 'number') {
|
||||
let val = null
|
||||
if (v.ValueType === 0) {
|
||||
val = isNaN(parseFloat(v.Answers[this.visitTaskId])) ? v.Answers[this.visitTaskId] : parseInt(v.Answers[this.visitTaskId])
|
||||
val = isNaN(parseFloat(v.Answers[this.visitTaskId]))
|
||||
? v.Answers[this.visitTaskId]
|
||||
: parseInt(v.Answers[this.visitTaskId])
|
||||
} else if (v.ValueType === 3) {
|
||||
val = v.Answers[this.visitTaskId]
|
||||
} else {
|
||||
val = v.Answers[this.visitTaskId] === '' ? null : v.Answers[this.visitTaskId]
|
||||
val =
|
||||
v.Answers[this.visitTaskId] === ''
|
||||
? null
|
||||
: v.Answers[this.visitTaskId]
|
||||
}
|
||||
this.$set(this.questionForm, v.QuestionId, val)
|
||||
}
|
||||
|
|
@ -443,41 +551,66 @@ export default {
|
|||
},
|
||||
setChild(obj) {
|
||||
obj.forEach((i, index) => {
|
||||
if (i.Type !== 'group' && i.Type !== 'summary' && i.Id && i.Type !== 'table' && i.Type !== 'basicTable') {
|
||||
this.$set(this.questionForm, i.QuestionId, i.Answers[this.visitTaskId])
|
||||
if (
|
||||
i.Type !== 'group' &&
|
||||
i.Type !== 'summary' &&
|
||||
i.Id &&
|
||||
i.Type !== 'table' &&
|
||||
i.Type !== 'basicTable'
|
||||
) {
|
||||
this.$set(
|
||||
this.questionForm,
|
||||
i.QuestionId,
|
||||
i.Answers[this.visitTaskId]
|
||||
)
|
||||
}
|
||||
if (i.Type === 'table' || i.Type === 'basicTable') {
|
||||
var tableAnswers = this.getTableAnswers(i.QuestionId, i.Childrens, index)
|
||||
var tableAnswers = this.getTableAnswers(
|
||||
i.QuestionId,
|
||||
i.Childrens,
|
||||
index
|
||||
)
|
||||
this.$set(this.questionForm, i.QuestionId, tableAnswers)
|
||||
}
|
||||
if (i.Type === 'number') {
|
||||
let val = null
|
||||
if (i.ValueType === 0) {
|
||||
val = isNaN(parseFloat(i.Answers[this.visitTaskId])) ? i.Answers[this.visitTaskId] : parseInt(i.Answers[this.visitTaskId])
|
||||
val = isNaN(parseFloat(i.Answers[this.visitTaskId]))
|
||||
? i.Answers[this.visitTaskId]
|
||||
: parseInt(i.Answers[this.visitTaskId])
|
||||
} else if (i.ValueType === 3) {
|
||||
val = i.Answers[this.visitTaskId]
|
||||
} else {
|
||||
val = i.Answers[this.visitTaskId] === '' ? null : i.Answers[this.visitTaskId]
|
||||
val =
|
||||
i.Answers[this.visitTaskId] === ''
|
||||
? null
|
||||
: i.Answers[this.visitTaskId]
|
||||
}
|
||||
this.$set(this.questionForm, i.QuestionId, val)
|
||||
}
|
||||
if (i.Childrens && i.Childrens.length > 0 && i.Type !== 'table' && i.Type !== 'basicTable') {
|
||||
if (
|
||||
i.Childrens &&
|
||||
i.Childrens.length > 0 &&
|
||||
i.Type !== 'table' &&
|
||||
i.Type !== 'basicTable'
|
||||
) {
|
||||
this.setChild(i.Childrens)
|
||||
}
|
||||
})
|
||||
},
|
||||
getQuestionCalculateRelation() {
|
||||
return new Promise(resolve => {
|
||||
return new Promise((resolve) => {
|
||||
getQuestionCalculateRelation({
|
||||
TrialReadingCriterionId: this.TrialReadingCriterionId
|
||||
}).then(res => {
|
||||
TrialReadingCriterionId: this.TrialReadingCriterionId,
|
||||
}).then((res) => {
|
||||
this.CalculationList = res.Result
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
},
|
||||
logic(rules, num = 0) {
|
||||
let isNE = false, isNAN = false
|
||||
let isNE = false,
|
||||
isNAN = false
|
||||
try {
|
||||
if (rules.CalculateQuestionList.length === 0) {
|
||||
return false
|
||||
|
|
@ -511,9 +644,13 @@ export default {
|
|||
this.questionForm[o.QuestionId].forEach((q, qi) => {
|
||||
if (!isNaN(parseFloat(q[o.TableQuestionId]))) {
|
||||
if (qi === 0) {
|
||||
num = isNaN(parseFloat(q[o.TableQuestionId])) ? null : parseFloat(q[o.TableQuestionId])
|
||||
num = isNaN(parseFloat(q[o.TableQuestionId]))
|
||||
? null
|
||||
: parseFloat(q[o.TableQuestionId])
|
||||
} else {
|
||||
num += isNaN(parseFloat(q[o.TableQuestionId])) ? null : parseFloat(q[o.TableQuestionId])
|
||||
num += isNaN(parseFloat(q[o.TableQuestionId]))
|
||||
? null
|
||||
: parseFloat(q[o.TableQuestionId])
|
||||
}
|
||||
} else {
|
||||
isNAN = true
|
||||
|
|
@ -538,11 +675,14 @@ export default {
|
|||
isNE = true
|
||||
}
|
||||
})
|
||||
num = this.questionForm[o.QuestionId].length === 0 ? 0 : num / this.questionForm[o.QuestionId].length
|
||||
num =
|
||||
this.questionForm[o.QuestionId].length === 0
|
||||
? 0
|
||||
: num / this.questionForm[o.QuestionId].length
|
||||
break
|
||||
case 8:
|
||||
const arr = []
|
||||
this.questionForm[o.QuestionId].forEach(q => {
|
||||
this.questionForm[o.QuestionId].forEach((q) => {
|
||||
if (!isNaN(parseFloat(q[o.TableQuestionId]))) {
|
||||
arr.push(q[o.TableQuestionId])
|
||||
} else {
|
||||
|
|
@ -557,7 +697,7 @@ export default {
|
|||
break
|
||||
case 9:
|
||||
const arr1 = []
|
||||
this.questionForm[o.QuestionId].forEach(q => {
|
||||
this.questionForm[o.QuestionId].forEach((q) => {
|
||||
if (!isNaN(parseFloat(q[o.TableQuestionId]))) {
|
||||
arr.push(q[o.TableQuestionId])
|
||||
} else {
|
||||
|
|
@ -568,15 +708,16 @@ export default {
|
|||
}
|
||||
})
|
||||
num = arr1.length === 0 ? 0 : Math.min(...arr1)
|
||||
break;
|
||||
break
|
||||
case 15:
|
||||
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
|
||||
if (
|
||||
!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))
|
||||
) {
|
||||
num = Math.abs(this.questionForm[o.TableQuestionId])
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
isNAN = true
|
||||
}
|
||||
break;
|
||||
break
|
||||
}
|
||||
} else {
|
||||
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
|
||||
|
|
@ -584,7 +725,6 @@ export default {
|
|||
} else {
|
||||
isNAN = true
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
switch (rules.CustomCalculateMark) {
|
||||
|
|
@ -627,47 +767,60 @@ export default {
|
|||
} else {
|
||||
isNAN = true
|
||||
}
|
||||
num = dataArr.length === 0 ? 0 : dataArr.reduce((acc, curr) => {
|
||||
return acc + (typeof curr === "number" ? curr : 0);
|
||||
}, 0) / dataArr.length;
|
||||
break;
|
||||
num =
|
||||
dataArr.length === 0
|
||||
? 0
|
||||
: dataArr.reduce((acc, curr) => {
|
||||
return acc + (typeof curr === 'number' ? curr : 0)
|
||||
}, 0) / dataArr.length
|
||||
break
|
||||
case 11:
|
||||
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
|
||||
dataArr.push(parseFloat(this.questionForm[o.TableQuestionId]))
|
||||
} else {
|
||||
isNAN = true
|
||||
}
|
||||
num = Math.max(...dataArr);
|
||||
break;
|
||||
num = Math.max(...dataArr)
|
||||
break
|
||||
case 12:
|
||||
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
|
||||
dataArr.push(parseFloat(this.questionForm[o.TableQuestionId]))
|
||||
} else {
|
||||
isNAN = true
|
||||
}
|
||||
num = Math.min(...dataArr);
|
||||
break;
|
||||
num = Math.min(...dataArr)
|
||||
break
|
||||
case 13:
|
||||
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
|
||||
dataArr.push(parseFloat(this.questionForm[o.TableQuestionId]))
|
||||
} else {
|
||||
isNAN = true
|
||||
}
|
||||
num = dataArr.length === 0 ? 0 : dataArr.reduce((acc, curr) => acc && curr) ? 1 : 0
|
||||
break;
|
||||
num =
|
||||
dataArr.length === 0
|
||||
? 0
|
||||
: dataArr.reduce((acc, curr) => acc && curr)
|
||||
? 1
|
||||
: 0
|
||||
break
|
||||
case 14:
|
||||
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
|
||||
dataArr.push(parseFloat(this.questionForm[o.TableQuestionId]))
|
||||
} else {
|
||||
isNAN = true
|
||||
}
|
||||
num = dataArr.length === 0 ? 0 : dataArr.reduce((acc, curr) => acc || curr, 0) ? 1 : 0;
|
||||
break;
|
||||
num =
|
||||
dataArr.length === 0
|
||||
? 0
|
||||
: dataArr.reduce((acc, curr) => acc || curr, 0)
|
||||
? 1
|
||||
: 0
|
||||
break
|
||||
case 15:
|
||||
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
|
||||
num = Math.abs(this.questionForm[o.TableQuestionId])
|
||||
}
|
||||
break;
|
||||
break
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
@ -683,28 +836,36 @@ export default {
|
|||
if (rules.ValueType === 2) {
|
||||
num = num * 100
|
||||
}
|
||||
return isNaN(num) ? '' : isFinite(num) ? num.toFixed(this.digitPlaces) : '∞'
|
||||
return isNaN(num)
|
||||
? ''
|
||||
: isFinite(num)
|
||||
? num.toFixed(this.digitPlaces)
|
||||
: '∞'
|
||||
},
|
||||
getReportInfo() {
|
||||
this.loading = true
|
||||
var params = {
|
||||
visitTaskId: this.visitTaskId,
|
||||
trialId: this.trialId
|
||||
trialId: this.trialId,
|
||||
}
|
||||
this.taskQuestions = []
|
||||
getReadingReportEvaluation(params).then(res => {
|
||||
getReadingReportEvaluation(params)
|
||||
.then((res) => {
|
||||
this.readingTaskState = res.Result.ReadingTaskState
|
||||
this.answerArr = []
|
||||
this.questions = res.Result.TaskQuestions.concat()
|
||||
var taskQuestions = this.getQuestions(res.Result.TaskQuestions)
|
||||
taskQuestions.forEach(item => {
|
||||
taskQuestions.forEach((item) => {
|
||||
this.$set(this.taskQuestions, this.taskQuestions.length, item)
|
||||
})
|
||||
this.visitTaskList = res.Result.VisitTaskList
|
||||
this.InitVisitTaskQuestionForm()
|
||||
this.handleResize()
|
||||
this.loading = false
|
||||
}).catch(() => { this.loading = false })
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
getQuestions(questions) {
|
||||
try {
|
||||
|
|
@ -713,29 +874,39 @@ export default {
|
|||
questions.forEach((item) => {
|
||||
const obj = item
|
||||
this.$set(obj, 'Answers', {})
|
||||
item.Answer.forEach(i => {
|
||||
item.Answer.forEach((i) => {
|
||||
if (item.DictionaryCode) {
|
||||
if (item.Type === 'select' && item.OptionTypeEnum === 1) {
|
||||
let val = i.Answer ? JSON.parse(i.Answer) : []
|
||||
this.$set(obj.Answers, i.VisitTaskId, val)
|
||||
} else {
|
||||
this.$set(obj.Answers, i.VisitTaskId, i.Answer ? parseInt(i.Answer) : null)
|
||||
this.$set(
|
||||
obj.Answers,
|
||||
i.VisitTaskId,
|
||||
i.Answer ? parseInt(i.Answer) : null
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
// obj.Answers[i.VisitTaskId] = i.Answer ? parseInt(i.Answer) : null
|
||||
} else {
|
||||
if (item.Type === 'number') {
|
||||
let val = null
|
||||
if (item.ValueType === 0) {
|
||||
val = isNaN(parseFloat(i.Answer)) ? i.Answer : parseInt(i.Answer)
|
||||
val = isNaN(parseFloat(i.Answer))
|
||||
? i.Answer
|
||||
: parseInt(i.Answer)
|
||||
} else if (item.ValueType === 3) {
|
||||
val = i.Answer
|
||||
} else {
|
||||
val = isNaN(parseFloat(i.Answer)) ? i.Answer : parseFloat(i.Answer).toFixed(this.digitPlaces)
|
||||
val = isNaN(parseFloat(i.Answer))
|
||||
? i.Answer
|
||||
: parseFloat(i.Answer).toFixed(this.digitPlaces)
|
||||
}
|
||||
this.$set(obj.Answers, i.VisitTaskId, val)
|
||||
} else if (item.Type === 'select' && item.OptionTypeEnum === 1) {
|
||||
} else if (
|
||||
item.Type === 'select' &&
|
||||
item.OptionTypeEnum === 1
|
||||
) {
|
||||
let val = i.Answer ? JSON.parse(i.Answer) : []
|
||||
this.$set(obj.Answers, i.VisitTaskId, val)
|
||||
} else {
|
||||
|
|
@ -754,7 +925,6 @@ export default {
|
|||
} catch (err) {
|
||||
console.log(err)
|
||||
}
|
||||
|
||||
},
|
||||
handleShowDetail(val) {
|
||||
this.getReportInfo()
|
||||
|
|
@ -770,10 +940,12 @@ export default {
|
|||
verifyVisitTaskQuestions() {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.loading = true
|
||||
verifyVisitTaskQuestions({ visitTaskId: this.visitTaskId }).then(res => {
|
||||
verifyVisitTaskQuestions({ visitTaskId: this.visitTaskId })
|
||||
.then((res) => {
|
||||
this.loading = false
|
||||
resolve()
|
||||
}).catch(() => {
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false
|
||||
reject()
|
||||
})
|
||||
|
|
@ -798,9 +970,9 @@ export default {
|
|||
try {
|
||||
var params = {
|
||||
data: {
|
||||
visitTaskId: this.visitTaskId
|
||||
visitTaskId: this.visitTaskId,
|
||||
},
|
||||
signInfo: signInfo
|
||||
signInfo: signInfo,
|
||||
}
|
||||
const res = await submitDicomVisitTask(params)
|
||||
if (res.IsSuccess) {
|
||||
|
|
@ -823,12 +995,12 @@ export default {
|
|||
// '当前阅片任务已完成,是否进入下一个阅片任务?'
|
||||
this.$confirm(this.$t('trials:readingReport:message:msg4'), {
|
||||
type: 'warning',
|
||||
distinguishCancelAndClose: true
|
||||
distinguishCancelAndClose: true,
|
||||
})
|
||||
.then(() => {
|
||||
window.location.reload()
|
||||
})
|
||||
.catch(action => {
|
||||
.catch((action) => {
|
||||
// changeURLStatic('visitTaskId', this.visitTaskId)
|
||||
})
|
||||
}
|
||||
|
|
@ -847,16 +1019,26 @@ export default {
|
|||
this.openWindow.close()
|
||||
}
|
||||
var token = getToken()
|
||||
var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId
|
||||
var trialReadingCriterionId =
|
||||
this.$router.currentRoute.query.TrialReadingCriterionId
|
||||
// var subjectCode = this.$router.currentRoute.query.subjectCode
|
||||
var subjectCode = localStorage.getItem('subjectCode')
|
||||
var subjectId = this.$router.currentRoute.query.subjectId
|
||||
var trialId = this.$router.currentRoute.query.trialId
|
||||
var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder
|
||||
var isReadingTaskViewInOrder =
|
||||
this.$router.currentRoute.query.isReadingTaskViewInOrder
|
||||
var criterionType = this.$router.currentRoute.query.criterionType
|
||||
var readingTool = this.$router.currentRoute.query.readingTool
|
||||
var path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${subjectCode}&subjectId=${subjectId}&visitTaskId=${task.VisitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
|
||||
const routeData = this.$router.resolve({ path })
|
||||
let a = document.createElement('a')
|
||||
a.href = routeData.href
|
||||
a.target = '_blank'
|
||||
a.rel = 'noopener noreferrer'
|
||||
document.body.appendChild(a)
|
||||
a.click()
|
||||
document.body.removeChild(a)
|
||||
return false
|
||||
const res = await getAutoCutNextTask()
|
||||
let IsDoubleScreen = false
|
||||
if (res.IsSuccess) {
|
||||
|
|
@ -865,17 +1047,23 @@ export default {
|
|||
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"
|
||||
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 })
|
||||
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 = await openWindow(routeData.href, '', true, true)
|
||||
}
|
||||
// this.openWindow = await openWindow(routeData.href, '', true, true)
|
||||
// this.openWindow = window.open(routeData.href, '_blank')
|
||||
}
|
||||
},
|
||||
handleSave(isPrompt) {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
|
@ -885,13 +1073,13 @@ export default {
|
|||
for (const k in this.questionForm) {
|
||||
if (this.questionForm[k] instanceof Array) {
|
||||
this.questionForm[k].forEach((v, i) => {
|
||||
Object.keys(v).forEach(o => {
|
||||
Object.keys(v).forEach((o) => {
|
||||
if (o.indexOf('_RowId') === -1) {
|
||||
tableQuestionAnswer.push({
|
||||
questionId: k,
|
||||
answer: v[o],
|
||||
tableQuestionId: o,
|
||||
rowId: v[o + '_RowId']
|
||||
rowId: v[o + '_RowId'],
|
||||
})
|
||||
}
|
||||
})
|
||||
|
|
@ -904,16 +1092,18 @@ export default {
|
|||
var params = {
|
||||
visitTaskId: this.visitTaskId,
|
||||
questionAnswer: answers,
|
||||
tableQuestionAnswer: tableQuestionAnswer
|
||||
tableQuestionAnswer: tableQuestionAnswer,
|
||||
}
|
||||
changeCalculationAnswer(params).then(res => {
|
||||
changeCalculationAnswer(params)
|
||||
.then((res) => {
|
||||
if (isPrompt) {
|
||||
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
||||
}
|
||||
// DicomEvent.$emit('refreshQuestionAnswer')
|
||||
this.loading = false
|
||||
resolve()
|
||||
}).catch(() => {
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false
|
||||
reject()
|
||||
})
|
||||
|
|
@ -926,7 +1116,7 @@ export default {
|
|||
this.$t('trials:readingReport:message:skipConfirm'),
|
||||
{
|
||||
type: 'warning',
|
||||
distinguishCancelAndClose: true
|
||||
distinguishCancelAndClose: true,
|
||||
}
|
||||
)
|
||||
if (confirm !== 'confirm') return
|
||||
|
|
@ -947,21 +1137,20 @@ export default {
|
|||
const arr = path.split('.')
|
||||
this.currentType = arr[arr.length - 1]
|
||||
// this.previewVisible = true
|
||||
if (['.ppt',
|
||||
'.pptx',
|
||||
'.doc',
|
||||
'.docx',
|
||||
'.xls',
|
||||
'.xlsx'].includes(`.${this.currentType.toLowerCase()}`)) {
|
||||
if (
|
||||
['.ppt', '.pptx', '.doc', '.docx', '.xls', '.xlsx'].includes(
|
||||
`.${this.currentType.toLowerCase()}`
|
||||
)
|
||||
) {
|
||||
this.$onlyOffice({
|
||||
path: path,
|
||||
type: this.currentType,
|
||||
title: this.$t('trials:readingReport:title:preview')
|
||||
title: this.$t('trials:readingReport:title:preview'),
|
||||
})
|
||||
}
|
||||
if (['.jpg',
|
||||
'.jpeg',
|
||||
'.png'].includes(`.${this.currentType.toLowerCase()}`)) {
|
||||
if (
|
||||
['.jpg', '.jpeg', '.png'].includes(`.${this.currentType.toLowerCase()}`)
|
||||
) {
|
||||
this.$nextTick(() => {
|
||||
this.$refs['picture_perview_customizeReportPage'].$viewer.show()
|
||||
})
|
||||
|
|
@ -970,16 +1159,15 @@ export default {
|
|||
this.$preview({
|
||||
path: path,
|
||||
type: 'pdf',
|
||||
title: this.$t('trials:readingReport:title:preview')
|
||||
title: this.$t('trials:readingReport:title:preview'),
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.report-wrapper {
|
||||
|
||||
height: 100%;
|
||||
// background-color: #fff;
|
||||
background-color: #000;
|
||||
|
|
@ -1022,13 +1210,13 @@ export default {
|
|||
border-color: #444444;
|
||||
}
|
||||
|
||||
::v-deep .el-table__body tr>td {
|
||||
::v-deep .el-table__body tr > td {
|
||||
background-color: #000 !important;
|
||||
color: #fff;
|
||||
border-color: #444444;
|
||||
}
|
||||
|
||||
::v-deep .el-table__body tr:hover>td {
|
||||
::v-deep .el-table__body tr:hover > td {
|
||||
background-color: #858282 !important;
|
||||
color: #fff;
|
||||
border-color: #444444;
|
||||
|
|
@ -1074,7 +1262,7 @@ export default {
|
|||
}
|
||||
|
||||
.el-form-item__label {
|
||||
color: #dfdfdf
|
||||
color: #dfdfdf;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue