安装插件后的基础文件

This commit is contained in:
panx
2024-07-13 12:53:20 +08:00
parent db41c93a84
commit 7f33ce4bf6
318 changed files with 31711 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
<include file="/public/header" />
<!-- // 重定位style -->
<!--{pluginClass}-->
<link href="__STATICADMIN__css/content.css" rel="stylesheet" type="text/css" />
<div class="layui-fluid">
<form class="layui-form layui-card" >
<div class="layui-card-body">
<gt name="$data.id" value="0">
<input type="text" name="id" value="{$data.id}" hidden="">
<else/>
<input type="text" name="id" value="" hidden="">
</gt>
{formItems}
<div class="layui-footer layui-form-footer">
<button class="layui-btn layui-btn-primary" type="button" sa-event="closeDialog">{:__('取消')}</button>
<button class="layui-btn" type="button" lay-filter="submitIframe" lay-submit>{:__('提交')}</button>
</div>
</form>
</div>
<include file="/public/static" />
<include file="/public/footer" />

View File

@@ -0,0 +1,22 @@
public function set{%field%}Attr($value)
{
if (!empty($value) && is_array($value)) {
$arr = [];
foreach ($value['key'] as $key => $elem) {
$arr[$elem] = $value['value'][$key];
}
$value = json_encode($arr,JSON_UNESCAPED_UNICODE);
}
return $value ?: json_encode([]);
}
public function get{%field%}Attr($value)
{
if (!empty($value) && is_string($value)) {
$value = json_decode($value, true);
}
return $value;
}

View File

@@ -0,0 +1,17 @@
public function set{%field%}Attr($value)
{
if (!empty($value) && is_array($value)) {
$value = implode(',',$value);
}
return $value;
}
public function get{%field%}Attr($value)
{
if (!empty($value) && is_string($value)) {
$value = explode(',',$value);
}
return $value;
}

View File

@@ -0,0 +1,17 @@
public function set{%field%}Attr($value)
{
if (!empty($value)) {
$value = serialize($value);
}
return $value;
}
public function get{%field%}Attr($value)
{
if (!empty($value)) {
$value = unserialize($value);
}
return $value;
}

View File

@@ -0,0 +1,35 @@
<?php
declare (strict_types = 1);
namespace {%controllerNamespace%};
use app\AdminController;
use Webman\Http\Request;
use {%modelNamespace%}\{%modelName%} as {%modelName%}Model;
/**
* {%table%}
* {%title%}
* <!--{%pluginClass%}-->
* Class {%controllerName%}
* @package {%controllerNamespace%}
*/
class {%controllerName%} extends AdminController
{
/**
* {%modelName%}模型对象
* @var \{%modelNamespace%}\{%modelName%}
*/
public function __construct()
{
parent::__construct();
$this->model = new {%modelName%}Model;
}
/**
* 默认生成的方法为index/add/edit/del/status 五个方法
* 当创建CURD的时候DIY的函数体和模板为空请自行编写代码
*/
{%controllerDiy%}
}

View File

@@ -0,0 +1 @@
<!-- 当前模板为合并模板 如有需求请自行开发 -->

View File

@@ -0,0 +1,9 @@
<include file="/public/header" />
<!-- // 重定位style -->
<!--{pluginClass}-->
<link href="__STATICADMIN__css/content.css" rel="stylesheet" type="text/css" />
<div class="layui-fluid">
示例模板,可自行开发
</div>
<include file="/public/static" />
<include file="/public/footer" />

View File

