mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-05 17:42:49 +08:00
开始引入curd
This commit is contained in:
1467
app/admin/service/curd/BuildCurdService.php
Normal file
1467
app/admin/service/curd/BuildCurdService.php
Normal file
File diff suppressed because it is too large
Load Diff
10
app/admin/service/curd/exceptions/CurdException.php
Normal file
10
app/admin/service/curd/exceptions/CurdException.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace app\admin\service\curd\exceptions;
|
||||
|
||||
|
||||
class CurdException extends \Exception
|
||||
{
|
||||
|
||||
}
|
||||
10
app/admin/service/curd/exceptions/FileException.php
Normal file
10
app/admin/service/curd/exceptions/FileException.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace app\admin\service\curd\exceptions;
|
||||
|
||||
|
||||
class FileException extends \Exception
|
||||
{
|
||||
|
||||
}
|
||||
10
app/admin/service/curd/exceptions/TableException.php
Normal file
10
app/admin/service/curd/exceptions/TableException.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace app\admin\service\curd\exceptions;
|
||||
|
||||
|
||||
class TableException extends \Exception
|
||||
{
|
||||
|
||||
}
|
||||
27
app/admin/service/curd/templates/controller/controller.code
Normal file
27
app/admin/service/curd/templates/controller/controller.code
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace {{controllerNamespace}};
|
||||
|
||||
use app\common\controller\AdminController;
|
||||
use EasyAdmin\annotation\ControllerAnnotation;
|
||||
use EasyAdmin\annotation\NodeAnotation;
|
||||
use think\App;
|
||||
|
||||
/**
|
||||
* @ControllerAnnotation(title="{{controllerAnnotation}}")
|
||||
*/
|
||||
class {{controllerName}} extends AdminController
|
||||
{
|
||||
|
||||
use \app\admin\traits\Curd;
|
||||
|
||||
public function __construct(App $app)
|
||||
{
|
||||
parent::__construct($app);
|
||||
|
||||
$this->model = new {{modelFilename}}();
|
||||
{{selectList}}
|
||||
}
|
||||
|
||||
{{indexMethod}}
|
||||
}
|
||||
31
app/admin/service/curd/templates/controller/indexMethod.code
Normal file
31
app/admin/service/curd/templates/controller/indexMethod.code
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
/**
|
||||
* @NodeAnotation(title="列表")
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
if ($this->request->isAjax()) {
|
||||
if (input('selectFields')) {
|
||||
return $this->selectList();
|
||||
}
|
||||
list($page, $limit, $where) = $this->buildTableParames();
|
||||
$count = $this->model
|
||||
{{relationIndexMethod}}
|
||||
->where($where)
|
||||
->count();
|
||||
$list = $this->model
|
||||
{{relationIndexMethod}}
|
||||
->where($where)
|
||||
->page($page, $limit)
|
||||
->order($this->sort)
|
||||
->select();
|
||||
$data = [
|
||||
'code' => 0,
|
||||
'msg' => '',
|
||||
'count' => $count,
|
||||
'data' => $list,
|
||||
];
|
||||
return json($data);
|
||||
}
|
||||
return $this->fetch();
|
||||
}
|
||||
2
app/admin/service/curd/templates/controller/select.code
Normal file
2
app/admin/service/curd/templates/controller/select.code
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
$this->assign('{{name}}', $this->model->{{name}}());
|
||||
17
app/admin/service/curd/templates/model/model.code
Normal file
17
app/admin/service/curd/templates/model/model.code
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace {{modelNamespace}};
|
||||
|
||||
use app\common\model\TimeModel;
|
||||
|
||||
class {{modelName}} extends TimeModel
|
||||
{
|
||||
|
||||
protected $name = "{{table}}";
|
||||
|
||||
protected $deleteTime = {{deleteTime}};
|
||||
|
||||
{{relationList}}
|
||||
{{selectList}}
|
||||
|
||||
}
|
||||
5
app/admin/service/curd/templates/model/relation.code
Normal file
5
app/admin/service/curd/templates/model/relation.code
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
public function {{relationMethod}}()
|
||||
{
|
||||
return $this->belongsTo('{{relationModel}}', '{{foreignKey}}', '{{primaryKey}}');
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
|
||||
public function {{name}}()
|
||||
{
|
||||
return \app\admin\model\{{relation}}::column('{{values}}', 'id');
|
||||
}
|
||||
5
app/admin/service/curd/templates/model/select.code
Normal file
5
app/admin/service/curd/templates/model/select.code
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
public function {{name}}()
|
||||
{
|
||||
return {{values}};
|
||||
}
|
||||
34
app/admin/service/curd/templates/static/js.code
Normal file
34
app/admin/service/curd/templates/static/js.code
Normal file
@@ -0,0 +1,34 @@
|
||||
define(["jquery", "easy-admin"], function ($, ea) {
|
||||
|
||||
var init = {
|
||||
table_elem: '#currentTable',
|
||||
table_render_id: 'currentTableRenderId',
|
||||
index_url: '{{controllerUrl}}/index',
|
||||
add_url: '{{controllerUrl}}/add',
|
||||
edit_url: '{{controllerUrl}}/edit',
|
||||
delete_url: '{{controllerUrl}}/delete',
|
||||
export_url: '{{controllerUrl}}/export',
|
||||
modify_url: '{{controllerUrl}}/modify',
|
||||
};
|
||||
|
||||
var Controller = {
|
||||
|
||||
index: function () {
|
||||
ea.table.render({
|
||||
init: init,
|
||||
cols: [[
|
||||
{{indexCols}}
|
||||
]],
|
||||
});
|
||||
|
||||
ea.listen();
|
||||
},
|
||||
add: function () {
|
||||
ea.listen();
|
||||
},
|
||||
edit: function () {
|
||||
ea.listen();
|
||||
},
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
11
app/admin/service/curd/templates/view/form.code
Normal file
11
app/admin/service/curd/templates/view/form.code
Normal file
@@ -0,0 +1,11 @@
|
||||
<div class="layuimini-container">
|
||||
<form id="app-form" class="layui-form layuimini-form">
|
||||
{{formList}}
|
||||
<div class="hr-line"></div>
|
||||
<div class="layui-form-item text-center">
|
||||
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit>确认</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">重置</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
10
app/admin/service/curd/templates/view/index.code
Normal file
10
app/admin/service/curd/templates/view/index.code
Normal file
@@ -0,0 +1,10 @@
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<table id="currentTable" class="layui-table layui-hide"
|
||||
data-auth-add="{:auth('{{controllerUrl}}/add')}"
|
||||
data-auth-edit="{:auth('{{controllerUrl}}/edit')}"
|
||||
data-auth-delete="{:auth('{{controllerUrl}}/delete')}"
|
||||
lay-filter="currentTable">
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,7 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{{comment}}</label>
|
||||
<div class="layui-input-block">
|
||||
{{define}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
{foreach ${{name}} as $k=>$v}
|
||||
<input type="checkbox" name="{{field}}[]" value="{$k}" lay-skin="primary" title="{$v}" {{select}}>
|
||||
{/foreach}
|
||||
7
app/admin/service/curd/templates/view/module/date.code
Normal file
7
app/admin/service/curd/templates/view/module/date.code
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{{comment}}</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="{{field}}" data-date="" data-date-type="{{define}}" class="layui-input" {{required}} placeholder="请输入{{comment}}" value="{{value}}">
|
||||
</div>
|
||||
</div>
|
||||
7
app/admin/service/curd/templates/view/module/editor.code
Normal file
7
app/admin/service/curd/templates/view/module/editor.code
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{{comment}}</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="{{field}}" rows="20" class="layui-textarea editor" {{comment}} placeholder="请输入{{comment}}">{{value}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
11
app/admin/service/curd/templates/view/module/file.code
Normal file
11
app/admin/service/curd/templates/view/module/file.code
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">{{comment}}</label>
|
||||
<div class="layui-input-block layuimini-upload">
|
||||
<input name="{{field}}" class="layui-input layui-col-xs6" {{required}} placeholder="请上传{{comment}}" value="{{value}}">
|
||||
<div class="layuimini-upload-btn">
|
||||
<span><a class="layui-btn" data-upload="{{field}}" data-upload-number="one" data-upload-exts="*" data-upload-icon="file"><i class="fa fa-upload"></i> 上传</a></span>
|
||||
<span><a class="layui-btn layui-btn-normal" id="select_{{field}}" data-upload-select="{{field}}" data-upload-number="one" data-upload-mimetype="*"><i class="fa fa-list"></i> 选择</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
11
app/admin/service/curd/templates/view/module/files.code
Normal file
11
app/admin/service/curd/templates/view/module/files.code
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">{{comment}}</label>
|
||||
<div class="layui-input-block layuimini-upload">
|
||||
<input name="{{field}}" class="layui-input layui-col-xs6" {{required}} placeholder="请上传{{comment}}" value="{{value}}">
|
||||
<div class="layuimini-upload-btn">
|
||||
<span><a class="layui-btn" data-upload="{{field}}" data-upload-number="more" data-upload-exts="*" data-upload-icon="file"><i class="fa fa-upload" data-upload-sign="{{define}}"></i> 上传</a></span>
|
||||
<span><a class="layui-btn layui-btn-normal" id="select_{{field}}" data-upload-select="{{field}}" data-upload-number="more" data-upload-mimetype="*" data-upload-sign="{{define}}"><i class="fa fa-list"></i> 选择</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
11
app/admin/service/curd/templates/view/module/image.code
Normal file
11
app/admin/service/curd/templates/view/module/image.code
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">{{comment}}</label>
|
||||
<div class="layui-input-block layuimini-upload">
|
||||
<input name="{{field}}" class="layui-input layui-col-xs6" {{required}} placeholder="请上传{{comment}}" value="{{value}}">
|
||||
<div class="layuimini-upload-btn">
|
||||
<span><a class="layui-btn" data-upload="{{field}}" data-upload-number="one" data-upload-exts="png|jpg|ico|jpeg" data-upload-icon="image"><i class="fa fa-upload"></i> 上传</a></span>
|
||||
<span><a class="layui-btn layui-btn-normal" id="select_{{field}}" data-upload-select="{{field}}" data-upload-number="one" data-upload-mimetype="image/*"><i class="fa fa-list"></i> 选择</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
11
app/admin/service/curd/templates/view/module/images.code
Normal file
11
app/admin/service/curd/templates/view/module/images.code
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">{{comment}}</label>
|
||||
<div class="layui-input-block layuimini-upload">
|
||||
<input name="{{field}}" class="layui-input layui-col-xs6" {{required}} placeholder="请上传{{comment}}" value="{{value}}">
|
||||
<div class="layuimini-upload-btn">
|
||||
<span><a class="layui-btn" data-upload="{{field}}" data-upload-number="more" data-upload-exts="png|jpg|ico|jpeg" data-upload-icon="image" data-upload-sign="{{define}}"><i class="fa fa-upload"></i> 上传</a></span>
|
||||
<span><a class="layui-btn layui-btn-normal" id="select_{{field}}" data-upload-select="{{field}}" data-upload-number="more" data-upload-mimetype="image/*" data-upload-sign="{{define}}"><i class="fa fa-list"></i> 选择</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
7
app/admin/service/curd/templates/view/module/input.code
Normal file
7
app/admin/service/curd/templates/view/module/input.code
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{{comment}}</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="{{field}}" class="layui-input" {{required}} placeholder="请输入{{comment}}" value="{{value}}">
|
||||
</div>
|
||||
</div>
|
||||
4
app/admin/service/curd/templates/view/module/option.code
Normal file
4
app/admin/service/curd/templates/view/module/option.code
Normal file
@@ -0,0 +1,4 @@
|
||||
<option value=''></option>
|
||||
{foreach ${{name}} as $k=>$v}
|
||||
<option value='{$k}' {{select}}>{$v}</option>
|
||||
{/foreach}
|
||||
7
app/admin/service/curd/templates/view/module/radio.code
Normal file
7
app/admin/service/curd/templates/view/module/radio.code
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{{comment}}</label>
|
||||
<div class="layui-input-block">
|
||||
{{define}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
{foreach ${{name}} as $k=>$v}
|
||||
<input type="radio" name="{{field}}" value="{$k}" title="{$v}" {{select}}>
|
||||
{/foreach}
|
||||
9
app/admin/service/curd/templates/view/module/select.code
Normal file
9
app/admin/service/curd/templates/view/module/select.code
Normal file
@@ -0,0 +1,9 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{{comment}}</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="{{field}}" {{required}}>
|
||||
{{define}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,7 @@
|
||||
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">{{comment}}</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="{{field}}" class="layui-textarea" {{required}} placeholder="请输入{{comment}}">{{value}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user