diff --git a/config/business_navigation.php b/config/business_navigation.php index a3a271fb..7aea3581 100644 --- a/config/business_navigation.php +++ b/config/business_navigation.php @@ -183,8 +183,8 @@ return [ 'title' => '原材料-素板应付', 'icon' => 'view_module', 'pages' => [ - ['slug' => 'board-prices', 'title' => '素版价格'], - ['slug' => 'board-reconciliation', 'title' => '素版对账'], + ['slug' => 'board-prices', 'title' => '素板价格'], + ['slug' => 'board-reconciliation', 'title' => '素板对账'], ['slug' => 'compensation-details', 'title' => '赔付明细'], ['slug' => 'board-payables-report', 'title' => '素板应付表'], ], diff --git a/resources/views/business/pages/courier-payables/advance-details.blade.php b/resources/views/business/pages/courier-payables/advance-details.blade.php new file mode 100644 index 00000000..2fe24159 --- /dev/null +++ b/resources/views/business/pages/courier-payables/advance-details.blade.php @@ -0,0 +1,29 @@ + @include('business.pages.courier-payables.partials.data-table', [ + 'title' => $page['title'] ?? '借支明细', + 'filters' => [ + ['name' => 'carrier', 'label' => '快递名称', 'placeholder' => '输入快递名称'], + ['name' => 'agreement_name', 'label' => '协议签订名称', 'placeholder' => '输入协议名称'], + ['name' => 'payment_status', 'label' => '是否打款', 'type' => 'select', 'options' => ['' => '全部']], + ['name' => 'advance_from', 'label' => '借支日期从', 'type' => 'date'], + ['name' => 'advance_to', 'label' => '借支日期至', 'type' => 'date'], + ], + 'columns' => [ + ['key' => 'carrier', 'label' => '快递名称'], + ['key' => 'agreement_name', 'label' => '协议签订名称'], + ['key' => 'agreement_amount', 'label' => '借支金额-借款协议'], + ['key' => 'actual_paid_amount', 'label' => '实际打款金额'], + ['key' => 'monthly_deduction', 'label' => '本月扣款金额'], + ['key' => 'deduction_start_month', 'label' => '分期起始扣款月份'], + ['key' => 'deduction_end_month', 'label' => '分期最后次扣款月份'], + ['key' => 'remaining_periods', 'label' => '分期剩余期数'], + ['key' => 'advanced_at', 'label' => '借支日期'], + ['key' => 'loan_term', 'label' => '借款期限'], + ['key' => 'remark', 'label' => '备注'], + ['key' => 'payment_status', 'label' => '是否打款'], + ['key' => 'payment_month', 'label' => '打款月份'], + ['key' => 'serial_no', 'label' => '流水号'], + ['key' => 'agreement_file', 'label' => '借支协议'], + ['key' => 'reviewer', 'label' => '审核人'], + ], + 'emptyText' => '暂无借支明细', + ]) diff --git a/resources/views/business/pages/courier-payables/bookkeeping-details.blade.php b/resources/views/business/pages/courier-payables/bookkeeping-details.blade.php new file mode 100644 index 00000000..85572ff0 --- /dev/null +++ b/resources/views/business/pages/courier-payables/bookkeeping-details.blade.php @@ -0,0 +1,63 @@ + @include('business.pages.courier-payables.partials.data-table', [ + 'title' => $page['title'] ?? '记账明细', + 'filters' => [ + ['name' => 'keyword', 'label' => '工单/订单号', 'placeholder' => '输入编号'], + ['name' => 'bookkeeping_type', 'label' => '记账类型', 'type' => 'select', 'options' => ['' => '全部']], + ['name' => 'status', 'label' => '处理状态', 'type' => 'select', 'options' => ['' => '全部']], + ['name' => 'started_from', 'label' => '发起时间从', 'type' => 'date'], + ['name' => 'started_to', 'label' => '发起时间至', 'type' => 'date'], + ], + 'groups' => [ + ['label' => '记账信息', 'span' => 13], + ['label' => '订单与处理', 'span' => 16], + ['label' => '商品信息', 'span' => 12], + ['label' => '工单补充', 'span' => 3], + ], + 'columns' => [ + ['key' => 'started_at', 'label' => '发起时间'], + ['key' => 'work_order_no', 'label' => '工单编号'], + ['key' => 'initiator', 'label' => '发起人'], + ['key' => 'bookkeeping_reason', 'label' => '记账原因'], + ['key' => 'reason_level_1', 'label' => '记账原因-一级选项'], + ['key' => 'reason_level_2', 'label' => '记账原因-二级选项'], + ['key' => 'reason_level_3', 'label' => '记账原因-三级选项'], + ['key' => 'bookkeeping_type', 'label' => '记账类型'], + ['key' => 'executor', 'label' => '执行人'], + ['key' => 'source', 'label' => '记账来源'], + ['key' => 'amount', 'label' => '记账金额'], + ['key' => 'remark', 'label' => '记账备注说明'], + ['key' => 'attachment', 'label' => '上传附件'], + ['key' => 'attachment_preview', 'label' => '上传附件(预览)'], + ['key' => 'online_order_no', 'label' => '线上订单号'], + ['key' => 'internal_order_no', 'label' => '内部单号'], + ['key' => 'actual_paid_amount', 'label' => '实付金额'], + ['key' => 'carrier', 'label' => '物流公司'], + ['key' => 'tracking_no', 'label' => '物流单号'], + ['key' => 'shop_name', 'label' => '店铺名称'], + ['key' => 'platform', 'label' => '平台'], + ['key' => 'shipping_warehouse', 'label' => '订单发货仓库'], + ['key' => 'processing_status', 'label' => '记账处理状态'], + ['key' => 'counterparty_agreed', 'label' => '被记账方是否同意记账'], + ['key' => 'counterparty_note', 'label' => '被记账方处理说明'], + ['key' => 'specialist_result', 'label' => '专员记账判定结果'], + ['key' => 'specialist_note', 'label' => '专员处理说明'], + ['key' => 'updated_at', 'label' => '修改时间'], + ['key' => 'work_order_type', 'label' => '工单类型'], + ['key' => 'product_image', 'label' => '商品图片'], + ['key' => 'product_code', 'label' => '商品编码'], + ['key' => 'style_code', 'label' => '款式编码'], + ['key' => 'other_attribute_6', 'label' => '其它属性6'], + ['key' => 'product_name', 'label' => '商品名称'], + ['key' => 'platform_sku_id', 'label' => '平台商品skuid'], + ['key' => 'platform_product_id', 'label' => '平台商品id'], + ['key' => 'product_quantity', 'label' => '商品数量'], + ['key' => 'product_price', 'label' => '商品价格'], + ['key' => 'product_amount', 'label' => '商品金额'], + ['key' => 'buyer_paid_amount', 'label' => '买家实付'], + ['key' => 'supplier', 'label' => '供应商'], + ['key' => 'accepting_department', 'label' => '受理部门'], + ['key' => 'order_shipped_at', 'label' => '订单发货时间'], + ['key' => 'work_order_remark', 'label' => '工单备注'], + ], + 'emptyText' => '暂无记账明细', + ]) diff --git a/resources/views/business/pages/courier-payables/compensation-details.blade.php b/resources/views/business/pages/courier-payables/compensation-details.blade.php new file mode 100644 index 00000000..3464581d --- /dev/null +++ b/resources/views/business/pages/courier-payables/compensation-details.blade.php @@ -0,0 +1,18 @@ + @include('business.pages.courier-payables.partials.data-table', [ + 'title' => $page['title'] ?? '赔偿明细', + 'filters' => [ + ['name' => 'carrier', 'label' => '承运商', 'placeholder' => '输入承运商'], + ['name' => 'tracking_no', 'label' => '快递单号', 'placeholder' => '输入快递单号'], + ['name' => 'paid_from', 'label' => '赔付日期从', 'type' => 'date'], + ['name' => 'paid_to', 'label' => '赔付日期至', 'type' => 'date'], + ], + 'columns' => [ + ['key' => 'paid_at', 'label' => '赔付日期'], + ['key' => 'carrier', 'label' => '承运商'], + ['key' => 'tracking_no', 'label' => '快递单号'], + ['key' => 'amount', 'label' => '赔付金额'], + ['key' => 'reason', 'label' => '赔付原因'], + ['key' => 'remark', 'label' => '备注'], + ], + 'emptyText' => '暂无赔偿明细', + ]) diff --git a/resources/views/business/pages/courier-payables/freight-reconciliation.blade.php b/resources/views/business/pages/courier-payables/freight-reconciliation.blade.php new file mode 100644 index 00000000..9a5b066b --- /dev/null +++ b/resources/views/business/pages/courier-payables/freight-reconciliation.blade.php @@ -0,0 +1,311 @@ + + +
+ +
+
+

{{ $page['title'] ?? '运费对账' }}

+
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + + 重置 + +
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + {{-- 物流信息 --}} + + + + + + + + + + + {{-- 订单信息 --}} + + + + + + + + + {{-- 收件信息 --}} + + + + + + + + {{-- 商品规格 --}} + + + + + + {{-- 平台/店铺 --}} + + + + {{-- 供应商/仓库 --}} + + + + + + {{-- 时间 --}} + + + + {{-- 备注 --}} + + + + + + @forelse ($freightReconciliations ?? [] as $index => $item) + + + {{-- 物流信息 --}} + + + + + + + + + + + {{-- 订单信息 --}} + + + + + + + + + {{-- 收件信息 --}} + + + + + + + + {{-- 商品规格 --}} + + + + + + {{-- 平台/店铺 --}} + + + + {{-- 供应商/仓库 --}} + + + + + + {{-- 时间 --}} + + + + {{-- 备注 --}} + + + + @empty + + + + @endforelse + +
#物流信息订单信息收件信息商品规格平台/店铺供应商/仓库时间备注
#快递单号快递名称1快递名称2运费费率结算重量结算体积对账重量对账体积换单前单号交易单号商品ID条形码商品名称数量金额货号配货单号省市区收货详细地址收货姓名手机号码座机号码长(cm)宽(cm)高(cm)体积(cm³)重量(kg)平台店铺名称买家昵称供应商仓库成品条码成品名称成品供应商发货时间下载时间付款时间买家留言卖家备注
+ {{ ($freightReconciliations->currentPage() - 1) * $freightReconciliations->perPage() + $index + 1 }} + {{ $item['express_no'] ?? '-' }}{{ $item['express_name1'] ?? '-' }}{{ $item['express_name2'] ?? '-' }} + {{ isset($item['freight']) ? number_format((float) $item['freight'], 2) : '-' }} + {{ $item['rate'] ?? '-' }}{{ isset($item['settle_weight']) ? number_format((float) $item['settle_weight'], 4) : '-' }}{{ isset($item['settle_volume']) ? number_format((float) $item['settle_volume'], 4) : '-' }}{{ isset($item['recon_weight']) ? number_format((float) $item['recon_weight'], 4) : '-' }}{{ isset($item['recon_volume']) ? number_format((float) $item['recon_volume'], 4) : '-' }}{{ $item['prev_express_no'] ?? '-' }}{{ $item['trade_no'] ?? '-' }}{{ $item['product_id'] ?? '-' }}{{ $item['barcode'] ?? '-' }} + {{ $item['product_name'] ?? '-' }} + {{ $item['qty'] ?? '-' }}{{ isset($item['amount']) ? number_format((float) $item['amount'], 2) : '-' }}{{ $item['item_no'] ?? '-' }}{{ $item['pick_no'] ?? '-' }}{{ $item['province'] ?? '-' }}{{ $item['city'] ?? '-' }}{{ $item['district'] ?? '-' }} + {{ $item['address'] ?? '-' }} + {{ $item['receiver_name'] ?? '-' }}{{ $item['receiver_phone'] ?? '-' }}{{ $item['receiver_tel'] ?? '-' }}{{ isset($item['length']) ? number_format((float) $item['length'], 2) : '-' }}{{ isset($item['width']) ? number_format((float) $item['width'], 2) : '-' }}{{ isset($item['height']) ? number_format((float) $item['height'], 2) : '-' }}{{ isset($item['volume']) ? number_format((float) $item['volume'], 4) : '-' }}{{ isset($item['weight']) ? number_format((float) $item['weight'], 4) : '-' }} + + {{ $item['platform'] ?? '-' }} + + + {{ $item['shop_name'] ?? '-' }} + {{ $item['buyer_nick'] ?? '-' }}{{ $item['supplier'] ?? '-' }}{{ $item['warehouse'] ?? '-' }}{{ $item['finished_barcode'] ?? '-' }}{{ $item['finished_name'] ?? '-' }}{{ $item['finished_supplier'] ?? '-' }}{{ $item['ship_time'] ?? '-' }}{{ $item['download_time'] ?? '-' }}{{ $item['pay_time'] ?? '-' }} + {{ $item['buyer_msg'] ?? '-' }} + + {{ $item['seller_memo'] ?? '-' }} +
+
+ + + + + 暂无运费对账数据 +
+
+
+ + + @if (isset($freightReconciliations) && $freightReconciliations->hasPages()) +
+
+ 共 {{ $freightReconciliations->total() }} 条记录 +
+
+ @if ($freightReconciliations->onFirstPage()) + 上一页 + @else + 上一页 + @endif + + @php + $current = $freightReconciliations->currentPage(); + $last = $freightReconciliations->lastPage(); + $start = max(1, $current - 2); + $end = min($last, $current + 2); + @endphp + + @if ($start > 1) + 1 + @if ($start > 2) + ... + @endif + @endif + + @for ($p = $start; $p <= $end; $p++) + @if ($p === $current) + {{ $p }} + @else + {{ $p }} + @endif + @endfor + + @if ($end < $last) + @if ($end < $last - 1) + ... + @endif + {{ $last }} + @endif + + @if ($freightReconciliations->hasMorePages()) + 下一页 + @else + 下一页 + @endif +
+
+ @endif +
+
+ + diff --git a/resources/views/business/pages/courier-payables/other-adjustments.blade.php b/resources/views/business/pages/courier-payables/other-adjustments.blade.php new file mode 100644 index 00000000..d48a9101 --- /dev/null +++ b/resources/views/business/pages/courier-payables/other-adjustments.blade.php @@ -0,0 +1,19 @@ + @include('business.pages.courier-payables.partials.data-table', [ + 'title' => $page['title'] ?? '其他扣款补款', + 'filters' => [ + ['name' => 'project', 'label' => '项目', 'placeholder' => '输入项目名称'], + ['name' => 'carrier', 'label' => '承运商', 'placeholder' => '输入承运商'], + ['name' => 'date_from', 'label' => '日期从', 'type' => 'date'], + ['name' => 'date_to', 'label' => '日期至', 'type' => 'date'], + ], + 'columns' => [ + ['key' => 'project', 'label' => '项目'], + ['key' => 'adjusted_at', 'label' => '日期'], + ['key' => 'carrier', 'label' => '承运商'], + ['key' => 'amount', 'label' => '补款金额'], + ['key' => 'reason', 'label' => '补款原因'], + ['key' => 'remark', 'label' => '备注'], + ['key' => 'remark_2', 'label' => '备注2'], + ], + 'emptyText' => '暂无其他扣款补款明细', + ]) diff --git a/resources/views/business/pages/courier-payables/partials/data-table.blade.php b/resources/views/business/pages/courier-payables/partials/data-table.blade.php new file mode 100644 index 00000000..7557a105 --- /dev/null +++ b/resources/views/business/pages/courier-payables/partials/data-table.blade.php @@ -0,0 +1,342 @@ +@php + $records = $records ?? []; + $filters = $filters ?? []; + $groups = $groups ?? []; + $columns = $columns ?? []; + $showIndex = $showIndex ?? true; + $hasGroups = count($groups) > 0; + $recordCount = is_countable($records) ? count($records) : 0; +@endphp + + + +
+
+
+

{{ $title }}

+ @if (! empty($subtitle)) +

{{ $subtitle }}

+ @endif +
+
+ +
+ @foreach ($filters as $filter) +
+ + @if (($filter['type'] ?? 'text') === 'select') + + @else + + @endif +
+ @endforeach + +
+ + + + 重置 + +
+
+ +
+
+ {{ $title }} + 共 {{ $recordCount }} 条 +
+ +
+ + + @if ($hasGroups) + + @if ($showIndex) + + @endif + @foreach ($groups as $group) + + @endforeach + + + @foreach ($columns as $column) + + @endforeach + + @else + + @if ($showIndex) + + @endif + @foreach ($columns as $column) + + @endforeach + + @endif + + + @forelse ($records as $index => $record) + + @if ($showIndex) + + @endif + @foreach ($columns as $column) + @php($value = data_get($record, $column['key'])) + + @endforeach + + @empty + + + + @endforelse + +
序号{{ $group['label'] }}
{{ $column['label'] }}
序号{{ $column['label'] }}
{{ $index + 1 }}{{ $value === null || $value === '' ? '-' : $value }}
+ + {{ $emptyText ?? '暂无数据' }} +
+
+
+
diff --git a/resources/views/business/pages/raw-board-payables/board-payables-report.blade.php b/resources/views/business/pages/raw-board-payables/board-payables-report.blade.php new file mode 100644 index 00000000..b6996bf5 --- /dev/null +++ b/resources/views/business/pages/raw-board-payables/board-payables-report.blade.php @@ -0,0 +1,28 @@ + @include('business.pages.courier-payables.partials.data-table', [ + 'title' => $page['title'] ?? '素板应付表', + 'showIndex' => false, + 'filters' => [ + ['name' => 'month', 'label' => '月份', 'type' => 'month'], + ['name' => 'raw_board_factory', 'label' => '素板厂', 'placeholder' => '输入素板厂'], + ], + 'columns' => [ + ['key' => 'raw_board_factory', 'label' => '素板厂'], + ['key' => 'opening_balance', 'label' => '期初余额'], + ['key' => 'june_payment_amount', 'label' => '6月打款金额'], + ['key' => 'refund', 'label' => '回款'], + ['key' => 'zhiyu_temporary_warehouse', 'label' => '志宇临时仓'], + ['key' => 'haoyuan', 'label' => '浩远'], + ['key' => 'xinjie', 'label' => '信杰'], + ['key' => 'jinyu', 'label' => '金舆'], + ['key' => 'suyang', 'label' => '苏阳'], + ['key' => 'yongcheng_haohui', 'label' => '永成皓辉'], + ['key' => 'tongsheng_lamination_factory', 'label' => '桐盛压贴厂'], + ['key' => 'caoxian_songda', 'label' => '曹县松达'], + ['key' => 'xusen', 'label' => '旭森'], + ['key' => 'compensation', 'label' => '赔付'], + ['key' => 'cuiqiao_temporary_warehouse', 'label' => '崔桥临时仓'], + ['key' => 'invoice_points', 'label' => '票点'], + ['key' => 'june_balance_due', 'label' => '6月欠款'], + ], + 'emptyText' => '暂无素板应付汇总数据', + ]) diff --git a/resources/views/business/pages/raw-board-payables/board-prices.blade.php b/resources/views/business/pages/raw-board-payables/board-prices.blade.php new file mode 100644 index 00000000..05901d04 --- /dev/null +++ b/resources/views/business/pages/raw-board-payables/board-prices.blade.php @@ -0,0 +1,21 @@ + @include('business.pages.courier-payables.partials.data-table', [ + 'title' => $page['title'] ?? '素板价格', + 'showIndex' => false, + 'filters' => [ + ['name' => 'price_type', 'label' => '价格类型', 'type' => 'select', 'options' => ['' => '全部']], + ['name' => 'material_name', 'label' => '原料名称', 'placeholder' => '输入原料名称'], + ['name' => 'material_no', 'label' => '原料编号', 'placeholder' => '输入原料编号'], + ['name' => 'target_vendor', 'label' => '目标厂商', 'placeholder' => '输入目标厂商'], + ['name' => 'vendor_type', 'label' => '厂商类型', 'type' => 'select', 'options' => ['' => '全部']], + ], + 'columns' => [ + ['key' => 'price_type', 'label' => '价格类型'], + ['key' => 'material_name', 'label' => '原料名称'], + ['key' => 'material_no', 'label' => '原料编号'], + ['key' => 'production_no', 'label' => '生产编号'], + ['key' => 'latest_price', 'label' => '最新价格'], + ['key' => 'target_vendor', 'label' => '目标厂商'], + ['key' => 'vendor_type', 'label' => '厂商类型'], + ], + 'emptyText' => '暂无素板价格数据', + ]) diff --git a/resources/views/business/pages/raw-board-payables/board-reconciliation.blade.php b/resources/views/business/pages/raw-board-payables/board-reconciliation.blade.php new file mode 100644 index 00000000..8598cfe0 --- /dev/null +++ b/resources/views/business/pages/raw-board-payables/board-reconciliation.blade.php @@ -0,0 +1,36 @@ + @include('business.pages.courier-payables.partials.data-table', [ + 'title' => $page['title'] ?? '素板对账', + 'showIndex' => false, + 'filters' => [ + ['name' => 'production_no', 'label' => '原料生产编号', 'placeholder' => '输入生产编号'], + ['name' => 'material_name', 'label' => '原料名称', 'placeholder' => '输入原料名称'], + ['name' => 'outbound_vendor', 'label' => '出库厂商', 'placeholder' => '输入出库厂商'], + ['name' => 'arrival_vendor', 'label' => '到货厂商', 'placeholder' => '输入到货厂商'], + ['name' => 'stock_in_from', 'label' => '入库日期从', 'type' => 'date'], + ['name' => 'stock_in_to', 'label' => '入库日期至', 'type' => 'date'], + ], + 'columns' => [ + ['key' => 'stocked_in_at', 'label' => '入库日期'], + ['key' => 'stocked_out_at', 'label' => '出库日期'], + ['key' => 'production_no', 'label' => '原料生产编号'], + ['key' => 'material_name', 'label' => '原料名称'], + ['key' => 'outbound_quantity', 'label' => '出库数量'], + ['key' => 'unit', 'label' => '单位'], + ['key' => 'return_flag', 'label' => '退货标识'], + ['key' => 'outbound_vendor', 'label' => '出库厂商'], + ['key' => 'arrival_vendor', 'label' => '到货厂商'], + ['key' => 'batch_date', 'label' => '批次日期'], + ['key' => 'outbound_no', 'label' => '出库单号'], + ['key' => 'outbound_remark', 'label' => '出库备注'], + ['key' => 'requisition_no', 'label' => '申领单号'], + ['key' => 'number_type', 'label' => '单号类型'], + ['key' => 'delivery_no', 'label' => '送货单号'], + ['key' => 'received_quantity', 'label' => '实收数量'], + ['key' => 'unit_price', 'label' => '单价'], + ['key' => 'reconciliation_amount', 'label' => '对账金额'], + ['key' => 'freight_with_allocation', 'label' => '运费(包含分摊运费)'], + ['key' => 'allocated_freight', 'label' => '分摊运费'], + ['key' => 'freight', 'label' => '运费'], + ], + 'emptyText' => '暂无素板对账数据', + ]) diff --git a/resources/views/business/pages/raw-board-payables/compensation-details.blade.php b/resources/views/business/pages/raw-board-payables/compensation-details.blade.php new file mode 100644 index 00000000..6adf846f --- /dev/null +++ b/resources/views/business/pages/raw-board-payables/compensation-details.blade.php @@ -0,0 +1,18 @@ + @include('business.pages.courier-payables.partials.data-table', [ + 'title' => $page['title'] ?? '赔付明细', + 'showIndex' => true, + 'filters' => [ + ['name' => 'lamination_factory', 'label' => '压贴厂', 'placeholder' => '输入压贴厂'], + ['name' => 'raw_board_factory', 'label' => '素板厂', 'placeholder' => '输入素板厂'], + ['name' => 'reason', 'label' => '原因', 'placeholder' => '输入赔付原因'], + ], + 'columns' => [ + ['key' => 'lamination_factory', 'label' => '压贴厂'], + ['key' => 'raw_board_factory', 'label' => '素板厂'], + ['key' => 'reason', 'label' => '原因'], + ['key' => 'quantity', 'label' => '数量'], + ['key' => 'unit_price', 'label' => '单价'], + ['key' => 'amount', 'label' => '金额'], + ], + 'emptyText' => '暂无素板赔付明细', + ]) diff --git a/resources/views/business/pages/supplier-payables/product-prices.blade.php b/resources/views/business/pages/supplier-payables/product-prices.blade.php new file mode 100644 index 00000000..e6d56c29 --- /dev/null +++ b/resources/views/business/pages/supplier-payables/product-prices.blade.php @@ -0,0 +1,447 @@ + + +
+ {{-- Page header --}} +
+
+

+ {{ $page['title'] ?? '商品价格' }} +

+

+ 管理供应商商品的定价与变价记录 +

+
+
+ +
+
+ + {{-- Filter bar --}} +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ + + refresh + 重置 + +
+
+
+ + {{-- Data table --}} +
+ + + + + + + + + + + + + + + + + + + + @forelse ($productPrices ?? [] as $index => $item) + @php + $priceTypeLabel = ($item->price_type ?? '') === '1' ? '变价' : '定价'; + @endphp + + + + + + + + + + + + + + + + @empty + + + + @endforelse + +
#条形码价格类型变价类型是否采购降本变价前价格变价后价格差价申请人备注生效开始时间生效结束时间流程完成时间
{{ ($productPrices->currentPage() - 1) * $productPrices->perPage() + $index + 1 }}{{ $item->barcode ?? '-' }} + + {{ $priceTypeLabel }} + + {{ $item->change_type ?? '-' }} + @if (($item->cost_reduction ?? '') === '1') + check_circle + @elseif (($item->cost_reduction ?? '') === '0') + cancel + @else + - + @endif + {{ isset($item->price_before) && $item->price_before !== null ? number_format((float) $item->price_before, 2) : '-' }}{{ isset($item->price_after) && $item->price_after !== null ? number_format((float) $item->price_after, 2) : '-' }} + @php + $diff = $item->price_diff ?? null; + @endphp + @if (isset($diff)) + + {{ $diff > 0 ? '+' : '' }}{{ number_format((float) $diff, 2) }} + + @else + - + @endif + {{ $item->applicant ?? '-' }} + @if (!empty($item->remark)) + + {{ mb_strlen($item->remark) > 12 ? mb_substr($item->remark, 0, 12) . '...' : $item->remark }} + + @else + - + @endif + {{ $item->effective_start ?? '-' }}{{ $item->effective_end ?? '-' }}{{ $item->completed_at ?? '-' }}
+ inventory_2 + 暂无商品价格数据 +
+ + {{-- Summary bar --}} + @if (!empty($productPrices) && method_exists($productPrices, 'total')) +
+ + 共 {{ $productPrices->total() }} 条记录 + + + 当前第 {{ $productPrices->currentPage() }} / {{ $productPrices->lastPage() }} 页 + +
+ + {{-- Pagination --}} + @if (isset($productPrices) && $productPrices->hasPages()) +
+
+ {{-- Previous --}} + @if ($productPrices->onFirstPage()) + + chevron_left + + @else + + chevron_left + + @endif + + {{-- Page numbers --}} + @php + $current = $productPrices->currentPage(); + $last = $productPrices->lastPage(); + $start = max(1, $current - 2); + $end = min($last, $current + 2); + @endphp + + @if ($start > 1) + 1 + @if ($start > 2) + ... + @endif + @endif + + @for ($i = $start; $i <= $end; $i++) + + {{ $i }} + + @endfor + + @if ($end < $last) + @if ($end < $last - 1) + ... + @endif + {{ $last }} + @endif + + {{-- Next --}} + @if ($productPrices->hasMorePages()) + + chevron_right + + @else + + chevron_right + + @endif +
+
+ @endif + @endif +
+