@@ -0,0 +1,77 @@
<include file="/public/header" />
<!--{pluginClass}-->
<div class="layui-fluid">
<div class="layui-card">
<!-- // 默认操作按钮 -->
<div class="layui-card-header layadmin-card-header-auto ">
<div class="layui-form">
<!-- // 自定义搜索参数 -->
<div id="laytable-search" class="layui-form-item" >
{%everySearchHtml%}
</div>
<div class="layui-form-item">
{%adviceSearchHtml%}
<div class="layui-inline" >
<!-- // 默认搜索 -->
<button class="layui-btn icon-btn" lay-filter="formSearch" lay-submit><i class="layui-icon layui-icon-search"></i>{:__('搜索')}</button>
<!--formBegin-->
<button class="layui-btn icon-btn" lay-open="" data-title="{:__('添加')}" data-area="{%FormArea%}" data-maxmin="true" data-url="{:url('{%controller%}add')}" >
<i class="layui-icon layui-icon-add-1"></i>{:__('添加')}
</button>
<!--formEnd-->
</div>
</div>
</div>
</div>
<!-- // 创建数据实例 -->
<table id="lay-tableList" lay-filter="lay-tableList"></table>
</div>
</div>
<!-- // 列表状态栏 -->
<script type="text/html" id="columnStatus">
<input type="checkbox" lay-filter="switchStatus" data-url="{:url('{%controller%}status')}" value="{{d.id}}" lay-skin="switch" {{d.status==1?'checked':''}} />
</script>
<!-- // 列表工具栏 -->
<script type="text/html" id="tableBar">
<!--formBegin-->
<a class="layui-table-text" data-title="{:__('编辑')}" data-area="{%FormArea%}" data-maxmin="true"
data-url="{:url('{%controller%}edit')}?id={{d.id}}" lay-event="edit" >{:__('编辑')}</a>
<div class="layui-divider layui-divider-vertical"></div>
<!--formEnd-->
<a class="layui-table-text" data-url="{:url('{%controller%}del')}?id={{d.id}}" lay-event="del" >{:__('删除')}</a>
</script>
{%editforms%}
<script type="text/html" id="tableButton"></script>
<include file="/public/footer" />
<script>
layui.use(['admin','table'], function () {
var admin = layui.admin;
var table = layui.table;
/*
* 初始化表格
*/
var isTable = table.render({
elem: "#lay-tableList"
,url: "{:url('{%controller%}index')}"
,toolbar: '#tableButton'
,defaultToolbar: ['filter', 'exports', 'print','search']
,cellMinWidth: 160
,page: true
,limit: 18
,cols: [[
{type: 'checkbox', width: 50},
{field: 'id', align: 'center',sort: true,width: 80, title: 'ID'},
{%colsListArr%}
{align: 'center', toolbar: '#tableBar', width:160, fixed: 'right', title: '{:__("操作")}'},
]]
})
})
</script>

View File

