自定义阅片配置更改
continuous-integration/drone/push Build is passing Details

main
caiyiling 2025-06-06 11:15:31 +08:00
parent 45f83322ec
commit 8d5dfd0258
4 changed files with 103 additions and 16 deletions

View File

@ -752,7 +752,6 @@
>
<el-radio-group
v-model="form.ImageTool"
:disabled="form.IsRequired === 0"
@change="imageToolChange"
>
<el-radio

View File

@ -249,6 +249,8 @@
:is-from-system="isFromSystem"
:is-confirm="isConfirm"
:criterion-id="trialCriterionId"
:readingTools="readingTools"
:readingVersionEnum="readingVersionEnum"
@close="config.visible = false"
/>
</el-dialog>

View File

@ -430,21 +430,63 @@
</div>
</div>
<!-- 影像标记 -->
<el-form-item
v-if="form.Type === 'number' && !isFromSystem"
:label="$t('trials:readingUnit:qsList:title:imageMarkEnum')"
prop="ImageMarkEnum"
:rules="[
{ required: true, message: this.$t('common:ruleMessage:select')}
]"
>
<el-radio-group
v-model="form.ImageMarkEnum"
:disabled="form.IsRequired === 0"
<el-form-item
v-if="form.Type === 'number' && !isFromSystem && readingVersionEnum"
:label="$t('trials:readingUnit:qsList:title:imageMarkEnum')"
prop="ImageMarkEnum"
>
<el-radio v-for="item of $d.ImageMark" :key="item.id" :label="item.value" :disabled="form.IsRequired === 2 && item.value === 1">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-radio-group
v-model="form.ImageMarkEnum"
:disabled="form.IsRequired === 0"
@change="imageMarkEnumChange"
>
<el-radio v-for="item of $d.ImageMark" :key="item.id" :label="item.value" :disabled="form.IsRequired === 2 && item.value === 1">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<!-- 测量工具 ImageTool -->
<el-form-item
v-if="form.ImageMarkEnum === 1 || form.ImageMarkEnum === 2"
:label="$t('trials:readingUnit:qsList:title:ImageTool')"
prop="ImageTool"
:rules="[
{ required: true, message: this.$t('common:ruleMessage:select')}
]"
>
<el-radio-group
v-model="form.ImageTool"
@change="imageToolChange"
>
<el-radio
v-for="tool of readingTools"
:key="tool.toolName"
:label="tool.toolName"
>
{{ $t(tool.i18nKey) }}
</el-radio>
</el-radio-group>
</el-form-item>
<!-- 测量值 ImageToolAttribute -->
<el-form-item
v-if="form.ImageTool"
:label="$t('trials:readingUnit:qsList:title:ImageToolAttribute')"
prop="ImageToolAttribute"
:rules="[
{ required: true, message: this.$t('common:ruleMessage:select')}
]"
>
<el-radio-group
v-model="form.ImageToolAttribute"
>
<el-radio
v-for="i of imageToolAttributes"
:key="i"
:label="i"
>
{{ i }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
v-if="(form.Type === 'select' || form.Type === 'radio' || form.Type === 'input') && isFromSystem"
:label="$t('trials:readingUnit:label:QuestionGenre')"
@ -863,6 +905,16 @@ export default {
type: {
type: String,
required: true
},
readingTools: {
type: Array,
default() {
return []
}
},
readingVersionEnum: {
type: Number,
default: 0
}
},
@ -912,9 +964,12 @@ export default {
ClassifyType: null,
ClassifyEditType: null,
ClassifyShowType: null,
ImageMarkEnum: 0
ImageMarkEnum: 0,
ImageTool: '',
ImageToolAttribute: '',
// IsEnable: true
},
imageToolAttributes: [],
rules: {
Type: [
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }
@ -1188,6 +1243,9 @@ export default {
}
}
}
if (this.form.ImageTool) {
this.imageToolChange(this.form.ImageTool)
}
}
if (this.form.ClassifyTableQuestionId) {
this.classifyQuestionChange(this.form.ClassifyTableQuestionId)
@ -1293,6 +1351,19 @@ export default {
form.ImageMarkEnum = 0
}
},
imageMarkEnumChange(val) {
if (val === 0) {
this.form.ImageTool = ''
this.form.ImageToolAttribute = ''
this.imageToolAttributes = []
}
},
imageToolChange(v) {
let i = this.readingTools.findIndex(tool=>tool.toolName === v)
if (i > -1) {
this.imageToolAttributes = this.readingTools[i].props
}
},
async parentQuestionChange(val, form) {
if (val) {
var index = this.parentOptions.findIndex(item => {
@ -1402,6 +1473,9 @@ export default {
form.ClassifyType = null
form.ClassifyShowType = null
form.ImageMarkEnum = 0
form.ImageTool = ''
form.ImageToolAttribute = ''
this.imageToolAttributes = []
},
close() {
this.$emit('close')

View File

@ -202,6 +202,8 @@
:digit-places="digitPlaces"
:reading-question-id="readingQuestionId"
:criterion-id="criterionId"
:readingTools="readingTools"
:readingVersionEnum="readingVersionEnum"
@close="addOrEdit.visible = false"
@getList="getList"
/>
@ -241,6 +243,16 @@ export default {
criterionId: {
type: String,
required: true
},
readingTools: {
type: Array,
default() {
return []
}
},
readingVersionEnum: {
type: Number,
default: 0
}
},