<?php

namespace App\Http\Controllers;

use App\Http\Services\IndexService;
use App\Http\Services\MessageService;
use App\Model\IntracodeModel;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class IndexController extends Controller
{
    public function Entrance(Request $request, $id = 'index')
    {
        if ($request->path() == '/') {
            $path = 'web/index';
        } else {
            $path = $request->path();
        }

        $this->data = [
            'menus' => $request->menus,
            'header' => $request->user->header,
            'username' => $request->user->email,
            'user_email' => $request->user->email,
            'uri' => '/' . $path,
            'id' => $id
        ];

        $userId = $request->user->userId;
        $canAudit = perm($userId, 'AuditSupplier');
        $this->data['canAudit'] = $canAudit;
        //把是否是领导查看放到模板,用来区分部门老大能干的权限
        $leaderView = perm($userId, 'LeaderView');
        $this->data['leaderView'] = $leaderView;

        return $this->$id($request);
    }

    public function __call($method, $parameters)
    {
        return $this->errhtml('Not', '没有这个页面');
    }


    //操作日志列表
    public function Index($request)
    {
        $service = new IndexService();
        $statistics = $service->getDailySupplierAddStatistics();
        $this->data['dates'] = array_values(array_column($statistics['all'], 'date'));
        $this->data['all_increase_statistics'] = array_values(array_column($statistics['all'], 'count'));
        $this->data['user_increase_statistics'] = array_values(array_column($statistics['user'], 'count'));
        $intracodeModel = new IntracodeModel();
        $userCodes = $intracodeModel->getSampleEncode();
        $this->data['user'] = $userCodes;
        $this->data['purchase_users'] = [];
        foreach ($userCodes as $userId => $code) {
            $this->data['purchase_users'][] = [
                'name' => $code,
                'value' => $userId,
            ];
        }

        return $this->view('首页');
    }

}