manghe/app/admin/view/welfare_house/index.html
2025-04-08 07:50:28 +00:00

207 lines
8.4 KiB
HTML

{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">&#xe67c;</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>