diff --git a/src/views/trials/trials-inspection/components/confirm-visit-list.vue b/src/views/trials/trials-inspection/components/confirm-visit-list.vue index 2a5f4d7..72e28a0 100644 --- a/src/views/trials/trials-inspection/components/confirm-visit-list.vue +++ b/src/views/trials/trials-inspection/components/confirm-visit-list.vue @@ -62,7 +62,7 @@ highlight-current-row @selection-change="handleSelectChange" @sort-change="handleSortByColumn" - :default-sort="{ prop: 'StudyTime', order: 'descending' }" + :default-sort="{ prop: 'StudyTime', order: 'ascending' }" > @@ -151,6 +151,14 @@ class="detail" >{{ $t("trials:trials-list:action:panel") }} + + {{ $t("common:button:remove") }} @@ -176,12 +184,13 @@ import { addSubjectPatientStudyBinding, submitVisitStudyBinding, } from "@/api/inspection.js"; +import { updateSubjectVisitStudyBinding } from "@/api/trials/visit.js"; const defaultSearchData = () => { return { EarliestStudyTime: null, LatestStudyTime: null, - Asc: false, + Asc: true, SortField: "StudyTime", PageIndex: 1, PageSize: 20, @@ -227,6 +236,35 @@ export default { }; }, methods: { + // 移除检查与访视绑定关系 + async remove(item) { + try { + let confirm = await this.$confirm( + this.$t("trials:sitesList:message:removeSite"), + { + type: "warning", + distinguishCancelAndClose: true, + confirmButtonText: this.$t("common:button:confirm"), + cancelButtonText: this.$t("recompose:button:cancel"), + } + ); + if (confirm !== "confirm") return; + let data = { + isAdd: false, + TrialId: this.submitMessage.TrialId, + SubjectId: this.submitMessage.SubjectId, + SubjectVisitId: item.SubjectVisitId, + ScpStudyId: item.SCPStudyId, + }; + let res = await updateSubjectVisitStudyBinding(data); + if (res.IsSuccess) { + this.getList(); + this.$message.success(this.$t("common:message:removedSuccessfully")); + } + } catch (err) { + console.log(err); + } + }, // 切换状态 changeVisitStatus(flag = false) { this.visitStatus = "submit"; @@ -412,10 +450,10 @@ export default { if (!fd) return; let data = { TrialId: this.submitMessage.TrialId, - SubjectVisitIdList : [], + SubjectVisitIdList: [], }; this.tableSelectData.forEach((item) => { - data.SubjectVisitIdList .push(item.SubjectVisitId); + data.SubjectVisitIdList.push(item.SubjectVisitId); }); try { this.btnLoading2 = true; diff --git a/src/views/trials/trials-list/components/TrialForm.vue b/src/views/trials/trials-list/components/TrialForm.vue index 22d70f3..e94b9da 100644 --- a/src/views/trials/trials-list/components/TrialForm.vue +++ b/src/views/trials/trials-list/components/TrialForm.vue @@ -11,13 +11,14 @@ :inline="true" > - + - - + + -
+
- +
diff --git a/src/views/trials/trials-panel/study/components/list.vue b/src/views/trials/trials-panel/study/components/list.vue index 141f761..07adeff 100644 --- a/src/views/trials/trials-panel/study/components/list.vue +++ b/src/views/trials/trials-panel/study/components/list.vue @@ -245,29 +245,41 @@ @@ -299,6 +311,8 @@ import { getTrialPatientStudyList, autoBindingPatientStudyVisit, } from "@/api/trials/study.js"; +import { updateSubjectVisitStudyBinding } from "@/api/trials/visit.js"; + const defaultSearchData = () => { return { SubjectCode: null, @@ -347,6 +361,35 @@ export default { this.getList(); }, methods: { + // 移除检查与访视绑定关系 + async remove(item) { + try { + let confirm = await this.$confirm( + this.$t("trials:sitesList:message:removeSite"), + { + type: "warning", + distinguishCancelAndClose: true, + confirmButtonText: this.$t("common:button:confirm"), + cancelButtonText: this.$t("recompose:button:cancel"), + } + ); + if (confirm !== "confirm") return; + let data = { + isAdd: false, + TrialId: this.$route.query.trialId, + SubjectId: item.SubjectId, + SubjectVisitId: item.SubjectVisitId, + ScpStudyId: item.StudyId, + }; + let res = await updateSubjectVisitStudyBinding(data); + if (res.IsSuccess) { + this.getList(); + this.$message.success(this.$t("common:message:removedSuccessfully")); + } + } catch (err) { + console.log(err); + } + }, // 自动绑定 async automaticBind() { try {