Ai_Admin/templates/transaction-logs.html

117 lines
5.7 KiB
HTML
Raw Permalink Normal View History

2024-06-05 05:10:50 +08:00
<body>
<div class="layui-row">
<div class="layui-col-md4">
<button class="layui-btn layui-btn-danger layui-btn-sm" id="batchDeleteTransaction">批量删除</button>
</div>
</div>
<table id="transactionLogTable" lay-filter="transactionLogTable"></table>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>
</script>
<script>
layui.use(['table', 'layer'], function(){
var table = layui.table;
var layer = layui.layer;
// 渲染表格
table.render({
elem: '#transactionLogTable',
url: '/admin/transaction-logs/', // 数据接口URL
page: true, // 开启分页
limit: 10, // 每页显示的条数
method: 'post', // 使用POST请求
where: { // 这里传入的是额外的请求参数LayUI会将这些参数合并到请求数据中
action: 'fetch', // 指定操作类型
},
contentType: 'application/json', // 设置发送请求的内容类型为JSON
cols: [[
{type: 'checkbox', fixed: 'left'},
{field: 'transaction_no', title: '交易编号', sort: true},
{field: 'transaction_status', title: '交易状态', templet: function(d){
return d.transaction_status === 'pending' ? '待处理' : (d.transaction_status === 'completed' ? '完成' : '失败');
}},
{field: 'user_openid', title: '用户OpenID'},
{field: 'transaction_type', title: '交易类型',templet: function(d){
return d.transaction_type === 'member' ? '开通会员' : '续费会员'
}},
{field: 'transaction_amount', title: '交易金额'},
{field: 'remark', title: '备注', templet: function(d){
var remarkMap = {
'day': '一天会员充值',
'week': '一周会员充值',
'month': '一月会员充值',
'season': '三月会员充值',
'year': '一年会员充值'
};
return remarkMap[d.remark] || '未知';
}},
{field: 'created_at', title: '创建时间', templet: function(d){
return layui.util.toDateString(d.created_at, 'yyyy-MM-dd HH:mm:ss');
}},
{field: 'updated_at', title: '更新时间', templet: function(d){
return layui.util.toDateString(d.updated_at, 'yyyy-MM-dd HH:mm:ss');
}},
{title: '操作', toolbar: '#barDemo'}
]]
});
// 监听工具条
table.on('tool(transactionLogTable)', function(obj){
var data = obj.data; // 获得当前行数据
if(obj.event === 'delete'){
// 删除操作
layer.confirm('真的删除行么', function(index){
axios.post('/admin/transaction-logs/', JSON.stringify({action: 'delete', id: data.id}), {
headers: {'Content-Type': 'application/json'}
}).then(function(response){
if(response.data.status === 'success'){
layer.msg('删除成功', {icon: 1});
layui.table.reload('transactionLogTable'); // 重新加载表格
} else {
layer.msg('删除失败', {icon: 2});
}
}).catch(function(error){
layer.msg('删除过程中出错', {icon: 2});
console.error('删除失败', error);
});
layer.close(index); // 关闭确认弹窗
// 向服务端发送删除指令的代码...
});
}
});
// 监听批量删除按钮点击事件
document.getElementById('batchDeleteTransaction').onclick = function() {
var checkStatus = table.checkStatus('transactionLogTable');
var selectedData = checkStatus.data;
var ids = selectedData.map(function(item) {
return item.id;
});
if (selectedData.length === 0) {
layer.msg('请选择要删除的订单记录', {icon: 5});
} else {
layer.confirm('确认删除选中的订单记录么?', function(index) {
axios.post('/admin/transaction-logs/', JSON.stringify({ids: ids,action:'batch_delete'}), {
headers: {'Content-Type': 'application/json'}
}).then(function(response){
if(response.data.status === 'success'){
layer.msg('批量删除成功', {icon: 1});
layui.table.reload('transactionLogTable'); // 重新加载表格
} else {
layer.msg('批量删除失败', {icon: 2});
}
}).catch(function(error){
console.error('批量删除失败', error);
});
});
}
};
});
</script>