fix: API路由补齐+后台全面中文化

This commit is contained in:
testadmin
2026-04-29 03:33:00 +08:00
parent 664d4d9572
commit 6ce7adcbfb
267 changed files with 47059 additions and 0 deletions
@@ -0,0 +1,249 @@
@extends('agent.layadmin')
@section('page-head')
<style>
.layui-form-label {
width: 120px;
}
.layui-form-mid {
float: none;
margin-left: 150px;
}
.layui-input-block {
margin-left: 150px;
}
</style>
@endsection
@section('page-content')
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-form layui-card-header layuiadmin-card-header-auto"
lay-filter="layadmin-userfront-formlist">
</div>
<div class="layui-card-body">
<div class="layui-form" lay-filter="layuiadmin-form-useradmin" style="padding: 20px 0 0 0;">
<div class="layui-form-item">
<label class="layui-form-label">用户名</label>
<div class="layui-input-block">
@if(isset($d['username']))
<input type="text" name="username" value="{{$d['username']}}"
lay-verify="required" placeholder="请输入用户名1" autocomplete="off"
class="layui-input"
readonly>
@else
<input type="text" name="username" value=""
lay-verify="required" placeholder="请输入用户名2" autocomplete="off"
class="layui-input">
@endif
<input type="hidden" name="user_id" value="{{ isset($d['user_id'])?$d['user_id']:0 }}">
<input type="hidden" name="agent_id" value="{{ isset($d['agent_id'])?$d['agent_id']:0 }}">
<input type="hidden" name="id" value="{{ isset($d['id'])?$d['id']:0 }}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">下级身份</label>
<div class="layui-input-inline">
@if( (!isset($d['id']) || !$d['id']) && isset($d['son_level']))
<button class="layui-btn layui-btn-normal layui-btn-radius">{{$d['son_level']}}级代理商
</button>
@elseif(isset($d['id']) && $d['id'])
<button class="layui-btn layui-btn-normal layui-btn-radius">{{$d['self_info']}}</button>
@else
<button class="layui-btn layui-btn-danger layui-btn-radius">不能添加代理商</button>
@endif
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">头寸比例(%</label>
<div class="layui-input-block">
<script type="text/html" template>
<input type="text" name="pro_loss" value="{{ isset($d['pro_loss']) ? $d['pro_loss'] : 0 }}"
lay-verify="pro_loss" placeholder="代理商的头寸比例" autocomplete="off"
class="layui-input">
</script>
</div>
<script type="text/html" template>
<div class="layui-form-mid layui-word-aux">设置下级代理商的头寸比例,该值不能超过<span
class="layui-badge">{{isset($d['max_pro_loss']) ? $d['max_pro_loss'] : 100}}</span>。如20.85%,则输入20.85
</div>
</script>
</div>
<div class="layui-form-item">
<label class="layui-form-label">手续费比例(%</label>
<div class="layui-input-block">
<script type="text/html" template>
<input type="text" name="pro_ser" value="{{isset($d['pro_ser']) ? $d['pro_ser'] : 0}}"
lay-verify="pro_ser" placeholder="手续费比例" autocomplete="off" class="layui-input">
</script>
</div>
<script type="text/html" template>
<div class="layui-form-mid layui-word-aux">设置下级代理商的手续费比例,该值不能超过<span
class="layui-badge">{{isset($d['max_pro_ser']) ? $d['max_pro_ser'] : '100'}}</span>。如20.85%,则输入20.85
</div>
</script>
</div>
@if(!isset($d['id']))
<!-- <div class="layui-form-item">
<label class="layui-form-label">授权码</label>
<div class="layui-input-block">
<script type="text/html" template>
<input type="text" name="authorization_code" value=""
lay-verify="authorization_code" placeholder="请输入授权码" autocomplete="off" class="layui-input">
</script>
</div>
<script type="text/html" template>
<div class="layui-form-mid layui-word-aux">添加用户为代理商时需要填写用户的授权码(安全中心的授权码)
</div>
</script>
</div> -->
@endif
<div class="layui-form-item" lay-filter="sex">
<label class="layui-form-label">是否锁定</label>
<div class="layui-input-block">
@if(isset($d['is_lock']))
<input type="radio" name="is_lock" value="0"
title="" {{ isset($d['is_lock']) && $d['is_lock'] == 0 ? 'checked' : '' }} >
<input type="radio" name="is_lock" value="1"
title=""{{ isset($d['is_lock']) && $d['is_lock'] == 1 ? 'checked' : '' }}>
@else
<input type="radio" name="is_lock" value="0" title="" checked>
<input type="radio" name="is_lock" value="1" title="" >
@endif
</div>
<div class="layui-form-mid layui-word-aux">当锁定时,该用户不能登录代理商管理平台</div>
</div>
<div class="layui-form-item" lay-filter="sex">
<label class="layui-form-label">允许拉新</label>
<div class="layui-input-block">
@if(isset($d['is_addson']))
<input type="radio" name="is_addson" value="0"
title="禁止" {{ $d['is_addson'] == 0 ? 'checked' : '' }} >
<input type="radio" name="is_addson" value="1"
title="允许"{{ $d['is_addson'] == 1 ? 'checked' : '' }}>
@else
<input type="radio" name="is_addson" value="0" title="禁止">
<input type="radio" name="is_addson" value="1" title="允许" checked>
@endif
</div>
<div class="layui-form-mid layui-word-aux">当禁止填加新代理商时,该用户不能添加自己的下级代理商</div>
</div>
@if(isset($d['id']))
<div class="layui-form-item">
<label class="layui-form-label">代理商密码</label>
<div class="layui-input-block">
<script type="text/html" template>
<input type="text" name="agent_password" value=""
lay-verify="authorization_code" placeholder="修改代理商密码" autocomplete="off" class="layui-input">
</script>
</div>
<script type="text/html" template>
<div class="layui-form-mid layui-word-aux">只限修改下级代理商的密码
</div>
</script>
</div>
@endif
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-input-inline">
<input type="button" lay-submit lay-filter="LAY-user-front-submit" value="确认"
class="layui-btn">
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('scripts')
<script>
layui.use(['index', 'form', 'upload', 'layer'], function () {
var $ = layui.$
, form = layui.form
, upload = layui.upload
, admin = layui.admin
, view = layui.view
var index = parent.layer.getFrameIndex(window.name)//当前ifarm索引
//自定义验证
form.verify({
nickname: function (value, item) { //value:表单的值、item:表单的DOM对象
if (!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)) {
return '用户名不能有特殊字符';
}
if (/(^\_)|(\__)|(\_+$)/.test(value)) {
return '用户名首尾不能出现下划线\'_\'';
}
if (/^\d+\d+\d$/.test(value)) {
return '用户名不能全为数字';
}
}
//我们既支持上述函数式的方式,也支持下述数组的形式
//数组的两个值分别代表:[正则匹配、匹配不符时的提示文字]
, pass: [
/^[\S]{6,12}$/
, '密码必须6到12位,且不能出现空格'
]
});
/*var jsObject = @json($d);
form.val("layuiadmin-form-useradmin", jsObject)*/
form.on('submit(LAY-user-front-submit)', function (data) {
var field = data.field; //获取提交的字段
console.log(field);
if(field.agent_id == 0){
var post_url = '/agent/addagent';
}else{
var post_url = '/agent/addsonagent';
}
admin.req({
type: "POST",
url: post_url,
dataType: "json",
data: field,
done: function (result) { //返回数据根据结果进行相应的处理
layer.msg(result.msg, {
icon: 1,
time: 2000 //2秒关闭(如果不配置,默认是3秒)
}, function () {
parent.layer.close(index);
//parent.window.location.reload();
parent.layui.table.reload('LAY-user-manage' , {
done: function(res){ //这里要说明一下:done 是只有 response 的 code 正常才会执行。而 succese 则是只要 http 为 200 就会执行
if (res !== 0 ){
if (res.code === 1001) {
//清空本地记录的 token,并跳转到登入页
admin.exit();
}
}
}
}); //重载表格
}
);
}
});
});
})
</script>
@endsection
<div id="this_all_sons">
<table id="LAY-user-sons" lay-filter="LAY-user-sons"></table>
</div>
@@ -0,0 +1,184 @@
@extends('agent.layadmin')
@section('page-head')
@endsection
@section('page-content')
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-form layui-card-header layuiadmin-card-header-auto" lay-filter="layadmin-userfront-formlist">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">ID</label>
<div class="layui-input-block">
<input type="text" name="id" placeholder="请输入" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">代理商用户名</label>
<div class="layui-input-block">
<input type="text" name="username" placeholder="请输入" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">是否锁定</label>
<div class="layui-input-block">
<select name="is_lock">
<option value="2">不限</option>
<option value="1">锁定</option>
<option value="0">未锁定</option>
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">是否拉新</label>
<div class="layui-input-block">
<select name="is_addson">
<option value="2">不限</option>
<option value="1">允许拉新</option>
<option value="0">禁止拉新</option>
</select>
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layuiadmin-btn-useradmin" lay-submit lay-filter="LAY-user-front-search">
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
</button>
</div>
</div>
</div>
<div class="layui-card-body">
<div style="padding-bottom: 10px;">
<!--<button class="layui-btn layuiadmin-btn-useradmin" data-type="batchdel">删除</button>-->
<button class="layui-btn layuiadmin-btn-useradmin" data-type="add">添加下级代理商</button>
</div>
<table id="LAY-user-manage" lay-filter="LAY-user-manage"></table>
<script type="text/html" id="table-useradmin-webuser">
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addsonagent"><i class="layui-icon layui-icon-add-1"></i>添加其下级代理</a>
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="getsons"><i class="layui-icon layui-icon-friends"></i>查看其下级代理</a>
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="this-sons"><i class="layui-icon layui-icon-group"></i>查看其所有会员</a>
</script>
</div>
</div>
</div>
@endsection
@section('scripts')
<script type="text/html" id="lockTpl">
@{{# if(d.is_lock == 1){ }}
<i class="layui-icon layui-icon-ok" style="font-size: 21px; color: green;" lay-event="lock"></i>
@{{# } else { }}
<i class="layui-icon layui-icon-close" style="font-size: 21px; color: red;" lay-event="lock"></i>
@{{# } }}
</script>
<script type="text/html" id="addsonTpl">
@{{# if(d.is_addson == 1){ }}
<i class="layui-icon layui-icon-ok" style="font-size: 21px; color: green;" lay-event="addson"></i>
@{{# } else { }}
<i class="layui-icon layui-icon-close" style="font-size: 21px; color: red;" lay-event="addson"></i>
@{{# } }}
</script>
<script>
layui.use(['index','salesmen','table' ,'layer'], function(){
// console.log(layui.setter.base)
var $ = layui.$
,admin = layui.admin
,view = layui.view
,table = layui.table
,form = layui.form;
form.render(null, 'layadmin-userfront-formlist');
//监听搜索
form.on('submit(LAY-user-front-search)', function(data){
var field = data.field;
//执行重载
table.reload('LAY-user-manage', {
where: field
,page: {
curr: 1 //重新从第 1 页开始
}
,done: function(res){ //这里要说明一下:done 是只有 response 的 code 正常才会执行。而 succese 则是只要 http 为 200 就会执行
if (res.code === 1001) {
//清空本地记录的 token,并跳转到登入页
admin.exit();
}
if (res.code === 1){
layer.msg(res.msg ,{icon : 5});
}
}
});
});
//事件
var active = {
batchdel: function(){
var checkStatus = table.checkStatus('LAY-user-manage')
,checkData = checkStatus.data; //得到选中的数据
if(checkData.length === 0){
return layer.msg('请选择数据');
}
layer.prompt({
formType: 1
,title: '敏感操作,请验证口令'
}, function(value, index){
layer.close(index);
layer.confirm('确定删除吗?', function(index) {
//执行 Ajax 后重载
/*
admin.req({
url: 'xxx'
//,……
});
*/
table.reload('LAY-user-manage');
layer.msg('已删除');
});
});
}
,add: function(){
layer.prompt({title: '请输入下级代理商帐号', formType: 0, btn :['查询该用户' , '取消']}, function(value, index){
layer.close(index);
if (value.length == 0) {
layer.msg('用户名不能位空', {icon: 5 });
}else{
admin.req({
type : "POST",
url : '/agent/searchuser',
dataType : "json",
data : {username : value},
done : function(result) { //返回数据根据结果进行相应的处理
layer.show('添加代理商', '/agent/salesmen/add', result.data);
}
});
}
});
}
};
$('.layui-btn.layuiadmin-btn-useradmin').on('click', function(){
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
});
</script>
@endsection
<div id="this_all_sons">
<table id="LAY-user-sons" lay-filter="LAY-user-sons"></table>
</div>