添加受试者时校验是否存在
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2024-05-10 17:22:17 +08:00
parent 99bb0b61c7
commit fbbcf430ea
3 changed files with 71 additions and 10 deletions

View File

@ -134,4 +134,13 @@ export function deletePatientStudy(params) {
method: 'delete',
params
})
}
// 校验受试者是否存在
export function verifyTrialSubject(data) {
return request({
url: '/Patient/verifyTrialSubject',
method: 'post',
data
})
}

View File

@ -136,7 +136,9 @@
''
)
"
@focus="errMessage = null"
></el-input>
<span class="errTip" v-if="errMessage">{{ errMessage }}</span>
</el-form-item>
</el-form>
</template>
@ -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;
}
}
},
//
@ -415,6 +432,15 @@ export default {
};
</script>
<style lang="scss" scoped>
.errTip {
color: #f56c6c;
font-size: 12px;
line-height: 1;
padding-top: 4px;
position: absolute;
top: 100%;
left: 0;
}
.top {
padding-top: 20px;
display: flex;

View File

@ -147,7 +147,9 @@
addSubjectForm2.SubjectCode =
addSubjectForm2.SubjectCode.replace(/[^0-9a-zA-Z]/g, '')
"
@focus="errMessage = null"
></el-input>
<span class="errTip" v-if="errMessage">{{ errMessage }}</span>
</el-form-item>
</el-form>
</template>
@ -170,6 +172,7 @@ import Pagination from "@/components/Pagination";
import {
getTrialSubejctSelectList,
addSubjectPatientBinding,
verifyTrialSubject,
} from "@/api/inspection.js";
const defaultSearchData = () => {
return {
@ -259,6 +262,7 @@ export default {
},
],
},
errMessage: null,
};
},
computed: {
@ -295,17 +299,30 @@ export default {
// ()
async addSubject() {
try {
this.errMessage = null;
let validate = await this.$refs.addSubjectForm2.validate();
if (!validate) return;
let subject = {
let data = {
TrialId: this.$route.query.trialId,
SubjectCode: this.addSubjectForm2.SubjectCode,
SubejctId: this.addSubjectForm2.SubjectCode,
};
this.subjectIdList.unshift(subject);
this.submitMessage.SubjectId = this.addSubjectForm2.SubjectCode;
this.addSubject_model.visible = false;
let res = await verifyTrialSubject(data);
if (res.IsSuccess) {
let subject = {
SubjectCode: this.addSubjectForm2.SubjectCode,
SubejctId: this.addSubjectForm2.SubjectCode,
};
this.subjectIdList.unshift(subject);
this.submitMessage.SubjectId = this.addSubjectForm2.SubjectCode;
this.addSubject_model.visible = false;
}
} catch (err) {
console.log(err);
if (err.Code === 5) {
this.getTrialSubejctSelectList(this.$route.query.trialId);
this.$emit("getList");
this.errMessage = err.ErrorMessage;
}
}
},
//
@ -425,6 +442,15 @@ export default {
};
</script>
<style lang="scss" scoped>
.errTip {
color: #f56c6c;
font-size: 12px;
line-height: 1;
padding-top: 4px;
position: absolute;
top: 100%;
left: 0;
}
.top {
padding-top: 20px;
display: flex;