From 69d2bd8ce16b49af3f97758b161546c64a3294be Mon Sep 17 00:00:00 2001 From: brusnitsyn Date: Mon, 13 Jul 2026 16:45:35 +0900 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D0=B0?= =?UTF-8?q?=20=D0=B4=D0=B0=D1=82=20=D0=B4=D0=BB=D1=8F=20=D0=BC=D0=BE=D0=B4?= =?UTF-8?q?=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D1=85=20=D0=BE=D0=BA=D0=BE=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Services/StatisticsService.php | 2 +- .../Components/ModalDeathPatients.vue | 17 +++++--------- .../Components/ModalObservablePatients.vue | 23 +++---------------- .../Components/ModalUnwantedEvents.vue | 14 +++-------- resources/js/Pages/Statistic/Index.vue | 9 +++++--- 5 files changed, 19 insertions(+), 46 deletions(-) diff --git a/app/Services/StatisticsService.php b/app/Services/StatisticsService.php index 3d9ba8c..5e69e7d 100644 --- a/app/Services/StatisticsService.php +++ b/app/Services/StatisticsService.php @@ -108,7 +108,7 @@ class StatisticsService ->join('report_duties as rd', 'rd.id', '=', 'rdp.report_duty_id') ->whereIn('rd.rf_department_id', $allDeptIds) ->where('omh.observable_in', '>=', $startDate) - ->where('omh.observable_in', '<=', $endDate) + ->where('omh.observable_in', '<', $endDate) ->select('rd.rf_department_id', DB::raw('COUNT(DISTINCT omh.id) as count')) ->groupBy('rd.rf_department_id') ->get() diff --git a/resources/js/Pages/Statistic/Components/ModalDeathPatients.vue b/resources/js/Pages/Statistic/Components/ModalDeathPatients.vue index a4a69c5..0887cb1 100644 --- a/resources/js/Pages/Statistic/Components/ModalDeathPatients.vue +++ b/resources/js/Pages/Statistic/Components/ModalDeathPatients.vue @@ -9,22 +9,17 @@ import { computed, h, ref, watch } from 'vue' import TooltipColumn from '../../Report/Components/DataTableColumns/TooltipColumn.vue' import {usePage} from "@inertiajs/vue3"; +const props = defineProps({ + startAt: { required: false }, + endAt: { required: false }, +}) + const open = defineModel('open') const loading = ref(true) const deadPatients = ref([]) const currentPatient = ref(null) const showDrawer = ref(false) -const startAt = computed(() => { - const urlParams = new URLSearchParams(window.location.search) - return urlParams.get('startAt') -}) - -const endAt = computed(() => { - const urlParams = new URLSearchParams(window.location.search) - return urlParams.get('endAt') -}) - // Получаем уникальные отделения для фильтра const departmentOptions = computed(() => { const departments = new Set() @@ -115,7 +110,7 @@ const fetch = (startAt, endAt) => { watch(open, (open) => { if (open) { - fetch(startAt.value, endAt.value) + fetch(props.startAt, props.endAt) } }) diff --git a/resources/js/Pages/Statistic/Components/ModalObservablePatients.vue b/resources/js/Pages/Statistic/Components/ModalObservablePatients.vue index 9e8c99d..8cab6ea 100644 --- a/resources/js/Pages/Statistic/Components/ModalObservablePatients.vue +++ b/resources/js/Pages/Statistic/Components/ModalObservablePatients.vue @@ -10,6 +10,8 @@ import TooltipColumn from '../../Report/Components/DataTableColumns/TooltipColum const props = defineProps({ departmentId: { required: true }, + startAt: { required: false }, + endAt: { required: false }, }) const open = defineModel('open') @@ -82,16 +84,6 @@ const columns = [ }, ] -const startAt = computed(() => { - const urlParams = new URLSearchParams(window.location.search) - return urlParams.get('startAt') -}) - -const endAt = computed(() => { - const urlParams = new URLSearchParams(window.location.search) - return urlParams.get('endAt') -}) - const fetch = (startAt, endAt) => { loading.value = true axios.get('/api/statistics/reports/observable-patients', { @@ -104,7 +96,7 @@ const fetch = (startAt, endAt) => { } watch([open, () => props.departmentId], ([open, departmentId]) => { - if (open && departmentId) fetch(startAt.value, endAt.value) + if (open && departmentId) fetch(props.startAt, props.endAt) }, { immediate: true, deep: true }) @@ -160,15 +152,6 @@ watch([open, () => props.departmentId], ([open, departmentId]) => { :value="currentPatient?.observable_reason" placeholder="Причина не указана" /> - diff --git a/resources/js/Pages/Statistic/Components/ModalUnwantedEvents.vue b/resources/js/Pages/Statistic/Components/ModalUnwantedEvents.vue index cf4f016..d7a2a45 100644 --- a/resources/js/Pages/Statistic/Components/ModalUnwantedEvents.vue +++ b/resources/js/Pages/Statistic/Components/ModalUnwantedEvents.vue @@ -11,6 +11,8 @@ const props = defineProps({ departmentId: { required: true }, + startAt: { required: false }, + endAt: { required: false }, }) const open = defineModel('open') @@ -18,16 +20,6 @@ const loading = ref(true) const unwantedEvents = ref([]) -const startAt = computed(() => { - const urlParams = new URLSearchParams(window.location.search) - return urlParams.get('startAt') -}) - -const endAt = computed(() => { - const urlParams = new URLSearchParams(window.location.search) - return urlParams.get('endAt') -}) - const fetchUnwantedEvents = (startAt, endAt) => { loading.value = true axios.get('/api/statistics/reports/unwanted-events', { @@ -47,7 +39,7 @@ const fetchUnwantedEvents = (startAt, endAt) => { watch([open, () => props.departmentId], ([open, departmentId]) => { if (open && departmentId) { - fetchUnwantedEvents(startAt.value, endAt.value) + fetchUnwantedEvents(props.startAt, props.endAt) } }, { immediate: true, diff --git a/resources/js/Pages/Statistic/Index.vue b/resources/js/Pages/Statistic/Index.vue index 8fde915..2fa174d 100644 --- a/resources/js/Pages/Statistic/Index.vue +++ b/resources/js/Pages/Statistic/Index.vue @@ -393,9 +393,12 @@ const buildReportHref = (departmentId, startAt, endAt) => { > - - - + + +