<?php
namespace app\controller;
use app\BaseController;
use think\db\Query;
use tpScriptVueCurd\base\model\BaseModel;
use tpScriptVueCurd\base\model\VueCurlModel;
use tpScriptVueCurd\FieldCollection;
use tpScriptVueCurd\option\FunControllerIndexData;
use tpScriptVueCurd\option\FunControllerIndexPage;
class User extends BaseController
{
use \tpScriptVueCurd\base\controller\BaseController;
/**
* 列表条件自定义
* @param Query $query
*/
protected function indexListWhere(Query $query): void
{
//$query->where('status',1);
}
/**
* index页面在显示前
* @param BaseModel|null $baseInfo 父表信息
*/
protected function indexShowBefore(?BaseModel &$baseInfo): void
{
//要改fields,可以直接在 这里 $this->fields
// 列表页面显示前处理,在indexFetch前
}
/**
* index页面给前台的数据处理
* @param array $fetch
*/
protected function indexFetch(array &$fetch): void
{
// 列表页面显示前处理,在indexShowBefore后
}
/**
* 对index页面给前台ajax获取到的数据进行处理
* @param FunControllerIndexData $option
*/
protected function indexData(FunControllerIndexData $option): void
{
//列表数据处理钩子
}
/**
* 详细页面展示数据处理
* @param array $fetch
* @return array
*/
protected function showFetch(array $fetch):array{
// 详情页面显示前处理
return $fetch;
}
protected function showBefore(BaseModel $info,?BaseModel $parentInfo,FieldCollection &$field){
//数据显示前
}
/**
* 添加页面打开前
* @param array $fetchData
* @return array
*/
protected function beforeAddShow(array $fetchData): array
{
return $fetchData;
}
/**
* 修改页面打开前
* @param array $fetchData
* @return array
*/
protected function beforeEditShow(array $fetchData): array
{
return $fetchData;
}
protected function editBefore(FieldCollection &$fields,BaseModel $old,?BaseModel $parentInfo,?array &$data=null): void
{
// 数据添加或修改时,显示与提交都会执行此方法
// 如果没有$old->id,表示当前操作是添加
}
/**
* 数据添加成功后调用
* @param BaseModel $info
*/
protected function addAfter(BaseModel $info): void
{
// 数据添加成功后钩子,方便子类处理(子类重写此方法)
}
/**
* 数据修改成功后调用
* @param BaseModel $info
*/
protected function editAfter(BaseModel $info): void
{
// 数据修改成功后钩子,方便子类处理(子类重写此方法)
}
/**
* 编辑页面打开,数据生成前
* @param FieldCollection $fields
* @param VueCurlModel|null $data
* @param BaseModel|null $baseModel
*/
protected function createEditFetchDataBefore(FieldCollection $fields, BaseModel &$data,?BaseModel $baseModel):void
{
//(添加/编辑页面)生成解析数据前,处理数据(控制字段显示与否),$data为空代表是新增
}
/**
* 执行删除前
* @param array $ids
* @return array
*/
protected function beforeDel(array $ids): array
{
//返回要删除的数据的ID
return $ids;
}
/**
* 删除成功后
* @param \think\Collection $delInfos
*/
protected function afterDel(\think\Collection $delInfos): void
{
}
public function importBefore(FunControllerImportBefore $option):void{
// 数据导入前,方便子类处理(子类重写此方法)
}
public function importAfter(FunControllerImportAfter $option):void{
// 数据导入后,方便子类处理(子类重写此方法)
}
/**
* 列表按钮组左侧
* @param BaseModel $info 当前行信息
* @param FieldCollection $fields
* @param BaseModel|null $parentInfo
* @param \think\model\Collection $list 列表信息
* @return RowBtn[]|OpenBtn[]
*/
public function getListRowBeforeBtns(BaseModel $info,FieldCollection $fields,?BaseModel $parentInfo,\think\model\Collection $list): array
{
return [];
}
/**
* 列表按钮组右侧
* @param BaseModel $info 当前行信息
* @param FieldCollection $fields
* @param BaseModel|null $parentInfo
* @param \think\model\Collection $list 列表信息
* @return RowBtn[]|OpenBtn[]
*/
public function getListRowAfterBtns(BaseModel $info,FieldCollection $fields,?BaseModel $parentInfo,\think\model\Collection $list): array
{
return [];
}
/**
* 工具栏标题左侧按钮
* @param FieldCollection $fields 当前字段信息
* @param BaseModel|null $parentInfo 父表
* @return RowBtn[]|OpenBtn[]
*/
public function getToolTitleLeftBtns(FieldCollection $fields,?BaseModel $parentInfo):array{
return [];
}
/**
* 工具栏标题右侧按钮
* @param FieldCollection $fields 当前字段信息
* @param BaseModel|null $parentInfo 父表
* @return RowBtn[]|OpenBtn[]
*/
public function getToolTitleRightBtns(FieldCollection $fields,?BaseModel $parentInfo):array{
return [];
}
/**
* 工具栏右侧按钮集左边
* @param FieldCollection $fields 当前字段信息
* @param BaseModel|null $parentInfo 父表
* @return RowBtn[]|OpenBtn[]
*/
public function getToolBtnLeftBtns(FieldCollection $fields,?BaseModel $parentInfo):array{
return [];
}
/**
* 工具栏右侧按钮集右边
* @param FieldCollection $fields 当前字段信息
* @param BaseModel|null $parentInfo 父表
* @return RowBtn[]|OpenBtn[]
*/
public function getToolBtnRightBtns(FieldCollection $fields,?BaseModel $parentInfo):array{
return [];
}
}