<?php

namespace admin\action;

use model\projectFollow;

class projectFollowAction extends \action
{
    //获取项目明细跟进列表
    public function detail()
    {
        $req = \mvc::$req;
        $pageAjax = isset($req['page_ajax']) && $req['page_ajax'] == 1;
        $isFullAjax = isset($req['full_ajax']) && $req['full_ajax'] == 1; // 同时获取列表和统计数据

        $item = [];
        $pagination = [];
        $projectFollow = new projectFollow();
        $result = $projectFollow->getListByPrfPiIdWithPaging($req);
        $item = $result['list'];

        // 传递分页信息给视图
        if ($result['records'] > 0) {
            $pagination = [
                'current_page' => $result['page'],
                'page_size' => $result['pagesize'],
                'total_records' => $result['records'],
                'total_pages' => ceil($result['records'] / $result['pagesize'])
            ];
        }

        // 传递跟进统计信息给视图
        $followStatistics = [
            'selfFollowCount' => $result['selfFollowCount'],
            'lastEditInfo' => $result['lastEditInfo'],
            'lastSelfEditInfo' => $result['lastSelfEditInfo'],
        ];

        // 传递项目明细状态
        $pi_status = $result['pi_status'];

        \view::set('itemList', $item);
        \view::set('pagination', $pagination);
        \view::set('followStatistics', $followStatistics);
        \view::set('pi_status', $pi_status);
        \view::set('prf_pi_id', $req['prf_pi_id']);

        // 如果是完整AJAX请求，返回JSON格式的列表和统计数据
        if ($isFullAjax) {
            // 获取列表HTML
            ob_start();
            \view::put('project/projectFollow/detail_list');
            $listHtml = ob_get_clean();

            // 获取统计HTML
            ob_start();
            \view::put('project/projectFollow/detail_statistics');
            $statisticsHtml = ob_get_clean();

            // 返回JSON响应
            $this->successJson([
                'listHtml' => $listHtml,
                'statisticsHtml' => $statisticsHtml,
            ]);
        } elseif ($pageAjax) {
            // 如果是普通AJAX请求，只返回左侧列表部分
            \view::put('project/projectFollow/detail_list');
        } else {
            // 普通请求，返回完整页面(其他页面跳转走这个路由)
            \view::put('project/projectFollow/detail');
        }
    }

    //添加跟进详情
    public function addDetail()
    {
        $req = \mvc::$req;
        $projectFollow = new projectFollow();
        $data = $projectFollow->putDetail($req);
        $this->successJson($data);
    }

    //更新跟进详情
    public function updateDetail()
    {
        $req = \mvc::$req;
        $projectFollow = new projectFollow();
        $data = $projectFollow->putDetail($req);
        $this->successJson($data);
    }

    //删除跟进详情记录
    public function deleteDetail()
    {
        $req = \mvc::$req;
        $projectFollow = new projectFollow();
        $data = $projectFollow->deleteDetail($req);
        $this->successJson($data);
    }
}
