Compare commits

..

No commits in common. "8896737a9e8342fde3391702a98a27d67830f73d" and "d74c0028f6ffab4ea100c729bcefa8b8a5eeb147" have entirely different histories.

14 changed files with 306 additions and 425 deletions

View File

@ -8,14 +8,13 @@
:rules="rules" :rules="rules"
> >
<div class="base-dialog-body"> <div class="base-dialog-body">
<!-- 标准名称 --> <el-form-item label="标准名称" prop="CriterionName">
<el-form-item :label="$t('trials:auditRecord:table:criterion')" prop="CriterionName">
<el-input <el-input
v-model="form.CriterionName" v-model="form.CriterionName"
/> />
</el-form-item> </el-form-item>
<!-- 标准类型 -->
<el-form-item :label="$t('dictionary:template:criterionConfig:table:criterionType')" prop="CriterionType"> <el-form-item label="标准类型" prop="CriterionType">
<el-select v-model="form.CriterionType"> <el-select v-model="form.CriterionType">
<el-option <el-option
v-for="item of $d.CriterionType" v-for="item of $d.CriterionType"
@ -25,8 +24,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 标准分组 --> <el-form-item label="标准分组" prop="CriterionGroup">
<el-form-item :label="$t('dictionary:template:criterionConfig:table:criterionGroup')" prop="CriterionGroup">
<el-select v-model="form.CriterionGroup"> <el-select v-model="form.CriterionGroup">
<el-option <el-option
v-for="item of $d.CriterionGroup" v-for="item of $d.CriterionGroup"
@ -36,26 +34,23 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 是否配置完成 -->
<el-form-item v-if="form.Id !== ''" :label="$t('dictionary:template:criterionConfig:table:isCompleteConfig')"> <el-form-item v-if="form.Id !== ''" label="是否配置完成">
<el-switch v-model="form.IsCompleteConfig" /> <el-switch v-model="form.IsCompleteConfig" />
</el-form-item> </el-form-item>
<!-- 描述 --> <el-form-item label="描述">
<el-form-item :label="$t('dictionary:template:criterionConfig:table:description')">
<el-input <el-input
v-model="form.Description" v-model="form.Description"
/> />
</el-form-item> </el-form-item>
<!-- 显示序号 -->
<el-form-item :label="$t('dictionary:template:criterionConfig:table:showOrder')" prop="ShowOrder"> <el-form-item label="显示序号: " prop="ShowOrder">
<el-input-number v-model="form.ShowOrder" :min="0" style="width:100%;" /> <el-input-number v-model="form.ShowOrder" :min="0" style="width:100%;" />
</el-form-item> </el-form-item>
<!-- 是否启用 --> <el-form-item v-if="form.Id !== ''" label="是否启用">
<el-form-item v-if="form.Id !== ''" :label="$t('dictionary:template:criterionConfig:table:isEnable')">
<el-switch v-model="form.IsEnable" /> <el-switch v-model="form.IsEnable" />
</el-form-item> </el-form-item>
<!-- eICRF仅展示阅片Tab --> <el-form-item v-if="form.Id !== ''" label="eICRF仅展示阅片Tab">
<el-form-item v-if="form.Id !== ''" :label="$t('dictionary:template:criterionConfig:table:isECRFShowInDicomReading')">
<el-switch v-model="form.IseCRFShowInDicomReading" /> <el-switch v-model="form.IseCRFShowInDicomReading" />
</el-form-item> </el-form-item>
</div> </div>

View File

@ -25,7 +25,7 @@
:prop="question.Id" :prop="question.Id"
:rules="[ :rules="[
{ required: (question.IsRequired === 0 || (question.IsRequired ===1 && question.RelevanceId && question.RelevanceValueList.includes(questionForm[question.RelevanceId]))) && question.Type!=='group' && question.Type!=='summary', { required: (question.IsRequired === 0 || (question.IsRequired ===1 && question.RelevanceId && question.RelevanceValueList.includes(questionForm[question.RelevanceId]))) && question.Type!=='group' && question.Type!=='summary',
message: this.$t('common:ruleMessage:specify'), trigger: ['blur', 'change']}, message: '请注明', trigger: ['blur', 'change']},
]" ]"
:class="[question.Type==='group'?'mb':question.Type==='upload'?'uploadWrapper':'']" :class="[question.Type==='group'?'mb':question.Type==='upload'?'uploadWrapper':'']"
> >

View File

