系统标准数值问题可设为裁判问题
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
5d8c389090
commit
5bed446055
|
@ -10,7 +10,15 @@
|
||||||
>
|
>
|
||||||
<div class="base-dialog-body">
|
<div class="base-dialog-body">
|
||||||
<el-form-item label="类型" prop="Type">
|
<el-form-item label="类型" prop="Type">
|
||||||
<el-select v-model="form.Type" clearable @change="((val)=>{typeChange(val, form)})">
|
<el-select
|
||||||
|
v-model="form.Type"
|
||||||
|
clearable
|
||||||
|
@change="
|
||||||
|
(val) => {
|
||||||
|
typeChange(val, form)
|
||||||
|
}
|
||||||
|
"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of $d.Criterion_Question_Type"
|
v-for="item of $d.Criterion_Question_Type"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
|
@ -31,10 +39,7 @@
|
||||||
v-if="form.Type === 'group'"
|
v-if="form.Type === 'group'"
|
||||||
prop="GroupClassify"
|
prop="GroupClassify"
|
||||||
>
|
>
|
||||||
<el-select
|
<el-select v-model="form.GroupClassify" clearable>
|
||||||
v-model="form.GroupClassify"
|
|
||||||
clearable
|
|
||||||
>
|
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of groupClassifyList"
|
v-for="item of groupClassifyList"
|
||||||
:key="item.Id"
|
:key="item.Id"
|
||||||
|
@ -70,13 +75,9 @@
|
||||||
v-if="form.Type === 'number' || form.Type === 'calculation'"
|
v-if="form.Type === 'number' || form.Type === 'calculation'"
|
||||||
label="数值类型"
|
label="数值类型"
|
||||||
prop="ValueType"
|
prop="ValueType"
|
||||||
:rules="[
|
:rules="[{ required: true, message: '请选择' }]"
|
||||||
{ required: true, message: '请选择'}
|
|
||||||
]"
|
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group v-model="form.ValueType">
|
||||||
v-model="form.ValueType"
|
|
||||||
>
|
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.ValueType"
|
v-for="item of $d.ValueType"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
|
@ -92,9 +93,7 @@
|
||||||
v-if="form.Type === 'number' || form.Type === 'calculation'"
|
v-if="form.Type === 'number' || form.Type === 'calculation'"
|
||||||
label="单位"
|
label="单位"
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group v-model="form.Unit">
|
||||||
v-model="form.Unit"
|
|
||||||
>
|
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.ValueUnit"
|
v-for="item of $d.ValueUnit"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
|
@ -109,15 +108,12 @@
|
||||||
label="表格类型标识"
|
label="表格类型标识"
|
||||||
prop="LesionType"
|
prop="LesionType"
|
||||||
>
|
>
|
||||||
<el-select
|
<el-select v-model="form.LesionType" clearable>
|
||||||
v-model="form.LesionType"
|
|
||||||
clearable
|
|
||||||
>
|
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of lesionTypes"
|
v-for="item of lesionTypes"
|
||||||
:key="item.Code"
|
:key="item.Code"
|
||||||
:value="parseInt(item.Code)"
|
:value="parseInt(item.Code)"
|
||||||
:label="$fd('LesionType',parseInt(item.Code))"
|
:label="$fd('LesionType', parseInt(item.Code))"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -133,25 +129,27 @@
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<!-- 选项类型 -->
|
<!-- 选项类型 -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-if="form.Type === 'select' || form.Type === 'radio' || form.Type === 'calculation'"
|
v-if="
|
||||||
|
form.Type === 'select' ||
|
||||||
|
form.Type === 'radio' ||
|
||||||
|
form.Type === 'calculation'
|
||||||
|
"
|
||||||
label="选项类型"
|
label="选项类型"
|
||||||
prop="QuestionGenre"
|
prop="QuestionGenre"
|
||||||
:rules="[
|
:rules="[{ required: form.Type !== 'calculation', message: '请选择' }]"
|
||||||
{ required: form.Type !== 'calculation', message: '请选择'}
|
|
||||||
]"
|
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.QuestionGenre"
|
v-model="form.QuestionGenre"
|
||||||
@change="((val)=>{questionGenreChange(val, form)})"
|
@change="
|
||||||
|
(val) => {
|
||||||
|
questionGenreChange(val, form)
|
||||||
|
}
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio :label="-1"> 无 </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"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.value"
|
:label="item.value"
|
||||||
>
|
>
|
||||||
|
@ -183,13 +181,8 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item label="转化显示类型" prop="ConvertShowType">
|
||||||
label="转化显示类型"
|
<el-radio-group v-model="form.ConvertShowType">
|
||||||
prop="ConvertShowType"
|
|
||||||
>
|
|
||||||
<el-radio-group
|
|
||||||
v-model="form.ConvertShowType"
|
|
||||||
>
|
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.ConvertShowType"
|
v-for="item of $d.ConvertShowType"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
|
@ -200,11 +193,19 @@
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-if="form.QuestionGenre === 3 "
|
v-if="form.QuestionGenre === 3"
|
||||||
label="关联字典"
|
label="关联字典"
|
||||||
prop="DictionaryCode"
|
prop="DictionaryCode"
|
||||||
>
|
>
|
||||||
<el-select v-model="form.DictionaryCode" clearable @change="() => {form.DefaultValue = null}">
|
<el-select
|
||||||
|
v-model="form.DictionaryCode"
|
||||||
|
clearable
|
||||||
|
@change="
|
||||||
|
() => {
|
||||||
|
form.DefaultValue = null
|
||||||
|
}
|
||||||
|
"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of dicList"
|
v-for="item of dicList"
|
||||||
:key="item.Id"
|
:key="item.Id"
|
||||||
|
@ -213,10 +214,7 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item v-if="form.QuestionGenre === 3" label="默认值">
|
||||||
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 form.DictionaryCode ? $d[form.DictionaryCode] : []"
|
v-for="item of form.DictionaryCode ? $d[form.DictionaryCode] : []"
|
||||||
|
@ -226,10 +224,7 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item v-if="form.QuestionGenre === 0" label="默认值">
|
||||||
v-if="form.QuestionGenre === 0 "
|
|
||||||
label="默认值"
|
|
||||||
>
|
|
||||||
<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('|') : []"
|
||||||
|
@ -240,10 +235,18 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item v-if="form.Type !== 'group'" label="是否显示" prop="ShowQuestion">
|
<el-form-item
|
||||||
|
v-if="form.Type !== 'group'"
|
||||||
|
label="是否显示"
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.ShowQuestion"
|
v-for="item of $d.ShowQuestion"
|
||||||
|
@ -257,14 +260,18 @@
|
||||||
|
|
||||||
<!-- 显示时依赖父问题 -->
|
<!-- 显示时依赖父问题 -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-if="form.Type !== 'group' && form.ShowQuestion===1"
|
v-if="form.Type !== 'group' && form.ShowQuestion === 1"
|
||||||
label="显示依赖父问题"
|
label="显示依赖父问题"
|
||||||
prop="ParentId"
|
prop="ParentId"
|
||||||
>
|
>
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.ParentId"
|
v-model="form.ParentId"
|
||||||
clearable
|
clearable
|
||||||
@change="((val)=>{parentQuestionChange(val, form)})"
|
@change="
|
||||||
|
(val) => {
|
||||||
|
parentQuestionChange(val, form)
|
||||||
|
}
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of parentOptions"
|
v-for="item of parentOptions"
|
||||||
|
@ -275,15 +282,19 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 显示时依赖父问题触发值 -->
|
<!-- 显示时依赖父问题触发值 -->
|
||||||
<el-form-item v-if="form.ParentId && form.ShowQuestion===1" label="显示触发值" prop="ParentTriggerValueList">
|
<el-form-item
|
||||||
<!-- <el-select v-model="form.ParentTriggerValue" clearable>-->
|
v-if="form.ParentId && form.ShowQuestion === 1"
|
||||||
<!-- <el-option-->
|
label="显示触发值"
|
||||||
<!-- v-for="item of parentTriggerValOptions"-->
|
prop="ParentTriggerValueList"
|
||||||
<!-- :key="item.id"-->
|
>
|
||||||
<!-- :label="item.label"-->
|
<!-- <el-select v-model="form.ParentTriggerValue" clearable>-->
|
||||||
<!-- :value="item.value.toString()"-->
|
<!-- <el-option-->
|
||||||
<!-- />-->
|
<!-- v-for="item of parentTriggerValOptions"-->
|
||||||
<!-- </el-select>-->
|
<!-- :key="item.id"-->
|
||||||
|
<!-- :label="item.label"-->
|
||||||
|
<!-- :value="item.value.toString()"-->
|
||||||
|
<!-- />-->
|
||||||
|
<!-- </el-select>-->
|
||||||
<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"
|
||||||
|
@ -293,16 +304,44 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="form.Type === 'select' || form.Type === 'radio' || form.Type === 'calculation'" label="是否裁判问题">
|
<el-form-item
|
||||||
<el-radio-group v-model="form.IsJudgeQuestion" @change="((val)=>{isJudgeQuestionChange(val, form)})">
|
v-if="
|
||||||
<el-radio v-for="item of $d.YesOrNo" :key="`YesOrNo${item.value}`" :label="item.value">{{ item.label }}</el-radio>
|
form.Type === 'select' ||
|
||||||
|
form.Type === 'radio' ||
|
||||||
|
form.Type === 'calculation' ||
|
||||||
|
form.Type === 'number'
|
||||||
|
"
|
||||||
|
label="是否裁判问题"
|
||||||
|
>
|
||||||
|
<el-radio-group
|
||||||
|
v-model="form.IsJudgeQuestion"
|
||||||
|
@change="
|
||||||
|
(val) => {
|
||||||
|
isJudgeQuestionChange(val, form)
|
||||||
|
}
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-radio
|
||||||
|
v-for="item of $d.YesOrNo"
|
||||||
|
:key="`YesOrNo${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="form.Type !== 'group' && form.Type !== 'table'" label="是否必填" prop="IsRequired">
|
<el-form-item
|
||||||
|
v-if="form.Type !== 'group' && form.Type !== 'table'"
|
||||||
|
label="是否必填"
|
||||||
|
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"
|
||||||
@change="((val)=>{isRequiredChange(val, form)})"
|
@change="
|
||||||
|
(val) => {
|
||||||
|
isRequiredChange(val, form)
|
||||||
|
}
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.QuestionRequired"
|
v-for="item of $d.QuestionRequired"
|
||||||
|
@ -323,7 +362,11 @@
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.RelevanceId"
|
v-model="form.RelevanceId"
|
||||||
clearable
|
clearable
|
||||||
@change="((val)=>{relevanceQuestionChange(val, form)})"
|
@change="
|
||||||
|
(val) => {
|
||||||
|
relevanceQuestionChange(val, form)
|
||||||
|
}
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of parentOptions"
|
v-for="item of parentOptions"
|
||||||
|
@ -339,14 +382,14 @@
|
||||||
label="必填触发值"
|
label="必填触发值"
|
||||||
prop="RelevanceValueList"
|
prop="RelevanceValueList"
|
||||||
>
|
>
|
||||||
<!-- <el-select v-model="form.RelevanceValue" clearable>-->
|
<!-- <el-select v-model="form.RelevanceValue" clearable>-->
|
||||||
<!-- <el-option-->
|
<!-- <el-option-->
|
||||||
<!-- v-for="item of reParentTriggerValOptions"-->
|
<!-- v-for="item of reParentTriggerValOptions"-->
|
||||||
<!-- :key="item.id"-->
|
<!-- :key="item.id"-->
|
||||||
<!-- :label="item.label"-->
|
<!-- :label="item.label"-->
|
||||||
<!-- :value="item.value.toString()"-->
|
<!-- :value="item.value.toString()"-->
|
||||||
<!-- />-->
|
<!-- />-->
|
||||||
<!-- </el-select>-->
|
<!-- </el-select>-->
|
||||||
<el-select v-model="form.RelevanceValueList" clearable multiple>
|
<el-select v-model="form.RelevanceValueList" clearable multiple>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of reParentTriggerValOptions"
|
v-for="item of reParentTriggerValOptions"
|
||||||
|
@ -385,7 +428,11 @@
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
|
|
||||||
<el-form-item v-if="form.Type !== 'group'" label="问题分组">
|
<el-form-item v-if="form.Type !== 'group'" label="问题分组">
|
||||||
<el-select v-model="form.GroupId" clearable :disabled="isParentExistGroup">
|
<el-select
|
||||||
|
v-model="form.GroupId"
|
||||||
|
clearable
|
||||||
|
:disabled="isParentExistGroup"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="group of groupOptions"
|
v-for="group of groupOptions"
|
||||||
:key="group.GroupId"
|
:key="group.GroupId"
|
||||||
|
@ -396,12 +443,22 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="限制编辑">
|
<el-form-item label="限制编辑">
|
||||||
<el-radio-group v-model="form.LimitEdit">
|
<el-radio-group v-model="form.LimitEdit">
|
||||||
<el-radio v-for="item of $d.LimitEdit" :key="`LimitEdit${item.value}`" :label="item.value">{{ item.label }}</el-radio>
|
<el-radio
|
||||||
|
v-for="item of $d.LimitEdit"
|
||||||
|
:key="`LimitEdit${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="全局阅片是否显示">
|
<el-form-item label="全局阅片是否显示">
|
||||||
<el-radio-group v-model="form.GlobalReadingShowType">
|
<el-radio-group v-model="form.GlobalReadingShowType">
|
||||||
<el-radio v-for="item of $d.GlobalReadingShowType" :key="item.id" :label="item.value">{{ item.label }}</el-radio>
|
<el-radio
|
||||||
|
v-for="item of $d.GlobalReadingShowType"
|
||||||
|
:key="item.id"
|
||||||
|
: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
|
||||||
|
@ -409,10 +466,7 @@
|
||||||
v-if="form.Type !== 'group'"
|
v-if="form.Type !== 'group'"
|
||||||
prop="QuestionType"
|
prop="QuestionType"
|
||||||
>
|
>
|
||||||
<el-select
|
<el-select v-model="form.QuestionType" clearable>
|
||||||
v-model="form.QuestionType"
|
|
||||||
clearable
|
|
||||||
>
|
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of CriterionDictionaryList.QuestionType"
|
v-for="item of CriterionDictionaryList.QuestionType"
|
||||||
:key="item.Id"
|
:key="item.Id"
|
||||||
|
@ -428,9 +482,18 @@
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<el-form-item v-if="form.Type === 'upload'" label="最大上传个数">
|
<el-form-item v-if="form.Type === 'upload'" label="最大上传个数">
|
||||||
<el-input-number v-model="form.ImageCount" controls-position="right" :min="1" :max="10" />
|
<el-input-number
|
||||||
|
v-model="form.ImageCount"
|
||||||
|
controls-position="right"
|
||||||
|
:min="1"
|
||||||
|
:max="10"
|
||||||
|
/>
|
||||||
</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="高亮标记值"
|
||||||
|
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
|
||||||
|
@ -471,20 +534,23 @@
|
||||||
|
|
||||||
<el-form-item label="是否在阅片页面显示">
|
<el-form-item label="是否在阅片页面显示">
|
||||||
<el-radio-group v-model="form.IsShowInDicom">
|
<el-radio-group v-model="form.IsShowInDicom">
|
||||||
<el-radio v-for="item of $d.YesOrNo" :key="`YesOrNo${item.value}`" :label="item.value">{{ item.label }}</el-radio>
|
<el-radio
|
||||||
|
v-for="item of $d.YesOrNo"
|
||||||
|
:key="`YesOrNo${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
|
||||||
:label="$t('trials:readingUnit:qsList:title:Remark')"
|
:label="$t('trials:readingUnit:qsList:title:Remark')"
|
||||||
prop="Remark"
|
prop="Remark"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input v-model="form.Remark" />
|
||||||
v-model="form.Remark"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="base-dialog-footer" style="text-align:right;margin-top:10px;">
|
<div class="base-dialog-footer" style="text-align: right; margin-top: 10px">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<!-- 取消 -->
|
<!-- 取消 -->
|
||||||
<el-button
|
<el-button
|
||||||
|
@ -496,7 +562,12 @@
|
||||||
{{ $t('common:button:cancel') }}
|
{{ $t('common:button:cancel') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 保存 -->
|
<!-- 保存 -->
|
||||||
<el-button size="small" type="primary" :loading="btnLoading" @click="save">
|
<el-button
|
||||||
|
size="small"
|
||||||
|
type="primary"
|
||||||
|
:loading="btnLoading"
|
||||||
|
@click="save"
|
||||||
|
>
|
||||||
{{ $t('common:button:save') }}
|
{{ $t('common:button:save') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -504,20 +575,31 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getBasicConfigSelect, addOrUpdateReadingQuestionSystem, getSystemCriterionOtherQuestion, getSystemGroupNameList, getCriterionDictionary, getCriterionDictionaryList } from '@/api/dictionary'
|
import {
|
||||||
|
getBasicConfigSelect,
|
||||||
|
addOrUpdateReadingQuestionSystem,
|
||||||
|
getSystemCriterionOtherQuestion,
|
||||||
|
getSystemGroupNameList,
|
||||||
|
getCriterionDictionary,
|
||||||
|
getCriterionDictionaryList,
|
||||||
|
} from '@/api/dictionary'
|
||||||
import { getCriterionLesionType } from '@/api/trials'
|
import { getCriterionLesionType } from '@/api/trials'
|
||||||
export default {
|
export default {
|
||||||
name: 'AddOrUpdateClinicalData',
|
name: 'AddOrUpdateClinicalData',
|
||||||
props: {
|
props: {
|
||||||
data: {
|
data: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default() { return {} }
|
default() {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
type: {
|
type: {
|
||||||
type: String,
|
type: String,
|
||||||
default() { return '' }
|
default() {
|
||||||
}
|
return ''
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
var validateTypeVal = (rule, value, callback) => {
|
var validateTypeVal = (rule, value, callback) => {
|
||||||
if (value === '') {
|
if (value === '') {
|
||||||
|
@ -553,7 +635,7 @@ export default {
|
||||||
IsJudgeQuestion: false,
|
IsJudgeQuestion: false,
|
||||||
GroupName: '',
|
GroupName: '',
|
||||||
GroupEnName: '',
|
GroupEnName: '',
|
||||||
GroupClassify:null,
|
GroupClassify: null,
|
||||||
Remark: '',
|
Remark: '',
|
||||||
ImageCount: 1,
|
ImageCount: 1,
|
||||||
RelevanceId: '',
|
RelevanceId: '',
|
||||||
|
@ -570,32 +652,38 @@ export default {
|
||||||
GroupId: null,
|
GroupId: null,
|
||||||
ConvertShowType: 0,
|
ConvertShowType: 0,
|
||||||
QuestionClassify: null,
|
QuestionClassify: null,
|
||||||
HighlightAnswerList: []
|
HighlightAnswerList: [],
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
Type: [
|
Type: [{ required: true, message: '请选择', trigger: 'blur' }],
|
||||||
{ required: true, message: '请选择', trigger: 'blur' }
|
LesionType: [{ required: true, message: '请选择', trigger: 'blur' }],
|
||||||
|
QuestionName: [
|
||||||
|
{ required: true, message: '请注明', trigger: 'blur' },
|
||||||
|
{ max: 300, message: '最大长度为 300' },
|
||||||
],
|
],
|
||||||
LesionType: [
|
|
||||||
{ required: true, message: '请选择', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
QuestionName: [{ required: true, message: '请注明', trigger: 'blur' },
|
|
||||||
{ max: 300, message: '最大长度为 300' }],
|
|
||||||
QuestionGenre: [{ required: true, message: '请选择', trigger: 'blur' }],
|
QuestionGenre: [{ required: true, message: '请选择', trigger: 'blur' }],
|
||||||
TypeValue: [{ required: true, message: '请注明', trigger: 'blur' },
|
TypeValue: [
|
||||||
|
{ required: true, message: '请注明', trigger: 'blur' },
|
||||||
{ validator: validateTypeVal, trigger: 'blur' },
|
{ validator: validateTypeVal, trigger: 'blur' },
|
||||||
{ max: 500, message: '最大长度为 500' }],
|
{ max: 500, message: '最大长度为 500' },
|
||||||
DictionaryCode: [{ required: true, message: '请选择', trigger: 'blur' }],
|
],
|
||||||
|
DictionaryCode: [
|
||||||
|
{ required: true, message: '请选择', trigger: 'blur' },
|
||||||
|
],
|
||||||
ShowQuestion: [{ required: true, message: '请选择', trigger: 'blur' }],
|
ShowQuestion: [{ required: true, message: '请选择', trigger: 'blur' }],
|
||||||
IsRequired: [{ required: true, message: '请选择', trigger: 'blur' }],
|
IsRequired: [{ required: true, message: '请选择', trigger: 'blur' }],
|
||||||
ParentId: [{ required: true, message: '请选择', trigger: 'blur' }],
|
ParentId: [{ required: true, message: '请选择', trigger: 'blur' }],
|
||||||
ParentTriggerValueList: [
|
ParentTriggerValueList: [
|
||||||
{ required: true, message: '请选择', trigger: 'blur' }
|
{ required: true, message: '请选择', trigger: 'blur' },
|
||||||
],
|
],
|
||||||
RelevanceId: [{ required: true, message: '请选择', trigger: 'blur' }],
|
RelevanceId: [{ required: true, message: '请选择', trigger: 'blur' }],
|
||||||
RelevanceValueList: [{ required: true, message: '请选择', trigger: 'blur' }],
|
RelevanceValueList: [
|
||||||
GroupName: [{ required: true, message: '请注明', trigger: 'blur' },
|
{ required: true, message: '请选择', trigger: 'blur' },
|
||||||
{ max: 50, message: '最大长度为 50' }]
|
],
|
||||||
|
GroupName: [
|
||||||
|
{ required: true, message: '请注明', trigger: 'blur' },
|
||||||
|
{ max: 50, message: '最大长度为 50' },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
loading: false,
|
loading: false,
|
||||||
btnLoading: false,
|
btnLoading: false,
|
||||||
|
@ -606,8 +694,8 @@ export default {
|
||||||
lesionTypes: [],
|
lesionTypes: [],
|
||||||
dicList: [],
|
dicList: [],
|
||||||
CriterionDictionaryList: [],
|
CriterionDictionaryList: [],
|
||||||
groupClassifyList:[],
|
groupClassifyList: [],
|
||||||
highlightAnswers: []
|
highlightAnswers: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
@ -622,14 +710,14 @@ export default {
|
||||||
}
|
}
|
||||||
let res = await getCriterionDictionary({
|
let res = await getCriterionDictionary({
|
||||||
ReadingCriterionId: this.data.ReadingQuestionCriterionSystemId,
|
ReadingCriterionId: this.data.ReadingQuestionCriterionSystemId,
|
||||||
DictionaryCode: this.form.DictionaryCode
|
DictionaryCode: this.form.DictionaryCode,
|
||||||
})
|
})
|
||||||
this.highlightAnswers = res.Result[this.form.DictionaryCode]
|
this.highlightAnswers = res.Result[this.form.DictionaryCode]
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.initForm()
|
this.initForm()
|
||||||
|
@ -638,16 +726,16 @@ export default {
|
||||||
getCriterionDictionary() {
|
getCriterionDictionary() {
|
||||||
getCriterionDictionary({
|
getCriterionDictionary({
|
||||||
ReadingCriterionId: this.data.ReadingQuestionCriterionSystemId,
|
ReadingCriterionId: this.data.ReadingQuestionCriterionSystemId,
|
||||||
DictionaryCode: 'QuestionType'
|
DictionaryCode: 'QuestionType',
|
||||||
}).then(res => {
|
}).then((res) => {
|
||||||
this.CriterionDictionaryList = res.Result
|
this.CriterionDictionaryList = res.Result
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getGroupClassifyDictionary() {
|
getGroupClassifyDictionary() {
|
||||||
getCriterionDictionary({
|
getCriterionDictionary({
|
||||||
ReadingCriterionId: this.data.ReadingQuestionCriterionSystemId,
|
ReadingCriterionId: this.data.ReadingQuestionCriterionSystemId,
|
||||||
DictionaryCode: 'GroupClassify'
|
DictionaryCode: 'GroupClassify',
|
||||||
}).then(res => {
|
}).then((res) => {
|
||||||
this.groupClassifyList = res.Result.GroupClassify
|
this.groupClassifyList = res.Result.GroupClassify
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -661,37 +749,47 @@ export default {
|
||||||
this.form[k] = this.data[k]
|
this.form[k] = this.data[k]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (this.form.ParentId !== '' && this.form.ParentId !== null && this.form.GroupName !== '') {
|
if (
|
||||||
|
this.form.ParentId !== '' &&
|
||||||
|
this.form.ParentId !== null &&
|
||||||
|
this.form.GroupName !== ''
|
||||||
|
) {
|
||||||
this.isParentExistGroup = true
|
this.isParentExistGroup = true
|
||||||
}
|
}
|
||||||
if (this.form.ParentId) {
|
if (this.form.ParentId) {
|
||||||
var index = this.parentOptions.findIndex(item => {
|
var index = this.parentOptions.findIndex((item) => {
|
||||||
return item.QuestionId === this.form.ParentId
|
return item.QuestionId === this.form.ParentId
|
||||||
})
|
})
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
if (this.parentOptions[index].QuestionGenre === 3) {
|
if (this.parentOptions[index].QuestionGenre === 3) {
|
||||||
this.parentTriggerValOptions = this.$d[this.parentOptions[index].DictionaryCode]
|
this.parentTriggerValOptions =
|
||||||
|
this.$d[this.parentOptions[index].DictionaryCode]
|
||||||
} else {
|
} else {
|
||||||
const options = []
|
const options = []
|
||||||
this.parentOptions[index].TypeValue.split('|').forEach((item, index) => {
|
this.parentOptions[index].TypeValue.split('|').forEach(
|
||||||
options.push({ id: index, label: item, value: item })
|
(item, index) => {
|
||||||
})
|
options.push({ id: index, label: item, value: item })
|
||||||
|
}
|
||||||
|
)
|
||||||
this.parentTriggerValOptions = options
|
this.parentTriggerValOptions = options
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (this.form.RelevanceId) {
|
if (this.form.RelevanceId) {
|
||||||
var index = this.parentOptions.findIndex(item => {
|
var index = this.parentOptions.findIndex((item) => {
|
||||||
return item.QuestionId === this.form.RelevanceId
|
return item.QuestionId === this.form.RelevanceId
|
||||||
})
|
})
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
if (this.parentOptions[index].QuestionGenre === 3) {
|
if (this.parentOptions[index].QuestionGenre === 3) {
|
||||||
this.reParentTriggerValOptions = this.$d[this.parentOptions[index].DictionaryCode]
|
this.reParentTriggerValOptions =
|
||||||
|
this.$d[this.parentOptions[index].DictionaryCode]
|
||||||
} else {
|
} else {
|
||||||
const options = []
|
const options = []
|
||||||
this.parentOptions[index].TypeValue.split('|').forEach((item, index) => {
|
this.parentOptions[index].TypeValue.split('|').forEach(
|
||||||
options.push({ id: index, label: item, value: item })
|
(item, index) => {
|
||||||
})
|
options.push({ id: index, label: item, value: item })
|
||||||
|
}
|
||||||
|
)
|
||||||
this.reParentTriggerValOptions = options
|
this.reParentTriggerValOptions = options
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -701,18 +799,19 @@ export default {
|
||||||
this.getGroupClassifyDictionary()
|
this.getGroupClassifyDictionary()
|
||||||
},
|
},
|
||||||
save() {
|
save() {
|
||||||
this.$refs.clinicalDataForm.validate(valid => {
|
this.$refs.clinicalDataForm.validate((valid) => {
|
||||||
if (!valid) return
|
if (!valid) return
|
||||||
this.btnLoading = true
|
this.btnLoading = true
|
||||||
if (this.form.Type !== 'upload') {
|
if (this.form.Type !== 'upload') {
|
||||||
this.form.ImageCount = 0
|
this.form.ImageCount = 0
|
||||||
}
|
}
|
||||||
addOrUpdateReadingQuestionSystem(this.form).then(res => {
|
addOrUpdateReadingQuestionSystem(this.form)
|
||||||
this.btnLoading = false
|
.then((res) => {
|
||||||
this.$emit('getList')
|
this.btnLoading = false
|
||||||
this.$emit('close')
|
this.$emit('getList')
|
||||||
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
this.$emit('close')
|
||||||
})
|
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
||||||
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.btnLoading = false
|
this.btnLoading = false
|
||||||
})
|
})
|
||||||
|
@ -722,33 +821,38 @@ export default {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
var param = {
|
var param = {
|
||||||
criterionId: this.data.ReadingQuestionCriterionSystemId
|
criterionId: this.data.ReadingQuestionCriterionSystemId,
|
||||||
}
|
}
|
||||||
getSystemGroupNameList(param).then(res => {
|
getSystemGroupNameList(param)
|
||||||
this.groupOptions = res.Result
|
.then((res) => {
|
||||||
this.loading = false
|
this.groupOptions = res.Result
|
||||||
resolve()
|
this.loading = false
|
||||||
}).catch(() => {
|
resolve()
|
||||||
this.loading = false
|
})
|
||||||
reject()
|
.catch(() => {
|
||||||
})
|
this.loading = false
|
||||||
|
reject()
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getParentQuestions() {
|
getParentQuestions() {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
var param = {
|
var param = {
|
||||||
readingQuestionCriterionSystemId: this.data.ReadingQuestionCriterionSystemId,
|
readingQuestionCriterionSystemId:
|
||||||
id: this.data.Id
|
this.data.ReadingQuestionCriterionSystemId,
|
||||||
|
id: this.data.Id,
|
||||||
}
|
}
|
||||||
getSystemCriterionOtherQuestion(param).then(res => {
|
getSystemCriterionOtherQuestion(param)
|
||||||
this.parentOptions = res.Result
|
.then((res) => {
|
||||||
this.loading = false
|
this.parentOptions = res.Result
|
||||||
resolve()
|
this.loading = false
|
||||||
}).catch(() => {
|
resolve()
|
||||||
this.loading = false
|
})
|
||||||
reject()
|
.catch(() => {
|
||||||
})
|
this.loading = false
|
||||||
|
reject()
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
questionGenreChange(val, form) {
|
questionGenreChange(val, form) {
|
||||||
|
@ -819,17 +923,20 @@ export default {
|
||||||
parentQuestionChange(val, form) {
|
parentQuestionChange(val, form) {
|
||||||
this.isParentExistGroup = false
|
this.isParentExistGroup = false
|
||||||
if (val) {
|
if (val) {
|
||||||
var index = this.parentOptions.findIndex(item => {
|
var index = this.parentOptions.findIndex((item) => {
|
||||||
return item.QuestionId === val
|
return item.QuestionId === val
|
||||||
})
|
})
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
if (this.parentOptions[index].QuestionGenre === 3) {
|
if (this.parentOptions[index].QuestionGenre === 3) {
|
||||||
this.parentTriggerValOptions = this.$d[this.parentOptions[index].DictionaryCode]
|
this.parentTriggerValOptions =
|
||||||
|
this.$d[this.parentOptions[index].DictionaryCode]
|
||||||
} else {
|
} else {
|
||||||
var options = []
|
var options = []
|
||||||
this.parentOptions[index].TypeValue.split('|').forEach((item, index) => {
|
this.parentOptions[index].TypeValue.split('|').forEach(
|
||||||
options.push({ id: index, label: item, value: item })
|
(item, index) => {
|
||||||
})
|
options.push({ id: index, label: item, value: item })
|
||||||
|
}
|
||||||
|
)
|
||||||
this.parentTriggerValOptions = options
|
this.parentTriggerValOptions = options
|
||||||
}
|
}
|
||||||
if (this.parentOptions[index].GroupName) {
|
if (this.parentOptions[index].GroupName) {
|
||||||
|
@ -845,17 +952,20 @@ export default {
|
||||||
},
|
},
|
||||||
relevanceQuestionChange(val, form) {
|
relevanceQuestionChange(val, form) {
|
||||||
if (val) {
|
if (val) {
|
||||||
var index = this.parentOptions.findIndex(item => {
|
var index = this.parentOptions.findIndex((item) => {
|
||||||
return item.QuestionId === val
|
return item.QuestionId === val
|
||||||
})
|
})
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
if (this.parentOptions[index].QuestionGenre === 3) {
|
if (this.parentOptions[index].QuestionGenre === 3) {
|
||||||
this.reParentTriggerValOptions = this.$d[this.parentOptions[index].DictionaryCode]
|
this.reParentTriggerValOptions =
|
||||||
|
this.$d[this.parentOptions[index].DictionaryCode]
|
||||||
} else {
|
} else {
|
||||||
var options = []
|
var options = []
|
||||||
this.parentOptions[index].TypeValue.split('|').forEach((item, index) => {
|
this.parentOptions[index].TypeValue.split('|').forEach(
|
||||||
options.push({ id: index, label: item, value: item })
|
(item, index) => {
|
||||||
})
|
options.push({ id: index, label: item, value: item })
|
||||||
|
}
|
||||||
|
)
|
||||||
this.reParentTriggerValOptions = options
|
this.reParentTriggerValOptions = options
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -871,23 +981,24 @@ export default {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
var param = {
|
var param = {
|
||||||
SystemCriterionId: this.data.ReadingQuestionCriterionSystemId
|
SystemCriterionId: this.data.ReadingQuestionCriterionSystemId,
|
||||||
}
|
}
|
||||||
getCriterionLesionType(param).then(res => {
|
getCriterionLesionType(param)
|
||||||
this.lesionTypes = res.Result
|
.then((res) => {
|
||||||
this.loading = false
|
this.lesionTypes = res.Result
|
||||||
resolve()
|
this.loading = false
|
||||||
}).catch(() => {
|
resolve()
|
||||||
this.loading = false
|
})
|
||||||
reject()
|
.catch(() => {
|
||||||
})
|
this.loading = false
|
||||||
|
reject()
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
close() {
|
close() {
|
||||||
this.$emit('close')
|
this.$emit('close')
|
||||||
}
|
},
|
||||||
|
},
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
Loading…
Reference in New Issue