系统标准数值问题可设为裁判问题
continuous-integration/drone/push Build is passing Details

uat_us
DESKTOP-6C3NK6N\WXS 2024-09-06 15:13:46 +08:00
parent 5d8c389090
commit 5bed446055
1 changed files with 290 additions and 179 deletions

View File

@ -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>