feat: 项目基础框架+配置+Kernel
This commit is contained in:
@@ -0,0 +1,166 @@
|
||||
@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">
|
||||
<input type="text" name="title" autocomplete="off" placeholder="" class="layui-input" value="{{$res->title}}" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">描述</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="describe" autocomplete="off" placeholder="" class="layui-input" value="{{$res->describe}}" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">广告位</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="position_id" lay-filter="aihao">
|
||||
<option value=""></option>
|
||||
@foreach($position as $adsense)
|
||||
|
||||
<option value="{{$adsense['id']}}" @if($res['position_id'] == $adsense['id']) selected @endif>{{$adsense['name']}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">开始时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="time1" name="start_time" autocomplete="off" class="layui-input" value="@if(!empty($res->start_time)){{$res->start_time}}@endif" placeholder="" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">结束时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="time2" name="end_time" autocomplete="off" class="layui-input" value="@if(!empty($res->end_time)){{$res->end_time}}@endif" placeholder="" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">链接</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="url" autocomplete="off" placeholder="" class="layui-input" value="{{$res->url}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="sort" autocomplete="off" placeholder="" class="layui-input" value="{{$res->sort}}">
|
||||
</div>
|
||||
</div>
|
||||
<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);
|
||||
|
||||
var start={
|
||||
elem:'#time1',
|
||||
type:'date',
|
||||
show:true,
|
||||
closeStop:'#time1'
|
||||
};
|
||||
var end={
|
||||
elem:'#time2',
|
||||
type:'date',
|
||||
show:true,
|
||||
closeStop:'#time2'
|
||||
};
|
||||
|
||||
lay('#time1').on('click',function(){
|
||||
if($('#time2').val() != null && $('#time2').val() !=undefined &&$('#time2').val() !=''){
|
||||
start.max = $('#time2').val();
|
||||
}
|
||||
laydate.render(start);
|
||||
});
|
||||
|
||||
lay('#time2').on('click',function(){
|
||||
if($('#time1').val() != null && $('#time1').val() !=undefined &&$('#time1').val() !=''){
|
||||
end.min = $('#time1').val();
|
||||
}
|
||||
laydate.render(end);
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
//监听提交
|
||||
form.on('submit(demo1)', function(data){
|
||||
var data = data.field;
|
||||
$.ajax({
|
||||
url:'{{url('admin/ad/edit')}}'
|
||||
,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,138 @@
|
||||
@extends('admin._layoutNew')
|
||||
|
||||
@section('page-head')
|
||||
|
||||
@endsection
|
||||
|
||||
@section('page-content')
|
||||
<button class="layui-btn layui-btn-normal layui-btn-radius" id="position_manager">广告位管理</button>
|
||||
<button class="layui-btn layui-btn-normal layui-btn-radius" id="add_ad">添加广告</button>
|
||||
|
||||
<!-- <div class="layui-inline">
|
||||
<label class="layui-form-label">广告位置</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="position_id" 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> -->
|
||||
|
||||
<table id="userlist" lay-filter="userlist"></table>
|
||||
|
||||
<script type="text/html" id="barDemo">
|
||||
|
||||
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="edit">编辑</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="switchTpl">
|
||||
<input type="checkbox" name="is_show" value="@{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="sexDemo" @{{ d.is_show == 1 ? 'checked' : '' }}>
|
||||
</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;
|
||||
|
||||
$('#add_ad').click(function(){layer_show('添加广告', '/admin/ad/edit');});
|
||||
$('#position_manager').click(function(){layer_show('广告位管理', '/admin/ad/position_index');});
|
||||
|
||||
form.on('submit(mobile_search)',function(obj){
|
||||
var position_id = $("input[name='position_id']").val();
|
||||
|
||||
tbRend("{{url('/admin/ad/list')}}?position_id="+position_id);
|
||||
return false;
|
||||
});
|
||||
function tbRend(url) {
|
||||
table.render({
|
||||
elem: '#userlist'
|
||||
, url: url
|
||||
, page: true
|
||||
,limit: 20
|
||||
, cols: [[
|
||||
{ field: 'id', title: 'ID', width: 100}
|
||||
|
||||
, {field:'title',title:'标题', width:150}
|
||||
, {field:'describe',title:'描述', width:150}
|
||||
, {field:'pic',title: '广告图片',width: 100,templet:'#FcardTpl'}
|
||||
, {field:'url',title:'链接', width:150}
|
||||
, {field:'start_time',title:'开始时间', width:150}
|
||||
, {field:'end_time',title:'结束时间', width:150}
|
||||
, {field:'position_name',title:'位置', width:100}
|
||||
, {field:'sort',title:'排序', width:100}
|
||||
|
||||
|
||||
,{field:'is_show', title:'是否显示', width:90, templet: '#switchTpl'}
|
||||
|
||||
, {fixed: 'right', title: '操作', width: 280, align: 'center', toolbar: '#barDemo'}
|
||||
]]
|
||||
});
|
||||
}
|
||||
tbRend("{{url('/admin/ad/list')}}");
|
||||
|
||||
//监听操作
|
||||
form.on('switch(sexDemo)', function(obj){
|
||||
var id = this.value;
|
||||
|
||||
$.ajax({
|
||||
url:'{{url('admin/ad/lock')}}',
|
||||
type:'post',
|
||||
dataType:'json',
|
||||
data:{id:id},
|
||||
success:function (res) {
|
||||
layer.msg(res.message);
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//监听工具条
|
||||
table.on('tool(userlist)', 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/ad/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);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}else if (layEvent === 'edit'){ //编辑
|
||||
layer_show('编辑广告','{{url('admin/ad/edit')}}?id='+data.id);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,70 @@
|
||||
@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">
|
||||
<input type="text" name="name" autocomplete="off" placeholder="" class="layui-input" value="{{$res->name}}" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">描述</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="describe" autocomplete="off" placeholder="" class="layui-input" value="{{$res->describe}}" >
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="layui-form-item">
|
||||
<label class="layui-form-label">是否显示</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="is_show" value="1" title="是" @if($res->is_show ==1) checked @endif >
|
||||
<input type="radio" name="is_show" value="0" title="否" @if($res->is_show ==0) checked @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(['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/ad/position_edit')}}'
|
||||
,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,116 @@
|
||||
@extends('admin._layoutNew')
|
||||
|
||||
@section('page-head')
|
||||
|
||||
@endsection
|
||||
|
||||
@section('page-content')
|
||||
|
||||
<button class="layui-btn layui-btn-normal layui-btn-radius" id="add_position">添加广告位</button>
|
||||
|
||||
<table id="userlist" lay-filter="userlist"></table>
|
||||
|
||||
<script type="text/html" id="barDemo">
|
||||
|
||||
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="edit">编辑</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="switchTpl">
|
||||
<input type="checkbox" name="is_show" value="@{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="sexDemo" @{{ d.is_show == 1 ? 'checked' : '' }}>
|
||||
</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;
|
||||
|
||||
$('#add_position').click(function(){layer_show('添加广告位', '/admin/ad/position_edit');});
|
||||
|
||||
function tbRend(url) {
|
||||
table.render({
|
||||
elem: '#userlist'
|
||||
, url: url
|
||||
, page: true
|
||||
,limit: 20
|
||||
, cols: [[
|
||||
{ field: 'id', title: 'ID', width: 100}
|
||||
|
||||
, {field:'name',title:'名称', width:150}
|
||||
, {field:'describe',title:'描述', width:150}
|
||||
|
||||
, {field:'create_time',title:'添加时间', width:200}
|
||||
|
||||
|
||||
,{field:'is_show', title:'是否显示', width:90, templet: '#switchTpl'}
|
||||
|
||||
, {fixed: 'right', title: '操作', width: 280, align: 'center', toolbar: '#barDemo'}
|
||||
]]
|
||||
});
|
||||
}
|
||||
tbRend("{{url('/admin/ad/position_list')}}");
|
||||
|
||||
//监听是否显示操作
|
||||
form.on('switch(sexDemo)', function(obj){
|
||||
var id = this.value;
|
||||
|
||||
$.ajax({
|
||||
url:'{{url('admin/ad/position_show')}}',
|
||||
type:'post',
|
||||
dataType:'json',
|
||||
data:{id:id},
|
||||
success:function (res) {
|
||||
layer.msg(res.message);
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//监听工具条
|
||||
table.on('tool(userlist)', 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/ad/position_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);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}else if (layEvent === 'edit'){ //编辑
|
||||
layer_show('编辑广告位','{{url('admin/ad/position_edit')}}?id='+data.id);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
@endsection
|
||||
Reference in New Issue
Block a user