| | |
| | | @update:model-value="onDateChange" |
| | | > |
| | | <template #header="{ date }"> |
| | | <div> |
| | | <div style="width: 100%"> |
| | | <el-row justify="space-between"> |
| | | <el-space> |
| | | <el-tag type="default" |
| | |
| | | ) |
| | | }}</el-tag |
| | | > |
| | | <el-tag type="default">整改:{{ taskStatistic.changed }}</el-tag> |
| | | <!-- <el-tag type="default">整改:{{ taskStatistic.changed }}</el-tag> --> |
| | | </el-space> |
| | | <el-space> |
| | | <el-text>聚焦用户:</el-text> |
| | |
| | | v-model="selectedUsers" |
| | | multiple |
| | | clearable |
| | | collapse-tags |
| | | :max-collapse-tags="1" |
| | | style="width: 150px" |
| | | > |
| | | <el-option |
| | |
| | | v-for="user in taskStatistic.progressPerUser" |
| | | :key="user.userId" |
| | | > |
| | | {{ |
| | | <!-- {{ |
| | | `${user.userName}:巡查量 ${ |
| | | user.completeTaskNum |
| | | },及时整改率 ${formatPercent( |
| | | },即时整改率 ${formatPercent( |
| | | user.changedProblemNumOnTime / user.totalProblemNum |
| | | )},平均耗时 ${ |
| | | user.avgInspectionTime ? user.avgInspectionTime : '--' |
| | | }` |
| | | }} --> |
| | | {{ |
| | | `${user.userName}:${ |
| | | user.completeTaskNum |
| | | } | ${formatPercent( |
| | | user.changedProblemNumOnTime / user.totalProblemNum |
| | | )} | ${ |
| | | user.avgInspectionTime ? user.avgInspectionTime : '--' |
| | | }` |
| | | }} |
| | |
| | | > |
| | | <el-row justify="space-between"> |
| | | <el-text |
| | | title="巡查人员" |
| | | size="small" |
| | | :type=" |
| | | selectedUsers.includes(item.userName) ? 'primary' : 'info' |
| | |
| | | <el-row justify="space-between"> |
| | | <!-- <el-space> --> |
| | | <el-text |
| | | title="巡查量" |
| | | size="small" |
| | | style="text-align: center; flex: 1" |
| | | :type=" |
| | |
| | | >{{ item.completeTaskNum }}</el-text |
| | | > |
| | | <el-text |
| | | title="即时整改率" |
| | | size="small" |
| | | style="text-align: center; flex: 1" |
| | | :type=" |
| | |
| | | }}</el-text |
| | | > |
| | | <el-text |
| | | title="平均耗时" |
| | | size="small" |
| | | style="text-align: center; flex: 1" |
| | | :type=" |
| | |
| | | |
| | | // 总任务统计 |
| | | const taskStatistic = computed(() => { |
| | | // const resMap = new Map() |
| | | const res = { |
| | | total: 0, |
| | | complete: 0, |
| | |
| | | top: 5px; |
| | | } |
| | | |
| | | ::v-deep .el-calendar-table .el-calendar-day { |
| | | :deep(.el-calendar-table .el-calendar-day) { |
| | | height: initial; |
| | | padding: initial; |
| | | } |
| | | |
| | | ::v-deep .el-calendar-table .el-calendar-day:hover { |
| | | :deep(.el-calendar-table .el-calendar-day:hover) { |
| | | background-color: transparent; |
| | | } |
| | | |
| | | /* ::v-deep .el-calendar-table td.is-selected { |
| | | /* :deep(.el-calendar-table td.is-selected) { |
| | | background-color: initial; |
| | | } */ |
| | | |
| | |
| | | cursor: not-allowed; |
| | | } |
| | | |
| | | /* ::v-deep .el-calendar-table tr td:first-child { |
| | | /* :deep(.el-calendar-table tr td:first-child) { |
| | | border-left: none !important; |
| | | } */ |
| | | |
| | | /* ::v-deep .el-calendar-table tr:first-child td { |
| | | /* :deep(.el-calendar-table tr:first-child td) { |
| | | border-top: none; |
| | | } */ |
| | | |
| | | /* ::v-deep .el-calendar-table td { |
| | | /* :deep(.el-calendar-table td) { |
| | | border-bottom: none; |
| | | border-right: none; |
| | | vertical-align: top; |
| | |
| | | transition: background-color 0.2s ease; |
| | | } */ |
| | | |
| | | ::v-deep .el-calendar-table thead th { |
| | | :deep(.el-calendar-table thead th) { |
| | | padding: 12px 0; |
| | | color: #606266; |
| | | font-weight: normal; |