@ -11,7 +11,7 @@
<div class="base-dialog-body" style="height: 550px; display:flex;flex-direction: column;"> <div class="base-dialog-body" style="height: 550px; display:flex;flex-direction: column;">
<div style="height: 150px;"> <div style="height: 150px;">
<!-- 类型 --> <!-- 类型 -->
<el-form-item :label="$t('trials:readingUnit:qsList:title:type')" prop="Type"> <el-form-item label="类型" prop="Type">
<el-select <el-select
v-model="form.Type" v-model="form.Type"
clearable clearable
@ -33,23 +33,22 @@
<!-- 分组名称 --> <!-- 分组名称 -->
<el-form-item <el-form-item
v-if="form.Type === 'group'" v-if="form.Type === 'group'"
:label="$t('trials:readingUnit:qsList:title:groupNameEn')" label="分组名称"
prop="GroupName" prop="GroupName"
> >
<el-input v-model="form.GroupName" /> <el-input v-model="form.GroupName" />
</el-form-item> </el-form-item>
<!-- 分组名称EN -->
<el-form-item <el-form-item
v-if="form.Type === 'group'" v-if="form.Type === 'group'"
:label="$t('trials:readingUnit:qsList:title:groupNameEn')" label="分组名称EN"
prop="GroupEnName" prop="GroupEnName"
> >
<el-input v-model="form.GroupEnName" /> <el-input v-model="form.GroupEnName" />
</el-form-item> </el-form-item>
<!-- 问题名称 -->
<el-form-item <el-form-item
v-if="form.Type !== 'group'" v-if="form.Type !== 'group'"
:label="$t('trials:readingUnit:qsList:title:qsNameEn')" label="问题名称"
prop="QuestionName" prop="QuestionName"
:rules="[ :rules="[
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, { required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
@ -58,10 +57,10 @@
> >
<el-input v-model="form.QuestionName" /> <el-input v-model="form.QuestionName" />
</el-form-item> </el-form-item>
<!-- 问题名称EN -->
<el-form-item <el-form-item
v-if="form.Type !== 'group'" v-if="form.Type !== 'group'"
:label="$t('trials:readingUnit:qsList:title:qsNameEn')" label="问题名称EN"
prop="QuestionEnName" prop="QuestionEnName"
:rules="[ :rules="[
{ max: form.Type === 'summary' ? 300 : 100, message: `${this.$t('common:ruleMessage:maxLength')} ${form.Type === 'summary' ? 300 : 100}` } { max: form.Type === 'summary' ? 300 : 100, message: `${this.$t('common:ruleMessage:maxLength')} ${form.Type === 'summary' ? 300 : 100}` }
@ -71,12 +70,10 @@
</el-form-item> </el-form-item>
</div> </div>
<div style="flex: 1;overflow-y:auto;"> <div style="flex: 1;overflow-y:auto;">
<!-- 公有属性 --> <el-divider content-position="left">公有属性</el-divider>
<el-divider content-position="left">{{$t('trials:readingUnit:title:publicProperties')}}</el-divider>
<!-- 问题分组 -->
<el-form-item <el-form-item
v-if="form.Type !== 'group'" v-if="form.Type !== 'group'"
:label="$t('trials:readingUnit:qsList:title:qsGroupName')" label="问题分组"
:rules="[ :rules="[
{ required: form.ShowQuestion === 1 ? false : true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' } { required: form.ShowQuestion === 1 ? false : true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
]" ]"
@ -94,10 +91,9 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 是否显示 -->
<el-form-item <el-form-item
v-if="form.Type !== 'group'" v-if="form.Type !== 'group'"
:label="$t('trials:readingUnit:qsList:title:isShow')" label="是否显示"
prop="ShowQuestion" prop="ShowQuestion"
> >
<el-radio-group <el-radio-group
@ -121,7 +117,7 @@
<!-- 显示时依赖父问题 --> <!-- 显示时依赖父问题 -->
<el-form-item <el-form-item
v-if="form.Type !== 'group' && form.ShowQuestion === 1" v-if="form.Type !== 'group' && form.ShowQuestion === 1"
:label="$t('trials:readingUnit:qsList:title:parentId')" label="显示依赖父问题"
prop="ParentId" prop="ParentId"
> >
<el-select <el-select
@ -144,7 +140,7 @@
<!-- 显示时依赖父问题触发值 --> <!-- 显示时依赖父问题触发值 -->
<el-form-item <el-form-item
v-if="form.ParentId && form.ShowQuestion === 1" v-if="form.ParentId && form.ShowQuestion === 1"
:label="$t('trials:readingUnit:qsList:title:parentTriggerValueList')" label="显示触发值"
prop="ParentTriggerValueList" prop="ParentTriggerValueList"
> >
<el-select v-model="form.ParentTriggerValueList" clearable multiple> <el-select v-model="form.ParentTriggerValueList" clearable multiple>
@ -156,10 +152,10 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 是否必填 -->
<el-form-item <el-form-item
v-if="form.Type !== 'group' && form.Type !== 'table' && form.Type !== 'basicTable' && form.Type !== 'summary'" v-if="form.Type !== 'group' && form.Type !== 'table' && form.Type !== 'basicTable' && form.Type !== 'summary'"
:label="$t('trials:readingUnit:qsList:title:isRequired')" prop="IsRequired" label="是否必填"
prop="IsRequired"
> >
<el-radio-group <el-radio-group
v-model="form.IsRequired" v-model="form.IsRequired"
@ -180,10 +176,10 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 必填依赖父问题 --> <!-- 父问题 -->
<el-form-item <el-form-item
v-if="form.Type !== 'group' && form.IsRequired === 1" v-if="form.Type !== 'group' && form.IsRequired === 1"
:label="$t('trials:readingUnit:qsList:title:relevanceId')" label="必填依赖父问题"
prop="RelevanceId" prop="RelevanceId"
> >
<el-select <el-select
@ -203,10 +199,10 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 必填触发值 --> <!-- 必填依赖的父问题触发值 -->
<el-form-item <el-form-item
v-if="form.RelevanceId && form.IsRequired === 1" v-if="form.RelevanceId && form.IsRequired === 1"
:label="$t('trials:readingUnit:qsList:title:relevanceValueList')" label="必填触发值"
prop="RelevanceValueList" prop="RelevanceValueList"
> >
<el-select v-model="form.RelevanceValueList" clearable multiple> <el-select v-model="form.RelevanceValueList" clearable multiple>
@ -218,7 +214,6 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 是否裁判问题 -->
<el-form-item <el-form-item
v-if=" v-if="
form.Type === 'select' || form.Type === 'select' ||
@ -226,7 +221,7 @@
form.Type === 'calculation' || form.Type === 'calculation' ||
form.Type === 'number' form.Type === 'number'
" "
:label="$t('trials:readingUnit:qsList:title:isJudgeQuestion')" label="是否裁判问题"
prop="IsJudgeQuestion" prop="IsJudgeQuestion"
:rules="[ :rules="[
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
@ -268,9 +263,8 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> --> </el-form-item> -->
<!-- 导出结果 -->
<el-form-item <el-form-item
:label="$t('trials:readingUnit:qsList:title:ExportResult')" label="导出结果"
v-if="form.Type === 'radio' || form.Type === 'select' || form.Type === 'input' || form.Type === 'textarea' || form.Type === 'number' || form.Type === 'class' || form.Type === 'calculation'" v-if="form.Type === 'radio' || form.Type === 'select' || form.Type === 'input' || form.Type === 'textarea' || form.Type === 'number' || form.Type === 'class' || form.Type === 'calculation'"
> >
<el-select v-model="form.ExportResult" multiple> <el-select v-model="form.ExportResult" multiple>
@ -283,9 +277,9 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 限制编辑 -->
<el-form-item <el-form-item
:label="$t('trials:readingUnit:qsList:title:limitEdit')" label="限制编辑"
v-if="form.Type === 'radio' || form.Type === 'select' || form.Type === 'input' || form.Type === 'textarea' || form.Type === 'upload' || form.Type === 'number' || form.Type === 'screenshot'" v-if="form.Type === 'radio' || form.Type === 'select' || form.Type === 'input' || form.Type === 'textarea' || form.Type === 'upload' || form.Type === 'number' || form.Type === 'screenshot'"
prop="LimitEdit" prop="LimitEdit"
:rules="[ :rules="[
@ -301,9 +295,8 @@
> >
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 全局阅片是否显示 -->
<el-form-item <el-form-item
:label="$t('trials:readingUnit:qsList:title:globalReadingShowType')" label="全局阅片是否显示"
prop="GlobalReadingShowType" prop="GlobalReadingShowType"
:rules="[ :rules="[
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
@ -318,9 +311,8 @@
> >
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 问题标识 -->
<el-form-item <el-form-item
:label="$t('dictionary:template:criterionConfig:table:questionType')" label="问题标识"
v-if="form.Type !== 'group' && form.Type !== 'summary'" v-if="form.Type !== 'group' && form.Type !== 'summary'"
prop="QuestionType" prop="QuestionType"
> >
@ -333,9 +325,8 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 是否在阅片页面显示 -->
<el-form-item <el-form-item
:label="$t('trials:readingUnit:qsList:title:isShowInDicom')" label="是否在阅片页面显示"
prop="IsShowInDicom" prop="IsShowInDicom"
:rules="[ :rules="[
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
@ -350,16 +341,14 @@
> >
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 注释 -->
<el-form-item <el-form-item
:label="$t('trials:readingUnit:qsList:title:Remark')" label="注释"
prop="Remark" prop="Remark"
> >
<el-input v-model="form.Remark" /> <el-input v-model="form.Remark" />
</el-form-item> </el-form-item>
<!-- 序号 -->
<el-form-item <el-form-item
:label="$t('trials:readingUnit:qsList:title:order')" label="序号"
prop="ShowOrder" prop="ShowOrder"
:rules="[ :rules="[
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
@ -372,8 +361,7 @@
/> />
</el-form-item> </el-form-item>
<!-- 适用于Lugano 2014标准 --> <!-- 适用于Lugano 2014标准 -->
<!-- 问题分类 --> <el-form-item label="问题分类" v-if="form.Type !== 'group' && criterionType === 2">
<el-form-item :label="$t('dictionary:template:criterionConfig:table:questionClassify')" v-if="form.Type !== 'group' && criterionType === 2">
<el-select v-model="form.QuestionClassify" clearable> <el-select v-model="form.QuestionClassify" clearable>
<el-option <el-option
v-for="item of $d.QuestionClassify" v-for="item of $d.QuestionClassify"
@ -384,8 +372,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 适用于iRECST标准 --> <!-- 适用于iRECST标准 -->
<!-- 转化显示类型 --> <el-form-item label="转化显示类型" prop="ConvertShowType" v-if="criterionType === 3">
<el-form-item :label="$t('dictionary:template:criterionConfig:table:convertType')" prop="ConvertShowType" v-if="criterionType === 3">
<el-radio-group v-model="form.ConvertShowType"> <el-radio-group v-model="form.ConvertShowType">
<el-radio <el-radio
v-for="item of $d.ConvertShowType" v-for="item of $d.ConvertShowType"
@ -396,18 +383,16 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 私有属性 --> <el-divider content-position="left">私有属性</el-divider>
<el-divider content-position="left">{{$t('trials:readingUnit:title:privateProperties')}}</el-divider>
<!-- 选项类型 -->
<el-form-item <el-form-item
v-if=" v-if="
form.Type === 'select' || form.Type === 'select' ||
form.Type === 'radio' || form.Type === 'radio' ||
form.Type === 'calculation' form.Type === 'calculation'
" "
:label="$t('trials:readingUnit:label:QuestionGenre')" label="选项类型"
prop="QuestionGenre" prop="QuestionGenre"
:rules="[{ required: form.Type !== 'calculation', message: this.$t('common:ruleMessage:select') }]" :rules="[{ required: form.Type !== 'calculation', message: '请选择' }]"
> >
<el-radio-group <el-radio-group
v-model="form.QuestionGenre" v-model="form.QuestionGenre"
@ -417,7 +402,7 @@
} }
" "
> >
<el-radio :label="-1"> {{ this.$t('common:title:none') }} </el-radio> <el-radio :label="-1"> </el-radio>
<el-radio <el-radio
v-for="item of $d.TableQuestionType" v-for="item of $d.TableQuestionType"
v-show="item.value === 0 || item.value === 3" v-show="item.value === 0 || item.value === 3"
@ -428,23 +413,23 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 选项 -->
<el-form-item <el-form-item
v-if="form.QuestionGenre === 0 || form.Type === 'class'" v-if="form.QuestionGenre === 0 || form.Type === 'class'"
:label="$t('trials:qcCfg:table:typeValue')" label="选项"
prop="TypeValue" prop="TypeValue"
> >
<el-input <el-input
v-model="form.TypeValue" v-model="form.TypeValue"
:placeholder="$t('trials:qcCfg:message:typeValue')" placeholder="选项请用‘|’分割多个选项"
@change="typeValueChange" @change="typeValueChange"
/> />
</el-form-item> </el-form-item>
<!-- 关联字典 -->
<el-form-item <el-form-item
v-if="form.QuestionGenre === 3" v-if="form.QuestionGenre === 3"
:label="$t('trials:readingUnit:label:DictionaryCode')" label="关联字典"
prop="DictionaryCode" prop="DictionaryCode"
> >
<el-select <el-select
@ -464,8 +449,8 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 默认值 -->
<el-form-item v-if="form.QuestionGenre === 3" :label="$t('trials:readingUnit:qsList:title:defaultValue')"> <el-form-item v-if="form.QuestionGenre === 3" label="默认值">
<el-select v-model="form.DefaultValue" clearable> <el-select v-model="form.DefaultValue" clearable>
<el-option <el-option
v-for="item of highlightAnswers" v-for="item of highlightAnswers"
@ -475,8 +460,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 默认值 --> <el-form-item v-if="form.QuestionGenre === 0" label="默认值">
<el-form-item v-if="form.QuestionGenre === 0" :label="$t('trials:readingUnit:qsList:title:defaultValue')">
<el-select v-model="form.DefaultValue" clearable> <el-select v-model="form.DefaultValue" clearable>
<el-option <el-option
v-for="item of form.TypeValue ? form.TypeValue.split('|') : []" v-for="item of form.TypeValue ? form.TypeValue.split('|') : []"
@ -486,10 +470,9 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 高亮标记值 -->
<el-form-item <el-form-item
v-if="form.Type === 'select' || form.Type === 'radio'" v-if="form.Type === 'select' || form.Type === 'radio'"
:label="$t('trials:readingUnit:qsList:title:highlightAnswers')" label="高亮标记值"
prop="HighlightAnswerList" prop="HighlightAnswerList"
> >
<el-select v-model="form.HighlightAnswerList" clearable multiple> <el-select v-model="form.HighlightAnswerList" clearable multiple>
@ -511,9 +494,8 @@
</template> </template>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 分组标识 -->
<el-form-item <el-form-item
:label="$t('dictionary:template:criterionConfig:table:groupClassify')" label="分组标识"
v-if="form.Type === 'group'" v-if="form.Type === 'group'"
prop="GroupClassify" prop="GroupClassify"
> >
@ -526,10 +508,9 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 最大长度 -->
<el-form-item <el-form-item
v-if="form.Type === 'input' || form.Type === 'textarea'" v-if="form.Type === 'input' || form.Type === 'textarea'"
:label="$t('trials:readingUnit:qsList:title:MaxAnswerLength')" label="最大长度"
prop="MaxAnswerLength" prop="MaxAnswerLength"
:rules="[ :rules="[
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }
@ -537,10 +518,9 @@
> >
<el-input-number v-model="form.MaxAnswerLength" :min="0"></el-input-number> <el-input-number v-model="form.MaxAnswerLength" :min="0"></el-input-number>
</el-form-item> </el-form-item>
<!-- 最大行数 -->
<el-form-item <el-form-item
v-if="form.Type === 'table' || form.Type === 'basicTable'" v-if="form.Type === 'table' || form.Type === 'basicTable'"
:label="$t('trials:readingUnit:qsList:title:maxQuestionCount')" label="最大行数"
prop="MaxQuestionCount" prop="MaxQuestionCount"
:rules="[ :rules="[
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }
@ -553,16 +533,16 @@
:max="10" :max="10"
/> />
</el-form-item> </el-form-item>
<el-form-item v-if="form.Type === 'table' || form.Type === 'basicTable'" :label="$t('trials:readingUnit:qsList:title:orderMark')"> <el-form-item v-if="form.Type === 'table' || form.Type === 'basicTable'" label="自增序号前缀">
<el-input v-model="form.OrderMark" /> <el-input v-model="form.OrderMark" />
</el-form-item> </el-form-item>
<!-- 数值类型 --> <!-- 数值类型 -->
<el-form-item <el-form-item
v-if="form.Type === 'number' || form.Type === 'calculation'" v-if="form.Type === 'number' || form.Type === 'calculation'"
:label="$t('trials:readingUnit:qsList:title:valueType')" label="数值类型"
prop="ValueType" prop="ValueType"
:rules="[{ required: true, message: this.$t('common:ruleMessage:select') }]" :rules="[{ required: true, message: '请选择' }]"
> >
<el-radio-group v-model="form.ValueType"> <el-radio-group v-model="form.ValueType">
<el-radio <el-radio
@ -575,10 +555,10 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 单位 --> <!-- 数值单位 -->
<el-form-item <el-form-item
v-if="form.Type === 'number' || form.Type === 'calculation'" v-if="form.Type === 'number' || form.Type === 'calculation'"
:label="$t('trials:readingUnit:qsList:title:unit')" label="单位"
prop="Unit" prop="Unit"
:rules="[ :rules="[
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
@ -594,10 +574,9 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 表格类型标识 -->
<el-form-item <el-form-item
v-if="form.Type === 'table'" v-if="form.Type === 'table'"
:label="$t('dictionary:template:criterionConfig:table:tableType')" label="表格类型标识"
prop="LesionType" prop="LesionType"
> >
<el-select v-model="form.LesionType" clearable> <el-select v-model="form.LesionType" clearable>
@ -609,10 +588,9 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 表格类型标识 -->
<el-form-item <el-form-item
v-if="form.Type === 'basicTable'" v-if="form.Type === 'basicTable'"
:label="$t('dictionary:template:criterionConfig:table:tableType')" label="表格类型标识"
prop="LesionType" prop="LesionType"
> >
<el-select v-model="form.LesionType" clearable> <el-select v-model="form.LesionType" clearable>
@ -624,10 +602,9 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 关联字典 -->
<el-form-item <el-form-item
v-if="form.Type === 'table' || form.Type === 'basicTable'" v-if="form.Type === 'table' || form.Type === 'basicTable'"
:label="$t('dictionary:template:criterionConfig:table:relatedDictionaryCode')" label="关联字典"
> >
<el-select <el-select
v-model="form.DictionaryCode" v-model="form.DictionaryCode"
@ -646,10 +623,9 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 最大上传个数 -->
<el-form-item <el-form-item
v-if="form.Type === 'upload'" v-if="form.Type === 'upload'"
:label="$t('trials:readingUnit:qsList:title:imageCount')" label="最大上传个数"
> >
<el-input-number <el-input-number
v-model="form.ImageCount" v-model="form.ImageCount"
@ -661,7 +637,7 @@
<!-- 文件类型 --> <!-- 文件类型 -->
<el-form-item <el-form-item
v-if="form.Type === 'upload'" v-if="form.Type === 'upload'"
:label="$t('trials:readingUnit:qsList:title:FileType')" label="文件类型"
prop="FileType" prop="FileType"
:rules="[{ type: 'array', required: true, message: this.$t('common:ruleMessage:specify'), trigger: [ 'change'] }]" :rules="[{ type: 'array', required: true, message: this.$t('common:ruleMessage:specify'), trigger: [ 'change'] }]"
> >
@ -684,10 +660,10 @@
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<!-- 分类数据来源 --> <!-- 分类 -->
<el-form-item <el-form-item
v-if="form.Type === 'class'" v-if="form.Type === 'class'"
:label="$t('dictionary:template:criterionConfig:table:classifyQuestion')" label="分类数据来源"
prop="ClassifyQuestionId" prop="ClassifyQuestionId"
> >
<el-select v-model="form.ClassifyQuestionId" clearable> <el-select v-model="form.ClassifyQuestionId" clearable>
@ -695,10 +671,9 @@
:value="item.Id"/> :value="item.Id"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 分类算法 -->
<el-form-item <el-form-item
v-if="form.Type === 'class'" v-if="form.Type === 'class'"
:label="$t('dictionary:template:criterionConfig:table:classifyAlgorithms')" label="分类算法"
prop="ClassifyAlgorithms" prop="ClassifyAlgorithms"
> >
<div> <div>
@ -810,7 +785,7 @@ export default {
} else { } else {
var arr = value.split('|') var arr = value.split('|')
if (new Set(arr).size !== arr.length) { if (new Set(arr).size !== arr.length) {
callback(new Error(this.$t('trials:readingUnit:qsList:message:msg0'))) callback(new Error('选项不允许存在相同值'))
} else { } else {
callback() callback()
} }
@ -865,34 +840,34 @@ export default {
ClassifyAlgorithms: null, ClassifyAlgorithms: null,
}, },
rules: { rules: {
Type: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], Type: [{ required: true, message: '请选择', trigger: 'blur' }],
LesionType: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], LesionType: [{ required: true, message: '请选择', trigger: 'blur' }],
// QuestionName: [ // QuestionName: [
// { required: true, message: '', trigger: 'blur' }, // { required: true, message: '', trigger: 'blur' },
// { max: 300, message: ' 300' }, // { max: 300, message: ' 300' },
// ], // ],
QuestionGenre: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], QuestionGenre: [{ required: true, message: '请选择', trigger: 'blur' }],
TypeValue: [ TypeValue: [
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, { required: true, message: '请注明', trigger: 'blur' },
{ validator: validateTypeVal, trigger: 'blur' }, { validator: validateTypeVal, trigger: 'blur' },
{ max: 500, message: `${this.$t('common:ruleMessage:maxLength')} 500` }, { max: 500, message: '最大长度为 500' },
], ],
DictionaryCode: [ DictionaryCode: [
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }, { required: true, message: '请选择', trigger: 'blur' },
], ],
ShowQuestion: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], ShowQuestion: [{ required: true, message: '请选择', trigger: 'blur' }],
IsRequired: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], IsRequired: [{ required: true, message: '请选择', trigger: 'blur' }],
ParentId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], ParentId: [{ required: true, message: '请选择', trigger: 'blur' }],
ParentTriggerValueList: [ ParentTriggerValueList: [
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }, { required: true, message: '请选择', trigger: 'blur' },
], ],
RelevanceId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], RelevanceId: [{ required: true, message: '请选择', trigger: 'blur' }],
RelevanceValueList: [ RelevanceValueList: [
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }, { required: true, message: '请选择', trigger: 'blur' },
], ],
GroupName: [ GroupName: [
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, { required: true, message: '请注明', trigger: 'blur' },
{ max: 50, message: `${this.$t('common:ruleMessage:maxLength')} 50` }, { max: 50, message: '最大长度为 50' },
], ],
// ExportIdentification: [ // ExportIdentification: [
// { required: true, message: '', trigger: 'blur' }, // { required: true, message: '', trigger: 'blur' },

