fix: API路由补齐+后台全面中文化
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
@extends('admin._layoutNew')
|
||||
|
||||
@section('page-head')
|
||||
|
||||
@endsection
|
||||
|
||||
@section('page-content')
|
||||
<div class="layui-inline btn-group layui-btn-group">
|
||||
|
||||
<button class="layui-btn layui-btn-primary" id="addbg">添加背景图</button>
|
||||
</div>
|
||||
|
||||
<div class="layui-form">
|
||||
<table id="accountlist" lay-filter="accountlist"></table>
|
||||
<script type="text/html" id="barDemo">
|
||||
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
|
||||
<a class="layui-btn layui-btn-xs" lay-event="del">删除</a>
|
||||
</script>
|
||||
<script type="text/html" id="FcardTpl">
|
||||
<img src="@{{ d.pic }}" width="100" height="100">
|
||||
</script>
|
||||
|
||||
@endsection
|
||||
|
||||
@section('scripts')
|
||||
<script>
|
||||
|
||||
window.onload = function() {
|
||||
document.onkeydown=function(event){
|
||||
var e = event || window.event || arguments.callee.caller.arguments[0];
|
||||
if(e && e.keyCode==13){ // enter 键
|
||||
$('#mobile_search').click();
|
||||
}
|
||||
};
|
||||
layui.use(['element', 'form', 'layer', 'table'], function () {
|
||||
var element = layui.element;
|
||||
var layer = layui.layer;
|
||||
var table = layui.table;
|
||||
var $ = layui.$;
|
||||
var form = layui.form;
|
||||
|
||||
$('#addbg').click(function(){layer_show('添加背景图', '/admin/invite/edit');});
|
||||
|
||||
function tbRend(url) {
|
||||
table.render({
|
||||
elem: '#accountlist'
|
||||
, url: url
|
||||
, page: true
|
||||
,limit: 20
|
||||
, cols: [[
|
||||
{ field: 'id', title: 'ID', minWidth: 100}
|
||||
, {field:'pic',title: '背景图',minWidth: 200,templet:'#FcardTpl'}
|
||||
|
||||
, {field:'create_time',title:'创建时间', minWidth:300}
|
||||
,{fixed: 'right', title: '操作', width: 150, align: 'center', toolbar: '#barDemo'}
|
||||
]]
|
||||
});
|
||||
}
|
||||
|
||||
tbRend("{{url('/admin/invite/bg_list')}}");
|
||||
|
||||
//监听工具条
|
||||
table.on('tool(accountlist)', function (obj) { //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
|
||||
var data = obj.data;
|
||||
var layEvent = obj.event;
|
||||
var tr = obj.tr;
|
||||
|
||||
if (layEvent === 'del') { //删除
|
||||
layer.confirm('真的要删除吗?', function (index) {
|
||||
//向服务端发送删除指令
|
||||
$.ajax({
|
||||
url: "{{url('admin/invite/bgdel')}}",
|
||||
type: 'post',
|
||||
dataType: 'json',
|
||||
data: {id: data.id},
|
||||
success: function (res) {
|
||||
if (res.type == 'ok') {
|
||||
obj.del(); //删除对应行(tr)的DOM结构,并更新缓存
|
||||
layer.close(index);
|
||||
} else {
|
||||
layer.close(index);
|
||||
layer.alert(res.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}else if (layEvent === 'edit'){ //编辑
|
||||
layer_show('编辑背景图','{{url('admin/invite/edit')}}?id='+data.id);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,158 @@
|
||||
@extends('admin._layoutNew')
|
||||
|
||||
@section('page-head')
|
||||
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
|
||||
@endsection
|
||||
|
||||
@section('page-content')
|
||||
|
||||
<style>
|
||||
.el-pagination{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.layui-text ul{
|
||||
padding: 5px 0 5px 5px;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
|
||||
<legend>用户邀请关系图</legend>
|
||||
</fieldset>
|
||||
|
||||
{{-- <div style="display: inline-block; padding: 10px; overflow: auto;">--}}
|
||||
{{-- <ul id="demo2"></ul>--}}
|
||||
{{-- </div>--}}
|
||||
|
||||
<el-table
|
||||
:data="tableData"
|
||||
style="width: 100%"
|
||||
row-key="id"
|
||||
border
|
||||
lazy
|
||||
:load="load"
|
||||
:tree-props="{children: 'children', hasChildren: 'hasChildren'}">
|
||||
<el-table-column
|
||||
prop="account_number"
|
||||
label="账号"
|
||||
width="300">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<div style="margin-top: 20px">
|
||||
<el-pagination
|
||||
background
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="currentPage"
|
||||
layout="prev, pager, next"
|
||||
:total="total">
|
||||
</el-pagination>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@section('scripts')
|
||||
|
||||
<script src="https://cdn.bootcss.com/vue/2.6.11/vue.min.js"></script>
|
||||
|
||||
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
total:10,
|
||||
currentPage:1,
|
||||
tableData: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.list()
|
||||
},
|
||||
methods: {
|
||||
list(){
|
||||
let that = this;
|
||||
$.ajax({
|
||||
url:'{{url('admin/invite/getTop')}}' + '?page=' + this.currentPage,
|
||||
type:'get',
|
||||
dataType:'json',
|
||||
success:function (res) {
|
||||
let data = res.message;
|
||||
let tableData = data.data ? data.data : [];
|
||||
that.tableData = tableData;
|
||||
that.total = data.total;
|
||||
}
|
||||
});
|
||||
},
|
||||
// 初始页currentPage、初始每页数据数pagesize和数据data
|
||||
handleCurrentChange: function(currentPage){
|
||||
this.currentPage = currentPage;
|
||||
this.list();
|
||||
},
|
||||
|
||||
load(tree, treeNode, resolve) {
|
||||
console.log(tree)
|
||||
let pid = tree.id;
|
||||
$.ajax({
|
||||
url:'{{url('admin/invite/getSon')}}' + '?pid=' + pid,
|
||||
type:'get',
|
||||
dataType:'json',
|
||||
success:function (res) {
|
||||
let data = res.message;
|
||||
resolve(data)
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{{-- @section('scripts')--}}
|
||||
<script>
|
||||
|
||||
window.onload = function() {
|
||||
|
||||
layui.use(['element', 'layer', 'table','tree'], function () {
|
||||
var element = layui.element;
|
||||
var layer = layui.layer;
|
||||
var table = layui.table;
|
||||
var $ = layui.$;
|
||||
|
||||
$.ajax({
|
||||
|
||||
url:'{{url('admin/invite/getTree')}}',
|
||||
type:'get',
|
||||
dataType:'json',
|
||||
success:function (res) {
|
||||
|
||||
|
||||
|
||||
layui.tree({
|
||||
elem: '#demo2' //指定元素
|
||||
,nodes: res.data
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
{{--@endsection--}}
|
||||
@@ -0,0 +1,89 @@
|
||||
@extends('admin._layoutNew')
|
||||
|
||||
@section('page-head')
|
||||
|
||||
@endsection
|
||||
|
||||
@section('page-content')
|
||||
<form class="layui-form" action="">
|
||||
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">图片</label>
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" type="button" id="upload_test">选择图片</button>
|
||||
<br>
|
||||
<img src="@if(!empty($res->pic)){{$res->pic}}@endif" id="img_thumbnail" class="thumbnail" style="display: @if(!empty($res->pic)){{"block"}}@else{{"none"}}@endif;max-width: 200px;height: auto;margin-top: 5px;">
|
||||
<input type="hidden" name="pic" id="thumbnail" value="@if(!empty($res->pic)){{$res->pic}}@endif">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="id" value="{{$res->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('upload', function(){
|
||||
var upload = layui.upload;
|
||||
|
||||
//执行实例
|
||||
var uploadInst = upload.render({
|
||||
elem: '#upload_test' //绑定元素
|
||||
,url: '{{URL("api/upload")}}' //上传接口
|
||||
,done: function(res){
|
||||
//上传完毕回调
|
||||
if (res.type == "ok"){
|
||||
$("#thumbnail").val(res.message)
|
||||
$("#img_thumbnail").show()
|
||||
$("#img_thumbnail").attr("src",res.message)
|
||||
} else{
|
||||
alert(res.message)
|
||||
}
|
||||
}
|
||||
,error: function(){
|
||||
//请求异常回调
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
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/invite/edit')}}'
|
||||
,type:'post'
|
||||
,dataType:'json'
|
||||
,data : data
|
||||
,success:function(res){
|
||||
//console.log(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,104 @@
|
||||
@extends('admin._layoutNew')
|
||||
|
||||
@section('page-head')
|
||||
|
||||
@endsection
|
||||
|
||||
@section('page-content')
|
||||
<div class="layui-inline btn-group layui-btn-group">
|
||||
<button class="layui-btn layui-btn-primary cateManage" id="share">邀请分享设置</button>
|
||||
<button class="layui-btn layui-btn-primary" id="childs">会员推荐关系图</button>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">用户名</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="account" placeholder="请输入用户手机号或邮箱" autocomplete="off" class="layui-input" value="">
|
||||
</div>
|
||||
<button class="layui-btn btn-search" id="mobile_search" lay-submit lay-filter="mobile_search"> <i class="layui-icon"></i> </button>
|
||||
</div>
|
||||
<div class="layui-form">
|
||||
<table id="accountlist" lay-filter="accountlist"></table>
|
||||
<script type="text/html" id="barDemo">
|
||||
<a class="layui-btn layui-btn-xs" lay-event="viewDetail">删除</a>
|
||||
</script>
|
||||
|
||||
@endsection
|
||||
|
||||
@section('scripts')
|
||||
<script>
|
||||
|
||||
window.onload = function() {
|
||||
document.onkeydown=function(event){
|
||||
var e = event || window.event || arguments.callee.caller.arguments[0];
|
||||
if(e && e.keyCode==13){ // enter 键
|
||||
$('#mobile_search').click();
|
||||
}
|
||||
};
|
||||
layui.use(['element', 'form', 'layer', 'table'], function () {
|
||||
var element = layui.element;
|
||||
var layer = layui.layer;
|
||||
var table = layui.table;
|
||||
var $ = layui.$;
|
||||
var form = layui.form;
|
||||
|
||||
$('#share').click(function(){layer_show('邀请分享设置', '/admin/invite/share');});
|
||||
$('#childs').click(function(){layer_show('会员关系图', '/admin/invite/childs');});
|
||||
$('#bg').click(function(){layer_show('邀请背景图管理', '/admin/invite/bgpic');});
|
||||
|
||||
form.on('submit(mobile_search)',function(obj){
|
||||
var account = $("input[name='account']").val()
|
||||
tbRend("{{url('/admin/invite/return_list')}}?account="+account);
|
||||
return false;
|
||||
});
|
||||
function tbRend(url) {
|
||||
table.render({
|
||||
elem: '#accountlist'
|
||||
, url: url
|
||||
, page: true
|
||||
,limit: 20
|
||||
, cols: [[
|
||||
{ field: 'id', title: 'ID', minWidth: 100}
|
||||
/*, {field:'account',title: '用户账号',minWidth: 150}*/
|
||||
, {field:'account_number',title: '用户交易号',minWidth: 150}
|
||||
, {field:'value',title:'返佣值', minWidth:100}
|
||||
, {field:'info',title:'记录备注', minWidth:300}
|
||||
// , {field:'type',title:'类型', width:100}
|
||||
, {field:'created_time',title:'创建时间', minWidth:300}
|
||||
,{fixed: 'right', title: '操作', width: 150, align: 'center', toolbar: '#barDemo'}
|
||||
]]
|
||||
});
|
||||
}
|
||||
tbRend("{{url('/admin/invite/return_list')}}");
|
||||
|
||||
//监听工具条
|
||||
table.on('tool(accountlist)', function (obj) { //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
|
||||
var data = obj.data;
|
||||
var layEvent = obj.event;
|
||||
var tr = obj.tr;
|
||||
|
||||
if (layEvent === 'delete') { //删除
|
||||
layer.confirm('真的要删除吗?', function (index) {
|
||||
//向服务端发送删除指令
|
||||
$.ajax({
|
||||
url: "{{url('admin/invite/del')}}",
|
||||
type: 'post',
|
||||
dataType: 'json',
|
||||
data: {id: data.id},
|
||||
success: function (res) {
|
||||
if (res.type == 'ok') {
|
||||
obj.del(); //删除对应行(tr)的DOM结构,并更新缓存
|
||||
layer.close(index);
|
||||
} else {
|
||||
layer.close(index);
|
||||
layer.alert(res.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,62 @@
|
||||
@extends('admin._layoutNew')
|
||||
@section('page-head')
|
||||
|
||||
@stop
|
||||
@section('page-content')
|
||||
|
||||
<div class="larry-personal-body clearfix">
|
||||
<form class="layui-form col-lg-5">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分享标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="share_title" autocomplete="off" class="layui-input" value="{{$title}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分享内容</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="share_content" autocomplete="off" class="layui-input" value="{{$content}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分享链接</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="share_url" autocomplete="off" class="layui-input" value="{{$url}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="website_submit">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@stop
|
||||
@section('scripts')
|
||||
<script type="text/javascript">
|
||||
layui.use(['form','layer'], function () {
|
||||
var layer = layui.layer;
|
||||
var form = layui.form;
|
||||
var $ = layui.$;
|
||||
form.on('submit(website_submit)', function (data) {
|
||||
var data = data.field;
|
||||
console.log(data);
|
||||
$.ajax({
|
||||
url: '/admin/invite/share',
|
||||
type: 'post',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (res) {
|
||||
layer.msg(res.message);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
@stop
|
||||
Reference in New Issue
Block a user