添加受试者时校验是否存在
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

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

View File

@ -136,7 +136,9 @@
'' ''
) )
" "
@focus="errMessage = null"
></el-input> ></el-input>
<span class="errTip" v-if="errMessage">{{ errMessage }}</span>
</el-form-item> </el-form-item>
</el-form> </el-form>
</template> </template>
@ -161,6 +163,7 @@ import {
getTrialSubejctSelectList, getTrialSubejctSelectList,
addSubjectPatientBinding, addSubjectPatientBinding,
deleteSubjectPatientBinding, deleteSubjectPatientBinding,
verifyTrialSubject,
} from "@/api/inspection.js"; } from "@/api/inspection.js";
export default { export default {
name: "addTrialsList", name: "addTrialsList",
@ -242,6 +245,7 @@ export default {
}, },
], ],
}, },
errMessage: null,
}; };
}, },
computed: { computed: {
@ -286,17 +290,30 @@ export default {
// () // ()
async addSubject() { async addSubject() {
try { try {
this.errMessage = null;
let validate = await this.$refs.addSubjectForm.validate(); let validate = await this.$refs.addSubjectForm.validate();
if (!validate) return; if (!validate) return;
let subject = { let data = {
TrialId: this.submitMessage.TrialId,
SubjectCode: this.addSubjectForm.SubjectCode, SubjectCode: this.addSubjectForm.SubjectCode,
SubejctId: this.addSubjectForm.SubjectCode,
}; };
this.subjectIdList.unshift(subject); let res = await verifyTrialSubject(data);
this.submitMessage.SubjectId = this.addSubjectForm.SubjectCode; if (res.IsSuccess) {
this.addSubject_model.visible = false; 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) { } catch (err) {
console.log(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> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.errTip {
color: #f56c6c;
font-size: 12px;
line-height: 1;
padding-top: 4px;
position: absolute;
top: 100%;
left: 0;
}
.top { .top {
padding-top: 20px; padding-top: 20px;
display: flex; display: flex;

View File

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