阅片图表显示修改
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-11-21 14:55:13 +08:00
parent 3f9beb6dee
commit 0d9db63f88
36 changed files with 167 additions and 83 deletions

View File

@ -64,7 +64,7 @@ export default {
}, },
async getInfo(data) { async getInfo(data) {
try { try {
let { VisitTaskId = null, TrialId = null, QuestionId = null, TableQuestionId = null, RowIndex = null, ReportChartTypeEnum = null } = data let { VisitTaskId = null, TrialId = null, QuestionId = null, QuestionName = null, TableQuestionId = null, RowIndex = null, ReportChartTypeEnum = null } = data
let params = { let params = {
VisitTaskId, TrialId, QuestionId, TableQuestionId, RowIndex, ReportChartTypeEnum VisitTaskId, TrialId, QuestionId, TableQuestionId, RowIndex, ReportChartTypeEnum
} }
@ -72,16 +72,23 @@ export default {
let res = await getReportsChartData(params) let res = await getReportsChartData(params)
this.loading = false this.loading = false
if (res.IsSuccess) { if (res.IsSuccess) {
let LatestScanDateList = res.Result.LatestScanDateList.map(item => item.split(" ")[0])
let obj = { let obj = {
xAxisData: res.Result.LatestScanDateList || [], title: QuestionName,
series: [] xAxisData: LatestScanDateList || [],
series: [],
unit: this.$fd("ValueUnit", res.Result.Unit),
visitName: res.Result.VisitTaskNameList
} }
res.Result.ChartDataList.forEach(item => { res.Result.ChartDataList.forEach((item) => {
let arr = []
item.Value.forEach((d, index) => {
arr.push([LatestScanDateList[index], d])
})
obj.series.push({ obj.series.push({
name: item.Name, name: item.Name,
data: item.Value, data: arr,
type: 'line' type: 'line'
}) })
}); });
this.initChart(obj) this.initChart(obj)
@ -100,11 +107,25 @@ export default {
this.chart = echarts.init(this.$refs.chartContainer); this.chart = echarts.init(this.$refs.chartContainer);
// ... // ...
const option = { const option = {
title: { text: '' }, title: {
text: obj.title,
textStyle: {
color: "#fff"
}
},
tooltip: { tooltip: {
trigger: 'axis' trigger: 'axis',
formatter: function (params) {
let index = obj.xAxisData.findIndex(item => item === params[0].value[0])
let result = obj.visitName[index] + ' ' + params[0].value[0] + '<br>'; //
params.forEach(function (item) {
result += item.marker + ' ' + item.seriesName + ': ' + item.value[1] + '<br>'; //
});
return result;
}
}, },
xAxis: { xAxis: {
type: 'time',
data: obj.xAxisData, data: obj.xAxisData,
axisLine: { // x 线 axisLine: { // x 线
lineStyle: { lineStyle: {
@ -115,9 +136,13 @@ export default {
textStyle: { textStyle: {
color: '#fff' color: '#fff'
} }
} },
splitLine: {
show: false // 线
},
}, },
yAxis: { yAxis: {
name: obj.unit,
type: 'value', type: 'value',
axisLabel: { axisLabel: {
textStyle: { textStyle: {
@ -128,7 +153,7 @@ export default {
lineStyle: { lineStyle: {
color: '#fff', color: '#fff',
} }
} },
}, },
series: obj.series series: obj.series
}; };
@ -164,8 +189,8 @@ export default {
list-style-type: none; list-style-type: none;
min-height: 300px; min-height: 300px;
max-height: 80vh; max-height: 80vh;
overflow: hidden; // overflow: hidden;
overflow-y: auto; // overflow-y: auto;
box-sizing: border-box; box-sizing: border-box;
} }
</style> </style>

View File

@ -399,7 +399,7 @@
<div style="padding:5px;display: flex;"> <div style="padding:5px;display: flex;">
<!-- 手册 --> <!-- 手册 -->
<el-tooltip class="item" effect="dark" :content="$t('trials:reading:button:handbooks')" placement="bottom" <el-tooltip class="item" effect="dark" :content="$t('trials:reading:button:handbooks')" placement="bottom"
v-if="isExistsManual || isHaveKeyFile"> v-if="(isExistsManual || isHaveKeyFile) && readingTaskState < 2">
<div class="tool-wrapper"> <div class="tool-wrapper">
<div class="icon" @click.prevent="previewManuals(false)"> <div class="icon" @click.prevent="previewManuals(false)">
<svg-icon icon-class="constitution" class="svg-icon" /> <svg-icon icon-class="constitution" class="svg-icon" />
@ -558,7 +558,7 @@
</span> </span>
<div style="height: 100%;margin:0;"> <div style="height: 100%;margin:0;">
<Manuals :trial-id="trialId" :justKeyDoc="manualsDialog.justKeyDoc" /> <Manuals :trial-id="trialId" :justKeyDoc="manualsDialog.justKeyDoc" />
<div slot="footer" style="text-align:right;" v-if="openManuals"> <div slot="footer" style="text-align:right;" v-if="openManuals && !ManualsClose">
<!-- 确认 --> <!-- 确认 -->
<el-button type="primary" size="mini" @click="handleSubmitKeyDoc"> <el-button type="primary" size="mini" @click="handleSubmitKeyDoc">
{{ $t('common:button:confirm') }}</el-button> {{ $t('common:button:confirm') }}</el-button>
@ -904,7 +904,9 @@ export default {
fullScreenIndex: -1, fullScreenIndex: -1,
fullScreenWidth: window.innerWidth - 570 + 'px', fullScreenWidth: window.innerWidth - 570 + 'px',
fullScreenHeight: window.innerHeight - 130 + 'px' fullScreenHeight: window.innerHeight - 130 + 'px',
ManualsClose: false
} }
}, },
@ -1169,6 +1171,7 @@ export default {
let res = await setReadKeyFile(data) let res = await setReadKeyFile(data)
if (res.IsSuccess) { if (res.IsSuccess) {
this.manualsDialog.visible = false this.manualsDialog.visible = false
this.ManualsClose = true
} }
} catch (err) { } catch (err) {
console.log(err) console.log(err)

View File

@ -50,7 +50,8 @@
e, e,
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: qs.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -42,7 +42,8 @@
class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({ class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
ReportChartTypeEnum: 0 ReportChartTypeEnum: 0,
QuestionName: item.QuestionName
}, },
})" /> })" />
</div> </div>

View File

@ -109,7 +109,8 @@
class="svg-icon svg-readingChart" @click.stop="(e) => handleReadingChart({ class="svg-icon svg-readingChart" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
QuestionId: item.Id QuestionId: item.Id,
QuestionName: item.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -111,7 +111,8 @@
e, e,
data: { data: {
TableQuestionId: question.Id, TableQuestionId: question.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: question.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -49,7 +49,8 @@
e, e,
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: qs.QuestionName
} }
})" /> })" />
</div> </div>
@ -131,7 +132,8 @@
e, e,
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: qs.QuestionName
} }
})" /> })" />
</div> </div>
@ -169,7 +171,8 @@
e, e,
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: qs.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -40,7 +40,8 @@
class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({ class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
ReportChartTypeEnum: 0 ReportChartTypeEnum: 0,
QuestionName: item.QuestionName
}, },
})" /> })" />
</div> </div>

