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 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) { export function getCommonEvaluationList_Export(data) {
return requestDownload({ return requestDownload({
url: `/ExcelExport/getCommonEvaluationList_Export`, url: `/ExcelExport/getCommonEvaluationList_Export`,

View File

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

View File

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