<?phpnamespace 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 []; }}