View File

@ -49,7 +49,8 @@
e, e,
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: qs.QuestionName
} }
})" /> })" />
</div> </div>
@ -131,7 +132,8 @@
e, e,
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: qs.QuestionName
} }
})" /> })" />
</div> </div>
@ -169,7 +171,8 @@
e, e,
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: qs.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -40,7 +40,8 @@
class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({ class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
ReportChartTypeEnum: 0 ReportChartTypeEnum: 0,
QuestionName: item.QuestionName
}, },
})" /> })" />
</div> </div>

View File

@ -71,7 +71,8 @@
e, e,
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: qs.QuestionName
} }
})" /> })" />
</div> </div>
@ -125,7 +126,8 @@
e, e,
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: qs.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -111,7 +111,8 @@
e, e,
data: { data: {
TableQuestionId: question.Id, TableQuestionId: question.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: question.QuestionName
} }
})" /> })" />
</div> </div>
@ -121,7 +122,7 @@
<QuestionTableFormItem v-for="item in question.Childrens" :key="item.Id" :question="item" <QuestionTableFormItem v-for="item in question.Childrens" :key="item.Id" :question="item"
:question-form="questionForm" :reading-task-state="readingTaskState" @setFormItemData="setFormItemData" :question-form="questionForm" :reading-task-state="readingTaskState" @setFormItemData="setFormItemData"
@resetFormItemData="resetFormItemData" @handleReadingChart="handleReadingChart"/> @resetFormItemData="resetFormItemData" @handleReadingChart="handleReadingChart" />
</div> </div>
</template> </template>
<script> <script>

