28 lines
1.1 KiB
Dart
28 lines
1.1 KiB
Dart
import './issue_model.dart';
|
|
import '../services/generic_api_service.dart'; // 引入共用服務
|
|
import '../auth_manager.dart'; // 確保引入 AuthManager
|
|
|
|
class IssueApiService {
|
|
final GenericApiService _apiService = GenericApiService();
|
|
final String currentUserId; // 應由登入頁面傳入
|
|
|
|
IssueApiService({this.currentUserId = 'admin'});
|
|
|
|
Future<List<Issue>> fetchIssues() async {
|
|
// 篩選條件:指派給當前使用者 (responsible = currentUserId) 且狀態非 '已結案' (Status != 4)
|
|
// 格式: 1^100^raised_date^*^responsible^=^$currentUserId^issue_status^!=^4
|
|
// 讀取 user_id
|
|
String? user_id = await AuthManager.getUserId();
|
|
String filterPart = "responsible^$user_id";
|
|
|
|
// 完整的 queryFilter 格式:Page^PageSize^SortColumn^SortOrder^Filter...
|
|
String queryFilter = "1^100^issueid^*^^^$filterPart";
|
|
|
|
return await _apiService.fetchList<Issue>(
|
|
tableName: "pms_issuelog", // 對應到問題追蹤表格
|
|
pk: "issueid", // 主鍵為 issueid
|
|
queryFilter: queryFilter,
|
|
fromJson: (json) => Issue.fromJson(json),
|
|
);
|
|
}
|
|
} |