From 42cdb857764765ed2e8ae8c549a90ae88d3643d0 Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期五, 18 九月 2026 14:17:04 +0800
Subject: [PATCH] 添加了分拣员日统计页面

---
 src/modules/report/locales/zh-tw.json    |   23 ++++
 src/modules/report/locales/zh-cn.json    |   23 ++++
 src/modules/report/locales/en.json       |   23 ++++
 src/modules/report/views/dailysorter.vue |  190 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 256 insertions(+), 3 deletions(-)

diff --git a/src/modules/report/locales/en.json b/src/modules/report/locales/en.json
index 5c22de2..3a20c50 100644
--- a/src/modules/report/locales/en.json
+++ b/src/modules/report/locales/en.json
@@ -54,6 +54,27 @@
 "鎬ュ姞閫熸鏁�":"鎬ュ姞閫熸鏁�",
 "鎬ヨ浆寮鏁�":"鎬ヨ浆寮鏁�",
 "闈炲伐浣滄椂娈靛紓鍔ㄥ憡璀︽鏁�":"闈炲伐浣滄椂娈靛紓鍔ㄥ憡璀︽鏁�",
-"鍒涘缓鏃堕棿":"鍒涘缓鏃堕棿"
+"鍒涘缓鏃堕棿":"鍒涘缓鏃堕棿",
+"濮撳悕":"Name",
+"韬唤璇佸彿":"ID Card",
+"宸ヤ綔绔欑偣":"Work Site",
+"绛惧埌鏃堕棿":"Check-in Time",
+"绛鹃��鏃堕棿":"Check-out Time",
+"宸ヤ綔鏃堕暱":"Work Hours",
+"鑰冨嫟鐘舵��":"Attendance Status",
+"GPS鏁版嵁鐐规暟閲�":"GPS Point Count",
+"宸ヤ綔杞ㄨ抗閲岀▼":"Track Distance (KM)",
+"绉诲姩鏃堕暱":"Moving Minutes",
+"鍥炴敹璁㈠崟鏁�":"Recycle Orders",
+"瀹屾垚璁㈠崟鏁�":"Completed Orders",
+"棰勭害涓婇棬璁㈠崟鏁�":"Appointment Orders",
+"鍙戞斁纰崇Н鍒�":"Carbon Points",
+"鍋ュ悍鏁版嵁鏁伴噺":"Health Records",
+"鍋ュ悍寮傚父鏁伴噺":"Abnormal Health Count",
+"鍋ュ悍鍛婅鎬绘暟":"Health Alarms",
+"涓�鑸憡璀︽鏁�":"General Alarms",
+"涓瓑鍛婅娆℃暟":"Medium Alarms",
+"涓ラ噸鍛婅娆℃暟":"Serious Alarms",
+"鏈鐞嗗憡璀︽鏁�":"Unhandled Alarms"
 
 }
\ No newline at end of file
diff --git a/src/modules/report/locales/zh-cn.json b/src/modules/report/locales/zh-cn.json
index 5c22de2..8922103 100644
--- a/src/modules/report/locales/zh-cn.json
+++ b/src/modules/report/locales/zh-cn.json
@@ -54,6 +54,27 @@
 "鎬ュ姞閫熸鏁�":"鎬ュ姞閫熸鏁�",
 "鎬ヨ浆寮鏁�":"鎬ヨ浆寮鏁�",
 "闈炲伐浣滄椂娈靛紓鍔ㄥ憡璀︽鏁�":"闈炲伐浣滄椂娈靛紓鍔ㄥ憡璀︽鏁�",
-"鍒涘缓鏃堕棿":"鍒涘缓鏃堕棿"
+"鍒涘缓鏃堕棿":"鍒涘缓鏃堕棿",
+"濮撳悕":"濮撳悕",
+"韬唤璇佸彿":"韬唤璇佸彿",
+"宸ヤ綔绔欑偣":"宸ヤ綔绔欑偣",
+"绛惧埌鏃堕棿":"绛惧埌鏃堕棿",
+"绛鹃��鏃堕棿":"绛鹃��鏃堕棿",
+"宸ヤ綔鏃堕暱":"宸ヤ綔鏃堕暱(灏忔椂)",
+"鑰冨嫟鐘舵��":"鑰冨嫟鐘舵��",
+"GPS鏁版嵁鐐规暟閲�":"GPS鏁版嵁鐐规暟閲�",
+"宸ヤ綔杞ㄨ抗閲岀▼":"宸ヤ綔杞ㄨ抗閲岀▼(KM)",
+"绉诲姩鏃堕暱":"绉诲姩鏃堕暱(鍒�)",
+"鍥炴敹璁㈠崟鏁�":"鍥炴敹璁㈠崟鏁�",
+"瀹屾垚璁㈠崟鏁�":"瀹屾垚璁㈠崟鏁�",
+"棰勭害涓婇棬璁㈠崟鏁�":"棰勭害涓婇棬璁㈠崟鏁�",
+"鍙戞斁纰崇Н鍒�":"鍙戞斁纰崇Н鍒�",
+"鍋ュ悍鏁版嵁鏁伴噺":"鍋ュ悍鏁版嵁鏁伴噺",
+"鍋ュ悍寮傚父鏁伴噺":"鍋ュ悍寮傚父鏁伴噺",
+"鍋ュ悍鍛婅鎬绘暟":"鍋ュ悍鍛婅鎬绘暟",
+"涓�鑸憡璀︽鏁�":"涓�鑸憡璀︽鏁�",
+"涓瓑鍛婅娆℃暟":"涓瓑鍛婅娆℃暟",
+"涓ラ噸鍛婅娆℃暟":"涓ラ噸鍛婅娆℃暟",
+"鏈鐞嗗憡璀︽鏁�":"鏈鐞嗗憡璀︽鏁�"
 
 }