View File

@ -52,7 +52,8 @@
e, e,
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: qs.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -36,7 +36,8 @@
class="svg-icon svg-readingChart" @click.stop="(e) => handleReadingChart({ class="svg-icon svg-readingChart" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
QuestionId: question.Id QuestionId: question.Id,
QuestionName: question.QuestionName
} }
})" /> })" />
</div> </div>
@ -74,7 +75,8 @@
@click.stop="(e) => handleReadingChart({ @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
QuestionId: question.Id QuestionId: question.Id,
QuestionName: question.QuestionName
} }
})" /> })" />
</div> </div>
@ -186,7 +188,8 @@
@click.stop="(e) => handleReadingChart({ @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
QuestionId: question.Id QuestionId: question.Id,
QuestionName: question.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -55,7 +55,8 @@
e, e,
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: qs.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -34,7 +34,8 @@
class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({ class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
ReportChartTypeEnum: 0 ReportChartTypeEnum: 0,
QuestionName: item.QuestionName
}, },
})" /> })" />
</div> </div>

View File

@ -48,7 +48,8 @@
e, e,
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: qs.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -33,7 +33,8 @@
class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({ class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
ReportChartTypeEnum: 0 ReportChartTypeEnum: 0,
QuestionName: item.QuestionName
}, },
})" /> })" />
</div> </div>

View File

@ -49,7 +49,8 @@
QuestionId: scope.row.RowIndex ? null : scope.row.QuestionId, QuestionId: scope.row.RowIndex ? null : scope.row.QuestionId,
TableQuestionId: scope.row.RowIndex ? scope.row.TableQuestionId : null, TableQuestionId: scope.row.RowIndex ? scope.row.TableQuestionId : null,
RowIndex: scope.row.RowIndex ? scope.row.RowIndex : null, RowIndex: scope.row.RowIndex ? scope.row.RowIndex : null,
ReportChartTypeEnum: scope.row.LesionType === 0 && scope.row.ReportLayType === 1 ? 0 : null ReportChartTypeEnum: scope.row.LesionType === 0 && scope.row.ReportLayType === 1 ? 0 : null,
QuestionName: scope.row.QuestionName
} }
})" /> })" />
</span> </span>

View File