@@ -0,0 +1,75 @@
<include file="/public/header" />
<!--{pluginClass}-->
<div class="layui-fluid">
<div class="layui-card">
<!-- // 默认操作按钮 -->
<div class="layui-card-header layadmin-card-header-auto ">
<div class="layui-form">
<!-- // 自定义搜索参数 -->
<div id="laytable-search" class="layui-form-item" >
{%everySearchHtml%}
</div>
<div class="layui-form-item">
{%adviceSearchHtml%}
<div class="layui-inline" >
<!-- // 默认搜索 -->
<button class="layui-btn icon-btn" lay-filter="formSearch" lay-submit><i class="layui-icon layui-icon-search"></i>{:__('搜索')}</button>
<!-- // 打开添加页面 -->
<button class="layui-btn icon-btn" lay-open="" data-title="{:__('添加')}" data-area="{%FormArea%}" data-maxmin="true" data-url="#editforms" >
<i class="layui-icon layui-icon-add-1"></i>{:__('添加')}
</button>
</div>
</div>
</div>
</div>
<!-- // 创建数据实例 -->
<table id="lay-tableList" lay-filter="lay-tableList"></table>
</div>
</div>
<!-- // 列表状态栏 -->
<script type="text/html" id="columnStatus">
<input type="checkbox" lay-filter="switchStatus" data-url="{:url('{%controller%}status')}" value="{{d.id}}" lay-skin="switch" {{d.status==1?'checked':''}} />
</script>
<!-- // 列表工具栏 -->
<script type="text/html" id="tableBar">
<a class="layui-table-text" data-title="{:__('编辑')}" data-area="{%FormArea%}" data-maxmin="true" data-url="#editforms" lay-event="edit" >{:__('编辑')}</a>
<div class="layui-divider layui-divider-vertical"></div>
<a class="layui-table-text" data-url="{:url('{%controller%}del')}?id={{d.id}}" lay-event="del" >{:__('删除')}</a>
</script>
{%editforms%}
<!-- // 工具栏按钮项 TODO -->
<script type="text/html" id="tableButton">
</script>
<include file="/public/footer" />
<script>
layui.use(['admin','table'], function () {
var admin = layui.admin;
var table = layui.table;
/*
* 初始化表格
*/
var isTable = table.render({
elem: "#lay-tableList"
,url: "{:url('{%controller%}index')}"
,toolbar: '#tableButton'
,defaultToolbar: ['filter', 'exports', 'print','search']
,cellMinWidth: 160
,page: true
,limit: 18
,cols: [[
{type: 'checkbox', width:50},
{field: 'id', align: 'center',sort: true,width: 80, title: 'ID'},
{%colsListArr%}
{align: 'center', toolbar: '#tableBar', width:160, fixed: 'right', title: '{:__("操作")}'},
]]
})
})
</script>

View File

@@ -0,0 +1,13 @@
<!-- // 内置表单项 -->
<script type="text/html" id="editforms" >
<div class="layui-fluid layui-bg-white" >
<form class="layui-form layui-form-fixed" lay-filter="editforms" >
<input type="text" name="id" hidden="">
{formItems}
<div class="layui-footer layui-form-item layui-center" >
<button class="layui-btn layui-btn-primary" type="button" sa-event="closePageDialog" >{:__('取消')}</button>
<button class="layui-btn" type="button" lay-filter="submitPage" lay-submit>{:__('提交')}</button>
</div>
</form>
</div>
</script>

View File

@@ -0,0 +1,12 @@
templet:function(d) {
var colsTit = [];
var colsArr = {colsArr};
for (var key in colsArr) {
let el = colsArr[key];
if (d.{field}.indexOf(el.value) !== -1) {
colsTit.push(el.title);
}
}
return colsTit.join(' ');
}

View File

@@ -0,0 +1,3 @@
templet:function(d) {
return '<a href="'+d.{field}+'" target="_blank" ><img class="filesuffix" src="'+d.{field}+'"></a>';
}

View File

@@ -0,0 +1,3 @@
templet:function(d) {
return '<a href="javascript:"><img class="filesuffix" lay-image-click src="'+d.{field}+'"></a>';
}

View File

@@ -0,0 +1,3 @@
templet:function(d) {
return JSON.stringify(d.{field});
}

View File

@@ -0,0 +1,7 @@
templet:function(d) {
var album = [];
for (var i in d.{field}) {
album[i] = '<a href="javascript:" class="fileslink" ><img class="filesuffix" lay-image-click src="'+d.{field}[i].src+'"></a>'
}
return album.join('');
}

View File

@@ -0,0 +1,4 @@
templet:function(d) {
var colsArr = {colsArr};
return colsArr[d.{field}].title;
}

View File

@@ -0,0 +1,4 @@
templet:function(d) {
var colsArr = {colsArr};
return colsArr[d.{field}].title;
}

View File

@@ -0,0 +1,3 @@
templet:function(d) {
return d.{field}.replace(',',' ');
}

View File

@@ -0,0 +1,8 @@
/**
* method 函数
*/
public function method()
{
return $this->view();
}

View File

