diff --git a/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php b/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php index 1a2372000..e62f10b6c 100644 --- a/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php +++ b/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php @@ -136,6 +136,42 @@ class SystemCrud extends AuthController return app('json')->success(compact('makePath', 'tableField')); } + /** + * @param $id + * @return \think\Response + * @author 等风来 + * @email 136327134@qq.com + * @date 2023/4/12 + */ + public function read($id) + { + if (!$id) { + return app('json')->fail('缺少参数'); + } + + $info = $this->services->get($id); + if (!$info) { + return app('json')->fail('查看的生成的文件不存在'); + } + + $routeName = 'crud/' . Str::snake($info->table_name); + + $make = $this->services->makeFile($info->table_name, $routeName, false, [ + 'menuName' => $info->name, + 'fromField' => $info->field['fromField'] ?? [], + 'columnField' => $info->field['columnField'] ?? [], + ]); + + $data = []; + foreach ($make as $item) { + $item['name'] = pathinfo($item['path'])['basename'] ?? ''; + $data[] = $item; + } + + return app('json')->success($data); + + } + /** * 获取tree菜单 * @return \think\Response diff --git a/crmeb/app/adminapi/route/system.php b/crmeb/app/adminapi/route/system.php index 12b83cff3..749e9dd26 100644 --- a/crmeb/app/adminapi/route/system.php +++ b/crmeb/app/adminapi/route/system.php @@ -141,6 +141,8 @@ Route::group('system', function () { Route::post('crud/file_path', 'v1.setting.SystemCrud/getFilePath')->option(['real_name' => '获取CRUD文件存放']); //删除CRUD Route::delete('crud/:id', 'v1.setting.SystemCrud/delete')->option(['real_name' => '删除CRUD']); + //查看CRUD + Route::get('crud/:id', 'v1.setting.SystemCrud/read')->option(['real_name' => '查看CRUD']); //获取CRUD列表 Route::get('crud', 'v1.setting.SystemCrud/index')->option(['real_name' => '获取CRUD列表']); //保存生成CRUD diff --git a/crmeb/app/model/system/SystemCrud.php b/crmeb/app/model/system/SystemCrud.php index 8f386053a..173d68dc5 100644 --- a/crmeb/app/model/system/SystemCrud.php +++ b/crmeb/app/model/system/SystemCrud.php @@ -35,4 +35,9 @@ class SystemCrud extends BaseModel * @var string */ protected $pk = 'id'; + + public function getAddTimeAttr($value) + { + return date('Y-m-d H:i:s', $value); + } } diff --git a/crmeb/app/services/system/SystemCrudServices.php b/crmeb/app/services/system/SystemCrudServices.php index 72cc4097c..a0cfba82a 100644 --- a/crmeb/app/services/system/SystemCrudServices.php +++ b/crmeb/app/services/system/SystemCrudServices.php @@ -72,7 +72,7 @@ class SystemCrudServices extends BaseServices public function getList() { [$page, $limit] = $this->getPageValue(); - $list = $this->dao->selectList([], '*', $page, $limit, 'id desc'); + $list = $this->dao->selectList([], 'add_time,id,name,table_name', $page, $limit, 'id desc'); $count = $this->dao->count(); return compact('list', 'count'); diff --git a/crmeb/crmeb/services/crud/Make.php b/crmeb/crmeb/services/crud/Make.php index 77716f0cb..765154a2e 100644 --- a/crmeb/crmeb/services/crud/Make.php +++ b/crmeb/crmeb/services/crud/Make.php @@ -422,14 +422,15 @@ abstract class Make $pathname = $this->filePathName ?: $pathname; - if (is_file($pathname)) { - throw new CrudException($this->name . ':' . $pathname . ' already exists!'); - } $content = str_replace('', '', $content); if ($this->isMake) { + if (is_file($pathname)) { + throw new CrudException($this->name . ':' . $pathname . ' already exists!'); + } + try { if (!is_dir(dirname($pathname))) { mkdir(dirname($pathname), 0755, true);