质控通过时pt临床数据可再次修改
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2026-04-29 12:41:00 +08:00
parent 73e8f24c3d
commit c373b59f23
3 changed files with 40 additions and 9 deletions

View File

@ -4449,3 +4449,12 @@ export function editPatientInfo(data) {
data
})
}
//修正患者基本信息
export function amendmentPatientInfo(data) {
return request({
url: `/Study/amendmentPatientInfo`,
method: 'post',
data
})
}

View File

@ -307,7 +307,14 @@
style="width: 100%"
></el-input>
</el-form-item>
<el-form-item v-if="isAudit" :label="$t('trials:ptData:label:reason')" prop="Reason">
<el-input
type="textarea"
:autosize="{ minRows: 2, maxRows: 4}"
v-model="formData.Reason"
style="width: 100%"
></el-input>
</el-form-item>
<!-- 提交 -->
<el-form-item style="margin-top: 20px;text-align: right;" v-if="isPatientFormCanEdit">
<el-button type="primary" @click="submitForm">{{ $t('trials:ptData:button:submit') }}</el-button>
@ -362,7 +369,8 @@ import {
getCRCClinicalData,
addOrUpdateReadingClinicalData,
getPatientInfo,
editPatientInfo
editPatientInfo,
amendmentPatientInfo
} from '@/api/trials'
import PreviousRadiotherapy from './previousRadiotherapy'
import PreviousSurgery from './previousSurgery'
@ -410,6 +418,10 @@ export default {
isPatientFormAllowEdit: {
type: Boolean,
default: false,
},
isAudit: {
type: Boolean,
default: false
}
},
data() {
@ -443,7 +455,8 @@ export default {
RadionuclideHalfLife: null,
RadiopharmaceuticalStartTime: null,
AcquisitionTime: null,
TimeCheck: ''
TimeCheck: '',
Reason: ''
},
rules: {
PatientSex: [
@ -470,7 +483,10 @@ export default {
{ type: 'number', message: this.$t('trials:ptData:ruleMessage:number2'), trigger: 'blur' },//
//
{ validator: this.validateTime, trigger: 'blur' }
]
],
Reason: [
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }
],
},
formLoading: false,
isPatientFormCanEdit: false
@ -814,7 +830,8 @@ export default {
RadionuclideHalfLife: parseFloat(res.Result.RadionuclideHalfLife) || null,
RadiopharmaceuticalStartTime: parseFloat(res.Result.RadiopharmaceuticalStartTime) || '',
AcquisitionTime: parseFloat(res.Result.AcquisitionTime) || '',
TimeCheck: ''
TimeCheck: '',
Reason: res.Result.Reason
}
this.computeTimeRelation()
this.formLoading = false
@ -829,9 +846,14 @@ export default {
let valid = await this.$refs.patientForm.validate()
if (!valid) return
this.formLoading = true
let res = await editPatientInfo(this.formData)
let res = null
if (this.isAudit) {
res = await amendmentPatientInfo(this.formData)
} else {
res = await editPatientInfo(this.formData)
}
this.formLoading = false
if (res.IsSuccess) {
if (res && res.IsSuccess) {
this.$message.success(this.$t('common:message:savedSuccessfully'))
}
} catch(e) {

View File

@ -158,7 +158,7 @@
:disabled="isAudit || scope.row.IsDeleted || SecondReviewState > 0"
@click="handleEditStudy(scope.row)" />
<!-- 预览PET-CT数据 -->
<el-button type="primary" icon="el-icon-document tip-i" :title="$t('trials:audit:tab:clinicalData')"
<el-button icon="el-icon-document" :title="$t('trials:audit:tab:clinicalData')"
v-if="
['PT、CT', 'CT、PT', 'PET-CT'].includes(
scope.row.Modalities
@ -921,7 +921,7 @@
</div>
<!--petct临床数据预览-->
<el-dialog v-if="petVisible" :show-close="true" :visible.sync="petVisible" append-to-body>
<uploadPetClinicalData :subject-visit-id="data.Id" :data="data" :studyData="rowData" :allow-add-or-edit="false" :isPatientFormAllowEdit="!isAudit && SecondReviewState == 0"/>
<uploadPetClinicalData :subject-visit-id="data.Id" :data="data" :studyData="rowData" :allow-add-or-edit="false" :isPatientFormAllowEdit="isAuditToEdit" :isAudit="isAuditToEdit"/>
</el-dialog>
</div>
</template>