expense_apply_api.dart 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import 'package:flutter_riverpod/flutter_riverpod.dart';
  2. import '../../core/network/api_client.dart';
  3. import '../../app.dart';
  4. import '../../shared/models/pagination_model.dart';
  5. import 'expense_apply_model.dart';
  6. final expenseApplyApiProvider = Provider<ExpenseApplyApi>(
  7. (ref) => ExpenseApplyApi(ref.read(apiClientProvider)),
  8. );
  9. class ExpenseApplyApi {
  10. final ApiClient _client;
  11. ExpenseApplyApi(this._client);
  12. /// 费用申请列表(分页)
  13. Future<PaginatedData<ExpenseApplyModel>> fetchList({
  14. String status = '',
  15. String keyword = '',
  16. String startDate = '',
  17. String endDate = '',
  18. String usr = '',
  19. int page = 1,
  20. int size = 20,
  21. }) async {
  22. final response = await _client.get<Map<String, dynamic>>(
  23. '/OA/GetExpenseApplies',
  24. queryParameters: {
  25. 'status': status,
  26. 'keyword': keyword,
  27. 'startDate': startDate,
  28. 'endDate': endDate,
  29. 'usr': usr,
  30. 'page': page,
  31. 'size': size,
  32. },
  33. );
  34. return PaginatedData.fromJson(response.data!, ExpenseApplyModel.fromJson);
  35. }
  36. /// 费用申请详情(主表+明细)
  37. Future<ExpenseApplyModel> fetchDetail(String billNo) async {
  38. final response = await _client.get<Map<String, dynamic>>(
  39. '/OA/GetExpenseApplyDetail',
  40. queryParameters: {'billNo': billNo},
  41. );
  42. return ExpenseApplyModel.fromJson(response.data!);
  43. }
  44. /// 提交审批
  45. Future<void> submit(Map<String, dynamic> data) async {
  46. await _client.post('/OA/BillSave', data: {
  47. 'erpCategory': 'MasterService',
  48. 'billId': 'AE',
  49. 'procId': '',
  50. 'data': data,
  51. });
  52. }
  53. }