@@ -0,0 +1,28 @@
<?php
namespace {%modelNamespace%};
use think\Model;
{%softDeleteClassPath%}
/**
* {%table%}
* <!--{%pluginClass%}-->
* {%title%}
* Class {%modelName%}
* @package {%modelNamespace%}
*/
class {%modelName%} extends Model
{
{%softDelete%}
// 定义时间戳字段名
protected $createTime = {%createTime%};
protected $updateTime = {%updateTime%};
protected $deleteTime = {%deleteTime%};
{%relationMethodList%}
{%fieldAttrArr%}
}

Binary file not shown.

View File

@@ -0,0 +1,5 @@
<if (isset($data['id'])) && $data['id']>
<eq name="$vo.checked" value="true">checked</eq>
<else/>
<eq name="$vo.value" value="$data.fieldName">checked</eq>
</if>

View File

@@ -0,0 +1,6 @@
<div class="layui-inline">
<div class="layui-form-label">{:__('{%title%}')}</div>
<div class="layui-input-inline ">
<input name="{%field%}" lay-cascader="" class="layui-input" type="text" placeholder="{:__('{%title%}')}"/>
</div>
</div>

View File

@@ -0,0 +1,6 @@
<div class="layui-inline">
<div class="layui-form-label">{:__('{%title%}')}</div>
<div class="layui-input-inline ">
<input name="{%field%}" lay-datetime data-range="true" data-type="date" data-dateformat="yyyy/MM/dd" class="layui-input" type="text" placeholder="{:__('{%title%}')}"/>
</div>
</div>

View File

@@ -0,0 +1,6 @@
<div class="layui-inline">
<div class="layui-form-label">{:__('{%title%}')}</div>
<div class="layui-input-inline ">
<input name="{%field%}" class="layui-input" type="text" placeholder="{:__('{%title%}')}"/>
</div>
</div>

View File

@@ -0,0 +1,7 @@
<div class="layui-inline">
<div class="layui-form-label">{:__('{%title%}')}</div>
<div class="layui-input-inline" style="max-height:20px;">
<input name="{%field%}" class="layui-input layui-hide {%field%}" type="text" placeholder="{:__('{%title%}')}"/>
<div lay-rate="{%field%}" data-default="1" data-theme="{theme}" data-length="{length}" class="layui-inline"></div>
</div>
</div>

View File

@@ -0,0 +1,13 @@
<div class="layui-inline">
<div class="layui-form-label">{:__('{%title%}')}</div>
<div class="layui-input-inline ">
<php> ${%varlist%} = {%vardata%}; </php>
<select name="{%field%}" lay-search >
<option value="">{:__('请选择')}</option>
<volist name="{%varlist%}" id="vo">
<option value="{$vo.value}">{$vo.title}</option>
</volist>
</select>
</div>
</div>

View File

@@ -0,0 +1,7 @@
<div class="layui-inline">
<div class="layui-form-label">{:__('{%title%}')}</div>
<div class="layui-input-inline ">
<input name="{%field%}" class="layui-input layui-hide" type="text" />
<div lay-slider="{%field%}" data_default="{default}" data-theme="{theme}" data-step="{step}" data-max="{max}" data-min="{min}" data-input="true"></div>
</div>
</div>

View File

@@ -0,0 +1,7 @@
<div class="layui-inline">
<select name="status">
<option value="">{:__('按状态查询')}</option>
<option value="2" >{:__('正常')}</option>
<option value="1" >{:__('关闭')}</option>
</select>
</div>

View File

@@ -0,0 +1,36 @@
<?php
namespace {%validateNamespace%};
use think\Validate;
/**
* <!--{%pluginClass%}-->
* {%validateName%} 验证器
* Class {%validateName%}
* @package {%validateNamespace%}
*/
class {%validateName%} extends Validate
{
/**
* 验证规则
*/
protected $rule = [
];
/**
* 提示消息
*/
protected $message = [
];
/**
* 验证场景
*/
protected $scene = [
'add' => [],
'edit' => [],
];
}