Ai_Admin/templates/transaction-logs.html
2024-06-05 05:10:50 +08:00

117 lines
5.7 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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>