diff --git a/app/Http/Controllers/Business/CourierPayableSummaries.php b/app/Http/Controllers/Business/CourierPayableSummaries.php index cd6e88e0..610f4d14 100644 --- a/app/Http/Controllers/Business/CourierPayableSummaries.php +++ b/app/Http/Controllers/Business/CourierPayableSummaries.php @@ -13,6 +13,19 @@ use Symfony\Component\HttpFoundation\StreamedResponse; class CourierPayableSummaries extends Controller { + private const IMPORT_TEMPLATES = [ + 'freight-difference' => [ + 'path' => 'templates/courier-payables/freight-difference-import-template.xlsx', + 'ascii_name' => 'freight_difference_import_template.xlsx', + 'download_name' => '运费差导入模板.xlsx', + ], + 'other-surcharge-summary' => [ + 'path' => 'templates/courier-payables/other-surcharge-import-template.xlsx', + 'ascii_name' => 'other_surcharge_import_template.xlsx', + 'download_name' => '其他附加费导入模板.xlsx', + ], + ]; + public function __construct(private readonly CourierPayableSummaryStore $store) { $this->middleware('auth'); @@ -49,20 +62,21 @@ class CourierPayableSummaries extends Controller public function template(string $summaryPage): BinaryFileResponse { $this->authorizePage($summaryPage); - abort_unless($summaryPage === 'freight-difference', 404); + $template = self::IMPORT_TEMPLATES[$summaryPage] ?? null; + abort_unless(is_array($template), 404); - $path = resource_path('templates/courier-payables/freight-difference-import-template.xlsx'); + $path = resource_path($template['path']); abort_unless(is_file($path), 404); - $response = response()->download($path, 'freight_difference_import_template.xlsx', [ + $response = response()->download($path, $template['ascii_name'], [ 'Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'Cache-Control' => 'private, no-store', ]); return $response->setContentDisposition( 'attachment', - '运费差导入模板.xlsx', - 'freight_difference_import_template.xlsx', + $template['download_name'], + $template['ascii_name'], ); } diff --git a/resources/templates/courier-payables/other-surcharge-import-template.xlsx b/resources/templates/courier-payables/other-surcharge-import-template.xlsx new file mode 100644 index 00000000..728aecd7 Binary files /dev/null and b/resources/templates/courier-payables/other-surcharge-import-template.xlsx differ diff --git a/resources/views/business/pages/courier-payables/summary-table.blade.php b/resources/views/business/pages/courier-payables/summary-table.blade.php index 26d7b94c..ee28f64b 100644 --- a/resources/views/business/pages/courier-payables/summary-table.blade.php +++ b/resources/views/business/pages/courier-payables/summary-table.blade.php @@ -1,3 +1,18 @@ +@php + $courierSummaryImportTemplate = [ + 'freight-difference' => [ + 'dialog_title' => '导入运费差', + 'template_name' => '运费差导入模板', + 'field_count' => 11, + ], + 'other-surcharge-summary' => [ + 'dialog_title' => '导入其他附加费汇总', + 'template_name' => '其他附加费导入模板', + 'field_count' => 11, + ], + ][$courierSummaryPage] ?? null; +@endphp +
@@ -9,20 +24,11 @@ @endif
- @if ($courierSummaryPage === 'freight-difference') + @if ($courierSummaryImportTemplate) - @else -
- @csrf - - -
@endif @endif - @if ($courierSummaryPage === 'freight-difference') + @if ($courierSummaryImportTemplate)
- 导入运费差 + {{ $courierSummaryImportTemplate['dialog_title'] }} 支持 .xlsx、.xls、.csv,单个文件不超过 10 MB