|
|
@@ -2,6 +2,7 @@ import 'package:chicken_farm/apis/index.dart';
|
|
|
import 'package:chicken_farm/components/vb_rfid_field.dart';
|
|
|
import 'package:chicken_farm/components/vb_search_select.dart';
|
|
|
import 'package:chicken_farm/components/vb_select.dart';
|
|
|
+import 'package:chicken_farm/core/utils/logger.dart';
|
|
|
import 'package:chicken_farm/modes/breeding/batch.dart';
|
|
|
import 'package:chicken_farm/modes/breeding/family.dart';
|
|
|
import 'package:chicken_farm/modes/rfid/rfid_model.dart';
|
|
|
@@ -64,9 +65,19 @@ class _BatchCreatePageState extends State<BatchCreatePage> {
|
|
|
const SizedBox(height: 20),
|
|
|
// 已识别的电子编号列表
|
|
|
if (_rfids.isNotEmpty) ...[
|
|
|
- const Text(
|
|
|
- '已识别的电子编号',
|
|
|
- style: TextStyle(fontWeight: FontWeight.bold),
|
|
|
+ Row(
|
|
|
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
+ children: [
|
|
|
+ const Text(
|
|
|
+ '已识别的电子编号',
|
|
|
+ style: TextStyle(fontWeight: FontWeight.bold),
|
|
|
+ ),
|
|
|
+ IconButton(
|
|
|
+ icon: const Icon(Icons.clear, size: 18),
|
|
|
+ onPressed: _clearRfids,
|
|
|
+ tooltip: '清空编号',
|
|
|
+ ),
|
|
|
+ ],
|
|
|
),
|
|
|
const SizedBox(height: 10),
|
|
|
Expanded(
|
|
|
@@ -209,21 +220,21 @@ class _BatchCreatePageState extends State<BatchCreatePage> {
|
|
|
setState(() {
|
|
|
// 将新的RFID添加到列表中
|
|
|
for (var rfid in newRfids) {
|
|
|
- _rfids.add(rfid.uid);
|
|
|
+ _rfids.insert(0, rfid.uid);
|
|
|
}
|
|
|
});
|
|
|
- if (newRfids.length == scannedRfids.length) {
|
|
|
- // 全都是新添加的
|
|
|
- ToastUtil.success("成功添加 ${newRfids.length} 枚新的电子编号");
|
|
|
- } else {
|
|
|
- // 部分是重复的
|
|
|
- ToastUtil.info(
|
|
|
- "新增 ${newRfids.length} 枚电子编号,${scannedRfids.length - newRfids.length} 枚已存在",
|
|
|
- );
|
|
|
- }
|
|
|
+ ToastUtil.success("新增 ${newRfids.length} 枚电子编号");
|
|
|
+ // if (newRfids.length == scannedRfids.length) {
|
|
|
+ // // 全都是新添加的
|
|
|
+ // ToastUtil.success("成功添加 ${newRfids.length} 枚新的电子编号");
|
|
|
+ // } else {
|
|
|
+ // // 部分是重复的
|
|
|
+ // ToastUtil.info("新增 ${newRfids.length} 枚电子编号");
|
|
|
+ // // ,${scannedRfids.length - newRfids.length} 枚已存在
|
|
|
+ // }
|
|
|
} else {
|
|
|
// 所有RFID都已存在
|
|
|
- ToastUtil.info("所有电子编号均已存在");
|
|
|
+ ToastUtil.info("电子编号已存在");
|
|
|
}
|
|
|
},
|
|
|
multiple: true,
|
|
|
@@ -233,14 +244,6 @@ class _BatchCreatePageState extends State<BatchCreatePage> {
|
|
|
);
|
|
|
}
|
|
|
|
|
|
- // // 清空所有已识别的电子编号
|
|
|
- // void _clearRfids() {
|
|
|
- // setState(() {
|
|
|
- // _rfids.clear();
|
|
|
- // });
|
|
|
- // ToastUtil.info('已清空所有电子编号');
|
|
|
- // }
|
|
|
-
|
|
|
// 移除指定索引的电子编号
|
|
|
void _removeRfid(int index) {
|
|
|
setState(() {
|
|
|
@@ -248,6 +251,14 @@ class _BatchCreatePageState extends State<BatchCreatePage> {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ // 清空所有已识别的电子编号
|
|
|
+ void _clearRfids() {
|
|
|
+ setState(() {
|
|
|
+ _rfids.clear();
|
|
|
+ });
|
|
|
+ ToastUtil.info('已清空所有电子编号');
|
|
|
+ }
|
|
|
+
|
|
|
// 提交数据
|
|
|
void _handleSubmit() {
|
|
|
// 在实际应用中,这里会发送数据到服务器
|
|
|
@@ -258,6 +269,10 @@ class _BatchCreatePageState extends State<BatchCreatePage> {
|
|
|
),
|
|
|
);
|
|
|
|
|
|
+ for (var rfid in _rfids) {
|
|
|
+ logger.d('提交电子编号: $rfid');
|
|
|
+ }
|
|
|
+
|
|
|
// 提交后重置表单
|
|
|
setState(() {
|
|
|
_rfids.clear();
|