# TDesign Form Controls Migration (Wave 2) Implementation Plan > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. **Goal:** 将 Users / OperationLogs / Account / DeviceDetail 剩余业务表单控件迁移到 TDesign,与第一轮约定一致。 **Architecture:** 原生 `select/input/number/password/email` → `t-select` / `t-input` / `t-input-number`;选项提成 `options`;保持 `v-model` 与 `@change=reload` 语义。参考第一轮 Devices/Tasks/Firmwares 写法与 scoped 宽度适配。 **Tech Stack:** Vue 3、`tdesign-vue-next`、现有布局 class **Spec:** `docs/superpowers/specs/2026-08-28-tdesign-form-controls-migration-design.md`(映射约定沿用;本轮覆盖原「后续轮次」页面) --- ### Task 1: UsersView **Files:** - Modify: `src/views/UsersView/UsersView.vue` - [ ] keyword → `t-input` clearable(保留 `@keyup.enter="reload"`,可加 `@clear="reload"`) - [ ] `roleFilter` → `t-select` + options:`''/admin/user`,`@change="reload"` - [ ] 必要 scoped CSS(`.asset-search .t-input { width:100% }`) - [ ] Commit: `feat: 用户管理表单控件切换到 TDesign` --- ### Task 2: OperationLogsView **Files:** - Modify: `src/views/OperationLogsView/OperationLogsView.vue` - [ ] keyword → `t-input` clearable - [ ] `statusFilter` → `t-select` + options:`''/sent/acked/timeout/terminal`,`@change="reload"` - [ ] Commit: `feat: 操作日志表单控件切换到 TDesign` --- ### Task 3: AccountView **Files:** - Modify: `src/views/AccountView/AccountView.vue` - [ ] `trafficAmount` → `t-input-number`(min=1;旁注 GB) - [ ] 发票资料:title / taxpayerNumber / email → `t-input`(email 可用 `type="email"` 或默认) - [ ] 若存在订单 `