| | |
| | | :tableData="tableData" |
| | | :page="page" |
| | | :tableLoading="tableLoading" |
| | | :row-class-name="tableRowClassName" |
| | | @pagination="pagination"> |
| | | <template #completionStatus="{ row }"> |
| | | <el-progress :percentage="toProgressPercentage(row?.completionStatus)" |
| | |
| | | :status="toProgressPercentage(row?.completionStatus) >= 100 ? 'success' : ''" /> |
| | | </template> |
| | | <template #todayReportState="{ row }"> |
| | | {{ formatTodayReportState(row?.todayReportState) }} |
| | | <el-tag :type="todayReportStateTagType(row?.todayReportState)" |
| | | size="small"> |
| | | {{ formatTodayReportState(row?.todayReportState) }} |
| | | </el-tag> |
| | | </template> |
| | | <template #totalReportDurationMinutes="{ row }"> |
| | | {{ formatDurationHours(row?.totalReportDurationMinutes) }} |
| | |
| | | width: "80", |
| | | }, |
| | | { |
| | | label: "今日报工状态", |
| | | prop: "todayReportState", |
| | | dataType: "slot", |
| | | slot: "todayReportState", |
| | | width: "110", |
| | | }, |
| | | { |
| | | label: "工单编号", |
| | | prop: "workOrderNo", |
| | | width: "140", |
| | |
| | | prop: "completionStatus", |
| | | dataType: "slot", |
| | | slot: "completionStatus", |
| | | width: "140", |
| | | }, |
| | | { |
| | | label: "今日报工状态", |
| | | prop: "todayReportState", |
| | | dataType: "slot", |
| | | slot: "todayReportState", |
| | | width: "140", |
| | | }, |
| | | { |
| | |
| | | if (!Number.isFinite(minutes) || minutes < 0) return "-"; |
| | | return (minutes / 60).toFixed(2); |
| | | }; |
| | | const tableRowClassName = ({ row }) => { |
| | | const state = Number(row?.todayReportState); |
| | | if (state === 1) return "today-report-not-started"; |
| | | if (state === 2) return "today-report-started"; |
| | | if (state === 3) return "today-report-ended"; |
| | | return ""; |
| | | const todayReportStateTagType = val => { |
| | | const state = Number(val); |
| | | if (state === 1) return "info"; |
| | | if (state === 2) return "warning"; |
| | | if (state === 3) return "success"; |
| | | return "info"; |
| | | }; |
| | | |
| | | // 查询列表 |
| | |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | :deep(.el-table .today-report-not-started > td) { |
| | | background-color: #fff7e6 !important; |
| | | } |
| | | |
| | | :deep(.el-table .today-report-started > td) { |
| | | background-color: #ecf5ff !important; |
| | | } |
| | | |
| | | :deep(.el-table .today-report-ended > td) { |
| | | background-color: #f0f9eb !important; |
| | | } |
| | | </style> |
| | | |
| | | <style lang="scss"> |