xiongzhu 2 lat temu
rodzic
commit
a8fc652d46
3 zmienionych plików z 35 dodań i 12 usunięć
  1. 31 8
      src/views/HomeView.vue
  2. 2 2
      src/views/LogsView.vue
  3. 2 2
      src/views/TaskView.vue

+ 31 - 8
src/views/HomeView.vue

@@ -28,16 +28,24 @@
                 label="金额"
                 v-if="!(createTaskForm.type === 'mint' || createTaskForm.type === 'removeLiquidity')"
             >
-                <ElInput v-model="createTaskForm.minAmount" class="!w-36">
-                    <template #prepend>MIN</template>
-                </ElInput>
-                <ElInput v-model="createTaskForm.maxAmount" class="ml-6 !w-36">
-                    <template #prepend>MAX</template>
-                </ElInput>
+                <ElInputNumber v-model="createTaskForm.minAmount" class="mr-3 !w-24" :controls="false" />
+                ~
+                <ElInputNumber v-model="createTaskForm.maxAmount" class="ml-3 mr-4 !w-24" :controls="false" />
             </ElFormItem>
             <ElFormItem prop="startTime" label="执行时间">
                 <ElDatePicker type="datetime" v-model="createTaskForm.startTime"></ElDatePicker>
             </ElFormItem>
+            <ElFormItem prop="interval" label="间隔时间">
+                <ElInputNumber v-model="createTaskForm.minInterval" :min="1" class="mr-3 !w-24" :controls="false" />
+                ~
+                <ElInputNumber
+                    v-model="createTaskForm.maxInterval"
+                    :min="1"
+                    class="ml-3 mr-3 !w-24"
+                    :controls="false"
+                />
+                秒
+            </ElFormItem>
         </ElForm>
         <template #footer>
             <ElButton @click="showCreateTaskDialog = false">取消</ElButton>
@@ -82,7 +90,20 @@ const createTaskRule = {
             }
         }
     ],
-    startTime: [{ required: true, message: '请选择执行时间' }]
+    startTime: [{ required: true, message: '请选择执行时间' }],
+    interval: [
+        {
+            validator: (rule, value, callback) => {
+                if (!(createTaskForm.value.minInterval && createTaskForm.value.maxInterval)) {
+                    callback(new Error('请输入间隔时间'))
+                } else if (Number(createTaskForm.value.minInterval) > Number(createTaskForm.value.maxInterval)) {
+                    callback(new Error('最小间隔时间不能大于最大间隔时间'))
+                } else {
+                    callback()
+                }
+            }
+        }
+    ]
 }
 const creatingTask = ref(false)
 function onCreateTask() {
@@ -105,7 +126,9 @@ function createTask() {
                     accounts: selected().map((i) => i.id),
                     params: {
                         minAmount: createTaskForm.value.minAmount,
-                        maxAmount: createTaskForm.value.maxAmount
+                        maxAmount: createTaskForm.value.maxAmount,
+                        minInterval: createTaskForm.value.minInterval,
+                        maxInterval: createTaskForm.value.maxInterval
                     },
                     type: createTaskForm.value.type,
                     startTime: createTaskForm.value.startTime

+ 2 - 2
src/views/LogsView.vue

@@ -24,7 +24,7 @@
                     <el-tooltip v-else effect="dark" placement="top" teleported>
                         <ElTag type="danger"> 失败 </ElTag>
                         <template #content>
-                            <div class=" max-w-xl">{{ row.error }}</div>
+                            <div class="max-w-xl">{{ row.error }}</div>
                         </template>
                     </el-tooltip>
                 </template>
@@ -46,7 +46,7 @@ import { useIntervalFn, useElementSize } from '@vueuse/core'
 import WalletAddress from '@/components/WalletAddress.vue'
 import { RotateClockwise } from '@vicons/tabler'
 
-const timeFormatter = useTimeFormatter()
+const timeFormatter = useTimeFormatter('yyyy-MM-dd HH:mm:ss')
 const taskTypeFormatter = useEnumFormatter(TaskType)
 const pt = ref(null)
 useIntervalFn(() => {

+ 2 - 2
src/views/TaskView.vue

@@ -19,7 +19,7 @@
                 <template #default="{ row }">
                     <ElTag v-if="row.status === 'pending'" type="info">未开始</ElTag>
                     <ElTag v-if="row.status === 'in_progress'" type="success">执行中</ElTag>
-                    <ElTag v-if="row.status === 'done'" type="primary">已完成</ElTag>
+                    <ElTag v-if="row.status === 'done'" type="">已完成</ElTag>
                 </template>
             </ElTableColumn>
             <ElTableColumn prop="progress" label="进度" :formatter="progressFormatter" width="100" />
@@ -35,7 +35,7 @@ import { useIntervalFn, useElementSize } from '@vueuse/core'
 import { RotateClockwise } from '@vicons/tabler'
 
 const emit = defineEmits(['createTask'])
-const timeFormatter = useTimeFormatter()
+const timeFormatter = useTimeFormatter('yyyy-MM-dd HH:mm:ss')
 const taskTypeFormatter = useEnumFormatter(TaskType)
 const pt = ref(null)
 useIntervalFn(() => {