<?php
declare(strict_types=1);

/**
 * 数据单管理（以单号为维度）
 * 页面: admin/washSheet/index
 * 数据接口（GridActions）: washSheet/grid / washSheet/save / washSheet/remove / washSheet/export
 */
class washSheetAction extends Action
{
    use GridActions;

    protected function gridModel(): Model
    {
        $model = new WashSheet();
        // 新增时"添加人"默认填当前登录用户，SESSION 只在 Action 层读，Model 通过参数接收
        $model->setCurrentAdminId(Auth::id() ?? 0);

        return $model;
    }

    public function index(): void
    {
        View::set([
            'pageTitle' => lg('数据单'),
            'admins'    => (new Users())->listAllowed(),
        ]);
        View::put();
    }

    /**
     * 单张数据单的明细页，由列表页点标题打开新标签进入
     * 页面: admin/washSheet/detail/k/sheetId/{单号}
     */
    public function detail(): void
    {
        $sheetId = (int) ($this->request['sheetId'] ?? 0);
        $sheet = (new WashSheet())->find($sheetId);

        if ($sheet === null) {
            $this->error(1, lg('数据单不存在'));
        }

        View::set([
            'pageTitle' => lg('数据单明细'),
            'sheet'     => $sheet,
            'vendors'   => (new NumberVendor())->listAll(),
        ]);
        View::put();
    }
}