View File

@ -1,15 +1,13 @@
<template> <template>
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<!-- 器官 --> <el-tab-pane label="器官" name="organs">
<el-tab-pane :label="$t('dictionary:template:basicData:organs')" name="organs">
<OrgansTbl <OrgansTbl
:criterion-id="criterionId" :criterion-id="criterionId"
:is-complete-config="isCompleteConfig" :is-complete-config="isCompleteConfig"
/> />
</el-tab-pane> </el-tab-pane>
<!-- 疗效评估 --> <el-tab-pane label="疗效评估" name="efficacyAssessment">
<el-tab-pane :label="$t('dictionary:template:basicData:efficacyAssessment')" name="efficacyAssessment">
<EfficacyAssessment <EfficacyAssessment
v-if="tabs.includes('efficacyAssessment')" v-if="tabs.includes('efficacyAssessment')"
:criterion-id="criterionId" :criterion-id="criterionId"
@ -17,8 +15,7 @@
:is-complete-config="isCompleteConfig" :is-complete-config="isCompleteConfig"
/> />
</el-tab-pane> </el-tab-pane>
<!-- 标准字典 --> <el-tab-pane label="标准字典" name="criterionDictionary">
<el-tab-pane :label="$t('dictionary:template:basicData:criterionDictionary')" name="criterionDictionary">
<CriterionDictionary <CriterionDictionary
v-if="tabs.includes('criterionDictionary')" v-if="tabs.includes('criterionDictionary')"
:criterion-id="criterionId" :criterion-id="criterionId"

View File

@ -1,12 +1,10 @@
<template> <template>
<div class="criterion-config"> <div class="criterion-config">
<el-tabs v-model="activeName"> <el-tabs v-model="activeName">
<!-- 访视阅片 --> <el-tab-pane :label="'访视阅片'" name="0">
<el-tab-pane :label="$t('dictionary:template:criterionConfig:tab:visitReview')" name="0">
<div class="search-form" style="display:flex;justify-content: space-between;"> <div class="search-form" style="display:flex;justify-content: space-between;">
<el-form :inline="true" size="mini" class="base-search-form"> <el-form :inline="true" size="mini" class="base-search-form">
<!-- 问题名称 --> <el-form-item label="名称">
<el-form-item :label="$t('trials:readingUnit:qsList:title:qsNameEn')">
<el-input v-model="searchData.QuestionName" clearable style="width:120px;" /> <el-input v-model="searchData.QuestionName" clearable style="width:120px;" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -29,7 +27,7 @@
type="primary" type="primary"
@click="handlePreview" @click="handlePreview"
> >
{{ $t('common:button:preview') }} 预览
</el-button> </el-button>
<el-button <el-button
v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)" v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)"
@ -37,7 +35,7 @@
type="primary" type="primary"
@click="handleAdd" @click="handleAdd"
> >
{{ $t('common:button:add') }} 添加
</el-button> </el-button>
</div> </div>
@ -51,70 +49,61 @@
stripe stripe
@sort-change="handleSortByColumn" @sort-change="handleSortByColumn"
> >
<!-- 显示序号 -->
<el-table-column <el-table-column
prop="ShowOrder" prop="ShowOrder"
label="" label=""
width="50" width="50"
/> />
<!-- 分组 -->
<el-table-column <el-table-column
prop="GroupName" prop="GroupName"
:label="$t('trials:readingUnit:qsList:title:groupNameEn')" label="分组"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 分组(EN) -->
<el-table-column <el-table-column
prop="GroupEnName" prop="GroupEnName"
:label="$t('trials:readingUnit:qsList:title:groupNameEn')" label="分组(EN)"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 名称 -->
<el-table-column <el-table-column
prop="QuestionName" prop="QuestionName"
:label="$t('trials:readingUnit:qsList:title:qsNameEn')" label="名称"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 名称(EN) -->
<el-table-column <el-table-column
prop="QuestionEnName" prop="QuestionEnName"
:label="$t('trials:readingUnit:qsList:title:qsNameEn')" label="名称(EN)"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 题型 -->
<el-table-column <el-table-column
prop="Type" prop="Type"
:label="$t('trials:readingUnit:qsList:title:type')" label="题型"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('Criterion_Question_Type',scope.row.Type) }} {{ $fd('Criterion_Question_Type',scope.row.Type) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 是否显示 -->
<el-table-column
prop="ShowQuestion"
:label="$t('trials:readingUnit:qsList:title:isShow')"
show-overflow-tooltip
>
<template slot-scope="scope">
{{ $fd('ShowQuestion',scope.row.ShowQuestion) }}
</template>
</el-table-column>
<!-- 是否必填 -->
<el-table-column <el-table-column
prop="IsRequired" prop="IsRequired"
:label="$t('trials:readingUnit:qsList:title:isRequired')" label="是否必填"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('QuestionRequired',scope.row.IsRequired) }} {{ $fd('QuestionRequired',scope.row.IsRequired) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 是否裁判问题 --> <el-table-column
prop="ShowQuestion"
label="是否显示"
show-overflow-tooltip
>
<template slot-scope="scope">
{{ $fd('ShowQuestion',scope.row.ShowQuestion) }}
</template>
</el-table-column>
<el-table-column <el-table-column
prop="IsJudgeQuestion" prop="IsJudgeQuestion"
:label="$t('trials:readingUnit:qsList:title:isJudgeQuestion')" label="是否裁判问题"
width="120" width="120"
show-overflow-tooltip show-overflow-tooltip
> >
@ -122,10 +111,9 @@
{{ $fd('YesOrNo', scope.row.IsJudgeQuestion) }} {{ $fd('YesOrNo', scope.row.IsJudgeQuestion) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 是否在阅片页面显示 -->
<el-table-column <el-table-column
prop="IsShowInDicom" prop="IsShowInDicom"
:label="$t('trials:readingUnit:qsList:title:isShowInDicom')" label="是否在阅片页面显示"
width="150" width="150"
show-overflow-tooltip show-overflow-tooltip
> >
@ -141,10 +129,9 @@
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> --> </el-table-column> -->
<!-- 是否在全局阅片显示 -->
<el-table-column <el-table-column
prop="GlobalReadingShowType" prop="GlobalReadingShowType"
:label="$t('trials:readingUnit:qsList:title:globalReadingShowType')" label="是否在全局阅片显示"
width="160" width="160"
show-overflow-tooltip show-overflow-tooltip
> >
@ -166,7 +153,7 @@
<!-- 问题标识 --> <!-- 问题标识 -->
<el-table-column <el-table-column
prop="QuestionType" prop="QuestionType"
:label="$t('dictionary:template:criterionConfig:table:questionType')" label="问题标识"
width="140" width="140"
show-overflow-tooltip show-overflow-tooltip
> >
@ -198,7 +185,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="" prop=""
:label="$t('common:action:action')" label="操作"
width="250" width="250"
show-overflow-tooltip show-overflow-tooltip
fixed="right" fixed="right"
@ -210,7 +197,7 @@
size="mini" size="mini"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
> >
{{ $t('trials:readingUnit:qsList:title:edit') }} 编辑
</el-button> </el-button>
<el-button <el-button
v-else v-else
@ -218,7 +205,7 @@
size="mini" size="mini"
@click="handleLook(scope.row)" @click="handleLook(scope.row)"
> >
{{ $t('trials:readingUnit:qsList:title:view') }} 查看
</el-button> </el-button>
<el-button <el-button
type="primary" type="primary"
@ -226,7 +213,7 @@
:disabled="!(scope.row.Type === 'table' || scope.row.Type === 'basicTable')" :disabled="!(scope.row.Type === 'table' || scope.row.Type === 'basicTable')"
@click="handleConfig(scope.row)" @click="handleConfig(scope.row)"
> >
{{ $t('trials:readingUnit:qsList:title:tableQs') }} 表格问题
</el-button> </el-button>
<el-button <el-button
v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)" v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)"
@ -235,19 +222,17 @@
:disabled="scope.row.IsEnable" :disabled="scope.row.IsEnable"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
> >
{{ $t('trials:readingUnit:qsList:title:delete') }} 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination style="text-align: right;margin-top: 10px;" class="page" :total="total" :page.sync="searchData.PageIndex" :limit.sync="searchData.PageSize" @pagination="getList" /> <pagination style="text-align: right;margin-top: 10px;" class="page" :total="total" :page.sync="searchData.PageIndex" :limit.sync="searchData.PageSize" @pagination="getList" />
</el-tab-pane> </el-tab-pane>
<!-- 全局阅片 --> <el-tab-pane label="全局阅片" name="Global">
<el-tab-pane :label="$t('dictionary:template:criterionConfig:tab:globalReview')" name="Global">
<EvaluationOfGlobalConfig v-if="activeName === 'Global'" :data="data" :criterion-id="criterionId" /> <EvaluationOfGlobalConfig v-if="activeName === 'Global'" :data="data" :criterion-id="criterionId" />
</el-tab-pane> </el-tab-pane>
<!-- 肿瘤学阅片 --> <el-tab-pane label="肿瘤学阅片" name="Oncology">
<el-tab-pane :label="$t('dictionary:template:criterionConfig:tab:oncologyReview')" name="Oncology">
<EvaluationOfOncologyConfig v-if="activeName === 'Oncology'" :data="data" :criterion-id="criterionId" /> <EvaluationOfOncologyConfig v-if="activeName === 'Oncology'" :data="data" :criterion-id="criterionId" />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
@ -376,19 +361,19 @@ export default {
handleAdd() { handleAdd() {
this.rowData = { ReadingQuestionCriterionSystemId: this.criterionId, Id: ''} this.rowData = { ReadingQuestionCriterionSystemId: this.criterionId, Id: ''}
this.type = 'add' this.type = 'add'
this.addOrEdit.title = this.$t('common:button:new') this.addOrEdit.title = '添加'
this.addOrEdit.visible = true this.addOrEdit.visible = true
}, },
handleLook(row) { handleLook(row) {
this.rowData = { ...row } this.rowData = { ...row }
this.type = 'look' this.type = 'look'
this.addOrEdit.title = this.$t('common:button:view') this.addOrEdit.title = '查看'
this.addOrEdit.visible = true this.addOrEdit.visible = true
}, },
handleEdit(row) { handleEdit(row) {
this.rowData = { ...row } this.rowData = { ...row }
this.type = 'edit' this.type = 'edit'
this.addOrEdit.title = this.$t('common:button:edit') this.addOrEdit.title = '编辑'
this.addOrEdit.visible = true this.addOrEdit.visible = true
}, },
handleDelete(row) { handleDelete(row) {
@ -403,7 +388,7 @@ export default {
this.loading = false this.loading = false
if (res.IsSuccess) { if (res.IsSuccess) {
this.getList() this.getList()
this.$message.success(this.$t('common:message:deletedSuccessfully')) this.$message.success('删除成功!')
} }
}).catch(() => { this.loading = false }) }).catch(() => { this.loading = false })
}) })

