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