\ No newline at end of file
diff --git a/src/modules/report/locales/zh-tw.json b/src/modules/report/locales/zh-tw.json
index 5c22de2..c2dff69 100644
--- a/src/modules/report/locales/zh-tw.json
+++ b/src/modules/report/locales/zh-tw.json
@@ -54,6 +54,27 @@
 "鎬ュ姞閫熸鏁�":"鎬ュ姞閫熸鏁�",
 "鎬ヨ浆寮鏁�":"鎬ヨ浆寮鏁�",
 "闈炲伐浣滄椂娈靛紓鍔ㄥ憡璀︽鏁�":"闈炲伐浣滄椂娈靛紓鍔ㄥ憡璀︽鏁�",
-"鍒涘缓鏃堕棿":"鍒涘缓鏃堕棿"
+"鍒涘缓鏃堕棿":"鍒涘缓鏃堕棿",
+"濮撳悕":"濮撳悕",
+"韬唤璇佸彿":"韬唤璀夎櫉",
+"宸ヤ綔绔欑偣":"宸ヤ綔绔欓粸",
+"绛惧埌鏃堕棿":"绨藉埌鏅傞枔",
+"绛鹃��鏃堕棿":"绨介��鏅傞枔",
+"宸ヤ綔鏃堕暱":"宸ヤ綔鏅傞暦(灏忔檪)",
+"鑰冨嫟鐘舵��":"鑰冨嫟鐙�鎱�",
+"GPS鏁版嵁鐐规暟閲�":"GPS鏁告摎榛炴暩閲�",
+"宸ヤ綔杞ㄨ抗閲岀▼":"宸ヤ綔杌岃贰閲岀▼(KM)",
+"绉诲姩鏃堕暱":"绉诲嫊鏅傞暦(鍒�)",
+"鍥炴敹璁㈠崟鏁�":"鍥炴敹瑷傚柈鏁�",
+"瀹屾垚璁㈠崟鏁�":"瀹屾垚瑷傚柈鏁�",
+"棰勭害涓婇棬璁㈠崟鏁�":"闋愮磩涓婇杸瑷傚柈鏁�",
+"鍙戞斁纰崇Н鍒�":"鐧兼斁纰崇鍒�",
+"鍋ュ悍鏁版嵁鏁伴噺":"鍋ュ悍鏁告摎鏁搁噺",
+"鍋ュ悍寮傚父鏁伴噺":"鍋ュ悍鐣板父鏁搁噺",
+"鍋ュ悍鍛婅鎬绘暟":"鍋ュ悍鍛婅绺芥暩",
+"涓�鑸憡璀︽鏁�":"涓�鑸憡璀︽鏁�",
+"涓瓑鍛婅娆℃暟":"涓瓑鍛婅娆℃暩",
+"涓ラ噸鍛婅娆℃暟":"鍤撮噸鍛婅娆℃暩",
+"鏈鐞嗗憡璀︽鏁�":"鏈檿鐞嗗憡璀︽鏁�"
 
 }
