forrest表单问题
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-07-21 15:18:32 +08:00
parent 2f1fcfa81d
commit e2e20a24fd
1 changed files with 42 additions and 55 deletions

View File

@ -1,36 +1,17 @@
<template> <template>
<div v-loading="loading" class="ecrf-list-container"> <div v-loading="loading" class="ecrf-list-container">
<el-form <el-form v-if="taskInfo" ref="questions" size="small" :model="questionForm" class="ecrf-form">
v-if="taskInfo" <template v-if="taskInfo.CriterionType === 16">
ref="questions" <FormItem v-for="question of questions" :key="question.Id" :question="question" :question-form="questionForm"
size="small" :reading-task-state="readingTaskState" :visit-task-id="visitTaskId" :calculation-list="calculationList"
:model="questionForm" @setFormItemData="setFormItemData" @resetFormItemData="resetFormItemData" />
class="ecrf-form" </template>
> <template v-else>
<!-- <FormItem <QuestionFormItem v-for="question of questions" :key="question.Id" :visit-task-id="visitTaskId"
v-for="question of questions" :question="question" :question-form="questionForm" :reading-task-state="readingTaskState"
:key="question.Id" :criterion-id="criterionId" :calculation-list="calculationList" :is-baseline="isBaseline"
:question="question" @resetFormItemData="resetFormItemData" @setFormItemData="setFormItemData" />
:question-form="questionForm" </template>
:reading-task-state="readingTaskState"
:visit-task-id="visitTaskId"
:calculation-list="calculationList"
@setFormItemData="setFormItemData"
@resetFormItemData="resetFormItemData"
/> -->
<QuestionFormItem
v-for="question of questions"
:key="question.Id"
:visit-task-id="visitTaskId"
:question="question"
:question-form="questionForm"
:reading-task-state="readingTaskState"
:criterion-id="criterionId"
:calculation-list="calculationList"
:is-baseline="isBaseline"
@resetFormItemData="resetFormItemData"
@setFormItemData="setFormItemData"
/>
<el-form-item v-if="readingTaskState < 2"> <el-form-item v-if="readingTaskState < 2">
<div style="text-align:center;"> <div style="text-align:center;">
@ -48,16 +29,11 @@
</el-form> </el-form>
<!-- 签名框 --> <!-- 签名框 -->
<el-dialog <el-dialog v-if="signVisible" :visible.sync="signVisible" :close-on-click-modal="false" width="600px"
v-if="signVisible" custom-class="base-dialog-wrapper">
:visible.sync="signVisible"
:close-on-click-modal="false"
width="600px"
custom-class="base-dialog-wrapper"
>
<div slot="title"> <div slot="title">
<span style="font-size:18px;">{{ $t('common:dialogTitle:sign') }}</span> <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> </div>
<SignForm ref="signForm" :sign-code-enum="signCode" @closeDialog="closeSignDialog" /> <SignForm ref="signForm" :sign-code-enum="signCode" @closeDialog="closeSignDialog" />
</el-dialog> </el-dialog>
@ -72,14 +48,15 @@ import { setSkipReadingCache } from '@/api/reading'
import const_ from '@/const/sign-code' import const_ from '@/const/sign-code'
import store from '@/store' import store from '@/store'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
// import FormItem from './FormItem' import FormItem from './FormItem'
import QuestionFormItem from '@/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionFormItem' import QuestionFormItem from '@/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionFormItem'
import SignForm from '@/views/trials/components/newSignForm' import SignForm from '@/views/trials/components/newSignForm'
export default { export default {
name: 'EcrfList', name: 'EcrfList',
components: { components: {
QuestionFormItem, QuestionFormItem,
SignForm SignForm,
FormItem
}, },
props: { props: {
visitTaskInfo: { visitTaskInfo: {
@ -216,7 +193,7 @@ export default {
try { try {
var answers = [] var answers = []
for (const k in this.questionForm) { for (const k in this.questionForm) {
if (this.questionForm[k] instanceof Array) {} else { if (this.questionForm[k] instanceof Array) { } else {
answers.push({ id: k, answer: this.questionForm[k] }) answers.push({ id: k, answer: this.questionForm[k] })
} }
} }
@ -329,7 +306,7 @@ export default {
const o = list.find(v => { const o = list.find(v => {
return ( return (
parseFloat(obj.val) >= parseFloat(v.gt) && parseFloat(obj.val) >= parseFloat(v.gt) &&
parseFloat(obj.val) < parseFloat(v.lt) parseFloat(obj.val) < parseFloat(v.lt)
) )
}) })
answer = o ? o.label : null answer = o ? o.label : null
@ -347,15 +324,17 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.ecrf-list-container{ .ecrf-list-container {
min-height:400px; min-height: 400px;
color: #ddd; color: #ddd;
.ecrf-form{
::v-deep .el-form-item__label{ .ecrf-form {
::v-deep .el-form-item__label {
color: #ddd; color: #ddd;
} }
} }
::v-deep .el-table, ::v-deep .el-table,
.el-table__expanded-cell { .el-table__expanded-cell {
background-color: #000; background-color: #000;
@ -369,35 +348,43 @@ export default {
color: #fff; color: #fff;
border-color: #444444; border-color: #444444;
} }
::v-deep .el-table__body tr > td {
::v-deep .el-table__body tr>td {
background-color: #000 !important; background-color: #000 !important;
color: #fff; color: #fff;
border-color: #444444; border-color: #444444;
} }
::v-deep .el-table__body tr:hover > td {
::v-deep .el-table__body tr:hover>td {
background-color: #858282 !important; background-color: #858282 !important;
color: #fff; color: #fff;
border-color: #444444; border-color: #444444;
} }
::v-deep .el-table--border th.gutter:last-of-type { ::v-deep .el-table--border th.gutter:last-of-type {
border: none; border: none;
} }
::v-deep .el-dialog{
::v-deep .el-dialog {
background: #1e1e1e; background: #1e1e1e;
border: 1px solid #ddd; border: 1px solid #ddd;
color: #ddd; color: #ddd;
.el-dialog__title{
color:#fff; .el-dialog__title {
color: #fff;
} }
.el-input .el-input__inner{
.el-input .el-input__inner {
background-color: transparent; background-color: transparent;
color: #ddd; color: #ddd;
border: 1px solid #5e5e5e; border: 1px solid #5e5e5e;
} }
.el-input.is-disabled .el-input__inner{
.el-input.is-disabled .el-input__inner {
background-color: #646464a1; background-color: #646464a1;
} }
.el-form-item__label{
.el-form-item__label {
color: #dfdfdf color: #dfdfdf
} }
} }