From d8743368ffda9bc0fb2c6818f695a9a6b1079e57 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 19 九月 2025 18:22:15 +0800
Subject: [PATCH] laster
---
pages/task/log-list.vue | 253 +++++++++++++-------------------------------------
1 files changed, 66 insertions(+), 187 deletions(-)
diff --git a/pages/task/log-list.vue b/pages/task/log-list.vue
index 7d2f6d4..b1c6003 100644
--- a/pages/task/log-list.vue
+++ b/pages/task/log-list.vue
@@ -3,36 +3,35 @@
<view class="list-content" v-if="list.length > 0">
<view class="header">
<view class="item">
- <view class="title">{{accumulatedDuration}}<text class="text">min</text></view>
+ <view class="title">{{totalDuration}}<text class="text">min</text></view>
<view class="text">绱鏃堕暱</view>
</view>
- <!-- <view class="item">
- <view class="title">{{accumulatedMileage}}<text class="text">m</text></view>
- <view class="text">绱閲岀▼</view>
- </view> -->
+
<view class="item">
- <view class="title">{{cumulativeCount}}</view>
+ <view class="title">{{totalCount}}</view>
<view class="text">绱娆℃暟</view>
</view>
</view>
<view class="list">
- <view class="task-header" v-if="fixedList.length > 0">鍥哄畾浠诲姟</view>
- <template v-for="(group) in fixedList" :key="group.date">
+ <!-- <view class="task-header" v-if="fixedList.length > 0">鍥哄畾浠诲姟</view> -->
+ <template v-for="(group) in taskList" :key="group.date">
<view class="task-header">{{group.date}}</view>
<view class="task-list-view">
- <TaskLogItemView class="list-item" v-for="(item,index) in group.list" :key="index" :taskData="item">
+ <TaskLogItemView class="list-item" v-for="(item,index) in group.list" :key="index"
+ :taskData="item">
</TaskLogItemView>
</view>
</template>
- <view class="task-header" v-if="tempList.length > 0">涓存椂浠诲姟</view>
+ <!-- <view class="task-header" v-if="tempList.length > 0">涓存椂浠诲姟</view>
<template v-for="(group) in tempList" :key="group.date">
<view class="task-header">{{group.date}}</view>
<view class="task-list-view">
- <TaskLogItemView class="list-item" v-for="(item,index) in group.list" :key="index" :taskData="item">
+ <TaskLogItemView class="list-item" v-for="(item,index) in group.list" :key="index"
+ :taskData="item">
</TaskLogItemView>
</view>
- </template>
+ </template> -->
</view>
</view>
<view class="list-no-content" v-else>
@@ -46,7 +45,9 @@
<script>
import {
showToast,
- showModal
+ showModal,
+ showError,
+ showInfo
} from "@/comm/utils.js"
import TaskLogItemView from "./infos/task-log-item.vue"
import {
@@ -59,12 +60,35 @@
},
data() {
return {
- ip:"",
+ ip: "",
sceneId: "",
list: [],
}
},
computed: {
+ taskList() {
+ const listRes = []
+ this.list.forEach((ele) => {
+ const dateStart = new Date(Number(ele.start_time))
+ const date = `${dateStart.getMonth()}-${dateStart.getDay()}`;
+ const curIndex = listRes.findIndex((a) => a.date == date)
+ if (curIndex < 0) {
+ let group = {
+ date,
+ list: [ele]
+ }
+ listRes.push(group)
+ } else {
+ let group = listRes[curIndex]
+ group.list.push(ele)
+ }
+
+ })
+ listRes.sort((a, b) => {
+ return a.date < b.date ? 1 : -1
+ });
+ return listRes
+ },
fixedList() {
let list = this.list.filter((a) => a.tasktype == 1)
let group
@@ -92,53 +116,22 @@
})
return listRes
},
- tempList() {
- let list = this.list.filter((a) => a.tasktype == 2)
- let group
- const listRes = []
- list.sort((a, b) => {
- return a.date > b.date
- });
- list.forEach((item) => {
- if (group) {
- if (item.date != group.date) {
- group = {
- date: item.date,
- list: []
- }
- listRes.push(group)
- }
- } else {
- group = {
- date: item.date,
- list: []
- }
- listRes.push(group)
- }
- group.list.push(item)
- })
- return listRes
- },
- accumulatedDuration() {
- let res = 0
+ totalDuration() {
+ let d = 0
+ // this.list.forEach((item) => {
+ // d += item.duration || 0
+ // })
this.list.forEach((item) => {
- res += item.duration || 0
+ d +=( item.end_time - item.start_time)
})
- return res
+ return Math.ceil(d / (60 * 1000))
},
- accumulatedMileage() {
- let res = 0
- this.list.forEach((item) => {
- res += item.accumulated_mileage || 0
- })
- return res
- },
- cumulativeCount() {
- let res = 0
- this.list.forEach((item) => {
- res += item.cycleNumber || 0
- })
- return res
+ totalCount() {
+ let cnt =this.list.length
+ // this.list.forEach((item) => {
+ // cnt += item.list.length
+ // })
+ return cnt
},
},
onLoad(option) {
@@ -170,87 +163,14 @@
},
async loadData() {
try {
- /*this.list = [{
- type: 0,
- taskButton: 1,
- name: "1鍙风珯鐐瑰埌2鍙风珯鐐�,
- date: "5-18",
- accumulated_duration: 5693,
- accumulated_mileage: 6421,
- cumulative_number: 55,
- status: 1,
- }, {
- type: 0,
- taskButton: 2,
- name: "2鍙风珯鐐瑰埌1鍙风珯鐐�,
- date: "5-08",
- accumulated_duration: 888,
- accumulated_mileage: 642,
- cumulative_number: 31,
- status: 2,
- }, {
- type: 0,
- taskButton: 1,
- name: "1鍙风珯鐐瑰埌2鍙风珯鐐�,
- date: "4-28",
- accumulated_duration: 998,
- accumulated_mileage: 2421,
- cumulative_number: 85,
- status: 2,
- }, {
- type: 0,
- taskButton: 2,
- name: "2鍙风珯鐐瑰埌1鍙风珯鐐�,
- date: "4-28",
- accumulated_duration: 688,
- accumulated_mileage: 1421,
- cumulative_number: 65,
- status: 4,
- }, {
- type: 1,
- taskButton: 3,
- name: "1鍙风珯鐐瑰埌2鍙风珯鐐�,
- date: "5-18",
- accumulated_duration: 5693,
- accumulated_mileage: 6421,
- cumulative_number: 55,
- status: 2,
- }, {
- type: 1,
- taskButton: 4,
- name: "2鍙风珯鐐瑰埌1鍙风珯鐐�,
- date: "5-08",
- accumulated_duration: 888,
- accumulated_mileage: 642,
- cumulative_number: 31,
- status: 2,
- }, {
- type: 1,
- taskButton: 3,
- name: "1鍙风珯鐐瑰埌2鍙风珯鐐�,
- date: "4-28",
- accumulated_duration: 998,
- accumulated_mileage: 2421,
- cumulative_number: 85,
- status: 2,
- }, {
- type: 1,
- taskButton: 4,
- name: "2鍙风珯鐐瑰埌1鍙风珯鐐�,
- date: "4-28",
- accumulated_duration: 688,
- accumulated_mileage: 1421,
- cumulative_number: 65,
- status: 2,
-
- }]*/
this.list = await this.loadTaskLog()
} catch (ex) {
- this.showError(ex)
+ showError(ex)
}
},
async loadTaskLog() {
try {
+
const now = new Date();
const oneWeekAgo = new Date();
const endTimeStamp = `${now.getTime()}`
@@ -259,53 +179,16 @@
const res = await getTaskLog(this.ip, startTimeStamp, endTimeStamp)
const list = res?.task_info || []
- console.log(list)
- list.forEach((ele) => {
-
- console.log(ele)
- const dateStart = new Date()
- dateStart.setTime(Number(ele.taskStartTimeStamp))
- ele.date = `${dateStart.getMonth()}-${dateStart.getDay()}`;
- let taskList = ele.taskList || []
- taskList.sort((a, b) => {
- return a.lastUpdateTimeStamp > b.lastUpdateTimeStamp
- });
- console.log(taskList)
- ele.startTime = `${dateStart.getHours()}:${dateStart.getMinutes()}`;
- ele.endTime = ele.startTime
- ele.duration = 0;
- ele.status = 0
- // console.log(ele)
- if (taskList.length > 0) {
- const dateEnd = new Date()
- dateEnd.setTime(Number(taskList[taskList.length - 1].lastUpdateTimeStamp))
- for (let i in taskList) {
- const ele2 = taskList[i]
- if (ele2.status == 1) {
- ele.status = 1
- break;
- } else if (ele2.status == 2 || ele2.status == 4 || ele2.status == 5) {
- ele.status = 2
- break;
- }
- }
- if (!ele.status) {
- if (taskList.filter((a) => a.status != 3).length == 0) {
- ele.status = 3
- }
- }
- const diffInMs = dateEnd - dateStart; // 鎴栬� Math.abs(date1 - date2)
- ele.endTime = `${dateEnd.getHours()}:${dateEnd.getMinutes()}`;
- ele.duration = Math.round(diffInMs / (1000 * 60))
- console.log(ele)
- }
- })
- console.log(list)
+ list.sort((a, b) => {
+ return a.end_time < b.end_time ? 1 : -1
+ });
+
+ showToast(`瑁呰浇浜�{list.length}璁板綍`)
return list
} catch (ex) {
- this.showError(ex)
+ showError(ex)
return []
- }
+ }
},
clickTask(item) {
@@ -313,13 +196,7 @@
// url: "/pages/task/index"
// })
},
- showError(ex) {
- let exStr = JSON.stringify(ex)
- if (exStr == "{}")
- exStr = ex
- let tip = typeof ex.msg == "string" ? ex.msg : exStr
- showModal(tip, "閿欒", false,"纭畾")
- },
+
}
}
</script>
@@ -377,20 +254,22 @@
overflow: auto;
.task-header {
- width: 100% ;
+ width: 100%;
padding: 10rpx;
font-size: 32rpx;
}
.task-list-view {
- width: 100% ;
+ width: 100%;
border-radius: 10rpx;
// padding: 0 10rpx;
background-color: #fff;
+
.list-item {
-
+
border-bottom: 1px solid #ddd;
}
+
.list-item:last-child {
border-bottom: 0;
/* 鍙充笅瑙�*/
--
Gitblit v1.9.1