feat: 项目基础框架+配置+Kernel

This commit is contained in:
testadmin
2026-04-29 05:35:00 +08:00
parent 6ce7adcbfb
commit 9a6151fce3
5082 changed files with 437062 additions and 0 deletions
+80
View File
@@ -0,0 +1,80 @@
<div class="kit-table">
<form class="layui-form" lay-filter="kit-search-form">
<div class="kit-table-header">
<div class="kit-search-btns">
<a href="javascript:;" class="layui-btn layui-btn-small">新增</a>
<a href="javascript:;" class="layui-btn layui-btn-small layui-btn-normal">新增</a>
<a href="javascript:;" class="layui-btn layui-btn-small layui-btn-warm">新增</a>
<a href="javascript:;" class="layui-btn layui-btn-small layui-btn-danger">新增</a>
</div>
<div class="kit-search-inputs">
<div class="kit-search-keyword">
<input type="text" class="layui-input" name="keyword" placeholder="搜索关键字.." />
<button lay-submit lay-filter="search"><i class="layui-icon">&#xe615;</i></button>
</div>
<div class="kit-search-more" id="kit-search-more">更多筛选<i class="layui-icon">&#xe61a;</i></div>
</div>
</div>
<div class="kit-search-mored layui-anim layui-anim-upbit">
<div class="kit-search-body">
<div class="layui-form-item">
<label class="layui-form-label">输入框</label>
<div class="layui-input-block">
<input type="text" name="title" placeholder="请输入标题" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">验证手机</label>
<div class="layui-input-inline">
<input type="tel" name="phone" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">验证邮箱</label>
<div class="layui-input-inline">
<input type="text" name="email" autocomplete="off" class="layui-input">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">范围</label>
<div class="layui-input-inline" style="width: 100px;">
<input type="text" name="price_min" placeholder="¥" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid">-</div>
<div class="layui-input-inline" style="width: 100px;">
<input type="text" name="price_max" placeholder="¥" autocomplete="off" class="layui-input">
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">单行选择框</label>
<div class="layui-input-block">
<select name="interest" lay-filter="aihao">
<option value=""></option>
<option value="0">写作</option>
<option value="1" selected="">阅读</option>
<option value="2">游戏</option>
<option value="3">音乐</option>
<option value="4">旅行</option>
</select>
</div>
</div>
</div>
<div class="kit-search-footer">
<button type="reset" class="layui-btn layui-btn-small layui-btn-primary kit-btn">重置</button>
<button lay-submit lay-filter="search" class="layui-btn layui-btn-small kit-btn">确定</button>
</div>
</div>
</form>
<div class="kit-table-body">
<table id="demo" lay-filter="demo"></table>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-mini" lay-event="detail">查看</a>
<a class="layui-btn layui-btn-mini" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-mini" lay-event="del">删除</a>
</script>
</div>
</div>
+97
View File
@@ -0,0 +1,97 @@
var ModuleTable = function() {
this.config = {
elem: '#demo',
height: 'full-135', //容器高度
url: 'table.json',
page: true,
id: 'demo',
cols: [
[
{ checkbox: true, fixed: true },
{ field: 'id', title: 'ID', width: 80 },
{ field: 'username', title: '用户名', width: 80 },
{ field: 'sex', title: '性别', width: 80 },
{ field: 'city', title: '城市', width: 80 },
{ field: 'sign', title: '签名', width: 177 },
{ field: 'experience', title: '积分', width: 80 },
{ field: 'score', title: '评分', width: 80 },
{ field: 'classify', title: '职业', width: 80 },
{ field: 'wealth', title: '财富', width: 135, sort: true },
{ fixed: 'right', title: '操作', width: 150, align: 'center', toolbar: '#barDemo' }
]
],
done: function(res, curr, count) {
//如果是异步请求数据方式,res即为你接口返回的信息。
//如果是直接赋值的方式,res即为:{data: [], count: 99} data为当前页数据、count为数据总长度
// console.log(res);
// //得到当前页码
// console.log(curr);
// //得到数据总量
// console.log(count);
},
loading: true,
//method: 'post'
}
};
ModuleTable.fn = ModuleTable.prototype;
ModuleTable.fn.extend = function(options) {
var table = options.table,
layer = options.layer,
form = options.form,
$ = options.jquery,
currTable = options.currTable; //当前table实例
//渲染表单
form.render(null, 'kit-search-form');
//监听搜索表单提交
form.on('submit(search)', function(data) {
console.log(data.field);
layer.msg(JSON.stringify(data.field));
//带条件查询
currTable.reload({
where: data.field
});
return false;
});
//监听工具条
table.on('tool(demo)', function(obj) { //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
var data = obj.data; //获得当前行数据
var layEvent = obj.event; //获得 lay-event 对应的值
var tr = obj.tr; //获得当前行 tr 的DOM对象
console.log(obj);
if (layEvent === 'detail') { //查看
console.log(table.checkStatus('demo'));
//do somehing
} else if (layEvent === 'del') { //删除
// var htm = [
// '<p>确定要删除吗?</p>',
// '<button class="layui-btn layui-btn-mini layui-btn-primary">取消</button>',
// '<button class="layui-btn layui-btn-mini">确定</button>'
// ];
// layer.tips(htm.join(''), this, {
// time: 0,
// skin: 'kit-table'
// });
layer.confirm('真的删除行么', function(index) {
obj.del(); //删除对应行(tr)的DOM结构
layer.close(index);
//向服务端发送删除指令
});
} else if (layEvent === 'edit') { //编辑
//do something
//同步更新缓存对应的值
obj.update({
username: '123',
title: 'xxx'
});
}
});
$('#kit-search-more').on('click', function() {
$('.kit-search-mored').toggle();
});
}
var moduleTable = new ModuleTable();