Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is running
Details
continuous-integration/drone/push Build is running
Details
commit
3a546e6e89
|
|
@ -2,39 +2,101 @@
|
||||||
<el-form ref="equipmentForm" :model="form" :rules="rules" label-width="150px">
|
<el-form ref="equipmentForm" :model="form" :rules="rules" label-width="150px">
|
||||||
<div class="base-dialog-body">
|
<div class="base-dialog-body">
|
||||||
<!-- 扫描设备 -->
|
<!-- 扫描设备 -->
|
||||||
<el-form-item :label="$t('trials:equiptResearch:form:equipment')" prop="EquipmentTypeId">
|
<el-form-item :label="$t('trials:equiptResearch:form:equipment')" prop="EquipmentTypeId"
|
||||||
<el-select
|
v-if="EquipmentControlFieldList.includes('EquipmentTypeEnum')">
|
||||||
v-model="form.EquipmentTypeId"
|
<div style="display: flex;align-items: center;">
|
||||||
style="width:100%"
|
<el-select v-model="form.EquipmentTypeEnum" style="width:100%" @change="form.OtherEquipmentType = null">
|
||||||
>
|
<el-option v-for="item of $d.SiteSurvey_ScanEquipmentType" :key="item.id" :label="item.label"
|
||||||
<!-- <el-option
|
:value="item.value" />
|
||||||
v-for="item of dictionaryList.SiteSurvey_ScanEquipmentType"
|
</el-select>
|
||||||
:key="item.Id"
|
<el-input placeholder="" v-model="form.OtherEquipmentType" style="margin-left: 10px;"
|
||||||
:label="item.Value"
|
v-if="form.EquipmentTypeEnum == '-1'" clearable>
|
||||||
:value="item.Id"
|
</el-input>
|
||||||
/> -->
|
</div>
|
||||||
<el-option
|
|
||||||
v-for="item of $d.SiteSurvey_ScanEquipmentType"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.label"
|
|
||||||
:value="item.id"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 扫描参数 -->
|
<!-- 扫描参数 -->
|
||||||
<el-form-item v-if="isShowParameters" :label="$t('trials:equiptResearch:form:param')">
|
<el-form-item :label="$t('trials:equiptResearch:form:param')"
|
||||||
|
v-if="EquipmentControlFieldList.includes('Parameters')">
|
||||||
<el-input v-model="form.Parameters" />
|
<el-input v-model="form.Parameters" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 扫描仪器制造商名称 -->
|
<!-- 扫描仪器制造商名称 -->
|
||||||
<el-form-item :label="$t('trials:equiptResearch:form:manufacturer')">
|
<el-form-item :label="$t('trials:equiptResearch:form:manufacturer')"
|
||||||
<el-input v-model="form.ManufacturerName" />
|
v-if="EquipmentControlFieldList.includes('ManufacturerType')">
|
||||||
|
<div style="display: flex;align-items: center;">
|
||||||
|
<el-select v-model="form.ManufacturerType" style="width:100%" @change="form.ManufacturerName = null">
|
||||||
|
<el-option v-for="item of $d.ManufacturerType" :key="item.id" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
<el-input placeholder="" v-model="form.ManufacturerName" style="margin-left: 10px;"
|
||||||
|
v-if="form.ManufacturerType == '-1'" clearable>
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 扫描仪型号 -->
|
<!-- 扫描仪型号 -->
|
||||||
<el-form-item :label="$t('trials:equiptResearch:form:model')">
|
<el-form-item :label="$t('trials:equiptResearch:form:model')"
|
||||||
|
v-if="EquipmentControlFieldList.includes('ScannerType')">
|
||||||
<el-input v-model="form.ScannerType" />
|
<el-input v-model="form.ScannerType" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- 磁场强度 -->
|
||||||
|
<el-form-item :label="$t('trials:equiptResearch:form:MagneticFieldStrengthType')"
|
||||||
|
v-if="EquipmentControlFieldList.includes('MagneticFieldStrengthType')">
|
||||||
|
<el-select v-model="form.MagneticFieldStrengthType" style="width:100%">
|
||||||
|
<el-option v-for="item of $d.MagneticFieldStrengthType" :key="item.id" :label="item.label"
|
||||||
|
:value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- 体部线圈通道数 -->
|
||||||
|
<el-form-item :label="$t('trials:equiptResearch:form:BodyCoilChannelCount')"
|
||||||
|
v-if="EquipmentControlFieldList.includes('BodyCoilChannelCount')">
|
||||||
|
<el-select v-model="form.BodyCoilChannelCount" style="width:100%">
|
||||||
|
<el-option v-for="item of $d.BodyCoilChannelCount" :key="item.id" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- 是否具备专用的PDFF脂肪定量序列(CSE-MRI序列) -->
|
||||||
|
<el-form-item :label="$t('trials:equiptResearch:form:HasDedicatedPdfFatQuantificationSequence')"
|
||||||
|
v-if="EquipmentControlFieldList.includes('HasDedicatedPdfFatQuantificationSequence')">
|
||||||
|
<el-select v-model="form.HasDedicatedPdfFatQuantificationSequence" style="width:100%">
|
||||||
|
<el-option v-for="item of $d.YesOrNo" :key="item.id" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- 是否具备专用的PDFF脂肪定量序列(CSE-MRI序列) -->
|
||||||
|
<el-form-item :label="$t('trials:equiptResearch:form:HasDedicatedPdfFatQuantificationSequence')"
|
||||||
|
v-if="EquipmentControlFieldList.includes('HasDedicatedPdfFatQuantificationSequence')">
|
||||||
|
<el-select v-model="form.HasDedicatedPdfFatQuantificationSequence" style="width:100%"
|
||||||
|
@change="form.PdfFatQuantificationSequenceType = null, form.OtherSequenceSpecification = null">
|
||||||
|
<el-option v-for="item of $d.YesOrNo" :key="item.id" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- PDFF脂肪定量序列 -->
|
||||||
|
<el-form-item :label="$t('trials:equiptResearch:form:PdfFatQuantificationSequenceType')"
|
||||||
|
v-if="form.HasDedicatedPdfFatQuantificationSequence && EquipmentControlFieldList.includes('PdfFatQuantificationSequenceType')">
|
||||||
|
<div style="display: flex;align-items: center;">
|
||||||
|
<el-select v-model="form.PdfFatQuantificationSequenceType" style="width:100%"
|
||||||
|
@change="form.OtherSequenceSpecification = null">
|
||||||
|
<el-option v-for="item of $d.PdfFatQuantificationSequenceType" :key="item.id" :label="item.label"
|
||||||
|
:value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
<el-input placeholder="" v-model="form.OtherSequenceSpecification" style="margin-left: 10px;"
|
||||||
|
v-if="form.PdfFatQuantificationSequenceType == '-1'" clearable>
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- 是否包含 T2/R2 校正(用于铁沉积校正) -->
|
||||||
|
<el-form-item :label="$t('trials:equiptResearch:form:HasT2R2Correction')"
|
||||||
|
v-if="EquipmentControlFieldList.includes('HasT2R2Correction')">
|
||||||
|
<el-select v-model="form.HasT2R2Correction" style="width:100%">
|
||||||
|
<el-option v-for="item of $d.YesOrNo" :key="item.id" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- 是否可完整导出 PDFF 参数图及全部原始 DICOM 数据 -->
|
||||||
|
<el-form-item :label="$t('trials:equiptResearch:form:CanFullyExportPdfParameterMapsAndRawDicom')"
|
||||||
|
v-if="EquipmentControlFieldList.includes('CanFullyExportPdfParameterMapsAndRawDicom')">
|
||||||
|
<el-select v-model="form.CanFullyExportPdfParameterMapsAndRawDicom" style="width:100%">
|
||||||
|
<el-option v-for="item of $d.YesOrNo" :key="item.id" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<!-- 备注 -->
|
<!-- 备注 -->
|
||||||
<el-form-item :label="$t('trials:equiptResearch:form:remark')">
|
<el-form-item :label="$t('trials:equiptResearch:form:remark')"
|
||||||
|
v-if="EquipmentControlFieldList.includes('Note')">
|
||||||
<el-input v-model="form.Note" />
|
<el-input v-model="form.Note" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -69,24 +131,35 @@ export default {
|
||||||
type: String,
|
type: String,
|
||||||
default: ''
|
default: ''
|
||||||
},
|
},
|
||||||
isShowParameters: {
|
EquipmentControlFieldList: {
|
||||||
type: Boolean,
|
type: Array,
|
||||||
default: false
|
default: () => {
|
||||||
|
return []
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
form: {
|
form: {
|
||||||
Id: '',
|
Id: '',
|
||||||
EquipmentTypeId: '',
|
EquipmentTypeEnum: null,
|
||||||
Parameters: '',
|
OtherEquipmentType: null,
|
||||||
ManufacturerName: '',
|
Parameters: null,
|
||||||
ScannerType: '',
|
Note: null,
|
||||||
Note: '',
|
ManufacturerType: null,
|
||||||
|
ManufacturerName: null,
|
||||||
|
ScannerType: null,
|
||||||
|
MagneticFieldStrengthType: null,
|
||||||
|
BodyCoilChannelCount: null,
|
||||||
|
HasDedicatedPdfFatQuantificationSequence: null,
|
||||||
|
PdfFatQuantificationSequenceType: null,
|
||||||
|
OtherSequenceSpecification: null,
|
||||||
|
HasT2R2Correction: null,
|
||||||
|
CanFullyExportPdfParameterMapsAndRawDicom: null,
|
||||||
TrialSiteSurveyId: ''
|
TrialSiteSurveyId: ''
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
EquipmentTypeId: [
|
EquipmentTypeEnum: [
|
||||||
{ required: true, message: this.$t('trials:researchForm:formRule:select'), trigger: ['blur', 'change'] }
|
{ required: true, message: this.$t('trials:researchForm:formRule:select'), trigger: ['blur', 'change'] }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -2,63 +2,88 @@
|
||||||
<div class="equipment-wrapper">
|
<div class="equipment-wrapper">
|
||||||
<div class="header-wrapper">
|
<div class="header-wrapper">
|
||||||
<!-- 新增 -->
|
<!-- 新增 -->
|
||||||
<el-button
|
<el-button v-if="state === 0 && userTypeEnumInt === 0 && !isHistory && EquipmentControlFieldList.length > 0"
|
||||||
v-if="state === 0 && userTypeEnumInt === 0 && !isHistory"
|
size="small" type="primary" @click="handleAdd">
|
||||||
size="small"
|
|
||||||
type="primary"
|
|
||||||
@click="handleAdd"
|
|
||||||
>
|
|
||||||
{{ $t('common:button:add') }}
|
{{ $t('common:button:add') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-table
|
<el-table v-loading="loading" :data="list" border style="width: 100%">
|
||||||
v-loading="loading"
|
|
||||||
:data="list"
|
|
||||||
border
|
|
||||||
style="width: 100%"
|
|
||||||
>
|
|
||||||
<!-- 扫描设备 -->
|
<!-- 扫描设备 -->
|
||||||
<el-table-column
|
<el-table-column v-if="EquipmentControlFieldList.includes('EquipmentTypeEnum')" prop="EquipmentTypeEnum"
|
||||||
prop="EquipmentType"
|
:label="$t('trials:equiptResearch:form:equipment')" min-width="120" show-overflow-tooltip>
|
||||||
:label="$t('trials:equiptResearch:form:equipment')"
|
<template slot-scope="scope">
|
||||||
min-width="120"
|
{{ scope.row.OtherEquipmentType ? scope.row.OtherEquipmentType :
|
||||||
show-overflow-tooltip
|
$fd('SiteSurvey_ScanEquipmentType', scope.row.EquipmentTypeEnum) }}
|
||||||
/>
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- 扫描参数 -->
|
<!-- 扫描参数 -->
|
||||||
<el-table-column
|
<el-table-column v-if="EquipmentControlFieldList.includes('Parameters')" prop="Parameters"
|
||||||
v-if="isShowParameters"
|
:label="$t('trials:equiptResearch:form:param')" min-width="100" show-overflow-tooltip />
|
||||||
prop="Parameters"
|
|
||||||
:label="$t('trials:equiptResearch:form:param')"
|
|
||||||
min-width="100"
|
|
||||||
show-overflow-tooltip
|
|
||||||
/>
|
|
||||||
<!-- 扫描仪器制造商名称 -->
|
<!-- 扫描仪器制造商名称 -->
|
||||||
<el-table-column
|
<el-table-column v-if="EquipmentControlFieldList.includes('ManufacturerType')" min-width="120"
|
||||||
min-width="120"
|
prop="ManufacturerType" :label="$t('trials:equiptResearch:form:manufacturer')" show-overflow-tooltip>
|
||||||
prop="ManufacturerName"
|
<template slot-scope="scope">
|
||||||
:label="$t('trials:equiptResearch:form:manufacturer')"
|
{{ scope.row.ManufacturerName ? scope.row.ManufacturerName : $fd('ManufacturerType',
|
||||||
show-overflow-tooltip
|
scope.row.ManufacturerType) }}
|
||||||
/>
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- 扫描仪型号 -->
|
<!-- 扫描仪型号 -->
|
||||||
<el-table-column
|
<el-table-column v-if="EquipmentControlFieldList.includes('ScannerType')" min-width="120" prop="ScannerType"
|
||||||
min-width="120"
|
:label="$t('trials:equiptResearch:form:model')" show-overflow-tooltip />
|
||||||
prop="ScannerType"
|
<!-- 磁场强度 -->
|
||||||
:label="$t('trials:equiptResearch:form:model')"
|
<el-table-column v-if="EquipmentControlFieldList.includes('MagneticFieldStrengthType')" min-width="120"
|
||||||
show-overflow-tooltip
|
prop="MagneticFieldStrengthType" :label="$t('trials:equiptResearch:form:MagneticFieldStrengthType')"
|
||||||
/>
|
show-overflow-tooltip>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ $fd('MagneticFieldStrengthType', scope.row.MagneticFieldStrengthType) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- 体部线圈通道数 -->
|
||||||
|
<el-table-column v-if="EquipmentControlFieldList.includes('BodyCoilChannelCount')" min-width="120"
|
||||||
|
prop="BodyCoilChannelCount" :label="$t('trials:equiptResearch:form:BodyCoilChannelCount')"
|
||||||
|
show-overflow-tooltip>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ $fd('BodyCoilChannelCount', scope.row.BodyCoilChannelCount) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- 是否具备专用的PDFF脂肪定量序列(CSE-MRI序列) -->
|
||||||
|
<el-table-column v-if="EquipmentControlFieldList.includes('HasDedicatedPdfFatQuantificationSequence')"
|
||||||
|
min-width="120" prop="HasDedicatedPdfFatQuantificationSequence"
|
||||||
|
:label="$t('trials:equiptResearch:form:HasDedicatedPdfFatQuantificationSequence')" show-overflow-tooltip>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ $fd('YesOrNo', scope.row.HasDedicatedPdfFatQuantificationSequence) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- 专用的PDFF脂肪定量序列类型 -->
|
||||||
|
<el-table-column v-if="EquipmentControlFieldList.includes('PdfFatQuantificationSequenceType')" min-width="120"
|
||||||
|
prop="PdfFatQuantificationSequenceType"
|
||||||
|
:label="$t('trials:equiptResearch:form:PdfFatQuantificationSequenceType')" show-overflow-tooltip><template
|
||||||
|
slot-scope="scope">
|
||||||
|
{{ scope.row.OtherSequenceSpecification ? scope.row.OtherSequenceSpecification :
|
||||||
|
$fd('PdfFatQuantificationSequenceType', scope.row.PdfFatQuantificationSequenceType) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- 是否包含 T2/R2 校正(用于铁沉积校正) -->
|
||||||
|
<el-table-column v-if="EquipmentControlFieldList.includes('HasT2R2Correction')" min-width="120"
|
||||||
|
prop="HasT2R2Correction" :label="$t('trials:equiptResearch:form:HasT2R2Correction')" show-overflow-tooltip>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ $fd('YesOrNo', scope.row.HasT2R2Correction) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- 是否可完整导出 PDFF 参数图及全部原始 DICOM 数据 -->
|
||||||
|
<el-table-column v-if="EquipmentControlFieldList.includes('CanFullyExportPdfParameterMapsAndRawDicom')"
|
||||||
|
prop="CanFullyExportPdfParameterMapsAndRawDicom"
|
||||||
|
:label="$t('trials:equiptResearch:form:CanFullyExportPdfParameterMapsAndRawDicom')" min-width="120"
|
||||||
|
show-overflow-tooltip>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ $fd('YesOrNo', scope.row.CanFullyExportPdfParameterMapsAndRawDicom) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- 备注 -->
|
<!-- 备注 -->
|
||||||
<el-table-column
|
<el-table-column v-if="EquipmentControlFieldList.includes('Note')" min-width="120" prop="Note"
|
||||||
min-width="120"
|
:label="$t('trials:equiptResearch:form:precautions')" show-overflow-tooltip />
|
||||||
prop="Note"
|
<el-table-column v-if="state === 0 && userTypeEnumInt === 0 && !isHistory" fixed="right"
|
||||||
:label="$t('trials:equiptResearch:form:precautions')"
|
:label="$t('common:action:action')" width="100">
|
||||||
show-overflow-tooltip
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
v-if="state === 0 && userTypeEnumInt === 0 && !isHistory"
|
|
||||||
fixed="right"
|
|
||||||
:label="$t('common:action:action')"
|
|
||||||
width="100"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<!-- 编辑 -->
|
<!-- 编辑 -->
|
||||||
<el-button type="text" size="small" @click="handleEdit(scope.row)">
|
<el-button type="text" size="small" @click="handleEdit(scope.row)">
|
||||||
|
|
@ -73,16 +98,10 @@
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<!-- 新增/编辑人员信息 -->
|
<!-- 新增/编辑人员信息 -->
|
||||||
<el-dialog
|
<el-dialog v-if="editVisible" :visible.sync="editVisible" :close-on-click-modal="false" :title="title" width="600px"
|
||||||
v-if="editVisible"
|
custom-class="base-dialog-wrapper" :append-to-body="userTypeEnumInt !== 0">
|
||||||
:visible.sync="editVisible"
|
<EquipmentForm :data="rowData" :trial-site-survey-equipment-type="trialSiteSurveyEquipmentType"
|
||||||
:close-on-click-modal="false"
|
:EquipmentControlFieldList="EquipmentControlFieldList" @getList="getList" @close="closeDialog" />
|
||||||
:title="title"
|
|
||||||
width="600px"
|
|
||||||
custom-class="base-dialog-wrapper"
|
|
||||||
:append-to-body="userTypeEnumInt !== 0"
|
|
||||||
>
|
|
||||||
<EquipmentForm :data="rowData" :trial-site-survey-equipment-type="trialSiteSurveyEquipmentType" :is-show-parameters="isShowParameters" @getList="getList" @close="closeDialog" />
|
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -115,7 +134,7 @@ export default {
|
||||||
state: null,
|
state: null,
|
||||||
trialSiteSurveyId: '',
|
trialSiteSurveyId: '',
|
||||||
trialId: '',
|
trialId: '',
|
||||||
isShowParameters: false
|
EquipmentControlFieldList: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
@ -160,10 +179,14 @@ export default {
|
||||||
this.$message.success(this.$t('trials:equiptResearch:message:delSuccessfully'))
|
this.$message.success(this.$t('trials:equiptResearch:message:delSuccessfully'))
|
||||||
}
|
}
|
||||||
}).catch(() => { this.loading = false })
|
}).catch(() => { this.loading = false })
|
||||||
}).catch(() => {})
|
}).catch(() => { })
|
||||||
},
|
},
|
||||||
initList(TrialSiteEquipmentSurveyList, trialSiteSurvey, isShowParameters) {
|
initList(TrialSiteEquipmentSurveyList, trialSiteSurvey, EquipmentControlFieldList) {
|
||||||
this.isShowParameters = isShowParameters
|
this.EquipmentControlFieldList = []
|
||||||
|
EquipmentControlFieldList.forEach(item => {
|
||||||
|
this.EquipmentControlFieldList.push(item.FiledName)
|
||||||
|
})
|
||||||
|
console.log(this.EquipmentControlFieldList, 'this.EquipmentControlFieldList')
|
||||||
this.list = TrialSiteEquipmentSurveyList
|
this.list = TrialSiteEquipmentSurveyList
|
||||||
this.state = trialSiteSurvey.State
|
this.state = trialSiteSurvey.State
|
||||||
this.$forceUpdate()
|
this.$forceUpdate()
|
||||||
|
|
@ -176,8 +199,8 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.equipment-wrapper{
|
.equipment-wrapper {
|
||||||
.header-wrapper{
|
.header-wrapper {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -175,7 +175,7 @@ export default {
|
||||||
this.$refs['historicalParticipant'].initList(historicalArr, res.Result.TrialSiteSurvey)
|
this.$refs['historicalParticipant'].initList(historicalArr, res.Result.TrialSiteSurvey)
|
||||||
this.$refs['researchParticipants'].initList(newArr, res.Result.TrialSiteSurvey)
|
this.$refs['researchParticipants'].initList(newArr, res.Result.TrialSiteSurvey)
|
||||||
// this.$refs['researchParticipants'].initList(res.Result.TrialSiteUserSurveyList, res.Result.TrialSiteSurvey)
|
// this.$refs['researchParticipants'].initList(res.Result.TrialSiteUserSurveyList, res.Result.TrialSiteSurvey)
|
||||||
this.$refs['researchEquipments'].initList(res.Result.TrialSiteEquipmentSurveyList, res.Result.TrialSiteSurvey, !(res.Result.SiteSurveyFiledConfig && res.Result.SiteSurveyFiledConfig.ModifyFiledList.length > 0))
|
this.$refs['researchEquipments'].initList(res.Result.TrialSiteEquipmentSurveyList, res.Result.TrialSiteSurvey, res.Result.SiteSurveyFiledConfig.EquipmentControlFieldList)
|
||||||
this.isExistIncorrect = res.Result.TrialSiteUserSurveyList.every(item => item.IsCorrect === false)
|
this.isExistIncorrect = res.Result.TrialSiteUserSurveyList.every(item => item.IsCorrect === false)
|
||||||
}
|
}
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<!-- <TopLang style="position: fixed;top: 40px;right: 40px" /> -->
|
<!-- <TopLang style="position: fixed;top: 40px;right: 40px" /> -->
|
||||||
<div style="display: flex;justify-content: space-between;" v-if="!isPreview">
|
<div style="display: flex;justify-content: space-between;" v-if="!isPreview">
|
||||||
<div>{{ $t('trials:researchForm:title:researchSurveyStatus') }} <el-tag>{{ $fd('ResearchRecord', state)
|
<div>{{ $t('trials:researchForm:title:researchSurveyStatus') }} <el-tag>{{ $fd('ResearchRecord', state)
|
||||||
}}</el-tag></div>
|
}}</el-tag></div>
|
||||||
<div>
|
<div>
|
||||||
<!-- 提交 -->
|
<!-- 提交 -->
|
||||||
<el-button v-if="(state === 0 && userTypeEnumInt === 0)" type="primary" size="small"
|
<el-button v-if="(state === 0 && userTypeEnumInt === 0)" type="primary" size="small"
|
||||||
|
|
@ -209,7 +209,7 @@ export default {
|
||||||
|
|
||||||
this.$refs['historicalParticipant'].initList(historicalArr, res.Result.TrialSiteSurvey)
|
this.$refs['historicalParticipant'].initList(historicalArr, res.Result.TrialSiteSurvey)
|
||||||
this.$refs['researchParticipants'].initList(newArr, res.Result.TrialSiteSurvey)
|
this.$refs['researchParticipants'].initList(newArr, res.Result.TrialSiteSurvey)
|
||||||
this.$refs['researchEquipments'].initList(res.Result.TrialSiteEquipmentSurveyList, res.Result.TrialSiteSurvey, !(res.Result.SiteSurveyFiledConfig && res.Result.SiteSurveyFiledConfig.ModifyFiledList.length > 0))
|
this.$refs['researchEquipments'].initList(res.Result.TrialSiteEquipmentSurveyList, res.Result.TrialSiteSurvey, res.Result.SiteSurveyFiledConfig.EquipmentControlFieldList)
|
||||||
this.isExistIncorrect = res.Result.TrialSiteUserSurveyList.every(item => item.IsCorrect === false)
|
this.isExistIncorrect = res.Result.TrialSiteUserSurveyList.every(item => item.IsCorrect === false)
|
||||||
}
|
}
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
|
|
||||||
|
|
@ -33,17 +33,83 @@
|
||||||
</div>
|
</div>
|
||||||
<el-form size="small" :model="form" style="width:80%">
|
<el-form size="small" :model="form" style="width:80%">
|
||||||
<el-form-item :label="$t('trials:researchRecord:ImageManual:Equipment')">
|
<el-form-item :label="$t('trials:researchRecord:ImageManual:Equipment')">
|
||||||
<el-radio-group v-model="form.IsCloseEquipmentSurvey">
|
<el-radio-group v-model="form.IsCloseEquipmentSurvey" @input="handleInput">
|
||||||
<el-radio :label="item.value" v-for="item in $d.YesOrNo" :key="item.id">{{ item.label
|
<el-radio :label="item.value" v-for="item in $d.YesOrNo" :key="item.id">{{ item.label
|
||||||
}}</el-radio>
|
}}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
<div style="margin-bottom: 20px;font-weight: bold;">
|
||||||
|
{{ $t("trials:researchRecord:ImageManual:EquipmentConfig") }}
|
||||||
|
</div>
|
||||||
|
<el-form size="small" :model="EquipmentForm" style="width:80%" v-if="form.IsCloseEquipmentSurvey">
|
||||||
|
<el-form-item>
|
||||||
|
<el-checkbox v-model="EquipmentForm.EquipmentTypeEnum">
|
||||||
|
{{ $t('trials:researchForm:form:EquipmentTypeEnum') }}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-checkbox v-model="EquipmentForm.Parameters">
|
||||||
|
{{ $t('trials:researchForm:form:Parameters') }}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-checkbox v-model="EquipmentForm.ManufacturerType">
|
||||||
|
{{ $t('trials:researchForm:form:ManufacturerType') }}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-checkbox v-model="EquipmentForm.ScannerType">
|
||||||
|
{{ $t('trials:researchForm:form:ScannerType') }}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-checkbox v-model="EquipmentForm.MagneticFieldStrengthType">
|
||||||
|
{{ $t('trials:researchForm:form:MagneticFieldStrengthType') }}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-checkbox v-model="EquipmentForm.BodyCoilChannelCount">
|
||||||
|
{{ $t('trials:researchForm:form:BodyCoilChannelCount') }}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-checkbox v-model="EquipmentForm.HasDedicatedPdfFatQuantificationSequence"
|
||||||
|
@change="EquipmentForm.PdfFatQuantificationSequenceType = false">
|
||||||
|
{{ $t('trials:researchForm:form:HasDedicatedPdfFatQuantificationSequence') }}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item v-if="EquipmentForm.HasDedicatedPdfFatQuantificationSequence">
|
||||||
|
<el-checkbox v-model="EquipmentForm.PdfFatQuantificationSequenceType">
|
||||||
|
{{ $t('trials:researchForm:form:PdfFatQuantificationSequenceType') }}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-checkbox v-model="EquipmentForm.HasT2R2Correction">
|
||||||
|
{{ $t('trials:researchForm:form:HasT2R2Correction') }}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-checkbox v-model="EquipmentForm.CanFullyExportPdfParameterMapsAndRawDicom">
|
||||||
|
{{ $t('trials:researchForm:form:CanFullyExportPdfParameterMapsAndRawDicom') }}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-checkbox v-model="EquipmentForm.Note">
|
||||||
|
{{ $t('trials:researchForm:form:Note') }}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
<div style="margin-bottom: 20px;font-weight: bold;">
|
<div style="margin-bottom: 20px;font-weight: bold;">
|
||||||
{{ $t("trials:researchRecord:ImageManual:Precautions") }}
|
{{ $t("trials:researchRecord:ImageManual:Precautions") }}
|
||||||
</div>
|
</div>
|
||||||
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 99 }" placeholder=""
|
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 99 }" placeholder=""
|
||||||
v-model="form.ReplaceContent" @input="handleInput" style="width: 70%;" />
|
v-model="form.ReplaceContentCN" style="width: 70%;" />
|
||||||
|
<div style="margin: 20px 0;font-weight: bold;">
|
||||||
|
{{ $t("trials:researchRecord:ImageManual:PrecautionsUS") }}
|
||||||
|
</div>
|
||||||
|
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 99 }" placeholder=""
|
||||||
|
v-model="form.ReplaceContent" style="width: 70%;" />
|
||||||
<div style="text-align: right;margin: 20px;" class="btnBox">
|
<div style="text-align: right;margin: 20px;" class="btnBox">
|
||||||
<el-button type="primary" :loading="loading" size="small" @click="handleSave">
|
<el-button type="primary" :loading="loading" size="small" @click="handleSave">
|
||||||
{{ $t('common:button:save') }}
|
{{ $t('common:button:save') }}
|
||||||
|
|
@ -82,6 +148,19 @@ export default {
|
||||||
IsSupportQCDownloadImage: false,
|
IsSupportQCDownloadImage: false,
|
||||||
IsCloseEquipmentSurvey: true
|
IsCloseEquipmentSurvey: true
|
||||||
},
|
},
|
||||||
|
EquipmentForm: {
|
||||||
|
Parameters: false,
|
||||||
|
Note: false,
|
||||||
|
EquipmentTypeEnum: false,
|
||||||
|
ManufacturerType: false,
|
||||||
|
ScannerType: false,
|
||||||
|
MagneticFieldStrengthType: false,
|
||||||
|
BodyCoilChannelCount: false,
|
||||||
|
HasDedicatedPdfFatQuantificationSequence: false,
|
||||||
|
PdfFatQuantificationSequenceType: false,
|
||||||
|
HasT2R2Correction: false,
|
||||||
|
CanFullyExportPdfParameterMapsAndRawDicom: false,
|
||||||
|
},
|
||||||
obj: {
|
obj: {
|
||||||
AverageEngravingCycle: false,
|
AverageEngravingCycle: false,
|
||||||
IsConfirmImagingTechnologist: false,
|
IsConfirmImagingTechnologist: false,
|
||||||
|
|
@ -102,7 +181,9 @@ export default {
|
||||||
if (key === 'IsFollowStudyParameters') this.form.NotFollowReson = val
|
if (key === 'IsFollowStudyParameters') this.form.NotFollowReson = val
|
||||||
},
|
},
|
||||||
handleInput(val) {
|
handleInput(val) {
|
||||||
this.form.ReplaceContentCN = val
|
Object.keys(this.EquipmentForm).forEach(key => {
|
||||||
|
this.EquipmentForm[key] = false
|
||||||
|
})
|
||||||
},
|
},
|
||||||
async getInfo() {
|
async getInfo() {
|
||||||
try {
|
try {
|
||||||
|
|
@ -115,6 +196,14 @@ export default {
|
||||||
this.form[key] = true
|
this.form[key] = true
|
||||||
if (key === 'ReplaceContent' || key === 'ReplaceContentCN') this.form[key] = ''
|
if (key === 'ReplaceContent' || key === 'ReplaceContentCN') this.form[key] = ''
|
||||||
})
|
})
|
||||||
|
Object.keys(this.EquipmentForm).forEach(key => {
|
||||||
|
this.EquipmentForm[key] = false
|
||||||
|
})
|
||||||
|
res.Result.EquipmentControlFieldList.forEach(item => {
|
||||||
|
if (this.EquipmentForm.hasOwnProperty(item.FiledName)) {
|
||||||
|
this.EquipmentForm[item.FiledName] = true
|
||||||
|
}
|
||||||
|
})
|
||||||
this.form.IsOpenLostVistRead = res.Result.IsOpenLostVistRead
|
this.form.IsOpenLostVistRead = res.Result.IsOpenLostVistRead
|
||||||
this.form.IsSupportQCDownloadImage = res.Result.IsSupportQCDownloadImage
|
this.form.IsSupportQCDownloadImage = res.Result.IsSupportQCDownloadImage
|
||||||
this.form.IsCloseEquipmentSurvey = !res.Result.IsCloseEquipmentSurvey
|
this.form.IsCloseEquipmentSurvey = !res.Result.IsCloseEquipmentSurvey
|
||||||
|
|
@ -128,7 +217,7 @@ export default {
|
||||||
this.form.ReplaceContentCN = res.Result.ModifyFiledList[0].ReplaceContentCN.split('<p>').join('').split('</p>').filter(item => isNaN(item)).join("\n")
|
this.form.ReplaceContentCN = res.Result.ModifyFiledList[0].ReplaceContentCN.split('<p>').join('').split('</p>').filter(item => isNaN(item)).join("\n")
|
||||||
} else {
|
} else {
|
||||||
let arr = [this.$t('trials:equiptResearch:form:item1'), this.$t('trials:equiptResearch:form:item2'), this.$t('trials:equiptResearch:form:item3'), this.$t('trials:equiptResearch:form:item4')]
|
let arr = [this.$t('trials:equiptResearch:form:item1'), this.$t('trials:equiptResearch:form:item2'), this.$t('trials:equiptResearch:form:item3'), this.$t('trials:equiptResearch:form:item4')]
|
||||||
this.form.ReplaceContent = arr.join("\n")
|
// this.form.ReplaceContent = arr.join("\n")
|
||||||
this.form.ReplaceContentCN = arr.join("\n")
|
this.form.ReplaceContentCN = arr.join("\n")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -168,7 +257,8 @@ export default {
|
||||||
IsSupportQCDownloadImage: this.form.IsSupportQCDownloadImage,
|
IsSupportQCDownloadImage: this.form.IsSupportQCDownloadImage,
|
||||||
IsCloseEquipmentSurvey: !this.form.IsCloseEquipmentSurvey,
|
IsCloseEquipmentSurvey: !this.form.IsCloseEquipmentSurvey,
|
||||||
ModifyFiledList: [],
|
ModifyFiledList: [],
|
||||||
NotShowFieldList: []
|
NotShowFieldList: [],
|
||||||
|
EquipmentControlFieldList: []
|
||||||
}
|
}
|
||||||
Object.keys(this.obj).forEach(key => {
|
Object.keys(this.obj).forEach(key => {
|
||||||
if (!this.form[key]) data.NotShowFieldList.push(key)
|
if (!this.form[key]) data.NotShowFieldList.push(key)
|
||||||
|
|
@ -187,6 +277,16 @@ export default {
|
||||||
ReplaceContentCN: ReplaceContentCN,
|
ReplaceContentCN: ReplaceContentCN,
|
||||||
}
|
}
|
||||||
data.ModifyFiledList.push(obj)
|
data.ModifyFiledList.push(obj)
|
||||||
|
Object.keys(this.EquipmentForm).forEach((key, index) => {
|
||||||
|
if (this.EquipmentForm[key]) {
|
||||||
|
let obj = {
|
||||||
|
FiledName: key,
|
||||||
|
IsView: true,
|
||||||
|
ShowOrder: index,
|
||||||
|
}
|
||||||
|
data.EquipmentControlFieldList.push(obj)
|
||||||
|
}
|
||||||
|
})
|
||||||
this.loading = true
|
this.loading = true
|
||||||
let res = await updateTrialExtralConfig(param, data)
|
let res = await updateTrialExtralConfig(param, data)
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ export default {
|
||||||
}
|
}
|
||||||
if (this.visitInfo.operateStateEnum === 22) {
|
if (this.visitInfo.operateStateEnum === 22) {
|
||||||
let o = {}
|
let o = {}
|
||||||
if (this.isTableQuestion) {
|
if (this.visitInfo.isTableQuestion) {
|
||||||
o.TableQuestionId = this.visitInfo.operateQuestionId
|
o.TableQuestionId = this.visitInfo.operateQuestionId
|
||||||
o.RowId = this.visitInfo.operateRowId
|
o.RowId = this.visitInfo.operateRowId
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -647,7 +647,7 @@ export default {
|
||||||
let res = await submitTableQuestion(params)
|
let res = await submitTableQuestion(params)
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.QuestionsForm.RowId = res.Result.RowId
|
this.QuestionsForm.RowId = res.Result.RowId
|
||||||
obj.rowId = res.Result.RowId
|
// obj.rowId = res.Result.RowId
|
||||||
data.RowId = res.Result.RowId
|
data.RowId = res.Result.RowId
|
||||||
this.AnswersList.push(this.QuestionsForm)
|
this.AnswersList.push(this.QuestionsForm)
|
||||||
this.$emit('setFormItemData', { key: this.question.Id, val: this.AnswersList, question: this.question })
|
this.$emit('setFormItemData', { key: this.question.Id, val: this.AnswersList, question: this.question })
|
||||||
|
|
@ -1375,7 +1375,7 @@ export default {
|
||||||
// 移除问题标记值
|
// 移除问题标记值
|
||||||
this.$set(this.questionForm, obj.question.Id, null)
|
this.$set(this.questionForm, obj.question.Id, null)
|
||||||
}
|
}
|
||||||
if (obj.question.IsTableQuestion && obj.operateStateEnum === 4) {
|
if (obj.question.IsTableQuestion && (obj.operateStateEnum === 4 || obj.operateStateEnum === 24)) {
|
||||||
// 移除表格问题标记
|
// 移除表格问题标记
|
||||||
this.$set(this.QuestionsForm, obj.question.Id, null)
|
this.$set(this.QuestionsForm, obj.question.Id, null)
|
||||||
} else if (obj.question.IsTableQuestion && obj.operateStateEnum === 7 && this.question.Id === obj.question.ParentQsId) {
|
} else if (obj.question.IsTableQuestion && obj.operateStateEnum === 7 && this.question.Id === obj.question.ParentQsId) {
|
||||||
|
|
|
||||||
|
|
@ -545,7 +545,16 @@ export default {
|
||||||
const { question } = obj
|
const { question } = obj
|
||||||
let confirm = await this.$confirm(this.$t('segment:confirm:sureDelete'))
|
let confirm = await this.$confirm(this.$t('segment:confirm:sureDelete'))
|
||||||
if (!confirm) return false
|
if (!confirm) return false
|
||||||
this.$set(this.questionForm, question.Id, '')
|
if (this.isTableQuestion) {
|
||||||
|
this.questionForm[question.ParentQsId].some((item, index) => {
|
||||||
|
if (item.RowId === question.RowId) {
|
||||||
|
this.$set(this.questionForm[question.ParentQsId][index], question.Id, '')
|
||||||
|
}
|
||||||
|
return item.RowId === question.RowId
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$set(this.questionForm, question.Id, '')
|
||||||
|
}
|
||||||
let o = {
|
let o = {
|
||||||
Answer: '',
|
Answer: '',
|
||||||
SegmentId: null,
|
SegmentId: null,
|
||||||
|
|
@ -1555,4 +1564,5 @@ export default {
|
||||||
// min-height:400px;
|
// min-height:400px;
|
||||||
// color: #ddd;
|
// color: #ddd;
|
||||||
|
|
||||||
// }</style>
|
// }
|
||||||
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -416,7 +416,7 @@ export default {
|
||||||
},
|
},
|
||||||
validatorNumberInput(rule, value, callback) {
|
validatorNumberInput(rule, value, callback) {
|
||||||
let reg = new RegExp(/^(?:-?(?:(?:0|[1-9]\d*)(?:\.\d+)?|\.\d+)|NE)$/, 'g')
|
let reg = new RegExp(/^(?:-?(?:(?:0|[1-9]\d*)(?:\.\d+)?|\.\d+)|NE)$/, 'g')
|
||||||
if (value === '') {
|
if (value === '' || value == null) {
|
||||||
callback();
|
callback();
|
||||||
} else {
|
} else {
|
||||||
if (!reg.test(value)) {
|
if (!reg.test(value)) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue