diff --git a/src/api/trials.js b/src/api/trials.js index 82aa97ba..29485d68 100644 --- a/src/api/trials.js +++ b/src/api/trials.js @@ -4474,4 +4474,11 @@ export function getTrialUnreadVisitList(params) { method: 'get', params, }) +} +export function getDoctorUserTrialReadingStat(data) { + return request({ + url: `/DoctorWorkload/getDoctorUserTrialReadingStat`, + method: 'post', + data, + }) } \ No newline at end of file diff --git a/src/views/trials/trials-panel/enrolled-reviewers/list/index.vue b/src/views/trials/trials-panel/enrolled-reviewers/list/index.vue index a9144060..69b8cd76 100644 --- a/src/views/trials/trials-panel/enrolled-reviewers/list/index.vue +++ b/src/views/trials/trials-panel/enrolled-reviewers/list/index.vue @@ -217,6 +217,14 @@ ) }).TotalCount }} + + {{ $t('trials:enrolledReviews:button:Statistics') }} + @@ -351,6 +359,7 @@ import { enrollBackOrOut, setEnrollReadingCategory, batchSetCriterionJoinJoinAnalysis, + getDoctorUserTrialReadingStat } from '@/api/trials' import { addDoctorCriterionFile } from '@/api/reviewers' import { uploadFile } from '@/api/attachment' @@ -470,6 +479,28 @@ export default { this.initPage() }, methods: { + async statistics(row, id) { + try { + let data = { + TrialId: this.$route.query.trialId, + TrialReadingCriterionId: id, + DoctoruserIdList: [row.DoctorUserId] + } + let res = await getDoctorUserTrialReadingStat(data) + if (res.IsSuccess && res.Result[0]) { + row.CriterionCategoryList.some((v) => { + if (v.TrialReadingCriterionId === id) { + v.PendingCount = res.Result[0].PendingCount + v.ComplectedCount = res.Result[0].ComplectedCount + v.TotalCount = res.Result[0].TotalCount + } + return v.TrialReadingCriterionId === id + }) + } + } catch (err) { + console.log(err) + } + }, // 预览 preview(row, TrialReadingCriterionId, key) { let file = row.CriterionCategoryList.find((v) => {