From 664e2999aaad1d732e0ccd4a751c0706819d8642 Mon Sep 17 00:00:00 2001 From: WuYongJie Date: Wed, 22 Jul 2026 14:39:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E4=BE=9B=E5=BA=94?= =?UTF-8?q?=E5=95=86=E5=BA=94=E4=BB=98=E7=8B=AC=E7=AB=8B=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Business/Pages.php | 7 +- .../board-deductions.blade.php | 190 +++++++++++ .../delivery-unpriced.blade.php | 49 ++- .../return-unpriced.blade.php | 22 +- .../supplier-payables-report.blade.php | 314 ++++++++++++++++++ .../Business/SupplierPayablePagesTest.php | 106 ++++++ 6 files changed, 669 insertions(+), 19 deletions(-) create mode 100644 resources/views/business/pages/supplier-payables/board-deductions.blade.php create mode 100644 resources/views/business/pages/supplier-payables/supplier-payables-report.blade.php create mode 100644 tests/Feature/Business/SupplierPayablePagesTest.php diff --git a/app/Http/Controllers/Business/Pages.php b/app/Http/Controllers/Business/Pages.php index 99e3c26d..eb77911a 100644 --- a/app/Http/Controllers/Business/Pages.php +++ b/app/Http/Controllers/Business/Pages.php @@ -62,7 +62,12 @@ class Pages extends Controller return $this->redirectToPage($sectionConfig, $pages->first()); } - $pageConfig = $pages->firstWhere('slug', $page); + $pageConfig = $pages + ->flatMap(fn (array $configuredPage) => [ + $configuredPage, + ...($configuredPage['children'] ?? []), + ]) + ->firstWhere('slug', $page); abort_if(empty($pageConfig), 404); diff --git a/resources/views/business/pages/supplier-payables/board-deductions.blade.php b/resources/views/business/pages/supplier-payables/board-deductions.blade.php new file mode 100644 index 00000000..47322a53 --- /dev/null +++ b/resources/views/business/pages/supplier-payables/board-deductions.blade.php @@ -0,0 +1,190 @@ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
入库日期出库日期家具厂压贴厂类型规格原料名称实收数量单价金额单位批次日期出库单号出库备注申领单号单号类型送货单号
暂无数据
+
+
+ 共 0 条记录 + 第 1 / 1 页 +
+
+
diff --git a/resources/views/business/pages/supplier-payables/delivery-unpriced.blade.php b/resources/views/business/pages/supplier-payables/delivery-unpriced.blade.php index dadf32be..dccdc091 100644 --- a/resources/views/business/pages/supplier-payables/delivery-unpriced.blade.php +++ b/resources/views/business/pages/supplier-payables/delivery-unpriced.blade.php @@ -40,20 +40,45 @@ 加载中... - - - - + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/resources/views/business/pages/supplier-payables/return-unpriced.blade.php b/resources/views/business/pages/supplier-payables/return-unpriced.blade.php index 07f7a6ec..f5e29d0c 100644 --- a/resources/views/business/pages/supplier-payables/return-unpriced.blade.php +++ b/resources/views/business/pages/supplier-payables/return-unpriced.blade.php @@ -20,7 +20,7 @@ {{-- 筛选栏 --}}
- + @@ -41,12 +41,11 @@ 加载中...
- - + - + @@ -63,12 +62,20 @@ @{{ formatMoney(scope.row.guess_amount) }} + + + + + + - - + + + + + + +
diff --git a/resources/views/business/pages/supplier-payables/supplier-payables-report.blade.php b/resources/views/business/pages/supplier-payables/supplier-payables-report.blade.php new file mode 100644 index 00000000..51ba93fd --- /dev/null +++ b/resources/views/business/pages/supplier-payables/supplier-payables-report.blade.php @@ -0,0 +1,314 @@ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + + + 重置 + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
已销账供应商序号供应商公司主体名称供应商简称快递运费月初未付之前未定价-本月定价预支借款本月采购金额减加单位:元备注是否直接对私打款对私原因含税定价金额押款金额结款截图最晚出账单时间(新执行标准)不合作时间重新启用日期负数原因
对账人合作状态货款金额减:退货金额小计发票扣款板材扣款样品扣款总赔偿金额其他费用补给厂家供应商余额应付余额预估金额对公打款金额对私打款金额已销账金额
暂无供应商应付数据
+
+
+ 共 0 条记录 + 第 1 / 1 页 +
+
+
diff --git a/tests/Feature/Business/SupplierPayablePagesTest.php b/tests/Feature/Business/SupplierPayablePagesTest.php new file mode 100644 index 00000000..5ca342d3 --- /dev/null +++ b/tests/Feature/Business/SupplierPayablePagesTest.php @@ -0,0 +1,106 @@ +user->attachPermission( + Permission::where('name', 'read-admin-panel')->firstOrFail() + ); + } + + public function testDeliveryUnpricedPageUsesItsOwnTwentyColumnTable() + { + $this->grantAdminPermission(); + + $response = $this->loginAs()->get(route('business.pages.show', [ + 'section' => 'supplier-payables', + 'page' => 'delivery-unpriced', + ])); + + $response + ->assertOk() + ->assertSee('id="delivery-unpriced-app"', false) + ->assertSee('来源单号') + ->assertSee('单据编号(采购单号)') + ->assertSee('负责人') + ->assertSee('public/js/ecommerce-finance/delivery-unpriced.min.js', false) + ->assertDontSee('class="business-blank-page"', false); + + $this->assertSame(20, substr_count($response->getContent(), 'grantAdminPermission(); + + $response = $this->loginAs()->get(route('business.pages.show', [ + 'section' => 'supplier-payables', + 'page' => 'return-unpriced', + ])); + + $response + ->assertOk() + ->assertSee('id="return-unpriced-app"', false) + ->assertSee('明细供应商') + ->assertSee('供应商条码') + ->assertSee('对账人') + ->assertSee('public/js/ecommerce-finance/return-unpriced.min.js', false) + ->assertDontSee('class="business-blank-page"', false); + + $this->assertSame(20, substr_count($response->getContent(), 'grantAdminPermission(); + + $response = $this->loginAs()->get(route('business.pages.show', [ + 'section' => 'supplier-payables', + 'page' => 'board-deductions', + ])); + + $response + ->assertOk() + ->assertSee('class="supplier-board-table"', false) + ->assertSee('入库日期') + ->assertSee('出库备注') + ->assertSee('送货单号') + ->assertDontSee('class="business-blank-page"', false); + + preg_match_all('/)/', $response->getContent(), $headers); + + $this->assertCount(17, $headers[0]); + } + + public function testSupplierPayablesReportPageUsesItsOwnThirtyFourColumnGroupedTable() + { + $this->grantAdminPermission(); + + $response = $this->loginAs()->get(route('business.pages.show', [ + 'section' => 'supplier-payables', + 'page' => 'supplier-payables-report', + ])); + + $response + ->assertOk() + ->assertSee('class="supplier-payables-report-table"', false) + ->assertSee('已销账供应商') + ->assertSee('本月采购金额') + ->assertSee('加', false) + ->assertSee('单位:元', false) + ->assertSee('供应商余额', false) + ->assertSee('最晚出账单时间(新执行标准)') + ->assertDontSee('class="business-blank-page"', false); + + preg_match_all('/)/', $response->getContent(), $columns); + + $this->assertCount(34, $columns[0]); + } + +}