Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is running Details

main
caiyiling 2026-05-21 13:52:42 +08:00
commit 3a546e6e89
9 changed files with 317 additions and 111 deletions

View File

@ -2,39 +2,101 @@
<el-form ref="equipmentForm" :model="form" :rules="rules" label-width="150px">
<div class="base-dialog-body">
<!-- 扫描设备 -->
<el-form-item :label="$t('trials:equiptResearch:form:equipment')" prop="EquipmentTypeId">
<el-select
v-model="form.EquipmentTypeId"
style="width:100%"
>
<!-- <el-option
v-for="item of dictionaryList.SiteSurvey_ScanEquipmentType"
:key="item.Id"
:label="item.Value"
:value="item.Id"
/> -->
<el-option
v-for="item of $d.SiteSurvey_ScanEquipmentType"
:key="item.id"
:label="item.label"
:value="item.id"
/>
</el-select>
<el-form-item :label="$t('trials:equiptResearch:form:equipment')" prop="EquipmentTypeId"
v-if="EquipmentControlFieldList.includes('EquipmentTypeEnum')">
<div style="display: flex;align-items: center;">
<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"
:value="item.value" />
</el-select>
<el-input placeholder="" v-model="form.OtherEquipmentType" style="margin-left: 10px;"
v-if="form.EquipmentTypeEnum == '-1'" clearable>
</el-input>
</div>
</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-form-item>
<!-- 扫描仪器制造商名称 -->
<el-form-item :label="$t('trials:equiptResearch:form:manufacturer')">
<el-input v-model="form.ManufacturerName" />
<el-form-item :label="$t('trials:equiptResearch:form:manufacturer')"
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 :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-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-form-item>
</div>
@ -69,24 +131,35 @@ export default {
type: String,
default: ''
},
isShowParameters: {
type: Boolean,
default: false
EquipmentControlFieldList: {
type: Array,
default: () => {
return []
}
}
},
data() {
return {
form: {
Id: '',
EquipmentTypeId: '',
Parameters: '',
ManufacturerName: '',
ScannerType: '',
Note: '',
EquipmentTypeEnum: null,
OtherEquipmentType: null,
Parameters: null,
Note: null,
ManufacturerType: null,
ManufacturerName: null,
ScannerType: null,
MagneticFieldStrengthType: null,
BodyCoilChannelCount: null,
HasDedicatedPdfFatQuantificationSequence: null,
PdfFatQuantificationSequenceType: null,
OtherSequenceSpecification: null,
HasT2R2Correction: null,
CanFullyExportPdfParameterMapsAndRawDicom: null,
TrialSiteSurveyId: ''
},
rules: {
EquipmentTypeId: [
EquipmentTypeEnum: [
{ required: true, message: this.$t('trials:researchForm:formRule:select'), trigger: ['blur', 'change'] }
]
},

View File

@ -2,63 +2,88 @@
<div class="equipment-wrapper">
<div class="header-wrapper">
<!-- 新增 -->
<el-button
v-if="state === 0 && userTypeEnumInt === 0 && !isHistory"
size="small"
type="primary"
@click="handleAdd"
>
<el-button v-if="state === 0 && userTypeEnumInt === 0 && !isHistory && EquipmentControlFieldList.length > 0"
size="small" type="primary" @click="handleAdd">
{{ $t('common:button:add') }}
</el-button>
</div>
<el-table
v-loading="loading"
:data="list"
border
style="width: 100%"
>
<el-table v-loading="loading" :data="list" border style="width: 100%">
<!-- 扫描设备 -->
<el-table-column
prop="EquipmentType"
:label="$t('trials:equiptResearch:form:equipment')"
min-width="120"
show-overflow-tooltip
/>
<el-table-column v-if="EquipmentControlFieldList.includes('EquipmentTypeEnum')" prop="EquipmentTypeEnum"
:label="$t('trials:equiptResearch:form:equipment')" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.OtherEquipmentType ? scope.row.OtherEquipmentType :
$fd('SiteSurvey_ScanEquipmentType', scope.row.EquipmentTypeEnum) }}
</template>
</el-table-column>
<!-- 扫描参数 -->
<el-table-column
v-if="isShowParameters"
prop="Parameters"
:label="$t('trials:equiptResearch:form:param')"
min-width="100"
show-overflow-tooltip
/>
<el-table-column v-if="EquipmentControlFieldList.includes('Parameters')" prop="Parameters"
:label="$t('trials:equiptResearch:form:param')" min-width="100" show-overflow-tooltip />
<!-- 扫描仪器制造商名称 -->
<el-table-column
min-width="120"
prop="ManufacturerName"
:label="$t('trials:equiptResearch:form:manufacturer')"
show-overflow-tooltip
/>
<el-table-column v-if="EquipmentControlFieldList.includes('ManufacturerType')" min-width="120"
prop="ManufacturerType" :label="$t('trials:equiptResearch:form:manufacturer')" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.ManufacturerName ? scope.row.ManufacturerName : $fd('ManufacturerType',
scope.row.ManufacturerType) }}
</template>
</el-table-column>
<!-- 扫描仪型号 -->
<el-table-column
min-width="120"
prop="ScannerType"
:label="$t('trials:equiptResearch:form:model')"
show-overflow-tooltip
/>
<el-table-column v-if="EquipmentControlFieldList.includes('ScannerType')" min-width="120" prop="ScannerType"
:label="$t('trials:equiptResearch:form:model')" show-overflow-tooltip />
<!-- 磁场强度 -->
<el-table-column v-if="EquipmentControlFieldList.includes('MagneticFieldStrengthType')" min-width="120"
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
min-width="120"
prop="Note"
:label="$t('trials:equiptResearch:form:precautions')"
show-overflow-tooltip
/>
<el-table-column
v-if="state === 0 && userTypeEnumInt === 0 && !isHistory"
fixed="right"
:label="$t('common:action:action')"
width="100"
>
<el-table-column v-if="EquipmentControlFieldList.includes('Note')" min-width="120" prop="Note"
:label="$t('trials:equiptResearch:form:precautions')" 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">
<!-- 编辑 -->
<el-button type="text" size="small" @click="handleEdit(scope.row)">
@ -73,16 +98,10 @@
</el-table>
<!-- 新增/编辑人员信息 -->
<el-dialog
v-if="editVisible"
:visible.sync="editVisible"
:close-on-click-modal="false"
: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 v-if="editVisible" :visible.sync="editVisible" :close-on-click-modal="false" :title="title" width="600px"
custom-class="base-dialog-wrapper" :append-to-body="userTypeEnumInt !== 0">
<EquipmentForm :data="rowData" :trial-site-survey-equipment-type="trialSiteSurveyEquipmentType"
:EquipmentControlFieldList="EquipmentControlFieldList" @getList="getList" @close="closeDialog" />
</el-dialog>
</div>
@ -115,7 +134,7 @@ export default {
state: null,
trialSiteSurveyId: '',
trialId: '',
isShowParameters: false
EquipmentControlFieldList: []
}
},
mounted() {
@ -160,10 +179,14 @@ export default {
this.$message.success(this.$t('trials:equiptResearch:message:delSuccessfully'))
}
}).catch(() => { this.loading = false })
}).catch(() => {})
}).catch(() => { })
},
initList(TrialSiteEquipmentSurveyList, trialSiteSurvey, isShowParameters) {
this.isShowParameters = isShowParameters
initList(TrialSiteEquipmentSurveyList, trialSiteSurvey, EquipmentControlFieldList) {
this.EquipmentControlFieldList = []
EquipmentControlFieldList.forEach(item => {
this.EquipmentControlFieldList.push(item.FiledName)
})
console.log(this.EquipmentControlFieldList, 'this.EquipmentControlFieldList')
this.list = TrialSiteEquipmentSurveyList
this.state = trialSiteSurvey.State
this.$forceUpdate()
@ -176,8 +199,8 @@ export default {
}
</script>
<style lang="scss" scoped>
.equipment-wrapper{
.header-wrapper{
.equipment-wrapper {
.header-wrapper {
text-align: right;
margin-bottom: 10px;
}

View File

@ -175,7 +175,7 @@ export default {
this.$refs['historicalParticipant'].initList(historicalArr, res.Result.TrialSiteSurvey)
this.$refs['researchParticipants'].initList(newArr, 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.loading = false

View File

@ -8,7 +8,7 @@
<!-- <TopLang style="position: fixed;top: 40px;right: 40px" /> -->
<div style="display: flex;justify-content: space-between;" v-if="!isPreview">
<div>{{ $t('trials:researchForm:title:researchSurveyStatus') }} <el-tag>{{ $fd('ResearchRecord', state)
}}</el-tag></div>
}}</el-tag></div>
<div>
<!-- 提交 -->
<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['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.loading = false

View File

@ -33,17 +33,83 @@
</div>
<el-form size="small" :model="form" style="width:80%">
<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>
</el-radio-group>
</el-form-item>
</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;">
{{ $t("trials:researchRecord:ImageManual:Precautions") }}
</div>
<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">
<el-button type="primary" :loading="loading" size="small" @click="handleSave">
{{ $t('common:button:save') }}
@ -82,6 +148,19 @@ export default {
IsSupportQCDownloadImage: false,
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: {
AverageEngravingCycle: false,
IsConfirmImagingTechnologist: false,
@ -102,7 +181,9 @@ export default {
if (key === 'IsFollowStudyParameters') this.form.NotFollowReson = val
},
handleInput(val) {
this.form.ReplaceContentCN = val
Object.keys(this.EquipmentForm).forEach(key => {
this.EquipmentForm[key] = false
})
},
async getInfo() {
try {
@ -115,6 +196,14 @@ export default {
this.form[key] = true
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.IsSupportQCDownloadImage = res.Result.IsSupportQCDownloadImage
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")
} 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')]
this.form.ReplaceContent = arr.join("\n")
// this.form.ReplaceContent = arr.join("\n")
this.form.ReplaceContentCN = arr.join("\n")
}
}
@ -168,7 +257,8 @@ export default {
IsSupportQCDownloadImage: this.form.IsSupportQCDownloadImage,
IsCloseEquipmentSurvey: !this.form.IsCloseEquipmentSurvey,
ModifyFiledList: [],
NotShowFieldList: []
NotShowFieldList: [],
EquipmentControlFieldList: []
}
Object.keys(this.obj).forEach(key => {
if (!this.form[key]) data.NotShowFieldList.push(key)
@ -187,6 +277,16 @@ export default {
ReplaceContentCN: ReplaceContentCN,
}
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
let res = await updateTrialExtralConfig(param, data)
this.loading = false

View File

@ -127,7 +127,7 @@ export default {
}
if (this.visitInfo.operateStateEnum === 22) {
let o = {}
if (this.isTableQuestion) {
if (this.visitInfo.isTableQuestion) {
o.TableQuestionId = this.visitInfo.operateQuestionId
o.RowId = this.visitInfo.operateRowId
} else {

View File

@ -647,7 +647,7 @@ export default {
let res = await submitTableQuestion(params)
if (res.IsSuccess) {
this.QuestionsForm.RowId = res.Result.RowId
obj.rowId = res.Result.RowId
// obj.rowId = res.Result.RowId
data.RowId = res.Result.RowId
this.AnswersList.push(this.QuestionsForm)
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)
}
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)
} else if (obj.question.IsTableQuestion && obj.operateStateEnum === 7 && this.question.Id === obj.question.ParentQsId) {

View File

@ -545,7 +545,16 @@ export default {
const { question } = obj
let confirm = await this.$confirm(this.$t('segment:confirm:sureDelete'))
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 = {
Answer: '',
SegmentId: null,
@ -1555,4 +1564,5 @@ export default {
// min-height:400px;
// color: #ddd;
// }</style>
// }
</style>

View File

@ -416,7 +416,7 @@ export default {
},
validatorNumberInput(rule, value, callback) {
let reg = new RegExp(/^(?:-?(?:(?:0|[1-9]\d*)(?:\.\d+)?|\.\d+)|NE)$/, 'g')
if (value === '') {
if (value === '' || value == null) {
callback();
} else {
if (!reg.test(value)) {