@ -340,7 +340,7 @@
<div style="margin-left: auto"> <div style="margin-left: auto">
<div style="padding: 5px"> <div style="padding: 5px">
<el-tooltip class="item" effect="dark" :content="$t('trials:reading:button:handbooks')" placement="bottom" <el-tooltip class="item" effect="dark" :content="$t('trials:reading:button:handbooks')" placement="bottom"
v-if="isExistsManual || isHaveKeyFile"> v-if="(isExistsManual || isHaveKeyFile) && readingTaskState < 2">
<div class="tool-wrapper"> <div class="tool-wrapper">
<div class="icon" @click.prevent="previewManuals()"> <div class="icon" @click.prevent="previewManuals()">
<svg-icon icon-class="constitution" class="svg-icon" /> <svg-icon icon-class="constitution" class="svg-icon" />
@ -429,7 +429,7 @@
</span> </span>
<div style="height: 100%; margin: 0"> <div style="height: 100%; margin: 0">
<Manuals :trial-id="trialId" :justKeyDoc="manualsDialog.justKeyDoc" /> <Manuals :trial-id="trialId" :justKeyDoc="manualsDialog.justKeyDoc" />
<div slot="footer" style="text-align:right;" v-if="openManuals"> <div slot="footer" style="text-align:right;" v-if="openManuals && !ManualsClose">
<!-- 确认 --> <!-- 确认 -->
<el-button type="primary" size="mini" @click="handleSubmitKeyDoc"> <el-button type="primary" size="mini" @click="handleSubmitKeyDoc">
{{ $t('common:button:confirm') }}</el-button> {{ $t('common:button:confirm') }}</el-button>
@ -681,7 +681,9 @@ export default {
taskId: '', taskId: '',
fullScreenIndex: -1, fullScreenIndex: -1,
fullScreenWidth: window.innerWidth - 570 + 'px', fullScreenWidth: window.innerWidth - 570 + 'px',
fullScreenHeight: window.innerHeight - 128 + 'px' fullScreenHeight: window.innerHeight - 128 + 'px',
ManualsClose: false
} }
}, },
@ -875,6 +877,7 @@ export default {
let res = await setReadKeyFile(data) let res = await setReadKeyFile(data)
if (res.IsSuccess) { if (res.IsSuccess) {
this.manualsDialog.visible = false this.manualsDialog.visible = false
this.ManualsClose = true
} }
} catch (err) { } catch (err) {
console.log(err) console.log(err)

View File

@ -161,11 +161,12 @@
question.CustomUnit }}</template> question.CustomUnit }}</template>
<template slot="append" v-else-if="question.ValueType === 2">%</template> <template slot="append" v-else-if="question.ValueType === 2">%</template>
</el-input> </el-input>
<svg-icon v-if="question.ShowChartTypeEnum > 0" icon-class="readingChart" class="svg-icon svg-readingChart" <svg-icon v-if="question.ShowChartTypeEnum > 0 && $router.currentRoute.query.isReadingTaskViewInOrder === 1"
@click.stop="(e) => handleReadingChart({ icon-class="readingChart" class="svg-icon svg-readingChart" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
QuestionId: question.Id QuestionId: question.Id,
QuestionName: question.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -103,12 +103,13 @@
<template slot="append" v-if="question.Unit !== 0">{{ question.Unit !== 4 ? $fd('ValueUnit', question.Unit) : <template slot="append" v-if="question.Unit !== 0">{{ question.Unit !== 4 ? $fd('ValueUnit', question.Unit) :
question.CustomUnit }}</template> question.CustomUnit }}</template>
</el-input> </el-input>
<svg-icon v-if="qs.ShowChartTypeEnum > 0" icon-class="readingChart" class="svg-icon svg-readingChart" <svg-icon v-if="qs.ShowChartTypeEnum > 0 && $router.currentRoute.query.isReadingTaskViewInOrder"
@click.stop="(e) => handleReadingChart({ icon-class="readingChart" class="svg-icon svg-readingChart" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
TableQuestionId: question.Id, TableQuestionId: question.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: question.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -35,7 +35,8 @@
QuestionId: scope.row.RowIndex ? null : scope.row.QuestionId, QuestionId: scope.row.RowIndex ? null : scope.row.QuestionId,
TableQuestionId: scope.row.RowIndex ? scope.row.TableQuestionId : null, TableQuestionId: scope.row.RowIndex ? scope.row.TableQuestionId : null,
RowIndex: scope.row.RowIndex ? scope.row.RowIndex : null, RowIndex: scope.row.RowIndex ? scope.row.RowIndex : null,
ReportChartTypeEnum: scope.row.LesionType === 0 && scope.row.ReportLayType === 1 ? 0 : null ReportChartTypeEnum: scope.row.LesionType === 0 && scope.row.ReportLayType === 1 ? 0 : null,
QuestionName: scope.row.QuestionName
} }
})" /> })" />
</span> </span>

