1. <?php
    2. namespace app\model;
    3. use tpScriptVueCurd\base\model\BaseModel;
    4. use tpScriptVueCurd\base\model\VueCurlModel;
    5. use tpScriptVueCurd\field\DateField;
    6. use tpScriptVueCurd\field\RadioField;
    7. use tpScriptVueCurd\field\StringField;
    8. use tpScriptVueCurd\field\TextField;
    9. use tpScriptVueCurd\FieldCollection;
    10. use tpScriptVueCurd\option\generate_table\GenerateTableOption;
    11. use tpScriptVueCurd\option\ModelInfoAuth;
    12. class User extends BaseModel
    13. {
    14. /**
    15. * 表字段配置
    16. * @return FieldCollection
    17. */
    18. public function fields(): FieldCollection
    19. {
    20. return new FieldCollection([
    21. StringField::init('name','姓名')->listShow(true)->required(true),
    22. RadioField::init('sex', '性别')->items(['男', '女'])->listShow(true)->required(true),
    23. DateField::init('date','出生日期')->listShow(true),
    24. TextField::init('address', '住址'),
    25. ]);
    26. }
    27. /**
    28. * 是否自动创建数据库表,当debug为false时,将不会执行
    29. * @param GenerateTableOption $table
    30. * @return bool
    31. */
    32. public function generateTable(GenerateTableOption $table): bool
    33. {
    34. //当字段改变时,是否更改数据库表相关字段
    35. $table->setModifyColumn(true);
    36. return true;
    37. }
    38. /**
    39. * 表的操作权限
    40. * @param ModelInfoAuth $authCheck
    41. */
    42. protected function authCheck(ModelInfoAuth $authCheck):void{
    43. $authCheck->add=function (FieldCollection $field,self $info,?BaseModel $baseInfo){
    44. return true;
    45. };
    46. $authCheck->edit=function (FieldCollection $field,self $info,?BaseModel $baseInfo){
    47. return true;
    48. };
    49. $authCheck->show=function (FieldCollection $field,self $info,?BaseModel $baseInfo){
    50. return true;
    51. };
    52. $authCheck->del=function (FieldCollection $field,self $info,?BaseModel $baseInfo){
    53. return true;
    54. };
    55. }
    56. /**
    57. * 生成保存数据前(字段doSaveBeforeChecked前,doSaveBefore后)
    58. */
    59. protected function doSaveDataBefore(FieldCollection $fields,array &$postData,bool $isExcelDo,int $id,?BaseModel $parentInfo,BaseModel $beforeInfo): void
    60. {
    61. parent::doSaveDataBefore($fields, $postData, $isExcelDo, $id,$parentInfo, $beforeInfo);
    62. }
    63. /**
    64. * 生成保存数据后,还未保存(字段doSaveBeforeChecked前,doSaveBefore后)
    65. */
    66. protected function doSaveDataAfter(array &$saveData,int $id,?BaseModel $parentInfo,BaseModel $beforeInfo): void
    67. {
    68. parent::doSaveDataAfter($saveData, $id,$parentInfo, $beforeInfo); // TODO: Change the autogenerated stub
    69. }
    70. /**
    71. * 数据成功添加后
    72. */
    73. protected function onAddAfter(BaseModel $info,array $postData,?BaseModel $parentInfo): void
    74. {
    75. parent::onAddAfter($info, $postData,$parentInfo);
    76. }
    77. /**
    78. * 数据成功修改后
    79. */
    80. protected function onEditAfter(BaseModel $info,array $postData,?BaseModel $parentInfo,BaseModel $beforeInfo): void
    81. {
    82. parent::onEditAfter($info, $postData,$parentInfo, $beforeInfo);
    83. }
    84. /**
    85. * 数据删除前
    86. * @param \think\model\Collection $delList
    87. */
    88. protected function onDelBefore(\think\model\Collection $delList): void
    89. {
    90. }
    91. /**
    92. * 数据删除后
    93. * @param \think\model\Collection $delList
    94. */
    95. protected function onDelAfter(\think\model\Collection $delList): void
    96. {
    97. }
    98. }