| | |
| | | "急加速次数":"急加速次数", |
| | | "急转弯次数":"急转弯次数", |
| | | "非工作时段异动告警次数":"非工作时段异动告警次数", |
| | | "创建时间":"创建时间" |
| | | "创建时间":"创建时间", |
| | | "姓名":"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" |
| | | |
| | | } |
| | |
| | | "急加速次数":"急加速次数", |
| | | "急转弯次数":"急转弯次数", |
| | | "非工作时段异动告警次数":"非工作时段异动告警次数", |
| | | "创建时间":"创建时间" |
| | | "创建时间":"创建时间", |
| | | "姓名":"姓名", |
| | | "身份证号":"身份证号", |
| | | "工作站点":"工作站点", |
| | | "签到时间":"签到时间", |
| | | "签退时间":"签退时间", |
| | | "工作时长":"工作时长(小时)", |
| | | "考勤状态":"考勤状态", |
| | | "GPS数据点数量":"GPS数据点数量", |
| | | "工作轨迹里程":"工作轨迹里程(KM)", |
| | | "移动时长":"移动时长(分)", |
| | | "回收订单数":"回收订单数", |
| | | "完成订单数":"完成订单数", |
| | | "预约上门订单数":"预约上门订单数", |
| | | "发放碳积分":"发放碳积分", |
| | | "健康数据数量":"健康数据数量", |
| | | "健康异常数量":"健康异常数量", |
| | | "健康告警总数":"健康告警总数", |
| | | "一般告警次数":"一般告警次数", |
| | | "中等告警次数":"中等告警次数", |
| | | "严重告警次数":"严重告警次数", |
| | | "未处理告警次数":"未处理告警次数" |
| | | |
| | | } |
| | |
| | | "急加速次数":"急加速次数", |
| | | "急转弯次数":"急转弯次数", |
| | | "非工作时段异动告警次数":"非工作时段异动告警次数", |
| | | "创建时间":"创建时间" |
| | | "创建时间":"创建时间", |
| | | "姓名":"姓名", |
| | | "身份证号":"身份證號", |
| | | "工作站点":"工作站點", |
| | | "签到时间":"簽到時間", |
| | | "签退时间":"簽退時間", |
| | | "工作时长":"工作時長(小時)", |
| | | "考勤状态":"考勤狀態", |
| | | "GPS数据点数量":"GPS數據點數量", |
| | | "工作轨迹里程":"工作軌跡里程(KM)", |
| | | "移动时长":"移動時長(分)", |
| | | "回收订单数":"回收訂單數", |
| | | "完成订单数":"完成訂單數", |
| | | "预约上门订单数":"預約上門訂單數", |
| | | "发放碳积分":"發放碳積分", |
| | | "健康数据数量":"健康數據數量", |
| | | "健康异常数量":"健康異常數量", |
| | | "健康告警总数":"健康告警總數", |
| | | "一般告警次数":"一般告警次數", |
| | | "中等告警次数":"中等告警次數", |
| | | "严重告警次数":"嚴重告警次數", |
| | | "未处理告警次数":"未處理告警次數" |
| | | |
| | | } |
| New file |
| | |
| | | <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> |