View File

@ -270,7 +270,8 @@
<div style="display: flex;"> <div style="display: flex;">
<!-- 手册 --> <!-- 手册 -->
<div class="tool-item" :title="$t('trials:reading:button:handbooks')" <div class="tool-item" :title="$t('trials:reading:button:handbooks')"
v-if="taskInfo && (taskInfo.ExistsManual || taskInfo.IsHaveKeyFile)" @click.prevent="previewManuals()"> v-if="taskInfo && (taskInfo.ExistsManual || taskInfo.IsHaveKeyFile) && readingTaskState < 2"
@click.prevent="previewManuals()">
<svg-icon icon-class="constitution" class="svg-icon" /> <svg-icon icon-class="constitution" class="svg-icon" />
</div> </div>
<!-- 临床数据 --> <!-- 临床数据 -->
@ -373,7 +374,7 @@
<Manuals :trial-id="trialId" :justKeyDoc="manualsDialog.justKeyDoc" /> <Manuals :trial-id="trialId" :justKeyDoc="manualsDialog.justKeyDoc" />
<div slot="footer" style="text-align:right;" v-if="openManuals"> <div slot="footer" style="text-align:right;" v-if="openManuals">
<!-- 确认 --> <!-- 确认 -->
<el-button type="primary" size="mini" @click="handleSubmitKeyDoc"> <el-button type="primary" size="mini" @click="handleSubmitKeyDoc && !ManualsClose">
{{ $t('common:button:confirm') }}</el-button> {{ $t('common:button:confirm') }}</el-button>
</div> </div>
</div> </div>
@ -642,7 +643,9 @@ export default {
curOperation: { curOperation: {
type: '', type: '',
annotation: null annotation: null
} },
ManualsClose: false
} }
}, },
computed: { computed: {
@ -792,6 +795,7 @@ export default {
let res = await setReadKeyFile(data) let res = await setReadKeyFile(data)
if (res.IsSuccess) { if (res.IsSuccess) {
this.manualsDialog.visible = false this.manualsDialog.visible = false
this.ManualsClose = true
} }
} catch (err) { } catch (err) {
console.log(err) console.log(err)

View File

@ -85,7 +85,8 @@
@click.stop="(e) => handleReadingChart({ @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
QuestionId: question.Id QuestionId: question.Id,
QuestionName: question.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -45,7 +45,8 @@
class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({ class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
ReportChartTypeEnum: 0 ReportChartTypeEnum: 0,
QuestionName: table.QuestionName
}, },
})" /> })" />
</div> </div>

View File

@ -44,7 +44,8 @@
e, e,
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: qsForm.RowIndex RowIndex: qsForm.RowIndex,
QuestionName: question.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -49,7 +49,8 @@
QuestionId: scope.row.RowIndex ? null : scope.row.QuestionId, QuestionId: scope.row.RowIndex ? null : scope.row.QuestionId,
TableQuestionId: scope.row.RowIndex ? scope.row.TableQuestionId : null, TableQuestionId: scope.row.RowIndex ? scope.row.TableQuestionId : null,
RowIndex: scope.row.RowIndex ? scope.row.RowIndex : null, RowIndex: scope.row.RowIndex ? scope.row.RowIndex : null,
ReportChartTypeEnum: scope.row.LesionType === 0 && scope.row.ReportLayType === 1 ? 0 : null ReportChartTypeEnum: scope.row.LesionType === 0 && scope.row.ReportLayType === 1 ? 0 : null,
QuestionName: scope.row.QuestionName
} }
})" /> })" />
</span> </span>

View File