\ No newline at end of file
diff --git a/src/modules/report/views/dailysorter.vue b/src/modules/report/views/dailysorter.vue
new file mode 100644
index 0000000..0ba0d23
--- /dev/null
+++ b/src/modules/report/views/dailysorter.vue
@@ -0,0 +1,190 @@
+<template>
+	<cl-crud ref="Crud">
+		<cl-row>
+			<!-- 鍒锋柊鎸夐挳 -->
+			<cl-refresh-btn />
+			<!-- 鏂板鎸夐挳 -->
+			<!--cl-add-btn /-->
+			<!-- 鍒犻櫎鎸夐挳 -->
+			<!--cl-multi-delete-btn /-->
+			<cl-flex1 />
+			<!-- 鏉′欢鎼滅储 -->
+			<cl-search ref="Search" />
+		</cl-row>
+
+		<cl-row>
+			<!-- 鏁版嵁琛ㄦ牸 -->
+			<cl-table ref="Table" />
+		</cl-row>
+
+		<cl-row>
+			<cl-flex1 />
+			<!-- 鍒嗛〉鎺т欢 -->
+			<cl-pagination />
+		</cl-row>
+
+		<!-- 鏂板銆佺紪杈� -->
+		<!--cl-upsert ref="Upsert" /-->
+	</cl-crud>
+</template>
+
+<script lang="ts" setup>
+defineOptions({
+	name: "report-dailysorter"
+});
+
+import { useCrud, useTable, useSearch } from "@cool-vue/crud";
+import { useCool } from "/@/cool";
+import { useI18n } from "vue-i18n";
+
+const { service } = useCool();
+const { t } = useI18n();
+
+// cl-table
+const Table = useTable({
+	columns: [
+		{ type: "selection" },
+		{
+			label: t("鏃ユ湡"),
+			prop: "date",
+			minWidth: 140,
+			sortable: "custom",
+			component: { name: "cl-date-text", props: { format: "YYYY-MM-DD" } }
+		},
+		{ label: t("濮撳悕"), prop: "businessName", minWidth: 120 },
+		{ label: t("韬唤璇佸彿"), prop: "businessId", minWidth: 180 },
+		{ label: t("鎵�灞為儴闂�"), prop: "departmentName", minWidth: 120 },
+		{ label: t("宸ヤ綔绔欑偣"), prop: "workSiteName", minWidth: 140 },
+		{
+			label: t("绛惧埌鏃堕棿"),
+			prop: "checkInTime",
+			minWidth: 170,
+			sortable: "custom",
+			component: { name: "cl-date-text" }
+		},
+		{
+			label: t("绛鹃��鏃堕棿"),
+			prop: "checkOutTime",
+			minWidth: 170,
+			sortable: "custom",
+			component: { name: "cl-date-text" }
+		},
+		{
+			label: t("宸ヤ綔鏃堕暱"),
+			prop: "workHours",
+			minWidth: 130,
+			sortable: "custom"
+		},
+		{ label: t("鑰冨嫟鐘舵��"), prop: "attendanceStatus", minWidth: 120 },
+		{
+			label: t("GPS鏁版嵁鐐规暟閲�"),
+			prop: "gpsPointCount",
+			minWidth: 140,
+			sortable: "custom"
+		},
+		{
+			label: t("宸ヤ綔杞ㄨ抗閲岀▼"),
+			prop: "totalKm",
+			minWidth: 140,
+			sortable: "custom"
+		},
+		{
+			label: t("绉诲姩鏃堕暱"),
+			prop: "minutesMoving",
+			minWidth: 130,
+			sortable: "custom"
+		},
+		{
+			label: t("鍥炴敹璁㈠崟鏁�"),
+			prop: "orderCount",
+			minWidth: 130,
+			sortable: "custom"
+		},
+		{
+			label: t("瀹屾垚璁㈠崟鏁�"),
+			prop: "completedOrderCount",
+			minWidth: 130,
+			sortable: "custom"
+		},
+		{
+			label: t("棰勭害涓婇棬璁㈠崟鏁�"),
+			prop: "appointmentOrderCount",
+			minWidth: 150,
+			sortable: "custom"
+		},
+		{
+			label: t("鍙戞斁纰崇Н鍒�"),
+			prop: "totalCarbonPoint",
+			minWidth: 130,
+			sortable: "custom"
+		},
+		{
+			label: t("鍋ュ悍鏁版嵁鏁伴噺"),
+			prop: "healthDataCount",
+			minWidth: 140,
+			sortable: "custom"
+		},
+		{
+			label: t("鍋ュ悍寮傚父鏁伴噺"),
+			prop: "healthAbnormalCount",
+			minWidth: 140,
+			sortable: "custom"
+		},
+		{
+			label: t("鍋ュ悍鍛婅鎬绘暟"),
+			prop: "alarmCount",
+			minWidth: 140,
+			sortable: "custom"
+		},
+		{
+			label: t("涓�鑸憡璀︽鏁�"),
+			prop: "generalAlarmCount",
+			minWidth: 140,
+			sortable: "custom"
+		},
+		{
+			label: t("涓瓑鍛婅娆℃暟"),
+			prop: "mediumAlarmCount",
+			minWidth: 140,
+			sortable: "custom"
+		},
+		{
+			label: t("涓ラ噸鍛婅娆℃暟"),
+			prop: "seriousAlarmCount",
+			minWidth: 140,
+			sortable: "custom"
+		},
+		{
+			label: t("鏈鐞嗗憡璀︽鏁�"),
+			prop: "unhandledAlarmCount",
+			minWidth: 150,
+			sortable: "custom"
+		},
+		{
+			label: t("鍒涘缓鏃堕棿"),
+			prop: "createTime",
+			minWidth: 170,
+			sortable: "desc",
+			component: { name: "cl-date-text" }
+		}
+	]
+});
+
+// cl-search
+const Search = useSearch();
+
+// cl-crud
+const Crud = useCrud(
+	{
+		service: service.report.dailysorter
+	},
+	(app) => {
+		app.refresh();
+	}
+);
+
+// 鍒锋柊
+function refresh(params?: any) {
+	Crud.value?.refresh(params);
+}
+</script>

--
Gitblit v1.9.1