leave add leavetpe_name

This commit is contained in:
2026-03-06 23:55:18 +08:00
parent 0516db1690
commit 38039e8dc0
2 changed files with 34 additions and 4 deletions
+9 -1
View File
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'leave_api.dart';
// 假別模型 260110
class LeaveType {
@@ -58,6 +59,12 @@ class Leave {
});
factory Leave.fromJson(Map<String, dynamic> json) {
// 取的假別關聯名稱
final String typeId = json['leavetype'] as String? ?? '';
// 自動映射名稱:若 API 有給就用 API 的,沒有就去 Service 快取找
final String typeName = json['leavetype_name'] ?? LeaveApiService.getTypeName(typeId);
return Leave(
billNo: json['billno'] as String? ?? '',
billDate: json['billdate'] != null ? DateTime.tryParse(json['billdate']) : null,
@@ -65,7 +72,8 @@ class Leave {
agentId: json['agentid'] as String? ?? '',
agentName: json['agentname'] ?? '', /// 假設 API 會 Join 姓名
leaveType: json['leavetype'] as String? ?? '',
leaveTypeName: json['leavetype_name'] ?? json['leavetype'] ?? '',
// leaveTypeName: json['leavetype_name'] ?? json['leavetype'] ?? '',
leaveTypeName: typeName, // 這裡現在保證有值
startTime: json['starttime'] != null ? DateTime.tryParse(json['starttime']) : null,
endTime: json['endtime'] != null ? DateTime.tryParse(json['endtime']) : null,
days: double.tryParse(json['days']?.toString() ?? '0') ?? 0,