Commit 0c10c10a authored by Data Governance Dev's avatar Data Governance Dev

fix(web3): 任务配置页分组选择没生效过滤 + checked_at 格式化

1. 分组过滤没生效

   <select v-model=groupFilter> 只绑了 model,没 watch 触发 load

   选了「手机号」不点「查询」list 不刷新

   加 watch(groupFilter, () => load()) 自动 reload

   keyword 保留「回车 + 查询按钮」(避免每个 keystroke 都请求)

2. formatCheckedAt:把 ISO 字符串转成 'YYYY-MM-DD HH:mm'

   后端已返 checked_at(先 hardcoded None,下个 commit 接上)

   —— format 函数先备好,避免后续加 checked_at 字段后还要再改前端

3. import 加 watch
parent f33c4901
......@@ -46,7 +46,7 @@
<td>{{ row.source_table || '—' }}</td>
<td>{{ row.fields }}</td>
<td>{{ row.rules }}</td>
<td>{{ row.checked_at || '—' }}</td>
<td>{{ formatCheckedAt(row.checked_at) }}</td>
<td>
<button class="btn-text" @click="openEdit(row)">编辑</button>
<button class="btn-text" @click="onCopy(row)">复制</button>
......@@ -71,7 +71,7 @@
</template>
<script setup>
import { computed, inject, onMounted, ref } from 'vue'
import { computed, inject, onMounted, ref, watch } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import {
listTasks, getTask, createTask, updateTask, deleteTask, copyTask,
......@@ -96,6 +96,16 @@ const GROUP_COLOR = {
}
function tagColor(g) { return GROUP_COLOR[g] || 'blue' }
// 格式化 checked_at:后端返 ISO 字符串,转成 'YYYY-MM-DD HH:mm'
// —— 显示更友好;空值保持 '—'
function formatCheckedAt(s) {
if (!s) return '—'
const d = new Date(s)
if (Number.isNaN(d.getTime())) return s // 解析失败时回退原值
const pad = (n) => String(n).padStart(2, '0')
return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}`
}
// ── 列表 ────────────────────────────────────────────────
async function load() {
loading.value = true
......@@ -120,6 +130,10 @@ function onReset() {
onMounted(load)
// 分组变化自动 reload(2026-08-21 修复:之前 select 改了不点「查询」就刷新不了)
// keyword 保留 enter + 查询按钮触发(输入过程太频繁,每次 keystroke 都请求会浪费)
watch(groupFilter, () => load())
// ── 弹窗 ────────────────────────────────────────────────
const modalOpen = ref(false)
const modalMode = ref('add')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment