Просмотр исходного кода

Merge pull request #232 from kakingone/add-mj-usetime

add-mj-use-time
Calcium-Ion 1 год назад
Родитель
Сommit
637801fba5
1 измененных файлов с 34 добавлено и 0 удалено
  1. 34 0
      web/src/components/MjLogsTable.js

+ 34 - 0
web/src/components/MjLogsTable.js

@@ -236,6 +236,31 @@ const renderTimestamp = (timestampInSeconds) => {
 
 
   return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; // 格式化输出
   return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; // 格式化输出
 };
 };
+// 修改renderDuration函数以包含颜色逻辑
+function renderDuration(submit_time, finishTime) {
+  // 确保startTime和finishTime都是有效的时间戳
+  if (!submit_time || !finishTime) return 'N/A'; 
+
+  // 将时间戳转换为Date对象
+  const start = new Date(submit_time);
+  const finish = new Date(finishTime);
+
+  // 计算时间差(毫秒)
+  const durationMs = finish - start;
+
+  // 将时间差转换为秒,并保留一位小数
+  const durationSec = (durationMs / 1000).toFixed(1);
+
+  // 设置颜色:大于60秒则为红色,小于等于60秒则为绿色
+  const color = durationSec > 60 ? 'red' : 'green';
+
+  // 返回带有样式的颜色标签
+  return (
+    <Tag color={color} size="large">
+      {durationSec} 秒
+    </Tag>
+  );
+}
 
 
 const LogsTable = () => {
 const LogsTable = () => {
   const [isModalOpen, setIsModalOpen] = useState(false);
   const [isModalOpen, setIsModalOpen] = useState(false);
@@ -248,6 +273,15 @@ const LogsTable = () => {
         return <div>{renderTimestamp(text / 1000)}</div>;
         return <div>{renderTimestamp(text / 1000)}</div>;
       },
       },
     },
     },
+    {
+      title: '花费时间',
+      dataIndex: 'finish_time', // 以finish_time作为dataIndex
+      key: 'finish_time',
+      render: (finish, record) => {
+        // 假设record.start_time是存在的,并且finish是完成时间的时间戳
+        return renderDuration(record.submit_time, finish);
+      },
+    },
     {
     {
       title: '渠道',
       title: '渠道',
       dataIndex: 'channel_id',
       dataIndex: 'channel_id',