oct标准修改
continuous-integration/drone/push Build encountered an error Details

uat
wangxiaoshuang 2025-12-04 15:10:57 +08:00
parent 612270eaad
commit b4821ace59
3 changed files with 92 additions and 143 deletions

View File

@ -239,6 +239,14 @@ export function getPatientList_Export(data) {
data
})
}
export function getTumor_CDISC_Export(data) {
return requestDownload({
url: `/IVUS_OCTExport/getTumor_CDISC_Export`,
responseType: 'blob',
method: 'post',
data
})
}
export function getCommonEvaluationList_Export(data) {
return requestDownload({
url: `/ExcelExport/getCommonEvaluationList_Export`,

View File

@ -1,119 +1,68 @@
<template>
<div>
<div
v-if="!!question.GroupName && question.Type==='group'"
>
<div v-if="!!question.GroupName && question.Type === 'group'">
<h4 style="color: #ddd;padding: 5px 0px;margin: 0;">
{{ language==='en'?question.GroupEnName:question.GroupName }}
{{ language === 'en' ? question.GroupEnName : question.GroupName }}
</h4>
</div>
<template v-else>
<el-form-item
v-if="(question.ShowQuestion===1 && question.ParentTriggerValueList.includes(String(questionForm[question.ParentId]))) || question.ShowQuestion===0 "
:label="`${question.QuestionName}`"
:prop="question.Id"
:rules="[
{ required: (question.IsRequired === 0 || (question.IsRequired ===1 && question.RelevanceId && (questionForm[question.RelevanceId] === question.RelevanceValue))) && question.Type!=='group' && question.Type!=='summary',
message: ['radio', 'select', 'checkbox'].includes(question.Type) ? $t('common:ruleMessage:select') : $t('common:ruleMessage:specify'), trigger: ['blur', 'change']},
v-if="(question.ShowQuestion === 1 && question.ParentTriggerValueList.includes(String(questionForm[question.ParentId]))) || question.ShowQuestion === 0"
:label="`${question.QuestionName}`" :prop="question.Id" :rules="[
{
required: (question.IsRequired === 0 || (question.IsRequired === 1 && question.RelevanceId && (questionForm[question.RelevanceId] === question.RelevanceValue))) && question.Type !== 'group' && question.Type !== 'summary',
message: ['radio', 'select', 'checkbox'].includes(question.Type) ? $t('common:ruleMessage:select') : $t('common:ruleMessage:specify'), trigger: ['blur', 'change']
},
]"
:class="[question.Type==='group' ? 'mb' : (question.Type==='upload' || question.QuestionName.length > 15) ?'uploadWrapper' : '']"
>
:class="[question.Type === 'group' ? 'mb' : (question.Type === 'upload' || question.QuestionName.length > 15) ? 'uploadWrapper' : '']">
<!-- 输入框 -->
<el-input
v-if="question.Type==='input'"
v-model="questionForm[question.Id]"
:disabled="readingTaskState >= 2"
@change="((val)=>{formItemChange(val, question)})"
/>
<el-input v-if="question.Type === 'input'" v-model="questionForm[question.Id]" :disabled="readingTaskState >= 2"
@change="((val) => { formItemChange(val, question) })" />
<!-- 多行文本输入框 -->
<el-input
v-else-if="question.Type==='textarea'"
v-model="questionForm[question.Id]"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4}"
maxlength="500"
:disabled="readingTaskState >= 2"
@change="((val)=>{formItemChange(val, question)})"
/>
<el-input v-else-if="question.Type === 'textarea'" v-model="questionForm[question.Id]" type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }" maxlength="500" :disabled="readingTaskState >= 2"
@change="((val) => { formItemChange(val, question) })" />
<!-- 下拉框 -->
<el-select
v-else-if="question.Type==='select'"
<el-select v-else-if="question.Type === 'select' || question.type === 'multipleSelect'"
v-model="questionForm[question.Id]"
:disabled="readingTaskState >= 2 || ((question.TableQuestionType === 2 || question.QuestionGenre === 2) && !!question.DictionaryCode)"
clearable
@change="((val)=>{formItemChange(val, question)})"
>
clearable :multiple="question.type === 'multipleSelect'"
@change="((val) => { formItemChange(val, question) })">
<template v-if="question.TableQuestionType === 1">
<el-option
v-for="item in organList"
:key="item.Id"
:label="item[question.DataTableColumn]"
:value="item[question.DataTableColumn]"
/>
<el-option v-for="item in organList" :key="item.Id" :label="item[question.DataTableColumn]"
:value="item[question.DataTableColumn]" />
</template>
<template v-else-if="question.TableQuestionType === 3 || question.QuestionGenre === 3">
<el-option
v-for="item of $d[question.DictionaryCode]"
:key="item.id"
:value="String(item.value)"
:label="item.label"
/>
<el-option v-for="item of $d[question.DictionaryCode]" :key="item.id" :value="String(item.value)"
:label="item.label" />
</template>
<template v-else-if="(question.TableQuestionType === 2 || question.QuestionGenre === 2) && question.DictionaryCode">
<el-option
v-for="item of $d[question.DictionaryCode]"
:key="item.id"
:value="String(item.value)"
:label="item.label"
/>
<template
v-else-if="(question.TableQuestionType === 2 || question.QuestionGenre === 2) && question.DictionaryCode">
<el-option v-for="item of $d[question.DictionaryCode]" :key="item.id" :value="String(item.value)"
:label="item.label" />
</template>
<template v-else>
<el-option
v-for="val in question.TypeValue.split('|')"
:key="val"
:label="val"
:value="val"
/>
<el-option v-for="val in question.TypeValue.split('|')" :key="val" :label="val" :value="val" />
</template>
</el-select>
<!-- 单选 -->
<el-radio-group
v-else-if="question.Type==='radio'"
v-model="questionForm[question.Id]"
:disabled="readingTaskState >= 2"
@change="((val)=>{formItemChange(val, question)})"
>
<el-radio-group v-else-if="question.Type === 'radio'" v-model="questionForm[question.Id]"
:disabled="readingTaskState >= 2" @change="((val) => { formItemChange(val, question) })">
<template v-if="question.DictionaryCode">
<el-radio
v-for="item of $d[question.DictionaryCode]"
:key="item.id"
:label="String(item.value)"
>
<el-radio v-for="item of $d[question.DictionaryCode]" :key="item.id" :label="String(item.value)">
{{ item.label }}
</el-radio>
</template>
<template v-else-if="question.TypeValue">
<el-radio
v-for="val in question.TypeValue.split('|')"
:key="val"
:label="val"
>
<el-radio v-for="val in question.TypeValue.split('|')" :key="val" :label="val">
{{ val }}
</el-radio>
</template>
</el-radio-group>
<!-- 复选框 -->
<el-checkbox-group
v-else-if="question.Type==='checkbox'"
v-model="questionForm[question.Id]"
:disabled="readingTaskState >= 2"
@change="((val)=>{formItemChange(val, question)})"
>
<el-checkbox
v-for="val in question.TypeValue.split('|')"
:key="val"
:label="val"
>
<el-checkbox-group v-else-if="question.Type === 'checkbox'" v-model="questionForm[question.Id]"
:disabled="readingTaskState >= 2" @change="((val) => { formItemChange(val, question) })">
<el-checkbox v-for="val in question.TypeValue.split('|')" :key="val" :label="val">
{{ val }}
</el-checkbox>
</el-checkbox-group>
@ -144,24 +93,15 @@
/>
</template> -->
<!-- 数值类型 -->
<el-input
v-else-if="question.Type==='number'"
v-model="questionForm[question.Id]"
:disabled="readingTaskState>=2 "
type="number"
@change="((val)=>{formItemChange(val, question)})"
>
<el-input v-else-if="question.Type === 'number'" v-model="questionForm[question.Id]"
:disabled="readingTaskState >= 2" type="number" @change="((val) => { formItemChange(val, question) })">
<template v-if="question.Unit" slot="append">
{{ $fd('ValueUnit', parseInt(question.Unit)) }}
</template>
</el-input>
<el-input
v-else-if="question.Type==='calculation'"
v-model="questionForm[question.Id]"
disabled
@change="((val)=>{formItemChange(val, question)})"
>
<el-input v-else-if="question.Type === 'calculation'" v-model="questionForm[question.Id]" disabled
@change="((val) => { formItemChange(val, question) })">
<template v-if="question.Unit" slot="append">
{{ $fd('ValueUnit', parseInt(question.Unit)) }}
</template>
@ -169,15 +109,9 @@
</el-form-item>
</template>
<QuestionTableFormItem
v-for="item in question.Childrens"
:key="item.Id"
:question="item"
:question-form="questionForm"
:reading-task-state="readingTaskState"
@setFormItemData="setFormItemData"
@resetFormItemData="resetFormItemData"
/>
<QuestionTableFormItem v-for="item in question.Childrens" :key="item.Id" :question="item"
:question-form="questionForm" :reading-task-state="readingTaskState" @setFormItemData="setFormItemData"
@resetFormItemData="resetFormItemData" />
</div>
</template>
<script>
@ -269,29 +203,36 @@ export default {
}
</script>
<style lang="scss" scoped>
.mb{
.mb {
margin-bottom: 0px;
}
.disabled{
.disabled {
::v-deep .el-upload--picture-card {
display: none;
}
}
.uploadWrapper{
.uploadWrapper {
display: flex;
flex-direction: column !important;
align-items: flex-start;
}
::v-deep .el-input.is-disabled .el-input__inner{
background-color: #646464a1;
}
::v-deep .el-input-group__append, .el-input-group__prepend{
padding: 0 10px;
}
::v-deep .el-form-item__content {
width: 100%;
}
::v-deep .el-select.is-disabled .el-input__inner{
background-color: #646464a1;
}
::v-deep .el-input.is-disabled .el-input__inner {
background-color: #646464a1;
}
::v-deep .el-input-group__append,
.el-input-group__prepend {
padding: 0 10px;
}
::v-deep .el-form-item__content {
width: 100%;
}
::v-deep .el-select.is-disabled .el-input__inner {
background-color: #646464a1;
}
</style>

View File

@ -6,10 +6,7 @@
</template>
</el-table-column>
<!-- 文件名称 -->
<el-table-column
:label="$t('trials:reviewTrack:title:fileName')"
:min-width="50"
>
<el-table-column :label="$t('trials:reviewTrack:title:fileName')" :min-width="50">
<template slot-scope="scope">
{{ scope.row.FileName }}
</template>
@ -17,13 +14,8 @@
<el-table-column prop="" :label="$t('common:action:action')" min-width="80">
<template slot-scope="scope">
<!-- 下载 -->
<el-button
icon="el-icon-download"
circle
:title="$t('trials:reviewTrack:title:download')"
size="mini"
@click="handleExport(scope.row.ExportCatogory)"
/>
<el-button icon="el-icon-download" circle :title="$t('trials:reviewTrack:title:download')" size="mini"
@click="handleExport(scope.row.ExportCatogory)" />
</template>
</el-table-column>
</el-table>
@ -35,6 +27,7 @@ import {
getCommonJudgeRatioList_Export,
getReadingTaskList_Export,
getTrialReadingCriterionCanExportDocumentList,
getTumor_CDISC_Export,
getOverallTumorEvaluationList_Export,
getEvaluationOfTumorEfficacy_Export,
getDetailedOfEvaluatedLesion_Export,
@ -85,7 +78,7 @@ export default {
switch (type) {
case 0:
getReadingTaskList_Export(searchData)
.then((res) => {})
.then((res) => { })
.catch(() => {
this.loading = false
})
@ -93,7 +86,7 @@ export default {
case 1:
searchData.ReadingExportType = 1
getCommonEvaluationList_Export(searchData)
.then((res) => {})
.then((res) => { })
.catch(() => {
this.loading = false
})
@ -101,7 +94,7 @@ export default {
case 2:
searchData.ReadingExportType = 2
getCommonEvaluationList_Export(searchData)
.then((res) => {})
.then((res) => { })
.catch(() => {
this.loading = false
})
@ -109,7 +102,7 @@ export default {
case 3:
searchData.ReadingExportType = 3
getCommonEvaluationList_Export(searchData)
.then((res) => {})
.then((res) => { })
.catch(() => {
this.loading = false
})
@ -117,7 +110,7 @@ export default {
case 4:
searchData.ReadingExportType = 4
getCommonEvaluationList_Export(searchData)
.then((res) => {})
.then((res) => { })
.catch(() => {
this.loading = false
})
@ -125,7 +118,7 @@ export default {
case 7:
searchData.ReadingExportType = 7
getCommonEvaluationList_Export(searchData)
.then((res) => {})
.then((res) => { })
.catch(() => {
this.loading = false
})
@ -133,7 +126,7 @@ export default {
case 8:
searchData.ReadingExportType = 8
getCommonEvaluationList_Export(searchData)
.then((res) => {})
.then((res) => { })
.catch(() => {
this.loading = false
})
@ -141,7 +134,7 @@ export default {
case 17:
searchData.ReadingExportType = 17
getCommonJudgeRatioList_Export(searchData)
.then((res) => {})
.then((res) => { })
.catch(() => {
this.loading = false
})
@ -149,7 +142,15 @@ export default {
case 18:
searchData.ReadingExportType = 18
getCommonJudgeRatioList_Export(searchData)
.then((res) => {})
.then((res) => { })
.catch(() => {
this.loading = false
})
break
case 21:
searchData.ReadingExportType = 18
getTumor_CDISC_Export(searchData)
.then((res) => { })
.catch(() => {
this.loading = false
})
@ -160,5 +161,4 @@ export default {
}
</script>
<style scoped>
</style>
<style scoped></style>