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,161 @@
@extends('admin._layoutNew')
@section('page-head')
<style>
.layui-form-label{
width: 250px;
}
.layui-input-block{
margin-left: 280px;
}
</style>
@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">
<input type="text" name="name" lay-verify="required" autocomplete="off" placeholder="" class="layui-input" value="{{$result->name}}">
</div>
</div>
<div class="layui-form-item">
<label for="currency_id" class="layui-form-label">币种</label>
<div class="layui-input-block">
<select name="currency_id" lay-verify="required" lay-search>
@foreach ($currency as $c)
<option value="{{ $c->id }}" @if ((isset($result) && $result->currency_id == $c->id)) selected @endif>{{ $c->name }}</option>
@endforeach
</select>
</div>
</div>
<div class="layui-form-item">
<label for="currency_id" class="layui-form-label">类型</label>
<div class="layui-input-block">
<select name="type" lay-verify="required" lay-search>
<option value="1" @if ((isset($result) && 1 == $result->type)) selected @endif>正向险</option>
<option value="2" @if ((isset($result) && 2 == $result->type)) selected @endif>反向险</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">最低购买额</label>
<div class="layui-input-block">
<input type="text" name="min_amount" lay-verify="required" autocomplete="off" placeholder="" class="layui-input" value="{{$result->min_amount}}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">最大购买额</label>
<div class="layui-input-block">
<input type="text" name="max_amount" lay-verify="required" autocomplete="off" placeholder="" class="layui-input" value="{{$result->max_amount}}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">保险资产占受保资产比例(%</label>
<div class="layui-input-block">
<input type="text" name="insurance_assets" lay-verify="required" autocomplete="off" placeholder="" class="layui-input" value="{{$result->insurance_assets}}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">盈利达到比例(%),解约</label>
<div class="layui-input-block">
<input type="text" name="profit_termination_condition" lay-verify="required" autocomplete="off" placeholder="" class="layui-input" value="{{$result->profit_termination_condition}}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">亏损达到比例(%),赔偿【正向】</label>
<div class="layui-input-block">
<input type="text" name="defective_claims_condition" lay-verify="required" autocomplete="off" placeholder="" class="layui-input" value="{{$result->defective_claims_condition}}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">亏损达到额度,赔偿【反向】</label>
<div class="layui-input-block">
<input type="text" name="defective_claims_condition2" lay-verify="required" autocomplete="off" placeholder="" class="layui-input" value="{{$result->defective_claims_condition2}}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">每日最大赔付次数【正向】</label>
<div class="layui-input-block">
<input type="text" name="claims_times_daily" lay-verify="required" autocomplete="off" placeholder="" class="layui-input" value="{{$result->claims_times_daily}}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">赔付比例(%</label>
<div class="layui-input-block">
<input type="text" name="claim_rate" lay-verify="required" autocomplete="off" placeholder="" class="layui-input" value="{{$result->claim_rate}}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">赔付去向</label>
<div class="layui-input-block">
<select name="claim_direction" lay-verify="required" lay-search>
<option value="1" @if ((isset($result) && 1 == $result->claim_direction)) selected @endif>受保资产</option>
<option value="2" @if ((isset($result) && 2 == $result->claim_direction)) selected @endif>可用资产</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">是否自动赔付</label>
<div class="layui-input-block">
<div class="layui-input-inline">
<input type="radio" name="auto_claim" value="1" title="打开" @if (isset($result->auto_claim)) {{$result->auto_claim == 1 ? 'checked' : ''}} @endif >
<input type="radio" name="auto_claim" value="0" title="关闭" @if (isset($result->auto_claim)) {{$result->auto_claim == 0 ? 'checked' : ''}} @else checked @endif >
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">是否开启购买</label>
<div class="layui-input-block">
<div class="layui-input-inline">
<input type="radio" name="status" value="1" title="打开" @if (isset($result->status)) {{$result->status == 1 ? 'checked' : ''}} @endif >
<input type="radio" name="status" value="0" title="关闭" @if (isset($result->status)) {{$result->status == 0 ? 'checked' : ''}} @else checked @endif >
</div>
</div>
</div>
<input type="hidden" name="id" value="{{$result->id}}">
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit="" lay-filter="demo1">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</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);
//监听提交
form.on('submit(demo1)', function(data){
var data = data.field;
$.ajax({
url:'{{url('admin/insurance/add')}}'
,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,131 @@
@extends('admin._layoutNew')
@section('page-head')
@endsection
@section('page-content')
<button class="layui-btn layui-btn-normal layui-btn-radius" id="add_set">添加险种</button>
<table id="demo" lay-filter="test"></table>
<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>
@endsection
@section('scripts')
<script type="text/html" id="status">
<input type="checkbox" name="status" value="@{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="status" @{{ d.status == 1 ? 'checked' : '' }}>
</script>
<script type="text/html" id="auto_claim">
<input type="checkbox" name="auto_claim" value="@{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="auto_claim" @{{ d.auto_claim == 1 ? 'checked' : '' }}>
</script>
<script type="text/html" id="is_t_add_1_t">
<input type="checkbox" name="is_t_add_1" value="@{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="is_t_add_1" @{{ d.is_t_add_1 == 1 ? 'checked' : '' }}>
</script>
<script>
layui.use(['table','form'], function() {
var table = layui.table;
var $ = layui.jquery;
var form = layui.form;
//第一个实例
$('#add_set').click(function() {
layer_show('添加险种', '/admin/insurance/add', 800, 600);
});
table.render({
elem: '#demo'
,url: '{{url('admin/insurance/lists')}}' //数据接口
,page: true //开启分页
,height: 'full-100'
,id: 'mobileSearch'
,cols: [[ //表头
{field: 'id', title: 'ID', width:80, sort: true}
,{field: 'name', title: '名称', width: 100}
,{field: 'currency_name', title: '币种', width: 100}
,{field: 'type_name', title: '类型', width: 100}
,{field: 'auto_claim', title: '自动赔付', minWidth: 100,templet:'#auto_claim'}
,{field: 'status', title: '状态', minWidth: 100, templet:'#status'}
,{field: 'is_t_add_1', title: 'T+1生效', minWidth: 100, templet:'#is_t_add_1_t'}
,{title:'操作', minWidth:100, toolbar: '#barDemo'}
]]
});
form.on('switch(status)', function(obj){
var id = this.value;
$.ajax({
url:'{{url('admin/insurance/change_status')}}',
type:'post',
dataType:'json',
data:{id:id},
success:function (res) {
if(res.error != 0){
layer.msg(res.message);
}
}
});
});
form.on('switch(auto_claim)', function(obj){
var id = this.value;
$.ajax({
url:'{{url('admin/insurance/change_auto_claim')}}',
type:'post',
dataType:'json',
data:{id:id},
success:function (res) {
if(res.error != 0){
layer.msg(res.message);
}
}
});
});
form.on('switch(is_t_add_1)', function(obj){
var id = this.value;
$.ajax({
url:'{{url('admin/insurance/change_t_add_1')}}',
type:'post',
dataType:'json',
data:{id:id},
success:function (res) {
if(res.error != 0){
layer.msg(res.message);
}
}
});
});
table.on('tool(test)', function(obj){
var data = obj.data;
if(obj.event === 'del'){
layer.confirm('真的删除行么?可能会导致系统崩溃!', function(index){
$.ajax({
url:'{{url('admin/insurance/del')}}',
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 === 'edit'){
layer_show('编辑险种','{{url('admin/insurance/add')}}?id='+data.id, 800, 600);
}
});
});
</script>
@endsection
@@ -0,0 +1,121 @@
@extends('admin._layoutNew')
@section('page-head')
<style>
p.percent {
text-align: right;
margin-right: 10px;
}
p.percent::after {
content: '%';
}
</style>
@endsection
@section('page-content')
<form class="layui-form layui-form-pane layui-inline" action="">
<div class="layui-inline" style="margin-left: 50px;">
<label class="layui-form-label">用户</label>
<div class="layui-input-inline">
<input type="text" name="mobile" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline" style="margin-left: 50px;">
<label class="layui-form-label">姓名</label>
<div class="layui-input-inline">
<input type="text" name="name" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline" style="margin-left: 50px;">
<label>保险类型&nbsp;&nbsp;</label>
<div class="layui-input-inline">
<select name="type" id="type" class="layui-input">
<option value="-1">所有类型</option>
<option value="1">正向险</option>
<option value="2">反向险</option>
</select>
</div>
</div>
<div class="layui-inline" style="margin-left: 50px;">
<label>保单状态&nbsp;&nbsp;</label>
<div class="layui-input-inline">
<select name="status" id="status" class="layui-input">
<option value="-1">所有</option>
<option value="1">生效中</option>
<option value="0">已失效</option>
</select>
</div>
</div>
<div class="layui-inline">
<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>
<table id="demo" lay-filter="test"></table>
@endsection
@section('scripts')
<script type="text/html" id="insurance_type_t">
@{{# if (d.insurance_type_type == 1) { }}
<span style="color:#89deb3;">@{{d.insurance_type_name}}</span>
@{{# } else if (d.insurance_type_type == 2) { }}
<span style="color:#d67a7a;">@{{d.insurance_type_name}}</span>
@{{# } }}
</script>
<script type="text/html" id="status_t">
<span class="layui-badge @{{d.status == 1 ? 'layui-bg-green' : ''}}">@{{d.status_str}}</span>
</script>
<script type="text/html" id="claim_status_t">
<span class=" @{{d.claim_status == 1 ? 'layui-badge layui-bg-green' : 'layui-bg-default'}}">@{{d.claim_status_str}}</span>
</script>
<script>
layui.use(['table','form','laydate'], function(){
var table = layui.table;
var $ = layui.jquery;
var form = layui.form;
var laydate = layui.laydate;
//第一个实例
table.render({
elem: '#demo'
,toolbar: '#toolbar'
,url: '{{url('admin/insurance/order_lists')}}' //数据接口
,page: true //开启分页
,id:'mobileSearch'
,cols: [[ //表头
{field: 'id', title: 'ID', width:60, sort: true}
,{field: 'mobile', title: '用户', minWidth:150}
,{field: 'user_name', title: '姓名', minWidth:80}
,{field: 'insurance_type_type', title: '保险类型', minWidth:80,templet:"#insurance_type_t"}
,{field: 'amount', title: '受保金额', minWidth:80}
,{field: 'insurance_amount', title: '保险金额', minWidth:80}
,{field: 'status', title: '状态', minWidth:80,templet:"#status_t"}
,{field: 'claim_status', title: '理赔状态', minWidth:80,templet:"#claim_status_t"}
,{field: 'rescinded_type_str', title: '解约类型', minWidth:80}
,{field: 'created_at', title: '申购时间', minWidth:150}
,{field: 'rescinded_at', title: '解约时间', minWidth:150}
]]
});
//监听提交
form.on('submit(mobile_search)', function(data){
console.log(data.field);
table.reload('mobileSearch',{
where:data.field,
page: {curr: 1} //重新从第一页开始
});
return false;
});
});
</script>
@endsection