feat: 项目基础框架+配置+Kernel

This commit is contained in:
testadmin
2026-04-29 05:35:00 +08:00
parent 6ce7adcbfb
commit 9a6151fce3
5082 changed files with 437062 additions and 0 deletions
@@ -0,0 +1,211 @@
@extends('admin._layoutNew')
@section('page-head')
@endsection
@section('page-content')
<form class="layui-form" action="">
<div class="layui-form-item">
<label class="layui-form-label">提币信息</label>
<div class="layui-input-block">
<table class="layui-table">
<tbody>
<tr>
<td>
账户名:{{$wallet_out->account_number}}
</td>
<td>
币种:{{$wallet_out->currency_name}}
</td>
</tr>
<tr>
<td>
币种类型:基于{{$wallet_out->currency_type}}
</td>
<td>
费率:{{$wallet_out->rate}}
</td>
</tr>
<tr>
<td>
提币数量:{{$wallet_out->number}}
</td>
<td>
实际提币数量:{{$wallet_out->real_number}}
</td>
</tr>
<tr>
<td>
提币地址:{{$wallet_out->address}}
</td>
@if($wallet_out->type == 1 )
<td>
人民币价格:{{$wallet_out->real_rmb}}
</td>
@endif
</tr>
@if($wallet_out->type == 1 )
<tr>
<td>
真实姓名:{{$wallet_out->real_name}}
</td>
<td>
银行卡账号:{{$wallet_out->bank_account}}
</td>
</tr>
<tr>
<td>
开户银行:{{$wallet_out->bank_name}}
</td>
<td>
开户省市:{{$card_info->bank_dizhi}}
</td>
</tr>
@endif
@if($wallet_out->type == 2 )
@foreach ($card_info_data as $key => $item)
<tr>
<td colspan="2">
{{$key}}{{$item}}
</td>
</tr>
@endforeach
@endif
@if($wallet_out->status == 1 || $wallet_out->status == 2)
<!--<tr>-->
<!-- <td colspan="2">-->
<!-- <label class="layui-form-label" style="text-align: left; padding-left: 0px;{{$use_chain_api == 0 ? 'color: #f00' : ''}}">交易哈希:</label>-->
<!-- <div class="layui-input-inline" style="width: 80%;">-->
<!-- <input class="layui-input" type="text" name="txid" @if ($use_chain_api == 0) lay-verify="required" @endif placeholder="手工提币请输入交易哈希" autocomplete="off" value="{{$wallet_out->txid ?? ''}}" {{$wallet_out->status == 2 ? 'readonly disabled' : ''}}>-->
<!-- </div>-->
<!-- </td>-->
<!--</tr>-->
@endif
<tr>
<td>
申请时间:{{$wallet_out->create_time}}
</td>
<td>
当前状态:@if($wallet_out->status==1) 提交申请
@elseif($wallet_out->status==2) 提币成功
@elseif($wallet_out->status==3) 提币失败
@else
@endif
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">反馈信息</label>
<div class="layui-input-block">
<textarea name="notes" id="" cols="90" rows="5">{{$wallet_out->notes}}</textarea>
</div>
</div>
@if($wallet_out->status==1)
<!--<div class="layui-form-item">-->
<!-- <label class="layui-form-label">安全验证码</label>-->
<!-- <div class="layui-input-inline">-->
<!-- <input type="text" name="verificationcode" placeholder="" autocomplete="off" class="layui-input">-->
<!-- </div>-->
<!-- <button type="button" class="layui-btn layui-btn-primary" id="get_code">获取验证码</button>-->
<!--</div>-->
@endif
<input type="hidden" name="id" value="">
<div class="layui-form-item">
<div class="layui-input-block">
<input type="hidden" name='id' value='{{$wallet_out->id}}'>
@if($wallet_out->status==1)
<button class="layui-btn" lay-submit="" lay-filter="demo1" name='method' value="done">确认提币</button>
<button class="layui-btn layui-btn-danger" lay-submit="" lay-filter="demo2">退回申请</button>
@endif
</div>
</div>
</form>
@endsection
@section('scripts')
<script>
layui.use(['form','laydate'],function () {
var form = layui.form
,$ = layui.jquery
,laydate = layui.laydate
,index = parent.layer.getFrameIndex(window.name);
$('#get_code').click(function () {
var that_btn = $(this);
$.ajax({
url: '/admin/safe/verificationcode'
,type: 'GET'
,success: function (res) {
if (res.type == 'ok') {
that_btn.attr('disabled', true);
that_btn.toggleClass('layui-btn-disabled');
}
layer.msg(res.message, {
time: 3000
});
}
,error: function () {
layer.msg('网络错误');
}
});
});
//监听提交
form.on('submit(demo1)', function(data) {
var data = data.field;
console.log(data);
if (data.verificationcode == '') {
layer.msg('请填写安全验证码');
return false;
}
layer.confirm('确定允许提币?', function (index) {
var loading = layer.load(1, {time: 30 * 1000});
layer.close(index);
$.ajax({
url: '{{url('admin/cashb_done')}}'+'?method=done'
,type: 'post'
,dataType: 'json'
,data : data
,success: function(res) {
if (res.type=='error') {
layer.msg(res.message);
} else {
layer.msg(res.message);
parent.layer.close(index);
parent.window.location.reload();
}
}
,complete: function () {
layer.close(loading);
}
});
});
return false;
});
form.on('submit(demo2)', function(data){
var data = data.field;
$.ajax({
url:'{{url('admin/cashb_done')}}'
,type:'post'
,dataType:'json'
,data : data
,success:function(res){
if(res.type=='error'){
layer.msg(res.message);
}else{
parent.layer.close(index);
parent.window.location.reload();
}
}
});
return false;
});
});
</script>
@endsection
@@ -0,0 +1,148 @@
@extends('admin._layoutNew')
@section('page-head')
@endsection
@section('page-content')
<style>
.status_bg_1{
background: #1E9FFF;
}
.status_bg_2{
background: #5fb878;
}
.status_bg_3{
background: #ff5722;
}
</style>
<div style="margin-top: 10px;width: 100%;">
<form class="layui-form layui-form-pane layui-inline" action="">
<div class="layui-inline">
<label class="layui-form-label">用户名</label>
<div class="layui-input-inline" style="margin-left: 10px">
<input type="text" name="user_name" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline" style="margin-left: 10px">
<div class="layui-input-inline">
<button class="layui-btn" lay-submit="" lay-filter="mobile_search"><i class="layui-icon">&#xe615;</i></button>
</div>
</div>
</form>
<button class="layui-btn layui-btn-normal" style="margin-left: 10px" onclick="javascrtpt:window.location.href='{{url('/admin/cashb/csv')}}'">导出提币记录</button>
</div>
<script type="text/html" id="switchTpl">
<input type="checkbox" name="is_recommend" value="@{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="sexDemo" @{{ d.is_recommend == 1 ? 'checked' : '' }}>
</script>
<table id="demo" lay-filter="test"></table>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="show">查看</a>
</script>
<script type="text/html" id="statustml">
@{{d.status==1 ? '<span class="layui-badge status_bg_1">'+'申请提币'+'</span>' : '' }}
@{{d.status==2 ? '<span class="layui-badge status_bg_2">'+'提币完成'+'</span>' : '' }}
@{{d.status==3 ? '<span class="layui-badge status_bg_3">'+'申请失败'+'</span>' : '' }}
</script>
@endsection
@section('scripts')
<script>
layui.use(['table','form'], function(){
var table = layui.table;
var $ = layui.jquery;
var form = layui.form;
//第一个实例
table.render({
elem: '#demo'
,url: "{{url('admin/cashb_list')}}" //数据接口
,page: true //开启分页
,id:'mobileSearch'
,cols: [[ //表头
{field: 'id', title: 'ID', width:80, sort: true}
,{field: 'user_name', title: '用户名', width:220}
,{field: 'currency_name', title: '虚拟币', width:80}
,{field: 'number', title: '提币数量', minWidth:110}
,{field: 'rate', title: '手续费', minWidth:80}
,{field: 'real_number', title: '实际提币', minWidth:110}
// ,{field: 'address', title: '提币地址', minWidth:100}
,{field: 'status', title: '状态', minWidth:80, templet: '#statustml'}
// ,{field: 'hes_account', title: '承兑商交易账号', minWidth:180}
// ,{field: 'money', title: '交易额度', minWidth:100}
// ,{field: 'sure_name', title: '交易状态', minWidth:100}
,{field: 'create_time', title: '提币时间', minWidth:180}
,{title:'操作',minWidth:90,toolbar: '#barDemo'}
]]
});
//监听热卖操作
// form.on('switch(sexDemo)', function(obj){
// var id = this.value;
// $.ajax({
// url:'{{url('admin/product_hot')}}',
// type:'post',
// dataType:'json',
// data:{id:id},
// success:function (res) {
// if(res.error != 0){
// layer.msg(res.msg);
// }
// }
// });
// });
table.on('tool(test)', function(obj){
var data = obj.data;
if(obj.event === 'del'){
layer.confirm('真的删除行么', function(index){
$.ajax({
url:'{{url('admin/cashb_show')}}',
type:'post',
dataType:'json',
data:{id:data.id},
success:function (res) {
if(res.type == 'error'){
layer.msg(res.message);
}else{
obj.del();
layer.close(index);
}
}
});
});
} else if(obj.event === 'show'){
layer_show('确认提币','{{url('admin/cashb_show')}}?id='+data.id,800,600);
} else if(obj.event === 'back'){
layer_show('退回申请','{{url('admin/adjust_account')}}?id='+data.id,800,600);
}
});
//监听提交
form.on('submit(mobile_search)', function(data){
var account_number = data.field.user_name;
table.reload('mobileSearch',{
where:{account_number:account_number},
page: {curr: 1} //重新从第一页开始
});
return false;
});
});
</script>
@endsection