提交代码
This commit is contained in:
parent
80cbb3d874
commit
66aeebd7dd
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -3,5 +3,4 @@ runtime/*
|
||||||
.htaccess
|
.htaccess
|
||||||
vendor/*
|
vendor/*
|
||||||
404.html
|
404.html
|
||||||
index.html
|
|
||||||
public/.well-known/*
|
public/.well-known/*
|
||||||
200
app/admin/view/Reward/index.html
Normal file
200
app/admin/view/Reward/index.html
Normal file
|
|
@ -0,0 +1,200 @@
|
||||||
|
{include file="Public/meta" /}
|
||||||
|
<title>奖励列表</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layui-fluid">
|
||||||
|
<div class="layui-card">
|
||||||
|
<div class="layui-card-header">奖励列表</div>
|
||||||
|
<div class="layui-card-body">
|
||||||
|
<div class="layui-form toolbar">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label w-auto">奖励类型:</label>
|
||||||
|
<div class="layui-input-inline mr0">
|
||||||
|
<select name="reward_type" lay-filter="reward_type">
|
||||||
|
<option value="">全部</option>
|
||||||
|
<option value="1" {if $reward_type=='1'}selected{/if}>优惠券</option>
|
||||||
|
<option value="2" {if $reward_type=='2'}selected{/if}>钻石</option>
|
||||||
|
<option value="3" {if $reward_type=='3'}selected{/if}>货币1</option>
|
||||||
|
<option value="4" {if $reward_type=='4'}selected{/if}>货币2</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label w-auto">关键词:</label>
|
||||||
|
<div class="layui-input-inline mr0">
|
||||||
|
<input name="keyword" class="layui-input" type="text" placeholder="输入奖励标题"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<button class="layui-btn icon-btn" lay-filter="formSearch" lay-submit>
|
||||||
|
<i class="layui-icon"></i>搜 索
|
||||||
|
</button>
|
||||||
|
<button class="layui-btn icon-btn" id="btnAdd">
|
||||||
|
<i class="layui-icon"></i>添 加
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<table class="layui-table" id="tableList" lay-filter="tableList"></table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 表格操作列 -->
|
||||||
|
<script type="text/html" id="tableOpBar">
|
||||||
|
<a class="layui-btn layui-btn-sm" lay-event="edit">编辑</a>
|
||||||
|
<a class="layui-btn layui-btn-sm layui-btn-danger" lay-event="del">删除</a>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- 表格状态列 -->
|
||||||
|
<script type="text/html" id="tableStateBar">
|
||||||
|
<input type="checkbox" lay-filter="ckState" value="{{d.id}}" lay-skin="switch"
|
||||||
|
lay-text="正常|禁用" {{d.status==1?'checked':''}}/>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- 奖励类型 -->
|
||||||
|
<script type="text/html" id="rewardTypeTpl">
|
||||||
|
{{# if(d.reward_type == 1){ }}
|
||||||
|
<span class="layui-badge layui-bg-blue">优惠券</span>
|
||||||
|
{{# } else if(d.reward_type == 2){ }}
|
||||||
|
<span class="layui-badge layui-bg-green">钻石</span>
|
||||||
|
{{# } else if(d.reward_type == 3){ }}
|
||||||
|
<span class="layui-badge layui-bg-orange">货币1</span>
|
||||||
|
{{# } else if(d.reward_type == 4){ }}
|
||||||
|
<span class="layui-badge layui-bg-red">货币2</span>
|
||||||
|
{{# } }}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{include file="Public/footer" /}
|
||||||
|
|
||||||
|
<script>
|
||||||
|
layui.use(['layer', 'form', 'table', 'util', 'admin'], function () {
|
||||||
|
var $ = layui.jquery;
|
||||||
|
var layer = layui.layer;
|
||||||
|
var form = layui.form;
|
||||||
|
var table = layui.table;
|
||||||
|
var util = layui.util;
|
||||||
|
var admin = layui.admin;
|
||||||
|
|
||||||
|
// 渲染表格
|
||||||
|
var insTb = table.render({
|
||||||
|
elem: '#tableList',
|
||||||
|
url: '{:url("reward")}',
|
||||||
|
page: true,
|
||||||
|
cellMinWidth: 100,
|
||||||
|
cols: [[
|
||||||
|
{field: 'id', title: 'ID', width: 80},
|
||||||
|
{field: 'title', title: '奖励标题'},
|
||||||
|
{field: 'reward_type', title: '奖励类型', width: 100, templet: '#rewardTypeTpl'},
|
||||||
|
{field: 'reward_value', title: '奖励值', width: 100},
|
||||||
|
{
|
||||||
|
field: 'reward_id', title: '关联ID', width: 100,
|
||||||
|
templet: function(d){
|
||||||
|
if(d.reward_type == 1 && d.coupon){
|
||||||
|
return '券ID: ' + d.reward_id + ' (' + d.coupon.title + ')';
|
||||||
|
} else {
|
||||||
|
return '-';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'create_time', title: '创建时间', width: 160,
|
||||||
|
templet: function(d){
|
||||||
|
return util.toDateString(d.create_time*1000);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{field: 'status', title: '状态', width: 90, templet: '#tableStateBar'},
|
||||||
|
{title: '操作', width: 120, align: 'center', toolbar: '#tableOpBar'}
|
||||||
|
]]
|
||||||
|
});
|
||||||
|
|
||||||
|
// 搜索按钮点击事件
|
||||||
|
form.on('submit(formSearch)', function (data) {
|
||||||
|
insTb.reload({where: data.field, page: {curr: 1}});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
// 添加按钮点击事件
|
||||||
|
$('#btnAdd').click(function () {
|
||||||
|
showEditModel();
|
||||||
|
});
|
||||||
|
|
||||||
|
// 监听工具条
|
||||||
|
table.on('tool(tableList)', function (obj) {
|
||||||
|
var data = obj.data;
|
||||||
|
var layEvent = obj.event;
|
||||||
|
|
||||||
|
if (layEvent === 'edit') { // 修改
|
||||||
|
showEditModel(data.id);
|
||||||
|
} else if (layEvent === 'del') { // 删除
|
||||||
|
doDel(data.id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 修改状态
|
||||||
|
form.on('switch(ckState)', function (obj) {
|
||||||
|
var loadIndex = layer.load(2);
|
||||||
|
$.post('{:url("reward_status")}', {
|
||||||
|
id: obj.value,
|
||||||
|
status: obj.elem.checked ? 1 : 0
|
||||||
|
}, function (res) {
|
||||||
|
layer.close(loadIndex);
|
||||||
|
if (res.code === 0) {
|
||||||
|
layer.msg(res.msg, {icon: 1});
|
||||||
|
} else {
|
||||||
|
layer.msg(res.msg, {icon: 2});
|
||||||
|
$(obj.elem).prop('checked', !obj.elem.checked);
|
||||||
|
form.render('checkbox');
|
||||||
|
}
|
||||||
|
}, 'json');
|
||||||
|
});
|
||||||
|
|
||||||
|
// 显示编辑弹窗
|
||||||
|
function showEditModel(id) {
|
||||||
|
var title = id ? '修改奖励' : '添加奖励';
|
||||||
|
var url = id ? '{:url("reward_edit")}?id=' + id : '{:url("reward_add")}';
|
||||||
|
admin.popupRight({
|
||||||
|
title: title,
|
||||||
|
area: '500px',
|
||||||
|
path: url,
|
||||||
|
finish: function () {
|
||||||
|
table.reload('tableList');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除
|
||||||
|
function doDel(id) {
|
||||||
|
layer.confirm('确定要删除此奖励吗?', {
|
||||||
|
skin: 'layui-layer-admin'
|
||||||
|
}, function (i) {
|
||||||
|
layer.close(i);
|
||||||
|
var loadIndex = layer.load(2);
|
||||||
|
$.post('{:url("reward_delete")}', {
|
||||||
|
id: id
|
||||||
|
}, function (res) {
|
||||||
|
layer.close(loadIndex);
|
||||||
|
if (res.code === 0) {
|
||||||
|
layer.msg(res.msg, {icon: 1});
|
||||||
|
insTb.reload();
|
||||||
|
} else {
|
||||||
|
layer.msg(res.msg, {icon: 2});
|
||||||
|
}
|
||||||
|
}, 'json');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 奖励类型切换
|
||||||
|
form.on('select(reward_type)', function(data){
|
||||||
|
insTb.reload({
|
||||||
|
where: {
|
||||||
|
reward_type: data.value
|
||||||
|
},
|
||||||
|
page: {curr: 1}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
263
app/admin/view/SignConfig/index.html
Normal file
263
app/admin/view/SignConfig/index.html
Normal file
|
|
@ -0,0 +1,263 @@
|
||||||
|
{include file="Public:header2"/}
|
||||||
|
<div class="layui-fluid">
|
||||||
|
<div class="layui-card">
|
||||||
|
<div class="layui-card-body">
|
||||||
|
<div class="layui-form toolbar">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label w-auto">配置类型:</label>
|
||||||
|
<div class="layui-input-inline mr0">
|
||||||
|
<select name="type" lay-filter="config_type">
|
||||||
|
<option value="1" {if $type=='1' }selected{/if}>每日签到配置</option>
|
||||||
|
<option value="2" {if $type=='2' }selected{/if}>累计签到配置</option>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<label class="layui-form-label w-auto">关键词:</label>
|
||||||
|
<div class="layui-input-inline mr0">
|
||||||
|
<input name="keyword" class="layui-input" type="text" placeholder="输入配置标题" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<button class="layui-btn icon-btn" lay-filter="formSearch" lay-submit>
|
||||||
|
<i class="layui-icon"></i>搜 索
|
||||||
|
</button>
|
||||||
|
<button class="layui-btn icon-btn" id="btnAdd">
|
||||||
|
<i class="layui-icon"></i>添 加
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table class="layui-table" id="tableList" lay-filter="tableList"></table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 表格操作列 -->
|
||||||
|
<script type="text/html" id="tableOpBar">
|
||||||
|
<a style="text-decoration:none" title="编辑" lay-event="edit" class="layui-btn layui-btn-normal layui-btn-xs">
|
||||||
|
<i class="layui-icon layui-icon-edit"></i>编辑
|
||||||
|
</a>
|
||||||
|
<a style="text-decoration:none" title="编辑奖励" lay-event="editReward" class="layui-btn layui-btn-normal layui-btn-xs">
|
||||||
|
<i class="layui-icon layui-icon-edit"></i>编辑奖励
|
||||||
|
</a>
|
||||||
|
<a style="text-decoration:none" lay-event="del" class="layui-btn layui-btn-danger layui-btn-xs">
|
||||||
|
<i class="layui-icon layui-icon-delete"></i>删除
|
||||||
|
</a>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- 表格状态列 -->
|
||||||
|
<script type="text/html" id="tableStateBar">
|
||||||
|
<input type="checkbox" lay-filter="ckState" value="{{d.id}}" lay-skin="switch"
|
||||||
|
lay-text="正常|禁用" {{d.status==1?'checked':''}}/>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- 表格奖励信息 -->
|
||||||
|
<script type="text/html" id="rewardsTpl">
|
||||||
|
{{# if(d.rewards && d.rewards.length > 0){ }}
|
||||||
|
{{# layui.each(d.rewards, function(index, item){ }}
|
||||||
|
{{# if(item.reward_type == 1){ }}
|
||||||
|
<span class="layui-badge layui-bg-blue">钻石: {{item.reward_value}}</span>
|
||||||
|
{{# } else if(item.reward_type == 2){ }}
|
||||||
|
<span class="layui-badge layui-bg-green">货币1: {{item.reward_value}}</span>
|
||||||
|
{{# } else if(item.reward_type == 3){ }}
|
||||||
|
<span class="layui-badge layui-bg-orange">货币2: {{item.reward_value}}</span>
|
||||||
|
{{# } else if(item.reward_type == 4){ }}
|
||||||
|
<span class="layui-badge layui-bg-red">优惠券</span>
|
||||||
|
{{# } }}
|
||||||
|
|
||||||
|
{{# }); }}
|
||||||
|
{{# } else { }}
|
||||||
|
<span class="layui-text">无奖励</span>
|
||||||
|
{{# } }}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{include file="Public/footer" /}
|
||||||
|
|
||||||
|
<script>
|
||||||
|
layui.use(['layer', 'form', 'table', 'util'], function () {
|
||||||
|
var $ = layui.jquery;
|
||||||
|
var layer = layui.layer;
|
||||||
|
var form = layui.form;
|
||||||
|
var table = layui.table;
|
||||||
|
var util = layui.util;
|
||||||
|
|
||||||
|
// 获取当前配置类型
|
||||||
|
var configType = {$type};
|
||||||
|
|
||||||
|
// 渲染表格
|
||||||
|
var insTb = table.render({
|
||||||
|
elem: '#tableList',
|
||||||
|
url: '{:url("/admin/sign_config_list")}',
|
||||||
|
where: { type: configType },
|
||||||
|
page: true,
|
||||||
|
limit: 50,
|
||||||
|
cellMinWidth: 100,
|
||||||
|
cols: getTableCols(configType)
|
||||||
|
});
|
||||||
|
|
||||||
|
// 根据配置类型获取表格列配置
|
||||||
|
function getTableCols(type) {
|
||||||
|
var commonCols = [
|
||||||
|
{ field: 'id', title: 'ID', width: 60 },
|
||||||
|
{ field: 'title', title: '配置标题', width: 120 },
|
||||||
|
{
|
||||||
|
field: 'icon', title: '图标', width: 80, templet: function (d) {
|
||||||
|
return d.icon ? '<img src="' + d.icon + '" style="height:30px;">' : '-';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ field: 'day', title: '签到天数/累计天数', width: 180 },
|
||||||
|
{ field: 'rewards', title: '奖励信息', templet: '#rewardsTpl' },
|
||||||
|
{ field: 'sort', title: '排序', width: 100, edit: 'text' },
|
||||||
|
{ field: 'status', title: '状态', width: 100, templet: '#tableStateBar' },
|
||||||
|
{ title: '操作', width: 240, align: 'center', toolbar: '#tableOpBar' }
|
||||||
|
];
|
||||||
|
return [commonCols];
|
||||||
|
}
|
||||||
|
|
||||||
|
// 搜索按钮点击事件
|
||||||
|
form.on('submit(formSearch)', function (data) {
|
||||||
|
insTb.reload({ where: data.field, page: { curr: 1 } });
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
// 添加按钮点击事件
|
||||||
|
$('#btnAdd').click(function () {
|
||||||
|
showEditModel();
|
||||||
|
});
|
||||||
|
|
||||||
|
// 监听工具条
|
||||||
|
table.on('tool(tableList)', function (obj) {
|
||||||
|
var data = obj.data;
|
||||||
|
var layEvent = obj.event;
|
||||||
|
|
||||||
|
if (layEvent === 'edit') { // 修改
|
||||||
|
showEditModel(data.id);
|
||||||
|
} else if (layEvent === 'editReward') { // 编辑奖励
|
||||||
|
showRewardEditModel(data.id, data.reward_id);
|
||||||
|
} else if (layEvent === 'del') { // 删除
|
||||||
|
doDel(data.id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 监听单元格编辑
|
||||||
|
table.on('edit(tableList)', function (obj) {
|
||||||
|
var value = obj.value;
|
||||||
|
var data = obj.data;
|
||||||
|
|
||||||
|
if (obj.field === 'sort') {
|
||||||
|
// 更新排序
|
||||||
|
var loadIndex = layer.load(2);
|
||||||
|
$.post('{:url("/admin/sign_config_sort")}', {
|
||||||
|
id: data.id,
|
||||||
|
sort: value
|
||||||
|
}, function (res) {
|
||||||
|
layer.close(loadIndex);
|
||||||
|
if (res.status === 1) {
|
||||||
|
layer.msg(res.msg, { icon: 1 });
|
||||||
|
} else {
|
||||||
|
layer.msg(res.msg, { icon: 2 });
|
||||||
|
insTb.reload();
|
||||||
|
}
|
||||||
|
}, 'json');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 修改状态
|
||||||
|
form.on('switch(ckState)', function (obj) {
|
||||||
|
var loadIndex = layer.load(2);
|
||||||
|
$.post('{:url("/admin/sign_config_status")}', {
|
||||||
|
id: obj.value,
|
||||||
|
status: obj.elem.checked ? 1 : 0
|
||||||
|
}, function (res) {
|
||||||
|
layer.close(loadIndex);
|
||||||
|
if (res.status === 1) {
|
||||||
|
layer.msg(res.msg, { icon: 1 });
|
||||||
|
} else {
|
||||||
|
layer.msg(res.msg, { icon: 2 });
|
||||||
|
$(obj.elem).prop('checked', !obj.elem.checked);
|
||||||
|
form.render('checkbox');
|
||||||
|
}
|
||||||
|
}, 'json');
|
||||||
|
});
|
||||||
|
|
||||||
|
// 显示编辑弹窗
|
||||||
|
function showEditModel(id) {
|
||||||
|
var title = id ? '修改签到配置' : '添加签到配置';
|
||||||
|
var url = id ? '{:url("/admin/sign_config_edit")}?id=' + id : '{:url("/admin/sign_config_add")}?type=' + configType;
|
||||||
|
layer.open({
|
||||||
|
type: 2,
|
||||||
|
title: title,
|
||||||
|
shadeClose: false,
|
||||||
|
shade: 0.3,
|
||||||
|
area: ['90%', '90%'],
|
||||||
|
content: url,
|
||||||
|
end: function () {
|
||||||
|
table.reload('tableList');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 显示编辑奖励弹窗
|
||||||
|
function showRewardEditModel(id, reward_id) {
|
||||||
|
if (!reward_id) {
|
||||||
|
layer.msg('该配置没有关联奖励信息', { icon: 2, time: 2000 });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
layer.open({
|
||||||
|
type: 2,
|
||||||
|
title: '编辑签到奖励',
|
||||||
|
shadeClose: false,
|
||||||
|
shade: 0.3,
|
||||||
|
area: ['800px', '500px'],
|
||||||
|
content: '{:url("/admin/sign_config_reward_edit")}?id=' + id + '&reward_id=' + reward_id,
|
||||||
|
end: function () {
|
||||||
|
table.reload('tableList');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除
|
||||||
|
function doDel(id) {
|
||||||
|
layer.confirm('确定要删除此配置吗?', {
|
||||||
|
skin: 'layui-layer-admin'
|
||||||
|
}, function (i) {
|
||||||
|
layer.close(i);
|
||||||
|
var loadIndex = layer.load(2);
|
||||||
|
$.post('{:url("/admin/sign_config_delete")}', {
|
||||||
|
id: id
|
||||||
|
}, function (res) {
|
||||||
|
layer.close(loadIndex);
|
||||||
|
if (res.status === 1) {
|
||||||
|
layer.msg(res.msg, { icon: 1 });
|
||||||
|
insTb.reload();
|
||||||
|
} else {
|
||||||
|
layer.msg(res.msg || '删除失败', { icon: 2 });
|
||||||
|
console.error('删除失败:', res);
|
||||||
|
}
|
||||||
|
}).fail(function(xhr, textStatus, errorThrown) {
|
||||||
|
layer.close(loadIndex);
|
||||||
|
layer.msg('网络错误,请稍后重试', { icon: 2 });
|
||||||
|
console.error('删除请求失败:', textStatus, errorThrown);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 监听配置类型切换
|
||||||
|
form.on('select(config_type)', function (data) {
|
||||||
|
configType = data.value;
|
||||||
|
// 重载表格,更新列配置
|
||||||
|
insTb.reload({
|
||||||
|
where: {
|
||||||
|
type: configType
|
||||||
|
},
|
||||||
|
cols: getTableCols(configType),
|
||||||
|
page: { curr: 1 }
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
206
app/admin/view/welfare_house/index.html
Normal file
206
app/admin/view/welfare_house/index.html
Normal file
|
|
@ -0,0 +1,206 @@
|
||||||
|
{include file="Public:header2"/}
|
||||||
|
|
||||||
|
<div class="layui-fluid">
|
||||||
|
<div class="layui-row layui-col-space15">
|
||||||
|
<div class="layui-col-md12">
|
||||||
|
<div class="layui-card">
|
||||||
|
|
||||||
|
<div class="layui-card-body">
|
||||||
|
<div class="layui-btn-group">
|
||||||
|
<a class="layui-btn layui-btn-sm" id="addBtn">添加</a>
|
||||||
|
</div>
|
||||||
|
<table id="demo" lay-filter="test"></table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/html" id="barDemo">
|
||||||
|
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
|
||||||
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script type="text/html" id="status">
|
||||||
|
<input type="checkbox" name="status" value="{{d.id}}" lay-skin="switch" lay-text="启用|禁用" lay-filter="statusSwitch" {{ d.status == 1 ? 'checked' : '' }}>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script type="text/html" id="image">
|
||||||
|
<img src="{{d.image}}" style="max-width: 100px; max-height: 50px;">
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- 添加/编辑表单模板 -->
|
||||||
|
<script type="text/html" id="formTpl">
|
||||||
|
<form class="layui-form" action="" method="post" style="padding: 20px;">
|
||||||
|
<input type="hidden" name="id" value="{{ d.id || '' }}">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">名称</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="name" value="{{ d.name || '' }}" required lay-verify="required" placeholder="请输入名称" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">图片</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<button type="button" class="layui-btn" id="image-upload">
|
||||||
|
<i class="layui-icon"></i>上传图片
|
||||||
|
</button>
|
||||||
|
<input type="hidden" name="image" value="{{ d.image || '' }}">
|
||||||
|
<div class="layui-upload-list">
|
||||||
|
<img class="layui-upload-img" id="imagePreview" src="{{ d.image || '' }}" style="max-width: 200px; max-height: 100px;">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">跳转路径</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" name="url" value="{{ d.url || '' }}" required lay-verify="required" placeholder="请输入跳转路径" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">排序</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="number" name="sort" value="{{ d.sort || 0 }}" required lay-verify="required|number" placeholder="请输入排序" autocomplete="off" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">状态</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="checkbox" name="status" lay-skin="switch" lay-text="启用|禁用" {{ d.status == 1 ? 'checked' : '' }}>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<button class="layui-btn" lay-submit lay-filter="formSubmit">立即提交</button>
|
||||||
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{include file="Public:footer"/}
|
||||||
|
<script>
|
||||||
|
layui.use(['table', 'form', 'upload', 'laytpl'], function(){
|
||||||
|
var table = layui.table;
|
||||||
|
var form = layui.form;
|
||||||
|
var laytpl = layui.laytpl;
|
||||||
|
var upload = layui.upload;
|
||||||
|
|
||||||
|
// 数据表格实例
|
||||||
|
var tableIns = table.render({
|
||||||
|
elem: '#demo',
|
||||||
|
url: '/admin/welfare_house',
|
||||||
|
page: true,
|
||||||
|
cols: [[
|
||||||
|
{field: 'id', title: 'ID', width: 80, sort: true},
|
||||||
|
{field: 'name', title: '名称'},
|
||||||
|
{field: 'image', title: '图片', templet: '#image'},
|
||||||
|
{field: 'url', title: '跳转路径'},
|
||||||
|
{field: 'sort', title: '排序', width: 100},
|
||||||
|
{field: 'status', title: '状态', width: 100, templet: '#status'},
|
||||||
|
{field: 'create_time', title: '创建时间', width: 180},
|
||||||
|
{field: 'right', title: '操作', width: 150, align: 'center', toolbar: '#barDemo'}
|
||||||
|
]]
|
||||||
|
});
|
||||||
|
|
||||||
|
// 添加按钮点击事件
|
||||||
|
$('#addBtn').on('click', function(){
|
||||||
|
openFormLayer({});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 监听工具条事件
|
||||||
|
table.on('tool(test)', function(obj){
|
||||||
|
var data = obj.data;
|
||||||
|
if(obj.event === 'del'){
|
||||||
|
layer.confirm('确定删除此记录?', function(index){
|
||||||
|
$.post('/admin/welfare_house_del', {id:data.id}, function(res){
|
||||||
|
if(res.status == 1){
|
||||||
|
layer.msg(res.msg, {icon: 1, time: 1000}, function(){
|
||||||
|
obj.del();
|
||||||
|
layer.close(index);
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
layer.msg(res.msg, {icon: 2, anim: 6, time: 1000});
|
||||||
|
}
|
||||||
|
}, 'json');
|
||||||
|
});
|
||||||
|
} else if(obj.event === 'edit'){
|
||||||
|
openFormLayer(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 打开表单层
|
||||||
|
function openFormLayer(data) {
|
||||||
|
var title = data.id ? '编辑福利屋' : '添加福利屋';
|
||||||
|
var tpl = document.getElementById('formTpl').innerHTML;
|
||||||
|
|
||||||
|
laytpl(tpl).render(data, function(html){
|
||||||
|
layer.open({
|
||||||
|
type: 1,
|
||||||
|
title: title,
|
||||||
|
area: ['600px', '500px'],
|
||||||
|
content: html,
|
||||||
|
success: function(layero, index){
|
||||||
|
form.render();
|
||||||
|
|
||||||
|
// 执行上传实例
|
||||||
|
var uploadInst = upload.render({
|
||||||
|
accept: 'image',
|
||||||
|
elem: '#image-upload',
|
||||||
|
url: '/admin/picture',
|
||||||
|
done: function(res){
|
||||||
|
if(res.status == 1){
|
||||||
|
layer.msg("上传成功", {icon:1, time:1000}, function(){
|
||||||
|
$("#imagePreview").attr("src", res.data.path);
|
||||||
|
$("input[name=image]").val(res.data.imgurl);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
layer.msg(res.msg, {icon:2, anim:6, time:1500});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function(){
|
||||||
|
layer.msg('服务繁忙,请稍后再试', {icon:2, anim:6, time:1500});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 监听表单提交
|
||||||
|
form.on('submit(formSubmit)', function(formData){
|
||||||
|
var url = formData.field.id ? '/admin/welfare_house_edit' : '/admin/welfare_house_add';
|
||||||
|
$.ajax({
|
||||||
|
url: url,
|
||||||
|
type: 'post',
|
||||||
|
data: formData.field,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res){
|
||||||
|
if(res.status == 1){
|
||||||
|
layer.msg(res.msg, {icon: 1, time: 1000}, function(){
|
||||||
|
layer.close(index);
|
||||||
|
tableIns.reload(); // 刷新表格
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
layer.msg(res.msg, {icon: 2, anim: 6, time: 1500});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
form.on('switch(statusSwitch)', function(obj){
|
||||||
|
var id = this.value;
|
||||||
|
var status = obj.elem.checked ? 1 : 0;
|
||||||
|
$.post('/admin/welfare_house_status', {id:id, status:status}, function(res){
|
||||||
|
if(res.status == 1){
|
||||||
|
layer.msg(res.msg, {icon: 1, time: 1000});
|
||||||
|
}else{
|
||||||
|
layer.msg(res.msg, {icon: 2, anim: 6, time: 1000});
|
||||||
|
$(obj.elem).prop('checked', !obj.elem.checked);
|
||||||
|
form.render('checkbox');
|
||||||
|
}
|
||||||
|
}, 'json');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
39
index.html
Executable file
39
index.html
Executable file
|
|
@ -0,0 +1,39 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>恭喜,站点创建成功!</title>
|
||||||
|
<style>
|
||||||
|
.container {
|
||||||
|
width: 60%;
|
||||||
|
margin: 10% auto 0;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
padding: 2% 5%;
|
||||||
|
border-radius: 10px
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul li {
|
||||||
|
line-height: 2.3
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #20a53a
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<h1>恭喜, 站点创建成功!</h1>
|
||||||
|
<h3>这是默认index.html,本页面由系统自动生成</h3>
|
||||||
|
<ul>
|
||||||
|
<li>本页面在FTP根目录下的index.html</li>
|
||||||
|
<li>您可以修改、删除或覆盖本页面</li>
|
||||||
|
<li>FTP相关信息,请到“面板系统后台 > FTP” 查看</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
Reference in New Issue
Block a user