diff --git a/src/api/inspection.js b/src/api/inspection.js index 5c23614..fdc484e 100644 --- a/src/api/inspection.js +++ b/src/api/inspection.js @@ -134,4 +134,13 @@ export function deletePatientStudy(params) { method: 'delete', params }) +} + +// 校验受试者是否存在 +export function verifyTrialSubject(data) { + return request({ + url: '/Patient/verifyTrialSubject', + method: 'post', + data + }) } \ No newline at end of file diff --git a/src/components/visitSelect/index.vue b/src/components/visitSelect/index.vue index 49fbb9b..773caed 100644 --- a/src/components/visitSelect/index.vue +++ b/src/components/visitSelect/index.vue @@ -121,7 +121,7 @@ export default { this.$t("trials:uploadDicomList:label:prompt"), { type: "warning", - showCancelButton: false, + // showCancelButton: false, } ) .then(() => { @@ -133,7 +133,7 @@ export default { this.$emit("putVisit", data); }) .catch((err) => { - this.visit = this.modelData; + this.visit = this.modelData; }); return false; } diff --git a/src/views/trials/trials-inspection/components/add-trials-list.vue b/src/views/trials/trials-inspection/components/add-trials-list.vue index b963079..ddd420a 100644 --- a/src/views/trials/trials-inspection/components/add-trials-list.vue +++ b/src/views/trials/trials-inspection/components/add-trials-list.vue @@ -53,7 +53,7 @@ :label=" item.ShortName || item.Sex ? `${item.SubjectCode}(${item.ShortName},${ - item.Sex ? $fd('sex',item.Sex) : '' + item.Sex ? $fd('sex', item.Sex) : '' })` : item.SubjectCode " @@ -136,7 +136,9 @@ '' ) " + @focus="errMessage = null" > + {{ errMessage }} @@ -161,6 +163,7 @@ import { getTrialSubejctSelectList, addSubjectPatientBinding, deleteSubjectPatientBinding, + verifyTrialSubject, } from "@/api/inspection.js"; export default { name: "addTrialsList", @@ -242,6 +245,7 @@ export default { }, ], }, + errMessage: null, }; }, computed: { @@ -286,17 +290,30 @@ export default { // 新增受试者(前端操作未同步后端) async addSubject() { try { + this.errMessage = null; let validate = await this.$refs.addSubjectForm.validate(); if (!validate) return; - let subject = { + let data = { + TrialId: this.submitMessage.TrialId, SubjectCode: this.addSubjectForm.SubjectCode, - SubejctId: this.addSubjectForm.SubjectCode, }; - this.subjectIdList.unshift(subject); - this.submitMessage.SubjectId = this.addSubjectForm.SubjectCode; - this.addSubject_model.visible = false; + let res = await verifyTrialSubject(data); + if (res.IsSuccess) { + let subject = { + SubjectCode: this.addSubjectForm.SubjectCode, + SubejctId: this.addSubjectForm.SubjectCode, + }; + this.subjectIdList.unshift(subject); + this.submitMessage.SubjectId = this.addSubjectForm.SubjectCode; + this.addSubject_model.visible = false; + } } catch (err) { console.log(err); + if (err.Code === 5) { + this.getTrialSubejctSelectList(this.submitMessage.TrialId, null); + this.$emit("getList"); + this.errMessage = err.ErrorMessage; + } } }, // 获取受试者列表 @@ -360,6 +377,7 @@ export default { this.$emit("getList"); } } catch (err) { + this.btnLoading = false; console.log(err); } }, @@ -393,6 +411,7 @@ export default { this.$refs.confirmVisit.changeVisitStatus(true); } } catch (err) { + this.btnLoading = false; console.log(err); } }, @@ -413,6 +432,15 @@ export default { };