@ -151,11 +151,12 @@
<div style="display: flex;justify-content: space-between;"> <div style="display: flex;justify-content: space-between;">
<el-input v-if="question.Type === 'calculation'" v-model="questionForm[question.Id]" <el-input v-if="question.Type === 'calculation'" v-model="questionForm[question.Id]"
@input="value = value.replace(/^\D*(\d*(?:.\d{0,2})?).*$/g, '$1')" disabled /> @input="value = value.replace(/^\D*(\d*(?:.\d{0,2})?).*$/g, '$1')" disabled />
<svg-icon v-if="question.ShowChartTypeEnum > 0" icon-class="readingChart" class="svg-icon svg-readingChart" <svg-icon v-if="question.ShowChartTypeEnum > 0 && taskInfo.IsReadingTaskViewInOrder === 1"
@click.stop="(e) => handleReadingChart({ icon-class="readingChart" class="svg-icon svg-readingChart" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
QuestionId: question.Id QuestionId: question.Id,
QuestionName: question.QuestionName
} }
})" /> })" />
</div> </div>
@ -175,11 +176,12 @@
{{ question.Unit !== 4 ? $fd('ValueUnit', question.Unit) : question.CustomUnit }} {{ question.Unit !== 4 ? $fd('ValueUnit', question.Unit) : question.CustomUnit }}
</template> </template>
</el-input> </el-input>
<svg-icon v-if="question.ShowChartTypeEnum > 0" icon-class="readingChart" class="svg-icon svg-readingChart" <svg-icon v-if="question.ShowChartTypeEnum > 0 && taskInfo.IsReadingTaskViewInOrder === 1" icon-class="readingChart" class="svg-icon svg-readingChart"
@click.stop="(e) => handleReadingChart({ @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
QuestionId: question.Id QuestionId: question.Id,
QuestionName: question.QuestionName
} }
})" /> })" />
<!-- 测量 --> <!-- 测量 -->
@ -257,11 +259,12 @@
question.CustomUnit }}</template> question.CustomUnit }}</template>
<template slot="append" v-else-if="question.ValueType === 2">%</template> <template slot="append" v-else-if="question.ValueType === 2">%</template>
</el-input> </el-input>
<svg-icon v-if="question.ShowChartTypeEnum > 0" icon-class="readingChart" class="svg-icon svg-readingChart" <svg-icon v-if="question.ShowChartTypeEnum > 0 && taskInfo.IsReadingTaskViewInOrder === 1" icon-class="readingChart" class="svg-icon svg-readingChart"
@click.stop="(e) => handleReadingChart({ @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
QuestionId: question.Id QuestionId: question.Id,
QuestionName: question.QuestionName
} }
})" /> })" />
</div> </div>
@ -402,7 +405,8 @@ export default {
// currentPath: '', // currentPath: '',
// currentType: '', // currentType: '',
markTableQuestions: [], markTableQuestions: [],
parentQsId: '' parentQsId: '',
taskInfo: {}
} }
}, },
computed: { computed: {
@ -469,6 +473,7 @@ export default {
mounted() { mounted() {
var digitPlaces = Number(localStorage.getItem('digitPlaces')) var digitPlaces = Number(localStorage.getItem('digitPlaces'))
this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces
this.taskInfo = JSON.parse(sessionStorage.getItem('taskInfo'))
// if (this.question.Type === 'class') { // if (this.question.Type === 'class') {
// this.ClassifyAlgorithmsList = JSON.parse(this.question.ClassifyAlgorithms) // this.ClassifyAlgorithmsList = JSON.parse(this.question.ClassifyAlgorithms)
// } // }
@ -530,7 +535,6 @@ export default {
}, },
methods: { methods: {
handleReadingChart(row) { handleReadingChart(row) {
console.log(row, 'row')
this.$emit('handleReadingChart', row) this.$emit('handleReadingChart', row)
}, },
numberInput(id) { numberInput(id) {

View File

@ -78,12 +78,13 @@
<div style="display: flex;justify-content: space-between;"> <div style="display: flex;justify-content: space-between;">
<el-input v-if="question.Type === 'calculation'" v-model="questionForm[question.Id]" <el-input v-if="question.Type === 'calculation'" v-model="questionForm[question.Id]"
oninput="value=value.replace(/^\D*(\d*(?:.\d{0,2})?).*$/g, '$1')" disabled /> oninput="value=value.replace(/^\D*(\d*(?:.\d{0,2})?).*$/g, '$1')" disabled />
<svg-icon v-if="question.ShowChartTypeEnum > 0" icon-class="readingChart" class="svg-icon svg-readingChart" <svg-icon v-if="question.ShowChartTypeEnum > 0 && taskInfo.IsReadingTaskViewInOrder === 1"
@click.stop="(e) => handleReadingChart({ icon-class="readingChart" class="svg-icon svg-readingChart" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
TableQuestionId: question.Id, TableQuestionId: question.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: question.QuestionName
} }
})" /> })" />
</div> </div>
@ -103,12 +104,13 @@
{{ question.Unit !== 4 ? $fd('ValueUnit', question.Unit) : question.CustomUnit }} {{ question.Unit !== 4 ? $fd('ValueUnit', question.Unit) : question.CustomUnit }}
</template> </template>
</el-input> </el-input>
<svg-icon v-if="question.ShowChartTypeEnum > 0" icon-class="readingChart" class="svg-icon svg-readingChart" <svg-icon v-if="question.ShowChartTypeEnum > 0 && taskInfo.IsReadingTaskViewInOrder === 1"
@click.stop="(e) => handleReadingChart({ icon-class="readingChart" class="svg-icon svg-readingChart" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
TableQuestionId: question.Id, TableQuestionId: question.Id,
RowIndex: question.RowIndex RowIndex: question.RowIndex,
QuestionName: question.QuestionName
} }
})" /> })" />
<!-- 测量 --> <!-- 测量 -->
@ -180,12 +182,13 @@
: :
question.CustomUnit }}</template> question.CustomUnit }}</template>
</el-input> </el-input>
<svg-icon v-if="question.ShowChartTypeEnum > 0" icon-class="readingChart" class="svg-icon svg-readingChart" <svg-icon v-if="question.ShowChartTypeEnum > 0 && taskInfo.IsReadingTaskViewInOrder === 1"
@click.stop="(e) => handleReadingChart({ icon-class="readingChart" class="svg-icon svg-readingChart" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
TableQuestionId: question.Id, TableQuestionId: question.Id,
RowIndex: questionForm.RowIndex RowIndex: questionForm.RowIndex,
QuestionName: question.QuestionName
} }
})" /> })" />
</div> </div>
@ -285,7 +288,8 @@ export default {
QuestionsList: [], QuestionsList: [],
QuestionsForm: {}, QuestionsForm: {},
digitPlaces: 2, digitPlaces: 2,
rowId: '' rowId: '',
taskInfo: {}
} }
}, },
watch: { watch: {
@ -310,6 +314,7 @@ export default {
} }
}, },
mounted() { mounted() {
this.taskInfo = JSON.parse(sessionStorage.getItem('taskInfo'))
var digitPlaces = Number(localStorage.getItem('digitPlaces')) var digitPlaces = Number(localStorage.getItem('digitPlaces'))
this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces
if (this.question.Type === 'upload' || this.question.Type === 'screenshot') { if (this.question.Type === 'upload' || this.question.Type === 'screenshot') {

View File

@ -32,7 +32,8 @@
QuestionId: scope.row.RowIndex ? null : scope.row.QuestionId, QuestionId: scope.row.RowIndex ? null : scope.row.QuestionId,
TableQuestionId: scope.row.RowIndex ? scope.row.TableQuestionId : null, TableQuestionId: scope.row.RowIndex ? scope.row.TableQuestionId : null,
RowIndex: scope.row.RowIndex ? scope.row.RowIndex : null, RowIndex: scope.row.RowIndex ? scope.row.RowIndex : null,
ReportChartTypeEnum: scope.row.LesionType === 0 && scope.row.ReportLayType === 1 ? 0 : null ReportChartTypeEnum: scope.row.LesionType === 0 && scope.row.ReportLayType === 1 ? 0 : null,
QuestionName: scope.row.QuestionName
} }
})" /> })" />
</span> </span>

