国际化更改

uat
caiyiling 2025-02-14 14:32:39 +08:00
parent 129548031c
commit 1be46686a3
14 changed files with 425 additions and 306 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -8,7 +8,8 @@
:rules="rules"
>
<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-option
v-for="item of CriterionDictionaryList.LesionType"
@ -18,7 +19,8 @@
/>
</el-select>
</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-option
v-for="item of CriterionDictionaryOrganTypeList.OrganType"

View File

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

View File

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

View File

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

View File

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

View File

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