Files
repo-backend/resources/views/admin/bindBox/index.blade.php
T

332 lines
16 KiB
PHP

@extends('admin._layoutNew')
@section('page-head')
<style type="text/css">
.layui-table-cell{
height: auto;
white-space: normal;
/*overflow:visible;*/
/* text-overflow:inherit;*/
}
.layui-table img{
/*max-width:100px*/
}
</style>
@endsection
@section('page-content')
<button class="layui-btn layui-btn-normal layui-btn-radius" onclick="layer_show('添加NFT','{{url('admin/bind_box/add')}}')">添加NFT</button>
<button class="layui-btn layui-btn-danger layui-btn-radius " lay-event="datadel" id="datadel"><i class="layui-icon layui-icon-delete" style="font-size:20px;"></i> 批量删除</button>
<div class="layui-form" style="margin-top:10px;">
<div class="layui-inline">
<label class="layui-form-label">哈希值</label>
<div class="layui-input-inline" style="width: 200px">
<input class="layui-input" name="code" type="text" value="" placeholder="请输入哈希值">
</div>
</div>
<!--@if(!empty($currency))-->
<!--<div class="layui-inline">-->
<!-- <label class="layui-form-label"><span class="reddot">*</span>交易币种</label>-->
<!-- <div class="layui-input-inline">-->
<!-- <select name='currency'>-->
<!-- @foreach($currency as $key => $value)-->
<!-- <option class='layui-option' value="{{$value['id']}}" >{{$value['name']}}</option>-->
<!-- @endforeach-->
<!-- </select>-->
<!-- </div>-->
<!--</div>-->
<!--@endif-->
<div class="layui-inline">
<label class="layui-form-label">交易类型</label>
<div class="layui-input-inline" style="width:90px;">
<select name="pay_type">
<option value="">全部</option>
<option value="1">一口价</option>
<option value="2">竞拍</option>
<option value="3">盲盒</option>
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">名称</label>
<div class="layui-input-inline" style="width: 200px">
<input class="layui-input" name="name" type="text" value="" placeholder="请输入名称">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">作者ID</label>
<div class="layui-input-inline" style="width: 200px">
<input class="layui-input" name="author" type="text" value="" placeholder="请输入作者ID">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">稀有度</label>
<div class="layui-input-inline" style="width:90px;">
<select name="rarity">
<option value="">全部</option>
<option value="N" style="color:lightgray">N</option>
<option value="R" style="color:lightblue">R</option>
<option value="SR" style="color:purple">SR</option>
</select>
</div>
</div>
<div class="layui-inline" style="margin-left: 10px;">
<div class="layui-input-inline" style="width: 60px;">
<button class="layui-btn" lay-submit="bindSearch" lay-filter="bindSearch">查询</button>
</div>
</div>
<table id="bindlist" lay-filter="bindlist"></table>
<script type="text/html" id="barBind">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del">删除</a>
</script>
<!--<script type="text/html" id="bindTpl">-->
<!-- <input type="checkbox" name="status" value="@{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="sexDemo" @{{ d.status == 1 ? 'checked' : '' }}>-->
<!--</script>-->
</div>
@endsection
@section('scripts')
<script type="text/html" id="bindType">
@{{d.type==1 ? '<span class="">'+'图片'+'</span>' : '' }}
@{{d.type==4 ? '<span class="">'+'视频'+'</span>' : '' }}
</script>
<script type="text/html" id="bindTpl">
@{{d.status==0 ? '<span class="">'+'已结束'+'</span>' : '' }}
@{{d.status==1 ? '<span class="">'+'开始'+'</span>' : '' }}
@{{d.status==2 ? '<span class="">'+'未开始'+'</span>' : '' }}
</script>
<!--<script type="text/html" id="bindHash">-->
<!--</script>-->
<!--<script type="text/html" id="logo">-->
<!-- <img width="40px" src="@{{d.image}}" onmouseover="layer.tips('<div style=\'background-color: #fff;\'><img style=\'width:300px;text-align:center;\' src=@{{d.image}}></div>',this,{tips: [1, '#fff'],area:['350px', 'auto'],time: 100000});" onmouseout="layer.closeAll();">-->
<!--</script>-->
<script type="text/html" id="bindTransaction">
@{{d.pay_type==1 ? '<span class="">'+'一口价'+'</span>' : '' }}
@{{d.pay_type==2 ? '<span class="">'+'竞拍'+'</span>' : '' }}
@{{d.pay_type==3 ? '<span class="">'+'盲盒'+'</span>' : '' }}
</script>
<script type="text/html" id="bindRarity">
@{{d.rarity=="N" ? "<span style='color:gray;font-weight:bold'>"+"N"+"</span>" : "" }}
@{{d.rarity=="R" ? "<span style='color:lightblue;font-weight:bold'>"+"R"+"</span>" : "" }}
@{{d.rarity=="SR" ? "<span style='color:purple;font-weight:bold'>"+"SR"+"</span>" : "" }}
</script>
<script type="text/html" id="bindFiles">
@{{(/\.(png|jpg|gif|jpeg|webp)$/).test(d.image) == true ? '<img src="'+d.image+'" alt="'+d.image+'" style="width:60px;cursor:pointer" onclick="showBigImage(this)">' : '<video src="'+d.image+'" alt="'+d.name+'" style="width:60px;cursor:pointer" onclick="showBigVideo(this)">' }}
</script>
<script type="text/javascript">
//显示大图片
function showBigImage(e) {
parent.layer.open({
type: 1,
title: false,
closeBtn: 0,
shadeClose: true, //点击阴影关闭
area: [$(e).width + 'px', $(e).height + 'px'], //宽高
content: "<img style='max-width:1400px;max-height:780px' src=" + $(e).attr('src') + " />"
});
}
function showBigVideo(e) {
parent.layer.open({
type: 1,
title: $(e).attr('alt'),
closeBtn: 0,
shadeClose: true, //点击阴影关闭
offset: 'auto',
area: 'auto',
content: "<video controls='controls' style='max-width:1400px;max-height:780px' src=" + $(e).attr('src') + " />"
});
}
</script>
<script>
layui.use(['element', 'form', 'layer', 'table'], function () {
var element = layui.element
,layer = layui.layer
,table = layui.table
,$ = layui.$
,form = layui.form
//第一个实例
var bindlist = table.render({
elem: '#bindlist'
,url: '{{url('admin/bind_box/list')}}' //数据接口
,page: true //开启分页
,limit: 20
,limits: [20, 50, 100, 200, 500, 1000]
,cols: [[ //表头
{field: 'check', type: 'checkbox', width: 40}
// ,{field: 'id', title: 'ID', width:70, sort: true}
,{field: 'code', title: '哈希值', minWidth:110}
,{field: 'currency_name', title: '交易币种', minWidth:85}
,{field: 'pay_type', title: '交易类型', minWidth:100, templet: '#bindTransaction'}
,{field: 'per_increase', title:'竞拍每次加价', minWidth:120,}
,{field: 'name', title: '名称', minWidth:110}
// ,{field: 'number', title: '数量', Width:30}
// ,{field: 'description', title: '资产详情', minWidth:80}
,{field: 'author', title: '作者ID', minWidth:80}
// ,{field: 'author_description', title: '关于艺术家', minWidth:80}
,{field: 'type', title: '文件类型', minWidth:85, templet: '#bindType'}
// ,{field: 'image', title: '文件内容', minWidth:80, templet:'<div><img src="@{{d.image}}" alt="" style="width:60px;cursor:pointer" onclick="showBigImage(this)"></div>'}
,{title: '封面图', minWidth:80, templet: "#bindFiles" }
,{field: 'rarity', title:'稀有度', minWidth:80, templet: '#bindRarity'}
,{field: 'price', title: '价格', minWidth:110, sort: true}
,{field: 'margin', title: '保证金', sort: true}
// ,{field: 'status', title:'状态', minWidth:85, templet: '#bindTpl'}
// ,{field: 'token_id', title:'唯一Token', minWidth:120}
,{field: 'created', title:'创建时间', minWidth:150}
// ,{field: 'start_time', title:'开始时间', minWidth:155 }
// ,{field: 'end_time', title:'失效时间', minWidth:155 }
// ,{field: 'start_time', title:'开始时间', minWidth:155, templet:function(data){
// return layui.util.toDateString(data.start_time*1000,"yyyy-MM-dd HH:mm:ss")
// }}
// ,{field: 'end_time', title:'失效时间', minWidth:155, templet:function(data){
// return layui.util.toDateString(data.start_time*1000,"yyyy-MM-dd HH:mm:ss")
// }}
,{title: '操作', minWidth:150, toolbar: '#barBind'}
]]
});
//监听热卖操作
// form.on('switch(sexDemo)', function(obj){
// var id = this.value;
// $.ajax({
// url:'{{url('admin/currency_display')}}',
// type:'post',
// dataType:'json',
// data:{id:id},
// success:function (res) {
// if(res.error != 0){
// layer.msg(res.message);
// }
// }
// });
// });
//监听提交
form.on('submit(bindSearch)', function (data) {
bindlist.reload({
where: data.field
,page: {
curr: 1 //重新从第 1 页开始
}
});
return false;
});
//单个删除与编辑
table.on('tool(bindlist)', function(obj){
var data = obj.data;
var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
var tr = obj.tr; //获得当前行 tr 的DOM对象
if (layEvent === 'edit') {
var index = layer.open({
title: '编辑'
,type: 2
,content: '{{url('/admin/bind_box/edit')}}?id=' + data.id
,area: ['960px', '600px']
});
}
if(layEvent === 'del'){
layer.confirm('真的删除此行数据吗?删除后不可恢复!!!', function(index){
$.ajax({
type: 'POST'
,dataType: 'json'
,url: '/admin/bind_box/del'
,data:{'id':data.id}
,success: function (data) {
if(data.type=='ok'){
layer.msg('操作成功!');
window.location.reload()
}else if(data.type=='error'){
layer.msg(data.message);
}else{
layer.msg(data.message);
// parent.layer.close(index);
}
}
});
});
}
});
//批量删除
$("#datadel").on('click',function(){
//获取选中状态
var checkStatus = table.checkStatus('bindlist');
const ids = checkStatus.data.map(item => item.id)
//获取选中数量
if(ids.length == 0){
layer.msg('批量删除至少选中一项数据',function(){});
return false;
}
layer.confirm('真的要删除选中的项吗?删除后不可恢复!!!',function(index){
//layer.close(index);
$.ajax({
type:'post',
data:{id:ids},
url: '/admin/bind_box/del',
success:function(data){
if(data.type=='ok'){
layer.msg('操作成功!');
window.location.reload()
}else if(data.type=='error'){
layer.msg(data.message);
}else{
layer.msg(data.message);
// parent.layer.close(index);
// parent.location.reload();
}
},error:function(code){
layer.msg('操作失败!',data.message);
}
});
})
});
// //监听工具条
// table.on('tool(adminList)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
// var data = obj.data; //获得当前行数据
// var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
// var tr = obj.tr; //获得当前行 tr 的DOM对象
// if(layEvent === 'del'){ //删除
// layer.confirm('真的要删除吗?', function(index){
// //向服务端发送删除指令
// $.ajax({
// url:'/admin/manager/delete',
// type:'post',
// dataType:'json',
// data:{id:data.id},
// success:function(res){
// if(res.type=='ok'){
// obj.del(); //删除对应行(tr)的DOM结构,并更新缓存
// layer.msg(res.message);
// layer.close(index);
// }else{
// layer.close(index);
// layer.alert(res.message);
// }
// }
// });
// });
// } else if(layEvent === 'edit'){ //编辑
// //do something
// layer_show('修改管理员', '/admin/manager/add?id=' + data.id);
// }
// });
});
</script>
@endsection