Update: 2026-05-08 01:33:35
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
import 'dart:io';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:share_plus/share_plus.dart';
|
||||
import '../../../core/network/dio_client.dart';
|
||||
import '../../../core/utils/app_snackbar.dart';
|
||||
import '../../../core/utils/logger.dart';
|
||||
@@ -113,13 +116,24 @@ class InvoiceDetailController extends GetxController {
|
||||
try {
|
||||
final cId = companyId ?? invoice['company_id'];
|
||||
AppSnackbar.showInfo('جاري التصدير', 'يتم تحميل ملف الفواتير...');
|
||||
|
||||
final res = await DioClient().client.get(
|
||||
'invoices/export',
|
||||
queryParameters: {'company_id': cId},
|
||||
options: Options(responseType: ResponseType.bytes),
|
||||
);
|
||||
// For now, just confirm download was successful
|
||||
AppSnackbar.showSuccess('تم التصدير', 'تم تحميل ملف CSV بنجاح (${res.data.length} bytes)');
|
||||
|
||||
// Save to temp file
|
||||
final dir = await getTemporaryDirectory();
|
||||
final fileName = 'musadaq_invoices_${DateTime.now().millisecondsSinceEpoch}.csv';
|
||||
final file = File('${dir.path}/$fileName');
|
||||
await file.writeAsBytes(res.data);
|
||||
|
||||
// Share via native sheet
|
||||
await Share.shareXFiles(
|
||||
[XFile(file.path, mimeType: 'text/csv', name: fileName)],
|
||||
subject: 'تصدير فواتير مُصادَق',
|
||||
);
|
||||
} catch (e) {
|
||||
AppLogger.error('Failed to export', e);
|
||||
AppSnackbar.showError('خطأ', 'فشل تصدير الفواتير');
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
import 'dart:io';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:share_plus/share_plus.dart';
|
||||
import '../controllers/invoices_controller.dart';
|
||||
import '../../../core/network/dio_client.dart';
|
||||
import '../../../core/utils/app_snackbar.dart';
|
||||
@@ -378,7 +381,18 @@ class InvoicesListView extends GetView<InvoicesController> {
|
||||
'invoices/export',
|
||||
options: Options(responseType: ResponseType.bytes),
|
||||
);
|
||||
AppSnackbar.showSuccess('تم التصدير', 'تم تحميل ملف CSV بنجاح (${(res.data as List).length} bytes)');
|
||||
|
||||
// Save to temp file
|
||||
final dir = await getTemporaryDirectory();
|
||||
final fileName = 'musadaq_invoices_${DateTime.now().millisecondsSinceEpoch}.csv';
|
||||
final file = File('${dir.path}/$fileName');
|
||||
await file.writeAsBytes(res.data);
|
||||
|
||||
// Share via native sheet
|
||||
await Share.shareXFiles(
|
||||
[XFile(file.path, mimeType: 'text/csv', name: fileName)],
|
||||
subject: 'تصدير فواتير مُصادَق',
|
||||
);
|
||||
} catch (e) {
|
||||
AppSnackbar.showError('خطأ', 'فشل تصدير الفواتير');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user