11<script setup lang="ts">
2+ import { formatDate } from " ~/utils"
3+
24const route = useRoute ()
35const router = useRouter ()
46
@@ -29,6 +31,13 @@ const { data } = useAsyncData(
2931
3032const totalPages = computed (() => Math .ceil ((data .value ?.count || 0 ) / perPage ))
3133
34+ function limitText(text : string , length : number ) {
35+ if (text .length > length ) {
36+ return text .slice (0 , length ).trim () + " ..."
37+ }
38+ return text
39+ }
40+
3241function handleNext() {
3342 router .push ({
3443 path: " /tasks" ,
@@ -87,7 +96,7 @@ function handlePrev() {
8796 </thead >
8897 <tbody >
8998 <tr v-if =" data" v-for =" task in data.tasks" >
90- <td >{{ task.name }}</td >
99+ <td class = " task-name-td " >{{ task.name }}</td >
91100 <td >
92101 <NuxtLink :to =" { name: 'tasks-id', params: { id: task.id } }" >
93102 {{ task.id }}
@@ -106,10 +115,10 @@ function handlePrev() {
106115 </span >
107116 </td >
108117 <td >{{ task.args }}</td >
109- <td >{{ task.kwargs }}</td >
118+ <td >{{ limitText(JSON.stringify( task.kwargs), 50) }}</td >
110119 <td >{{ task.returnValue }}</td >
111- <td >{{ task.startedAt }}</td >
112- <td >{{ task.finishedAt }}</td >
120+ <td >{{ formatDate( task.startedAt) }}</td >
121+ <td >{{ task.finishedAt ? formatDate(task.finishedAt) : null }}</td >
113122 <td >{{ task.executionTime }}</td >
114123 <td >{{ task.worker }}</td >
115124 </tr >
@@ -128,7 +137,9 @@ function handlePrev() {
128137 >Previous</span
129138 >
130139 </li >
131- <span >{{ page }} / {{ totalPages }}</span >
140+ <div class =" flex justify-center items-center px-2" >
141+ <span >{{ page }} / {{ totalPages }}</span >
142+ </div >
132143 <li class =" page-item" >
133144 <span
134145 @click =" handleNext"
@@ -142,3 +153,10 @@ function handlePrev() {
142153 </div >
143154 </div >
144155</template >
156+ <style scoped>
157+ .task-name-td {
158+ max-width : 300px ;
159+ overflow-x : scroll ;
160+ scrollbar-width : thin ;
161+ }
162+ </style >
0 commit comments