WuYongJie e5c068036b feat: 供应商应付 - 货款对账 + 5个子功能页面
新增功能页面:
- 货款对账 (payment-reconciliation): 入库+代发合并对账,228K+2.8M条记录
- 退货对账 (return-reconciliation): finance_purchaseReturn, 36791行
- 发票扣款 (invoice-deductions): finance_invoiceDeduction, 195行
- 赔偿明细 (compensation-details): 纸板厂+压板厂 UNION, 98行
- 借支明细 (advance-details): finance_advanceLoans, 4行
- 样品扣款 (sample-deductions): finance_sampleDeduction, 12行

后端:
- JianSunConnection: PDO_ODBC 直连 SQL Server
- SupplierPayableRepository: 5个子页面的数据查询+分页
- GoodsReconciliationRepository: 货款对账数据查询
- 15个新API路由 (supplier-payables/*)
- 12个JianSun Eloquent模型

前端:
- 6个Blade视图 + 6个Vue组件
- webpack.mix.js 新增5个编译入口
- show.blade.php 动态视图解析
2026-07-21 18:40:24 +08:00

45 lines
2.5 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
Route::api('ecommerce-finance', function () {
Route::post('import-files', 'ImportFiles@store')->name('import-files.store');
Route::apiResource('channels', 'Channels')->except(['destroy']);
Route::apiResource('stores', 'Stores')->except(['destroy']);
Route::apiResource('import-batches', 'ImportBatches')->only(['index', 'show', 'store']);
Route::get('reconciliation-exceptions', 'ReconciliationExceptions@index')->name('reconciliation-exceptions.index');
// 货款对账
Route::get('goods-reconciliations', 'GoodsReconciliations@index')->name('goods-reconciliations.index');
Route::get('goods-reconciliations/summary', 'GoodsReconciliations@summary')->name('goods-reconciliations.summary');
Route::get('goods-reconciliations/options', 'GoodsReconciliations@options')->name('goods-reconciliations.options');
// 供应商应付 - 5 个子功能页面
Route::prefix('supplier-payables')->group(function () {
// 退货对账
Route::get('return-reconciliations', 'SupplierPayables@returnReconciliationsIndex');
Route::get('return-reconciliations/summary', 'SupplierPayables@returnReconciliationsSummary');
Route::get('return-reconciliations/options', 'SupplierPayables@returnReconciliationsOptions');
// 发票扣款
Route::get('invoice-deductions', 'SupplierPayables@invoiceDeductionsIndex');
Route::get('invoice-deductions/summary', 'SupplierPayables@invoiceDeductionsSummary');
Route::get('invoice-deductions/options', 'SupplierPayables@invoiceDeductionsOptions');
// 赔偿明细
Route::get('compensation-details', 'SupplierPayables@compensationDetailsIndex');
Route::get('compensation-details/summary', 'SupplierPayables@compensationDetailsSummary');
Route::get('compensation-details/options', 'SupplierPayables@compensationDetailsOptions');
// 借支明细
Route::get('advance-details', 'SupplierPayables@advanceDetailsIndex');
Route::get('advance-details/summary', 'SupplierPayables@advanceDetailsSummary');
Route::get('advance-details/options', 'SupplierPayables@advanceDetailsOptions');
// 样品扣款
Route::get('sample-deductions', 'SupplierPayables@sampleDeductionsIndex');
Route::get('sample-deductions/summary', 'SupplierPayables@sampleDeductionsSummary');
Route::get('sample-deductions/options', 'SupplierPayables@sampleDeductionsOptions');
});
});