View File

@ -85,7 +85,8 @@
@click.stop="(e) => handleReadingChart({ @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
QuestionId: question.Id QuestionId: question.Id,
QuestionName: question.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -46,7 +46,8 @@
class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({ class="svg-icon svg-readingChart-mini" @click.stop="(e) => handleReadingChart({
e, e,
data: { data: {
ReportChartTypeEnum: 0 ReportChartTypeEnum: 0,
QuestionName: table.QuestionName
}, },
})" /> })" />
</div> </div>

View File

@ -54,7 +54,8 @@
e, e,
data: { data: {
TableQuestionId: qs.Id, TableQuestionId: qs.Id,
RowIndex: qsForm.RowIndex RowIndex: qsForm.RowIndex,
QuestionName: qs.QuestionName
} }
})" /> })" />
</div> </div>

View File

@ -117,7 +117,8 @@
<div style="display: flex;"> <div style="display: flex;">
<!-- 手册 --> <!-- 手册 -->
<div class="tool-item" :title="$t('trials:reading:button:handbooks')" <div class="tool-item" :title="$t('trials:reading:button:handbooks')"
v-if="taskInfo && (taskInfo.ExistsManual || taskInfo.IsHaveKeyFile)" @click.prevent="previewManuals"> v-if="taskInfo && (taskInfo.ExistsManual || taskInfo.IsHaveKeyFile) && readingTaskState < 2"
@click.prevent="previewManuals">
<svg-icon icon-class="constitution" class="svg-icon" /> <svg-icon icon-class="constitution" class="svg-icon" />
</div> </div>
<!-- 个性化配置 --> <!-- 个性化配置 -->
@ -255,7 +256,7 @@
</span> </span>
<div style="height: 100%;margin:0;"> <div style="height: 100%;margin:0;">
<Manuals :trial-id="trialId" :justKeyDoc="manualsDialog.justKeyDoc" /> <Manuals :trial-id="trialId" :justKeyDoc="manualsDialog.justKeyDoc" />
<div slot="footer" style="text-align:right;" v-if="openManuals"> <div slot="footer" style="text-align:right;" v-if="openManuals && !ManualsClose">
<!-- 确认 --> <!-- 确认 -->
<el-button type="primary" size="mini" @click="handleSubmitKeyDoc"> <el-button type="primary" size="mini" @click="handleSubmitKeyDoc">
{{ $t('common:button:confirm') }}</el-button> {{ $t('common:button:confirm') }}</el-button>
@ -391,7 +392,9 @@ export default {
}, },
loading: false, loading: false,
manualsDialog: { visible: false, isFullscreen: false }, manualsDialog: { visible: false, isFullscreen: false },
trialId: null trialId: null,
ManualsClose: false
} }
}, },
computed: { computed: {
@ -499,6 +502,7 @@ export default {
let res = await setReadKeyFile(data) let res = await setReadKeyFile(data)
if (res.IsSuccess) { if (res.IsSuccess) {
this.manualsDialog.visible = false this.manualsDialog.visible = false
this.ManualsClose = true
} }
} catch (err) { } catch (err) {
console.log(err) console.log(err)

View File

@ -31,6 +31,7 @@
QuestionId: scope.row.RowIndex ? null : scope.row.QuestionId, QuestionId: scope.row.RowIndex ? null : scope.row.QuestionId,
TableQuestionId: scope.row.RowIndex ? scope.row.TableQuestionId : null, TableQuestionId: scope.row.RowIndex ? scope.row.TableQuestionId : null,
RowIndex: scope.row.RowIndex ? scope.row.RowIndex : null, RowIndex: scope.row.RowIndex ? scope.row.RowIndex : null,
QuestionName: scope.row.QuestionName
} }
})" /> })" />
</span> </span>