View File

@ -325,7 +325,7 @@ export default {
deleteReadingQuestionCriterionSystem(row.Id).then(res => { deleteReadingQuestionCriterionSystem(row.Id).then(res => {
this.loading = false this.loading = false
if (res.IsSuccess) { if (res.IsSuccess) {
this.$message.success(this.$t('common:message:deletedSuccessfully')) this.$message.success(this.$t('common:message:savedSuccessfully'))
this.getList() this.getList()
} }
}).catch(() => { this.loading = false }) }).catch(() => { this.loading = false })

View File

@ -1,13 +1,10 @@
<template> <template>
<div style="position: relative"> <div style="position: relative">
<el-form size="small" :inline="true" label-width="130px" style="position: relative;"> <el-form size="small" :inline="true" label-width="130px" style="position: relative;">
<!-- 阅片规则 --> <el-divider content-position="left">阅片规则</el-divider>
<el-divider content-position="left">{{ $t('dictionary:template:globalConfig:readingRules') }}</el-divider> <el-form-item label="是否必须全局阅片">
<!-- 是否必须全局阅片 -->
<el-form-item :label="$t('dictionary:template:globalConfig:isMustGlobalReading')">
{{ $fd('YesOrNo', IsMustGlobalReading) }} {{ $fd('YesOrNo', IsMustGlobalReading) }}
</el-form-item> </el-form-item>
<!-- 配置 -->
<el-button <el-button
size="mini" size="mini"
type="primary" type="primary"
@ -15,13 +12,11 @@
v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)" v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)"
@click="handleAdd(1)" @click="handleAdd(1)"
> >
{{ $t('dictionary:template:globalConfig:config') }} 配置
</el-button> </el-button>
</el-form> </el-form>
<el-form size="small" :inline="true" label-width="110px" style="position: relative"> <el-form size="small" :inline="true" label-width="110px" style="position: relative">
<!-- 名称 --> <el-divider content-position="left">名称</el-divider>
<el-divider content-position="left">{{ $t('dictionary:template:globalConfig:name') }}</el-divider>
<!-- 配置 -->
<el-button <el-button
size="mini" size="mini"
type="primary" type="primary"
@ -29,10 +24,9 @@
v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)" v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)"
@click="handleAdd(2)" @click="handleAdd(2)"
> >
{{ $t('dictionary:template:globalConfig:config') }} 配置
</el-button> </el-button>
<!-- 评估更新类型 --> <el-form-item label="评估更新类型" style="width: 100%">
<el-form-item :label="$t('dictionary:template:globalConfig:updateType')" style="width: 100%">
</el-form-item> </el-form-item>
<el-table <el-table
v-loading="loading" v-loading="loading"
@ -40,34 +34,30 @@
:data="list" :data="list"
stripe stripe
> >
<!-- 序号 -->
<el-table-column <el-table-column
prop="" prop=""
:label="$t('dictionary:template:globalConfig:order')" label="序号"
width="50" width="50"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.$index + 1}} {{scope.$index + 1}}
</template> </template>
</el-table-column> </el-table-column>
<!-- 中文值 -->
<el-table-column <el-table-column
prop="ValueCN" prop="ValueCN"
:label="$t('dictionary:template:globalConfig:valueCN')" label="中文值"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<!-- 英文值 -->
<el-table-column <el-table-column
prop="Value" prop="Value"
:label="$t('dictionary:template:globalConfig:value')" label="英文值"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<!-- 是否基线评估 -->
<el-table-column <el-table-column
prop="IsBaseLineUse" prop="IsBaseLineUse"
:label="$t('dictionary:template:globalConfig:isBaseLineUse')" label="是否基线评估"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
@ -80,10 +70,9 @@
<el-tag v-else type="danger">{{ $fd('YesOrNo', scope.row.IsBaseLineUse) }}</el-tag> <el-tag v-else type="danger">{{ $fd('YesOrNo', scope.row.IsBaseLineUse) }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- 是否随访评估 -->
<el-table-column <el-table-column
prop="IsFollowVisitUse" prop="IsFollowVisitUse"
:label="$t('dictionary:template:globalConfig:isFollowVisitUse')" label="是否随访评估"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
@ -104,14 +93,12 @@
> >
<template slot="dialog-body"> <template slot="dialog-body">
<el-form size="small" :inline="true" label-width="130px"> <el-form size="small" :inline="true" label-width="130px">
<!-- 是否必须全局阅片 --> <el-form-item label="是否必须全局阅片" v-if="config.configType === 1">
<el-form-item :label="$t('dictionary:template:globalConfig:isMustGlobalReading')" v-if="config.configType === 1">
<el-radio-group v-model="form.IsMustGlobalReading"> <el-radio-group v-model="form.IsMustGlobalReading">
<el-radio v-for="item of $d.YesOrNo" :key="'form.IsMustGlobalReading' + item.value" :label="item.value">{{ item.label }}</el-radio> <el-radio v-for="item of $d.YesOrNo" :key="'form.IsMustGlobalReading' + item.value" :label="item.value">{{ item.label }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 评估更新类型 --> <el-form-item v-if="config.configType === 2" label="评估更新类型" style="width: 100%">
<el-form-item v-if="config.configType === 2" :label="$t('dictionary:template:globalConfig:updateType')" style="width: 100%">
</el-form-item> </el-form-item>
<el-table <el-table
v-if="config.configType === 2" v-if="config.configType === 2"
@ -125,24 +112,21 @@
type="selection" type="selection"
width="55"> width="55">
</el-table-column> </el-table-column>
<!-- 中文值 -->
<el-table-column <el-table-column
prop="ValueCN" prop="ValueCN"
:label="$t('dictionary:template:globalConfig:valueCN')" label="中文值"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<!-- 英文值 -->
<el-table-column <el-table-column
prop="Value" prop="Value"
:label="$t('dictionary:template:globalConfig:value')" label="英文值"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<!-- 是否基线评估 -->
<el-table-column <el-table-column
prop="IsBaseLineUse" prop="IsBaseLineUse"
:label="$t('dictionary:template:globalConfig:isBaseLineUse')" label="是否基线评估"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
@ -154,10 +138,9 @@
<span>{{$fd('YesOrNo', scope.row.IsBaseLineUse)}}</span> <span>{{$fd('YesOrNo', scope.row.IsBaseLineUse)}}</span>
</template> </template>
</el-table-column> </el-table-column>
<!-- 是否随访评估 -->
<el-table-column <el-table-column
prop="IsFollowVisitUse" prop="IsFollowVisitUse"
:label="$t('dictionary:template:globalConfig:isFollowVisitUse')" label="是否随访评估"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
@ -173,12 +156,8 @@
</el-form> </el-form>
</template> </template>
<template slot="dialog-footer"> <template slot="dialog-footer">
<el-button :disabled="loading" size="small" type="primary" @click="config.visible = false"> <el-button :disabled="loading" size="small" type="primary" @click="config.visible = false">取消</el-button>
{{ $t('common:button:cancel') }} <el-button size="small" type="primary" :loading="loading" @click="handleSave"></el-button>
</el-button>
<el-button size="small" type="primary" :loading="loading" @click="handleSave">
{{ $t('common:button:save') }}
</el-button>
</template> </template>
</base-model> </base-model>
</div> </div>
@ -207,8 +186,8 @@ export default {
rowData: {}, rowData: {},
activeName: '0', activeName: '0',
addOrEdit: { visible: false, title: '' }, addOrEdit: { visible: false, title: '' },
// preview: { visible: false, title: 'eCRF' }, preview: { visible: false, title: 'eCRF预览' },
config: { visible: false, title: this.$t('dictionary:template:globalConfig:updateType'), appendToBody: true, width: '600px', configType: 0 }, config: { visible: false, title: '评估更新类型', appendToBody: true, width: '600px', configType: 0 },
selectedList: [], selectedList: [],
IsMustGlobalReading: false, IsMustGlobalReading: false,
form: { form: {
@ -290,10 +269,10 @@ export default {
this.config.configType = n this.config.configType = n
this.form.IsMustGlobalReading = this.IsMustGlobalReading this.form.IsMustGlobalReading = this.IsMustGlobalReading
if (n === 1) { if (n === 1) {
this.config.title = this.$t('dictionary:template:globalConfig:isMustGlobalReading') this.config.title = '是否必须全局阅片'
this.config.visible = true this.config.visible = true
} else { } else {
this.config.title = this.$t('dictionary:template:globalConfig:updateType') this.config.title = '评估更新类型'
this.config.visible = true this.config.visible = true
this.$nextTick(() => { this.$nextTick(() => {
var a = this.$d.GlobalAssessType.filter(v => { var a = this.$d.GlobalAssessType.filter(v => {
@ -343,4 +322,8 @@ export default {
} }
</script> </script>
<style scoped>
/deep/ .el-form-item__content{
width: calc(100% - 130px);
}
</style>

View File

@ -1,13 +1,10 @@
<template> <template>
<div> <div>
<el-form size="small" :inline="true" label-width="110px" style="position: relative;"> <el-form size="small" :inline="true" label-width="110px" style="position: relative;">
<!-- 阅片规则 --> <el-divider content-position="left">阅片规则</el-divider>
<el-divider content-position="left">{{ $t('dictionary:template:globalConfig:readingRules') }}</el-divider> <el-form-item label="是否肿瘤学阅片" style="width: 100%">
<!-- 是否肿瘤学阅片 -->
<el-form-item :label="$t('dictionary:template:oncologyConfig:isOncologyReading')" style="width: 100%">
{{ $fd('YesOrNo', IsOncologyReading)}} {{ $fd('YesOrNo', IsOncologyReading)}}
</el-form-item> </el-form-item>
<!-- 配置 -->
<el-button <el-button
size="mini" size="mini"
type="primary" type="primary"
@ -15,13 +12,11 @@
v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)" v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)"
@click="handleAdd(1)" @click="handleAdd(1)"
> >
{{ $t('dictionary:template:globalConfig:config') }} 配置
</el-button> </el-button>
</el-form> </el-form>
<el-form size="small" :inline="true" label-width="110px" style="position: relative"> <el-form size="small" :inline="true" label-width="110px" style="position: relative">
<!-- 阅片问题 --> <el-divider content-position="left">阅片问题</el-divider>
<el-divider content-position="left">{{ $t('dictionary:template:oncologyConfig:reviewQs') }}</el-divider>
<!-- 配置 -->
<el-button <el-button
size="mini" size="mini"
type="primary" type="primary"
@ -29,10 +24,9 @@
v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)" v-if="Object.keys(data).length > 0 && !(data.IsCompleteConfig || data.IsBeUsed)"
@click="handleAdd(2)" @click="handleAdd(2)"
> >
{{ $t('dictionary:template:globalConfig:config') }} 配置
</el-button> </el-button>
<!-- 肿瘤学阅片结果 --> <el-form-item label="肿瘤学阅片结果" style="width: 100%">
<el-form-item :label="$t('dictionary:template:oncologyConfig:reviewResult')" style="width: 100%">
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table
@ -41,27 +35,24 @@
:data="list" :data="list"
stripe stripe
> >
<!-- 序号 -->
<el-table-column <el-table-column
prop="" prop=""
:label="$t('dictionary:template:globalConfig:order')" label="序号"
width="50" width="50"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.$index + 1}} {{scope.$index + 1}}
</template> </template>
</el-table-column> </el-table-column>
<!-- 中文值 -->
<el-table-column <el-table-column
prop="ValueCN" prop="ValueCN"
:label="$t('dictionary:template:globalConfig:valueCN')" label="中文值"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<!-- 英文值 -->
<el-table-column <el-table-column
prop="Value" prop="Value"
:label="$t('dictionary:template:globalConfig:value')" label="英文值"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
@ -69,14 +60,12 @@
<base-model :config="config"> <base-model :config="config">
<template slot="dialog-body"> <template slot="dialog-body">
<el-form size="small" :inline="true" label-width="110px"> <el-form size="small" :inline="true" label-width="110px">
<!-- 是否肿瘤学阅片 --> <el-form-item label="是否肿瘤学阅片" v-if="config.configType === 1">
<el-form-item :label="$t('dictionary:template:oncologyConfig:isOncologyReading')" v-if="config.configType === 1">
<el-radio-group v-model="form.IsOncologyReading"> <el-radio-group v-model="form.IsOncologyReading">
<el-radio v-for="item of $d.YesOrNo" :key="'form.IsOncologyReading' + item.value" :label="item.value">{{ item.label }}</el-radio> <el-radio v-for="item of $d.YesOrNo" :key="'form.IsOncologyReading' + item.value" :label="item.value">{{ item.label }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 肿瘤学阅片结果 --> <el-form-item label="肿瘤学阅片结果" style="width: 100%" v-if="config.configType === 2">
<el-form-item :label="$t('dictionary:template:oncologyConfig:reviewResult')" style="width: 100%" v-if="config.configType === 2">
</el-form-item> </el-form-item>
<el-table <el-table
v-if="config.configType === 2" v-if="config.configType === 2"
@ -91,17 +80,15 @@
type="selection" type="selection"
width="55"> width="55">
</el-table-column> </el-table-column>
<!-- 中文值 -->
<el-table-column <el-table-column
prop="ValueCN" prop="ValueCN"
:label="$t('dictionary:template:globalConfig:valueCN')" label="中文值"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<!-- 英文值 -->
<el-table-column <el-table-column
prop="Value" prop="Value"
:label="$t('dictionary:template:globalConfig:value')" label="英文值"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
@ -109,12 +96,8 @@
</el-form> </el-form>
</template> </template>
<template slot="dialog-footer"> <template slot="dialog-footer">
<el-button :disabled="loading" size="small" type="primary" @click="config.visible = false"> <el-button :disabled="loading" size="small" type="primary" @click="config.visible = false">取消</el-button>
{{ $t('common:button:cancel') }} <el-button size="small" type="primary" :loading="loading" @click="handleSave"></el-button>
</el-button>
<el-button size="small" type="primary" :loading="loading" @click="handleSave">
{{ $t('common:button:save') }}
</el-button>
</template> </template>
</base-model> </base-model>
</div> </div>
@ -146,7 +129,8 @@ export default {
rowData: {}, rowData: {},
activeName: '0', activeName: '0',
addOrEdit: { visible: false, title: '' }, addOrEdit: { visible: false, title: '' },
config: { visible: false, title: this.$t('dictionary:template:oncologyConfig:reviewResult'), appendToBody: true, width: '600px', configType: 0 }, preview: { visible: false, title: 'eCRF预览' },
config: { visible: false, title: '肿瘤学阅片结果', appendToBody: true, width: '600px', configType: 0 },
selectedList: [], selectedList: [],
OncologyAssessType: [], OncologyAssessType: [],
IsOncologyReading: true IsOncologyReading: true
@ -193,10 +177,10 @@ export default {
handleAdd(n) { handleAdd(n) {
this.config.configType = n this.config.configType = n
if (n === 1) { if (n === 1) {
this.config.title = this.$t('dictionary:template:oncologyConfig:isOncologyReading') this.config.title = '是否肿瘤学阅片'
this.config.visible = true this.config.visible = true
} else { } else {
this.config.title = this.$t('dictionary:template:oncologyConfig:reviewResult') this.config.title = '肿瘤学阅片结果'
this.config.visible = true this.config.visible = true
this.$nextTick(() => { this.$nextTick(() => {
var a = this.OncologyAssessType.filter(v => { var a = this.OncologyAssessType.filter(v => {
@ -237,3 +221,9 @@ export default {
} }
} }
</script> </script>
<style scoped>
/deep/ .el-form-item__content{
width: calc(100% - 110px);
}
</style>

View File

@ -8,8 +8,7 @@
:rules="rules" :rules="rules"
> >
<div class="base-dialog-body"> <div class="base-dialog-body">
<!-- 病灶类型 --> <el-form-item label="病灶类型" prop="LesionType">
<el-form-item :label="$t('dictionary:template:basicData:lesionType')" prop="LesionType">
<el-select v-model="form.LesionType"> <el-select v-model="form.LesionType">
<el-option <el-option
v-for="item of CriterionDictionaryList.LesionType" v-for="item of CriterionDictionaryList.LesionType"
@ -19,8 +18,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 器官类型 --> <el-form-item label="器官类型" prop="OrganType">
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:organType')" prop="OrganType">
<el-select v-model="form.OrganType"> <el-select v-model="form.OrganType">
<el-option <el-option
v-for="item of CriterionDictionaryOrganTypeList.OrganType" v-for="item of CriterionDictionaryOrganTypeList.OrganType"

View File

@ -43,30 +43,28 @@
height="100" height="100"
> >
<el-table-column type="index" width="90" /> <el-table-column type="index" width="90" />
<!-- 病灶类型 -->
<el-table-column <el-table-column
prop="LesionType" prop="LesionType"
:label="$t('dictionary:template:basicData:lesionType')" label="病灶类型"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('LesionType',scope.row.LesionType) }} {{ $fd('LesionType',scope.row.LesionType) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 器官类型 -->
<el-table-column <el-table-column
prop="OrganType" prop="OrganType"
:label="$t('trials:readingUnit:baseDataCfg:title:organType')" label="器官类型"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd('OrganType',scope.row.OrganType) }} {{ $fd('OrganType',scope.row.OrganType) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 创建时间 -->
<el-table-column <el-table-column
prop="CreateTime" prop="CreateTime"
:label="$t('dictionary:template:basicData:createTime')" label="创建时间"
show-overflow-tooltip show-overflow-tooltip
/> />
<el-table-column <el-table-column
@ -78,13 +76,13 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
circle circle
:title="$t('common:button:edit')" title="编辑"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
/> />
<el-button <el-button
circle circle
:title="$t('common:button:delete')" title="删除"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
/> />
@ -165,18 +163,18 @@ export default {
// //
handleAdd() { handleAdd() {
this.rowData = { CriterionId: this.criterionId } this.rowData = { CriterionId: this.criterionId }
this.editDialog.title = this.$t('common:button:new') this.editDialog.title = '新增'
this.editDialog.visible = true this.editDialog.visible = true
}, },
// //
handleEdit(row) { handleEdit(row) {
this.rowData = { ...row } this.rowData = { ...row }
this.editDialog.title = this.$t('common:button:edit') this.editDialog.title = '编辑'
this.editDialog.visible = true this.editDialog.visible = true
}, },
// //
handleDelete(row) { handleDelete(row) {
this.$confirm(this.$t('trials:readingUnit:baseDataCfg:message:deleteConfirm'), { this.$confirm('是否确认删除', {
type: 'warning', type: 'warning',
distinguishCancelAndClose: true distinguishCancelAndClose: true
}) })
@ -187,7 +185,7 @@ export default {
this.loading = false this.loading = false
if (res.IsSuccess) { if (res.IsSuccess) {
this.getList() this.getList()
this.$message.success(this.$t('common:message:deletedSuccessfully')) this.$message.success('删除成功!')
} }
}).catch(() => { this.loading = false }) }).catch(() => { this.loading = false })
}) })

View File

@ -3,13 +3,13 @@
ref="organForm" ref="organForm"
v-loading="loading" v-loading="loading"
:model="form" :model="form"
label-width="120px" label-width="100px"
size="small" size="small"
:rules="rules" :rules="rules"
> >
<div class="base-dialog-body"> <div class="base-dialog-body">
<!-- 类型 --> <!-- 类型 -->
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:organType')" prop="OrganType"> <el-form-item label="器官类型" prop="OrganType">
<el-select <el-select
v-model="form.OrganType" v-model="form.OrganType"
> >
@ -21,37 +21,35 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 分类 --> <el-form-item label="分类" prop="Classification">
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:classification')" prop="Classification">
<el-input v-model="form.Classification" /> <el-input v-model="form.Classification" />
</el-form-item> </el-form-item>
<!-- 分类英文 --> <el-form-item label="分类(英文)">
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:classificationEn')">
<el-input v-model="form.ClassificationEN" /> <el-input v-model="form.ClassificationEN" />
</el-form-item> </el-form-item>
<!-- 部位 --> <!-- 部位 -->
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:bodyPart')" prop="Part"> <el-form-item label="部位" prop="Part">
<el-input v-model="form.Part" /> <el-input v-model="form.Part" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:bodyPartEn')"> <el-form-item label="部位(英文)">
<el-input v-model="form.PartEN" /> <el-input v-model="form.PartEN" />
</el-form-item> </el-form-item>
<!-- 器官 --> <!-- TULOC -->
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:organ')" prop="TULOC"> <el-form-item label="器官" prop="TULOC">
<el-input v-model="form.TULOC" /> <el-input v-model="form.TULOC" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:TULOCEN')" prop="TULOCEN"> <el-form-item label="器官(英文)" prop="TULOCEN">
<el-input v-model="form.TULOCEN" /> <el-input v-model="form.TULOCEN" />
</el-form-item> </el-form-item>
<!-- 位置 --> <!-- TULAT -->
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:TULAT')"> <el-form-item label="位置">
<el-input v-model="form.TULAT" /> <el-input v-model="form.TULAT" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:TULATEn')"> <el-form-item label="位置(英文)">
<el-input v-model="form.TULATEN" /> <el-input v-model="form.TULATEN" />
</el-form-item> </el-form-item>
<!-- 是否淋巴结 --> <!-- 是否淋巴结 -->
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:isLymphNodes')" prop="IsLymphNodes"> <el-form-item label="是否淋巴结" prop="IsLymphNodes">
<el-radio-group v-model="form.IsLymphNodes"> <el-radio-group v-model="form.IsLymphNodes">
<el-radio <el-radio
v-for="item of $d.ReadingYesOrNo" v-for="item of $d.ReadingYesOrNo"
@ -62,7 +60,7 @@
</el-form-item> </el-form-item>
<!-- 是否可以编辑 --> <!-- 是否可以编辑 -->
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:isCanEditPosition')" prop="IsCanEditPosition"> <el-form-item label="是否可以编辑" prop="IsCanEditPosition">
<el-radio-group v-model="form.IsCanEditPosition"> <el-radio-group v-model="form.IsCanEditPosition">
<el-radio <el-radio
v-for="item of $d.YesOrNo" v-for="item of $d.YesOrNo"
@ -71,11 +69,11 @@
>{{ item.label }}</el-radio> >{{ item.label }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:showOrder')" prop="ShowOrder"> <el-form-item label="序号" prop="ShowOrder">
<el-input v-model="form.ShowOrder" type="number" /> <el-input v-model="form.ShowOrder" type="number" />
</el-form-item> </el-form-item>
<!-- 描述 --> <!-- 描述 -->
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:remark')" prop="Remark"> <el-form-item label="描述" prop="Remark">
<el-input <el-input
v-model="form.Remark" v-model="form.Remark"
type="textarea" type="textarea"

View File

@ -3,22 +3,18 @@
<!-- 搜索框 --> <!-- 搜索框 -->
<template slot="search-container"> <template slot="search-container">
<el-form :inline="true" size="mini"> <el-form :inline="true" size="mini">
<!-- 器官类型 --> <el-form-item label="器官类型">
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:organType')">
<el-select v-model="searchData.OrganType" clearable style="width:130px;"> <el-select v-model="searchData.OrganType" clearable style="width:130px;">
<el-option v-for="item of CriterionDictionaryOrganTypeList && CriterionDictionaryOrganTypeList.OrganType" :key="item.Id" :value="parseInt(item.Code)" :label="item.ValueCN" /> <el-option v-for="item of CriterionDictionaryOrganTypeList && CriterionDictionaryOrganTypeList.OrganType" :key="item.Id" :value="parseInt(item.Code)" :label="item.ValueCN" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 部位 --> <el-form-item label="部位">
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:bodyPart')">
<el-input v-model="searchData.Part" clearable style="width:130px;" /> <el-input v-model="searchData.Part" clearable style="width:130px;" />
</el-form-item> </el-form-item>
<!-- 器官 --> <el-form-item label="器官">
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:organ')">
<el-input v-model="searchData.TULOC" clearable style="width:130px;" /> <el-input v-model="searchData.TULOC" clearable style="width:130px;" />
</el-form-item> </el-form-item>
<!-- 是否淋巴结 --> <el-form-item label="是否淋巴结">
<el-form-item :label="$t('trials:readingUnit:baseDataCfg:title:isLymphNodes')">
<el-select v-model="searchData.IsLymphNodes" clearable style="width:130px;"> <el-select v-model="searchData.IsLymphNodes" clearable style="width:130px;">
<el-option v-for="item of $d.ReadingYesOrNo" :key="item.id" :value="item.value" :label="item.label" /> <el-option v-for="item of $d.ReadingYesOrNo" :key="item.id" :value="item.value" :label="item.label" />
</el-select> </el-select>
@ -58,7 +54,7 @@
size="mini" size="mini"
@click="lesionType.visible = true" @click="lesionType.visible = true"
> >
{{ this.$t('dictionary:template:basicData:config') }} 病灶关联配置
</el-button> </el-button>
<!-- <el-button--> <!-- <el-button-->
<!-- v-if="!isCompleteConfig"--> <!-- v-if="!isCompleteConfig"-->
@ -95,7 +91,7 @@
<!-- 类型 --> <!-- 类型 -->
<el-table-column <el-table-column
prop="OrganType" prop="OrganType"
:label="$t('trials:readingUnit:baseDataCfg:title:organType')" label="器官类型"
min-width="120" min-width="120"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
@ -107,13 +103,13 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="Classification" prop="Classification"
:label="$t('trials:readingUnit:baseDataCfg:title:classification')" label="分类"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<el-table-column <el-table-column
prop="ClassificationEN" prop="ClassificationEN"
:label="$t('trials:readingUnit:baseDataCfg:title:classificationEn')" label="分类(英文)"
min-width="140" min-width="140"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
@ -121,49 +117,46 @@
<!-- 部位 --> <!-- 部位 -->
<el-table-column <el-table-column
prop="Part" prop="Part"
:label="$t('trials:readingUnit:baseDataCfg:title:bodyPart')" label="部位"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<el-table-column <el-table-column
prop="PartEN" prop="PartEN"
:label="$t('trials:readingUnit:baseDataCfg:title:bodyPartEn')" label="部位(英文)"
min-width="140" min-width="140"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<!-- 器官 -->
<el-table-column <el-table-column
prop="TULOC" prop="TULOC"
:label="$t('trials:readingUnit:baseDataCfg:title:organ')" label="器官"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<el-table-column <el-table-column
prop="TULOCEN" prop="TULOCEN"
:label="$t('trials:readingUnit:baseDataCfg:title:TULOCEN')" label="器官(英文)"
min-width="140" min-width="140"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<!-- 位置 -->
<el-table-column <el-table-column
prop="TULAT" prop="TULAT"
:label="$t('trials:readingUnit:baseDataCfg:title:TULAT')" label="位置"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<el-table-column <el-table-column
prop="TULATEN" prop="TULATEN"
:label="$t('trials:readingUnit:baseDataCfg:title:TULATEn')" label="位置(英文)"
min-width="140" min-width="140"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<!-- 是否淋巴结 -->
<el-table-column <el-table-column
prop="IsLymphNodes" prop="IsLymphNodes"
:label="$t('trials:readingUnit:baseDataCfg:title:isLymphNodes')" label="是否淋巴结"
min-width="160" min-width="160"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
@ -175,10 +168,9 @@
<el-tag v-else type="primary">{{ $fd('ReadingYesOrNo', scope.row.IsLymphNodes) }}</el-tag> <el-tag v-else type="primary">{{ $fd('ReadingYesOrNo', scope.row.IsLymphNodes) }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- 是否可以编辑 -->
<el-table-column <el-table-column
prop="IsCanEditPosition" prop="IsCanEditPosition"
:label="$t('trials:readingUnit:baseDataCfg:title:isCanEditPosition')" label="是否可以编辑"
min-width="160" min-width="160"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
@ -190,17 +182,15 @@
<el-tag v-else type="primary">{{ $fd('YesOrNo', scope.row.IsCanEditPosition) }}</el-tag> <el-tag v-else type="primary">{{ $fd('YesOrNo', scope.row.IsCanEditPosition) }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- 序号 -->
<el-table-column <el-table-column
prop="ShowOrder" prop="ShowOrder"
:label="$t('trials:readingUnit:baseDataCfg:title:showOrder')" label="序号"
show-overflow-tooltip show-overflow-tooltip
min-width="80" min-width="80"
/> />
<!-- 备注 -->
<el-table-column <el-table-column
prop="Remark" prop="Remark"
:label="$t('trials:readingUnit:baseDataCfg:title:remark')" label="备注"
show-overflow-tooltip show-overflow-tooltip
/> />
@ -213,13 +203,13 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
circle circle
:title="$t('common:button:edit')" title="编辑"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
/> />
<el-button <el-button
circle circle
:title="$t('common:button:delete')" title="删除"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
/> />
@ -237,7 +227,7 @@
:visible.sync="editDialog.visible" :visible.sync="editDialog.visible"
:close-on-click-modal="false" :close-on-click-modal="false"
:title="editDialog.title" :title="editDialog.title"
width="600px" width="500px"
custom-class="base-dialog-wrapper" custom-class="base-dialog-wrapper"
append-to-body append-to-body
> >
@ -283,9 +273,9 @@
size="small" size="small"
> >
<div class="base-dialog-body"> <div class="base-dialog-body">
<!-- 标准 --> <!-- 类型 -->
<el-form-item <el-form-item
:label="$t('trials:auditRecord:table:criterion')" label="标准"
prop="CriterionId" prop="CriterionId"
:rules="[ :rules="[
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] }, { required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] },
@ -355,8 +345,9 @@ export default {
total: 0, total: 0,
rowData: {}, rowData: {},
editDialog: { title: '', visible: false }, editDialog: { title: '', visible: false },
lesionType: { title: this.$t('dictionary:template:basicData:title1'), visible: false },// lesionType: { title: '病灶器官关联关系', visible: false },
criterion: { title: this.$t('dictionary:template:basicData:title2'), visible: false },// // lesionTypes: [],
criterion: { title: '默认数据配置', visible: false },
formLoading: false, formLoading: false,
form: { CriterionId: '' }, form: { CriterionId: '' },
criterions: [], criterions: [],
@ -391,7 +382,7 @@ export default {
TrialReadingCriterionId: this.criterionId TrialReadingCriterionId: this.criterionId
}).then(res => { }).then(res => {
this.loading = false this.loading = false
this.$message.success(this.$t('dictionary:template:basicData:message1')) this.$message.success('同步成功')
}).catch(() => { }).catch(() => {
this.loading = false this.loading = false
}) })
@ -420,18 +411,18 @@ export default {
// //
handleAdd() { handleAdd() {
this.rowData = { SystemCriterionId: this.criterionId } this.rowData = { SystemCriterionId: this.criterionId }
this.editDialog.title = this.$t('common:button:new') this.editDialog.title = '新增'
this.editDialog.visible = true this.editDialog.visible = true
}, },
// //
handleEdit(row) { handleEdit(row) {
this.rowData = { ...row } this.rowData = { ...row }
this.editDialog.title = this.$t('common:button:edit') this.editDialog.title = '编辑'
this.editDialog.visible = true this.editDialog.visible = true
}, },
// //
handleDelete(row) { handleDelete(row) {
this.$confirm(this.$t('trials:readingUnit:baseDataCfg:message:deleteConfirm'), { this.$confirm('是否确认删除', {
type: 'warning', type: 'warning',
distinguishCancelAndClose: true distinguishCancelAndClose: true
}) })
@ -442,7 +433,7 @@ export default {
this.loading = false this.loading = false
if (res.IsSuccess) { if (res.IsSuccess) {
this.getList() this.getList()
this.$message.success(this.$t('common:message:deletedSuccessfully')) this.$message.success('删除成功!')
} }
}).catch(() => { this.loading = false }) }).catch(() => { this.loading = false })
}) })

View File

@ -10,8 +10,7 @@
> >
<div class="base-dialog-body" style="height: 550px; display:flex;flex-direction: column;"> <div class="base-dialog-body" style="height: 550px; display:flex;flex-direction: column;">
<div style="height: 150px;"> <div style="height: 150px;">
<!-- 类型 --> <el-form-item label="类型" prop="Type">
<el-form-item :label="$t('trials:readingUnit:qsList:title:type')" prop="Type">
<el-select <el-select
v-model="form.Type" v-model="form.Type"
@change="((val)=>{qsTypeChange(val, form)})" @change="((val)=>{qsTypeChange(val, form)})"
@ -25,10 +24,9 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 问题名称 -->
<el-form-item <el-form-item
v-if="form.Type !== 'group'" v-if="form.Type !== 'group'"
:label="$t('trials:readingUnit:qsList:title:qsNameEn')" label="问题名称"
prop="QuestionName" prop="QuestionName"
:rules="[ :rules="[
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, { required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
@ -39,10 +37,9 @@
v-model="form.QuestionName" v-model="form.QuestionName"
/> />
</el-form-item> </el-form-item>
<!-- 问题名称EN -->
<el-form-item <el-form-item
v-if="form.Type !== 'group'" v-if="form.Type !== 'group'"
:label="$t('trials:readingUnit:qsList:title:qsNameEn')" label="问题名称EN"
prop="QuestionEnName" prop="QuestionEnName"
:rules="[ :rules="[
{ max: form.Type === 'summary' ? 300 : 100, message: `${this.$t('common:ruleMessage:maxLength')} ${form.Type === 'summary' ? 300 : 100}` } { max: form.Type === 'summary' ? 300 : 100, message: `${this.$t('common:ruleMessage:maxLength')} ${form.Type === 'summary' ? 300 : 100}` }
@ -54,10 +51,8 @@
</el-form-item> </el-form-item>
</div> </div>
<div style="flex: 1;overflow-y:auto;"> <div style="flex: 1;overflow-y:auto;">
<!-- 公有属性 --> <el-divider content-position="left">公有属性</el-divider>
<el-divider content-position="left">{{$t('trials:readingUnit:title:publicProperties')}}</el-divider> <el-form-item v-if="form.Type !== 'group'" label="是否显示" prop="ShowQuestion">
<!-- 是否显示 -->
<el-form-item v-if="form.Type !== 'group'" :label="$t('trials:readingUnit:qsList:title:isShow')" prop="ShowQuestion">
<el-radio-group <el-radio-group
v-model="form.ShowQuestion" v-model="form.ShowQuestion"
@change="((val)=>{isShowQuestionChange(val, form)})" @change="((val)=>{isShowQuestionChange(val, form)})"
@ -75,7 +70,7 @@
<!-- 显示时依赖父问题 --> <!-- 显示时依赖父问题 -->
<el-form-item <el-form-item
v-if="form.Type !== 'group' && form.ShowQuestion===1" v-if="form.Type !== 'group' && form.ShowQuestion===1"
:label="$t('trials:readingUnit:qsList:title:parentId')" label="显示依赖父问题"
prop="ParentId" prop="ParentId"
> >
<el-select <el-select
@ -92,7 +87,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 显示时依赖父问题触发值 --> <!-- 显示时依赖父问题触发值 -->
<el-form-item v-if="form.ParentId && form.ShowQuestion===1" :label="$t('trials:readingUnit:qsList:title:parentTriggerValueList')" prop="ParentTriggerValueList"> <el-form-item v-if="form.ParentId && form.ShowQuestion===1" label="显示触发值" prop="ParentTriggerValueList">
<el-select v-model="form.ParentTriggerValueList" clearable multiple> <el-select v-model="form.ParentTriggerValueList" clearable multiple>
<el-option <el-option
v-for="item of parentTriggerValOptions" v-for="item of parentTriggerValOptions"
@ -102,8 +97,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 是否必填 --> <el-form-item v-if="form.Type !== 'group' && form.Type !== 'table' && form.Type !== 'basicTable' && form.Type !== 'summary'" label="是否必填" prop="IsRequired">
<el-form-item v-if="form.Type !== 'group' && form.Type !== 'table' && form.Type !== 'basicTable' && form.Type !== 'summary'" :label="$t('trials:readingUnit:qsList:title:isRequired')" prop="IsRequired">
<el-radio-group <el-radio-group
v-model="form.IsRequired" v-model="form.IsRequired"
:disabled="form.IsJudgeQuestion===true || form.ShowQuestion===2" :disabled="form.IsJudgeQuestion===true || form.ShowQuestion===2"
@ -118,10 +112,10 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 必填依赖父问题 --> <!-- 父问题 -->
<el-form-item <el-form-item
v-if="form.Type !== 'group' && form.IsRequired === 1" v-if="form.Type !== 'group' && form.IsRequired === 1"
:label="$t('trials:readingUnit:qsList:title:relevanceId')" label="必填依赖父问题"
prop="RelevanceId" prop="RelevanceId"
> >
<el-select <el-select
@ -137,10 +131,10 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 必填触发值 --> <!-- 必填依赖的父问题触发值 -->
<el-form-item <el-form-item
v-if="form.RelevanceId && form.IsRequired === 1" v-if="form.RelevanceId && form.IsRequired === 1"
:label="$t('trials:readingUnit:qsList:title:relevanceValueList')" label="必填触发值"
prop="RelevanceValueList" prop="RelevanceValueList"
> >
<el-select v-model="form.RelevanceValueList" clearable multiple> <el-select v-model="form.RelevanceValueList" clearable multiple>
@ -188,9 +182,8 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 限制编辑 -->
<el-form-item <el-form-item
:label="$t('trials:readingUnit:qsList:title:limitEdit')" label="限制编辑"
v-if="form.Type !== 'summary'" v-if="form.Type !== 'summary'"
prop="LimitEdit" prop="LimitEdit"
:rules="[ :rules="[
@ -201,10 +194,9 @@
<el-radio v-for="item of $d.LimitEdit" :key="item.value" :label="item.value">{{ item.label }}</el-radio> <el-radio v-for="item of $d.LimitEdit" :key="item.value" :label="item.value">{{ item.label }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 问题标识 -->
<el-form-item <el-form-item
v-if="form.Type !== 'group' && form.Type !== 'summary'" v-if="form.Type !== 'group' && form.Type !== 'summary'"
:label="$t('dictionary:template:criterionConfig:table:questionMark')" label="问题标识"
prop="QuestionMark" prop="QuestionMark"
> >
<el-select <el-select
@ -219,16 +211,14 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 注释 -->
<el-form-item <el-form-item
:label="$t('trials:readingUnit:qsList:title:Remark')" label="注释"
prop="Remark" prop="Remark"
> >
<el-input v-model="form.Remark" /> <el-input v-model="form.Remark" />
</el-form-item> </el-form-item>
<!-- 序号 -->
<el-form-item <el-form-item
:label="$t('trials:readingUnit:qsList:title:order')" label="序号"
prop="ShowOrder" prop="ShowOrder"
:rules="[ :rules="[
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
@ -240,8 +230,7 @@
:min="0" :min="0"
/> />
</el-form-item> </el-form-item>
<!-- 重复出现最大次数 --> <el-form-item label="重复出现最大次数" v-if="form.Type !== 'summary' && form.Type !== 'screenshot' && form.Type !== 'upload'">
<el-form-item :label="$t('dictionary:template:criterionConfig:table:maxRowCount')" v-if="form.Type !== 'summary' && form.Type !== 'screenshot' && form.Type !== 'upload'">
<el-input-number <el-input-number
v-model="form.MaxRowCount" v-model="form.MaxRowCount"
controls-position="right" controls-position="right"
@ -249,8 +238,7 @@
:max="10" :max="10"
/> />
</el-form-item> </el-form-item>
<!-- 问题分类 --> <el-form-item label="问题分类" v-if="criterionType === 2">
<el-form-item :label="$t('dictionary:template:criterionConfig:table:questionClassify')" v-if="criterionType === 2">
<el-select v-model="form.QuestionClassify" clearable> <el-select v-model="form.QuestionClassify" clearable>
<el-option <el-option
v-for="item of $d.QuestionClassify" v-for="item of $d.QuestionClassify"
@ -260,15 +248,15 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 私有属性 -->
<el-divider content-position="left">{{$t('trials:readingUnit:title:privateProperties')}}</el-divider> <el-divider content-position="left">私有属性</el-divider>
<!-- 选项类型 --> <!-- 选项类型 -->
<el-form-item <el-form-item
v-if="form.Type === 'select' || form.Type === 'radio' || form.Type === 'input'" v-if="form.Type === 'select' || form.Type === 'radio' || form.Type === 'input'"
:label="$t('trials:readingUnit:label:QuestionGenre')" label="选项类型"
prop="TableQuestionType" prop="TableQuestionType"
:rules="[ :rules="[
{ required: form.Type !== 'input', message: this.$t('common:ruleMessage:select')} { required: form.Type !== 'input', message: '请选择'}
]" ]"
> >
<el-radio-group <el-radio-group
@ -285,22 +273,21 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 选项 -->
<el-form-item <el-form-item
v-if="form.TableQuestionType === 0 || form.Type === 'class'" v-if="form.TableQuestionType === 0 || form.Type === 'class'"
:label="$t('trials:qcCfg:table:typeValue')" label="选项"
prop="TypeValue" prop="TypeValue"
> >
<el-input <el-input
v-model="form.TypeValue" v-model="form.TypeValue"
:placeholder="$t('trials:qcCfg:message:typeValue')" placeholder="选项请用‘|’分割多个选项"
@change="typeValueChange" @change="typeValueChange"
/> />
</el-form-item> </el-form-item>
<!-- 关联问题 -->
<el-form-item <el-form-item
v-if="form.TableQuestionType === 2" v-if="form.TableQuestionType === 2"
:label="$t('dictionary:template:criterionConfig:table:dependParentId')" label="关联问题"
prop="DependParentId" prop="DependParentId"
> >
<el-select <el-select
@ -314,10 +301,9 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 关联字段 -->
<el-form-item <el-form-item
v-if="form.TableQuestionType === 1 || !!form.DependParentId" v-if="form.TableQuestionType === 1 || !!form.DependParentId"
:label="$t('dictionary:template:criterionConfig:table:dataTableColumn')" label="关联字段"
prop="DataTableColumn" prop="DataTableColumn"
> >
<el-select v-model="form.DataTableColumn"> <el-select v-model="form.DataTableColumn">
@ -329,10 +315,9 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 关联字典 -->
<el-form-item <el-form-item
v-if="form.TableQuestionType === 3 || form.TableQuestionType === 2" v-if="form.TableQuestionType === 3 || form.TableQuestionType === 2"
:label="$t('dictionary:template:criterionConfig:table:relatedDictionaryCode')" label="关联字典"
prop="DictionaryCode" prop="DictionaryCode"
:rules="[{ required: form.TableQuestionType === 3, message: '请选择', trigger: 'blur' }]" :rules="[{ required: form.TableQuestionType === 3, message: '请选择', trigger: 'blur' }]"
> >
@ -345,8 +330,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 默认值 --> <el-form-item v-if="form.TableQuestionType === 3" label="默认值">
<el-form-item v-if="form.TableQuestionType === 3" :label="$t('trials:readingUnit:qsList:title:defaultValue')">
<el-select v-model="form.DefaultValue" clearable> <el-select v-model="form.DefaultValue" clearable>
<!-- <el-option <!-- <el-option
v-for="item of form.DictionaryCode ? $d[form.DictionaryCode] : []" v-for="item of form.DictionaryCode ? $d[form.DictionaryCode] : []"
@ -362,8 +346,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 默认值 --> <el-form-item v-if="form.TableQuestionType === 0" label="默认值">
<el-form-item v-if="form.TableQuestionType === 0" :label="$t('trials:readingUnit:qsList:title:defaultValue')">
<el-select v-model="form.DefaultValue" clearable> <el-select v-model="form.DefaultValue" clearable>
<el-option <el-option
v-for="item of form.TypeValue ? form.TypeValue.split('|') : []" v-for="item of form.TypeValue ? form.TypeValue.split('|') : []"
@ -373,8 +356,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 高亮标记值 --> <el-form-item v-if="form.Type === 'select' || form.Type === 'radio'" label="高亮标记值" prop="HighlightAnswerList">
<el-form-item v-if="form.Type === 'select' || form.Type === 'radio'" :label="$t('trials:readingUnit:qsList:title:highlightAnswers')" prop="HighlightAnswerList">
<el-select v-model="form.HighlightAnswerList" clearable multiple> <el-select v-model="form.HighlightAnswerList" clearable multiple>
<template v-if="form.TypeValue"> <template v-if="form.TypeValue">
<el-option <el-option
@ -400,10 +382,9 @@
</template> </template>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 最大长度 -->
<el-form-item <el-form-item
v-if="form.Type === 'input' || form.Type === 'textarea'" v-if="form.Type === 'input' || form.Type === 'textarea'"
:label="$t('trials:readingUnit:qsList:title:MaxAnswerLength')" label="最大长度"
prop="MaxAnswerLength" prop="MaxAnswerLength"
:rules="[ :rules="[
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }
@ -427,10 +408,10 @@
<!-- 数值类型 --> <!-- 数值类型 -->
<el-form-item <el-form-item
v-if="form.Type === 'number' || form.Type === 'calculation'" v-if="form.Type === 'number' || form.Type === 'calculation'"
:label="$t('trials:readingUnit:qsList:title:valueType')" label="数值类型"
prop="ValueType" prop="ValueType"
:rules="[ :rules="[
{ required: true, message: this.$t('common:ruleMessage:select') } { required: true, message: '请选择'}
]" ]"
> >
<el-radio-group <el-radio-group
@ -446,10 +427,10 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 单位 --> <!-- 数值单位 -->
<el-form-item <el-form-item
v-if="form.Type === 'number' || form.Type === 'calculation'" v-if="form.Type === 'number' || form.Type === 'calculation'"
:label="$t('trials:readingUnit:qsList:title:unit')" label="单位"
prop="Unit" prop="Unit"
:rules="[ :rules="[
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' } { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
@ -467,10 +448,9 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 最大上传个数 -->
<el-form-item <el-form-item
v-if="form.Type === 'upload'" v-if="form.Type === 'upload'"
:label="$t('trials:readingUnit:qsList:title:imageCount')" label="最大上传个数"
prop="ImageCount" prop="ImageCount"
> >
<el-input-number <el-input-number
@ -483,7 +463,7 @@
<!-- 文件类型 --> <!-- 文件类型 -->
<el-form-item <el-form-item
v-if="form.Type === 'upload'" v-if="form.Type === 'upload'"
:label="$t('trials:readingUnit:qsList:title:FileType')" label="文件类型"
prop="FileType" prop="FileType"
:rules="[{ type: 'array', required: true, message: this.$t('common:ruleMessage:specify'), trigger: [ 'change'] }]" :rules="[{ type: 'array', required: true, message: this.$t('common:ruleMessage:specify'), trigger: [ 'change'] }]"
> >
@ -507,10 +487,9 @@
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<!-- 分类 --> <!-- 分类 -->
<!-- 分类数据来源 -->
<el-form-item <el-form-item
v-if="form.Type === 'class'" v-if="form.Type === 'class'"
:label="$t('dictionary:template:criterionConfig:table:classifyQuestion')" label="分类数据来源"
prop="ClassifyTableQuestionId" prop="ClassifyTableQuestionId"
> >
<el-select v-model="form.ClassifyTableQuestionId" clearable> <el-select v-model="form.ClassifyTableQuestionId" clearable>
@ -518,10 +497,9 @@
:value="item.Id"/> :value="item.Id"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 分类算法 -->
<el-form-item <el-form-item
v-if="form.Type === 'class'" v-if="form.Type === 'class'"
:label="$t('dictionary:template:criterionConfig:table:classifyAlgorithms')" label="分类算法"
prop="ClassifyAlgorithms" prop="ClassifyAlgorithms"
> >
<div> <div>
@ -620,7 +598,7 @@ export default {
} else { } else {
var arr = value.split('|') var arr = value.split('|')
if (new Set(arr).size !== arr.length) { if (new Set(arr).size !== arr.length) {
callback(new Error(this.$t('trials:readingUnit:qsList:message:msg0'))) callback(new Error('选项不允许存在相同值'))
} else { } else {
callback() callback()
} }
@ -671,26 +649,26 @@ export default {
}, },
rules: { rules: {
Type: [ Type: [
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' } { required: true, message: '请选择', trigger: 'blur' }
], ],
// QuestionName: [{ required: true, message: '', trigger: 'blur' }, // QuestionName: [{ required: true, message: '', trigger: 'blur' },
// { max: 300, message: ' 300' }], // { max: 300, message: ' 300' }],
TypeValue: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, TypeValue: [{ required: true, message: '请注明', trigger: 'blur' },
{ validator: validateTypeVal, trigger: 'blur' }, { validator: validateTypeVal, trigger: 'blur' },
{ max: 200, message: `${this.$t('common:ruleMessage:maxLength')} 200` }], { max: 200, message: '最大长度为 200' }],
ShowQuestion: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], ShowQuestion: [{ required: true, message: '请选择', trigger: 'blur' }],
IsRequired: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], IsRequired: [{ required: true, message: '请选择', trigger: 'blur' }],
ParentId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], ParentId: [{ required: true, message: '请选择', trigger: 'blur' }],
ParentTriggerValueList: [ ParentTriggerValueList: [
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' } { required: true, message: '请选择', trigger: 'blur' }
], ],
RelevanceId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], RelevanceId: [{ required: true, message: '请选择', trigger: 'blur' }],
RelevanceValueList: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], RelevanceValueList: [{ required: true, message: '请选择', trigger: 'blur' }],
DataTableName: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], DataTableName: [{ required: true, message: '请选择', trigger: 'blur' }],
DataTableColumn: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], DataTableColumn: [{ required: true, message: '请选择', trigger: 'blur' }],
// DictionaryCode: [{ required: true, message: '', trigger: 'blur' }], // DictionaryCode: [{ required: true, message: '', trigger: 'blur' }],
DependParentId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], DependParentId: [{ required: true, message: '请选择', trigger: 'blur' }],
// ExportIdentification: [ // ExportIdentification: [
// { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }, // { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' },
// ], // ],

View File

@ -10,7 +10,7 @@
type="primary" type="primary"
@click="handleAdd" @click="handleAdd"
> >
{{$t('common:button:new')}} 新增
</el-button> </el-button>
</div> </div>
@ -20,28 +20,24 @@
size="small" size="small"
height="500" height="500"
> >
<!-- 序号 -->
<el-table-column <el-table-column
prop="ShowOrder" prop="ShowOrder"
:label="$t('trials:qcCfg:table:order')" label="序号"
min-width="70" min-width="70"
/> />
<!-- 问题名称 -->
<el-table-column <el-table-column
prop="QuestionName" prop="QuestionName"
:label="$t('trials:readingUnit:qsList:title:qsName')" label="问题名称"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 问题名称(EN) -->
<el-table-column <el-table-column
prop="QuestionEnName" prop="QuestionEnName"
:label="$t('trials:readingUnit:qsList:title:qsNameEn')" label="问题名称(EN)"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 类型 -->
<el-table-column <el-table-column
prop="Type" prop="Type"
:label="$t('trials:readingUnit:qsList:title:type')" label="类型"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
@ -65,10 +61,9 @@
min-width="110" min-width="110"
/> />
--> -->
<!-- 是否显示 -->
<el-table-column <el-table-column
prop="ShowQuestion" prop="ShowQuestion"
:label="$t('trials:readingUnit:qsList:title:isShow')" label="是否显示"
min-width="90" min-width="90"
show-overflow-tooltip show-overflow-tooltip
> >
@ -76,10 +71,9 @@
{{ $fd('ShowQuestion',scope.row.ShowQuestion) }} {{ $fd('ShowQuestion',scope.row.ShowQuestion) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 是否必填 -->
<el-table-column <el-table-column
prop="IsRequired" prop="IsRequired"
:label="$t('trials:readingUnit:qsList:title:isRequired')" label="是否必填"
min-width="90" min-width="90"
show-overflow-tooltip show-overflow-tooltip
> >
@ -131,7 +125,7 @@
<!-- 问题标识 --> <!-- 问题标识 -->
<el-table-column <el-table-column
prop="QuestionMark" prop="QuestionMark"
:label="$t('dictionary:template:criterionConfig:table:questionMark')" label="问题标识"
width="140" width="140"
show-overflow-tooltip show-overflow-tooltip
> >
@ -184,10 +178,9 @@
</template> </template>
</el-table-column> </el-table-column>
--> -->
<!-- 最大行数 -->
<el-table-column <el-table-column
prop="MaxRowCount" prop="MaxRowCount"
:label="$t('trials:readingUnit:qsList:title:MaxRowCount')" label="最大行数"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
@ -197,7 +190,7 @@
<el-table-column <el-table-column
prop="" prop=""
:label="$t('common:action:action')" label="操作"
width="150" width="150"
show-overflow-tooltip show-overflow-tooltip
> >
@ -208,7 +201,7 @@
size="mini" size="mini"
@click="handleLook(scope.row)" @click="handleLook(scope.row)"
> >
{{ $t('trials:readingPeriod:button:view') }} 查看
</el-button> </el-button>
<el-button <el-button
v-if="!isCompleteConfig" v-if="!isCompleteConfig"
@ -216,7 +209,7 @@
size="mini" size="mini"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
> >
{{ $t('common:button:edit') }} 编辑
</el-button> </el-button>
<el-button <el-button
v-if="!isCompleteConfig" v-if="!isCompleteConfig"
@ -224,7 +217,7 @@
size="mini" size="mini"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
> >
{{ $t('common:button:delete') }} 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -302,7 +295,7 @@ export default {
handleLook(row) { handleLook(row) {
this.type = 'look' this.type = 'look'
this.rowData = { ...row } this.rowData = { ...row }
this.addOrEdit.title = this.$t('common:button:edit') this.addOrEdit.title = '编辑'
this.addOrEdit.visible = true this.addOrEdit.visible = true
}, },
getList() { getList() {
@ -315,13 +308,13 @@ export default {
handleAdd() { handleAdd() {
this.type = 'add' this.type = 'add'
this.rowData = {} this.rowData = {}
this.addOrEdit.title = this.$t('common:button:new') this.addOrEdit.title = '添加'
this.addOrEdit.visible = true this.addOrEdit.visible = true
}, },
handleEdit(row) { handleEdit(row) {
this.type = 'edit' this.type = 'edit'
this.rowData = { ...row } this.rowData = { ...row }
this.addOrEdit.title = this.$t('common:button:edit') this.addOrEdit.title = '编辑'
this.addOrEdit.visible = true this.addOrEdit.visible = true
}, },
handleDelete(row) { handleDelete(row) {
@ -336,7 +329,7 @@ export default {
this.loading = false this.loading = false
if (res.IsSuccess) { if (res.IsSuccess) {
this.getList() this.getList()
this.$message.success(this.$t('common:message:deletedSuccessfully')) this.$message.success('删除成功!')
} }
}).catch(() => { this.loading = false }) }).catch(() => { this.loading = false })
}) })