From 5685ee91362597b2ca73d28911acb22ba433dd8e Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 1 Jul 2026 18:39:25 +0800 Subject: [PATCH] 11 --- src/api/car/carPark.ts | 59 +++++- src/utils/dispose.ts | 17 ++ .../car/carPark/components/currentCarPark.vue | 107 ++++++++++ .../car/carPark/components/historyCarPark.vue | 93 +++++++++ .../car/carPark/components/statusCarPark.vue | 92 ++++++++ src/views/car/carPark/index.vue | 197 ++++++++++-------- src/views/car/carRecord/index.vue | 6 - src/views/car/carTimes/index.vue | 17 +- 8 files changed, 483 insertions(+), 105 deletions(-) create mode 100644 src/views/car/carPark/components/currentCarPark.vue create mode 100644 src/views/car/carPark/components/historyCarPark.vue create mode 100644 src/views/car/carPark/components/statusCarPark.vue diff --git a/src/api/car/carPark.ts b/src/api/car/carPark.ts index f01a963..6f8fcf4 100644 --- a/src/api/car/carPark.ts +++ b/src/api/car/carPark.ts @@ -1,13 +1,50 @@ -import request from "/@/utils/request" +import request from "/@/utils/request"; export function fetchList(data: any) { - return request({ - url: '/admin/car/car-park/page', - method: 'post', - params: { - current: data.current, - size: data.size, - }, - data, - }) -} \ No newline at end of file + return request({ + url: "/admin/car/car-park/page", + method: "post", + params: { + current: data.current, + size: data.size, + }, + data, + }); +} + +export function fetchListV2(data: any) { + return request({ + url: "/admin/car/car-park/v2/page", + method: "post", + params: { + current: data.current, + size: data.size, + }, + data, + }); +} + +// 在册车辆或者军车在位状态 +export function getCarHistoryPage(data: any) { + return request({ + url: "/admin/car/car-park/v2/history", + method: "post", + params: { + current: data.current, + size: data.size, + }, + data, + }); +} + +export function getCarParkingStatusPage(data: any) { + return request({ + url: "/admin/car/car-park/v2/status/page", + method: "post", + params: { + current: data.current, + size: data.size, + }, + data, + }); +} diff --git a/src/utils/dispose.ts b/src/utils/dispose.ts index 34775c1..de8fa8a 100644 --- a/src/utils/dispose.ts +++ b/src/utils/dispose.ts @@ -18,6 +18,7 @@ function parseDate(input: string) { } export function timeDiff(enterTime: string, exitTime: string) { + if (!enterTime || !exitTime) return ""; const enter = parseDate(enterTime); const exit = parseDate(exitTime); let diff = exit.getTime() - enter.getTime(); @@ -36,6 +37,22 @@ export function timeDiff(enterTime: string, exitTime: string) { return `${diffHours}小时${diffMinutes}分钟`; } +export function timeDiffBySeconds(seconds: number | string) { + const safeSeconds = Math.max(0, Number(seconds) || 0); + const totalMinutes = Math.floor(safeSeconds / 60); + const totalHours = Math.floor(totalMinutes / 60); + const diffMinutes = totalMinutes % 60; + const diffDays = Math.floor(totalHours / 24); + const diffHours = totalHours % 24; + if (diffDays > 0) { + if (diffMinutes === 0) return `${diffDays}天${diffHours}小时`; + return `${diffDays}天${diffHours}小时${diffMinutes}分钟`; + } + if (diffHours === 0) return `${diffMinutes}分钟`; + if (diffMinutes === 0) return `${diffHours}小时`; + return `${diffHours}小时${diffMinutes}分钟`; +} + /** * 设备通道能力位图(32 位,从右到左为第 1 位至第 32 位) * - 输入:支持以下任意格式 diff --git a/src/views/car/carPark/components/currentCarPark.vue b/src/views/car/carPark/components/currentCarPark.vue new file mode 100644 index 0000000..d95f18f --- /dev/null +++ b/src/views/car/carPark/components/currentCarPark.vue @@ -0,0 +1,107 @@ + + + \ No newline at end of file diff --git a/src/views/car/carPark/components/historyCarPark.vue b/src/views/car/carPark/components/historyCarPark.vue new file mode 100644 index 0000000..3aa3435 --- /dev/null +++ b/src/views/car/carPark/components/historyCarPark.vue @@ -0,0 +1,93 @@ + + + \ No newline at end of file diff --git a/src/views/car/carPark/components/statusCarPark.vue b/src/views/car/carPark/components/statusCarPark.vue new file mode 100644 index 0000000..a3570cd --- /dev/null +++ b/src/views/car/carPark/components/statusCarPark.vue @@ -0,0 +1,92 @@ + + + \ No newline at end of file diff --git a/src/views/car/carPark/index.vue b/src/views/car/carPark/index.vue index 8a7ad79..6150cc4 100644 --- a/src/views/car/carPark/index.vue +++ b/src/views/car/carPark/index.vue @@ -1,7 +1,7 @@ \ No newline at end of file + diff --git a/src/views/car/carRecord/index.vue b/src/views/car/carRecord/index.vue index 6dce55d..2663f0b 100644 --- a/src/views/car/carRecord/index.vue +++ b/src/views/car/carRecord/index.vue @@ -201,12 +201,6 @@ onBeforeUnmount(() => { } }) - -// 导出excel -const exportExcel = () => { - downBlobFile('/car/carRecord/export', Object.assign(state.queryForm, { ids: selectObjs }), 'carRecord.xlsx') -} - // 多选事件 const selectionChangHandle = (objs: { id: string }[]) => { selectObjs.value = objs.map(({ id }) => id); diff --git a/src/views/car/carTimes/index.vue b/src/views/car/carTimes/index.vue index 0868d76..b57801e 100644 --- a/src/views/car/carTimes/index.vue +++ b/src/views/car/carTimes/index.vue @@ -7,6 +7,12 @@ + + + + + + {{ $t('common.queryBtn') }} @@ -26,6 +32,15 @@ @sort-change="sortChangeHandle" show-summary :summary-method="getSummaries"> + + + @@ -82,7 +97,7 @@ const selectObjs = ref([]) as any const multiple = ref(true) // 定义查询字典 -const { dh_enter_Mode, car_alarm_type } = useDict('dh_enter_Mode', "car_alarm_type"); +const { yes_no_type } = useDict('yes_no_type'); const state: BasicTableProps = reactive({ queryForm: {},