添加网站文件
This commit is contained in:
151
application/admin/view/menu_decorate/add.html
Normal file
151
application/admin/view/menu_decorate/add.html
Normal file
@@ -0,0 +1,151 @@
|
||||
{layout name="layout2" /}
|
||||
<style>
|
||||
.layui-form-label {
|
||||
color: #6a6f6c;
|
||||
}
|
||||
.img-content{
|
||||
height:80px;
|
||||
line-height:80px
|
||||
}
|
||||
.img-container {
|
||||
float: left;
|
||||
opacity: 1;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.img-src {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
padding: 4px;
|
||||
}
|
||||
.img-del-x {
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
top: -4px;
|
||||
right: -2px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
font-size: 16px;
|
||||
line-height: 16px;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background: hsla(0, 0%, 60%, .6);
|
||||
border-radius: 10px;
|
||||
}
|
||||
</style>
|
||||
<div class="layui-form" lay-filter="">
|
||||
<div class="layui-tab">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="red">*</span>名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="name" lay-verify="required" lay-verType="tips" placeholder="请输入名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">图标</label>
|
||||
<div class="layui-input-inline">
|
||||
<div class="img-content">
|
||||
<input name="image" type="hidden" value="">
|
||||
<div class="img-add"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item"><label class="layui-form-label"></label>
|
||||
<span style="color: #a3a3a3;font-size: 9px">建议尺寸:宽200像素*高200像素的jpg,jpeg,png,gif图片</span>
|
||||
</div>
|
||||
<div class="layui-form-item tips">
|
||||
<label class="layui-form-label"><span class="red">*</span>链接地址</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="link_type" value="1" title="商城模块" checked>
|
||||
</div>
|
||||
<div class="layui-input-inline">
|
||||
<select name="menu" lay-verify="required" lay-search="">
|
||||
{foreach $menu_list as $item => $val}
|
||||
<option value="{$item}">{$val.name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item"><label class="layui-form-label"></label>
|
||||
<span style="color: #a3a3a3;font-size: 9px">选择系统默认的链接地址</span>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item tips">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="link_type" value="2" title="自定义链接">
|
||||
</div>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="url" placeholder="请输入链接" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item"><label class="layui-form-label"></label>
|
||||
<span style="color: #a3a3a3;font-size: 9px"> 如:https://www.likecms.net/。可设置关联公众号的文章,其它地址需登录微信小程序管理后台配置业务域名</span>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="sort" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item"><label class="layui-form-label"></label>
|
||||
<span style="color: #a3a3a3;font-size: 9px"> 只能填写大于0整数,数字越大排序越前</span>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">显示</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="is_show" value="1" title="显示" checked>
|
||||
<input type="radio" name="is_show" value="0" title="隐藏">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="button" lay-submit lay-filter="add-menu_decorate-submit" id="add-menu_decorate-submit" value="确认">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','table','like'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,like = layui.like
|
||||
|
||||
/*----------------------------------图片上传--------------------------*/
|
||||
//上传图片
|
||||
//上传图片
|
||||
like.imageUpload('.img-add', function (uris, element) {
|
||||
if(uris.length>1){
|
||||
layer.msg('最多最能选中1张图片');
|
||||
return;
|
||||
}
|
||||
var html = '<div class="img-container">\n' +
|
||||
'<img class="img-src" ' +
|
||||
'src="' + uris[0] + '">' +
|
||||
'<a class="img-del-x">x</a>' +
|
||||
'</div>';
|
||||
element.prev().val(like.getUrlFileName(uris[0], '{$storageUrl}'));
|
||||
element.parent().append(html);
|
||||
element.css('display','none');
|
||||
}, true);
|
||||
//删除图片
|
||||
$(document).on('click', '.img-del-x', function () {
|
||||
$(this).parent().siblings('input').val('');
|
||||
$(this).parent().prev().css('display','block');
|
||||
$(this).parent().remove();
|
||||
});
|
||||
//显示图片
|
||||
$(document).on('click', '.img-src', function () {
|
||||
var image = $(this).attr('src');
|
||||
like.showImg(image,600);
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
86
application/admin/view/menu_decorate/add_navigation.html
Normal file
86
application/admin/view/menu_decorate/add_navigation.html
Normal file
@@ -0,0 +1,86 @@
|
||||
{layout name="layout1" /}
|
||||
<style>
|
||||
.layui-form {
|
||||
margin-top: 15px;
|
||||
}
|
||||
.reqRed::before {
|
||||
content: '*';
|
||||
color: red;
|
||||
}
|
||||
</style>
|
||||
<div class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label reqRed">导航名称</label>
|
||||
<div class="layui-input-block" style="width: 200px;">
|
||||
<input type="text" name="name" required lay-verify="required" class="layui-input" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">选中图标</label>
|
||||
<div class="layui-input-block" style="width: 200px;">
|
||||
<div class="img-content">
|
||||
<input name="selected_icon" type="hidden" value="">
|
||||
<div class="img-add"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item"><label class="layui-form-label"></label>
|
||||
<span style="color: #a3a3a3;font-size: 9px">建议尺寸:宽100像素*高100像素的jpg,jpeg,png,gif图片。不传则使用默认图标</span>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">未选中图标</label>
|
||||
<div class="layui-input-block" style="width: 200px;">
|
||||
<input name="un_selected_icon" type="hidden" value="">
|
||||
<div class="img-add"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item"><label class="layui-form-label"></label>
|
||||
<span style="color: #a3a3a3;font-size: 9px">建议尺寸:宽100像素*高100像素的jpg,jpeg,png,gif图片。不传则使用默认图标</span>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block" style="width: 200px;">
|
||||
<button class="layui-btn layui-hide" lay-submit id="add-navigation_decorate-submit" lay-filter="add-navigation_decorate-submit">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','table','like'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,table = layui.table
|
||||
,like = layui.like;
|
||||
|
||||
// 图片上传
|
||||
like.imageUpload('.img-add', function (uris, element) {
|
||||
if(uris.length>1){
|
||||
layer.msg('最多最能选中1张图片');
|
||||
return;
|
||||
}
|
||||
var html = '<div class="img-container">\n' +
|
||||
'<img style="width: 100px;" class="img-src" ' +
|
||||
'src="' + uris[0] + '">' +
|
||||
'<a class="img-del-x">x</a>' +
|
||||
'</div>';
|
||||
element.prev().val(like.getUrlFileName(uris[0], '{$storageUrl}'));
|
||||
element.parent().append(html);
|
||||
element.css('display','none');
|
||||
}, true);
|
||||
//删除图片
|
||||
$(document).on('click', '.img-del-x', function () {
|
||||
$(this).parent().siblings('input').val('');
|
||||
$(this).parent().prev().css('display','block');
|
||||
$(this).parent().remove();
|
||||
});
|
||||
//显示图片
|
||||
$(document).on('click', '.img-src', function () {
|
||||
var image = $(this).attr('src');
|
||||
like.showImg(image,600);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
285
application/admin/view/menu_decorate/bottom_navigation.html
Normal file
285
application/admin/view/menu_decorate/bottom_navigation.html
Normal file
@@ -0,0 +1,285 @@
|
||||
{layout name="layout1" /}
|
||||
<style>
|
||||
.layui-tab-content {
|
||||
height: auto !important;
|
||||
}
|
||||
.layui-btn {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
</style>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
|
||||
<div class="layui-colla-content layui-show tips">
|
||||
*设置移动端商城底部导航图标和名称
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-tab">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">菜单按钮设置</li>
|
||||
<li>其它设置</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content">
|
||||
<div class="layui-tab-item layui-show">
|
||||
<!-- 导航项 -->
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm layui-hide" data-type="add">新增</button>
|
||||
<table id="navigator-list" lay-filter="navigator-list"></table>
|
||||
<script type="text/html" id="selectd_icon">
|
||||
{{# if(d.selected_icon != ''){ }}
|
||||
<img src="{{d.selected_icon}}" style="width: 50px; height: 50px;" />
|
||||
{{# } }}
|
||||
</script>
|
||||
<script type="text/html" id="un_selected_icon">
|
||||
{{# if(d.un_selected_icon != ''){ }}
|
||||
<img src="{{d.un_selected_icon}}" style="width: 50px; height: 50px;" />
|
||||
{{# } }}
|
||||
</script>
|
||||
<script type="text/html" id="operation">
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm" lay-event="edit">编辑</button>
|
||||
<!-- <button class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del">删除</button>-->
|
||||
</script>
|
||||
</div>
|
||||
<div class="layui-tab-item">
|
||||
<!-- 其他设置项 -->
|
||||
<div class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">文本颜色</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="color" name="unSelectedTextColor" value="{$unSelectedTextColor}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<span class="layui-word-aux">导航文本未选中时的颜色</span>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">选中颜色</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="color" name="selectedTextColor" value="{$selectedTextColor}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<span class="layui-word-aux">导航文本选中时的颜色</span>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm" lay-submit lay-filter="navigation-setting">确 定</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
.layui-table-cell {
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','table','like', 'colorpicker'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,table = layui.table
|
||||
,like = layui.like;
|
||||
|
||||
// 数据表格渲染
|
||||
table.render({
|
||||
id: 'navigator-list',
|
||||
elem: '#navigator-list'
|
||||
,url: '{:url("menu_decorate/bottomNavigation")}'
|
||||
,cols: [[
|
||||
{field: 'name', title: '导航名称',width: 200, align: 'center'}
|
||||
,{title: '选中图标', width: 160, templet: '#selectd_icon', align: 'center'}
|
||||
,{title: '未选中图标', width: 160, templet: '#un_selected_icon', align: 'center'}
|
||||
,{fixed: 'right', title: '操作', align: 'center', toolbar: '#operation', align: 'center'}
|
||||
]]
|
||||
,page:true
|
||||
,text: {none: '暂无数据!'}
|
||||
,parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
|
||||
return {
|
||||
"code":res.code,
|
||||
"msg":res.msg,
|
||||
"count": res.data.count, //解析数据长度
|
||||
"data": res.data.lists, //解析数据列表
|
||||
};
|
||||
}
|
||||
,done: function(res, curr, count){
|
||||
// 解决操作栏因为内容过多换行问题
|
||||
$(".layui-table-main tr").each(function (index, val) {
|
||||
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
|
||||
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// 新增
|
||||
$('.layui-btn').click(function(obj) {
|
||||
$operate = obj.currentTarget.dataset.type;
|
||||
if($operate == 'add') {
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '新增'
|
||||
,content: '{:url("menu_decorate/addNavigation")}'
|
||||
,area: ['90%','90%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submitID = 'add-navigation_decorate-submit'
|
||||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||
var field = data.field;
|
||||
$.ajax({
|
||||
url:'{:url("menu_decorate/addNavigation")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
table.reload('navigator-list'); //数据刷新
|
||||
}else{
|
||||
iframeWindow.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
submit.trigger('click');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// 监听行工具条
|
||||
table.on('tool(navigator-list)', function(obj) {
|
||||
switch(obj.event) {
|
||||
case 'edit':
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '编辑'
|
||||
,content: '{:url("menu_decorate/editNavigation")}?id=' + obj.data.id
|
||||
,area: ['90%','90%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submitID = 'edit-navigation_decorate-submit'
|
||||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||
var field = data.field;
|
||||
$.ajax({
|
||||
url:'{:url("menu_decorate/editNavigation")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
table.reload('navigator-list'); //数据刷新
|
||||
}else{
|
||||
iframeWindow.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
submit.trigger('click');
|
||||
}
|
||||
});
|
||||
break;
|
||||
case 'del':
|
||||
layer.confirm('确定删除导航:'+'<span style="color: red">'+obj.data.name+'</span>', function(index){
|
||||
$.ajax({
|
||||
url:'{:url("menu_decorate/delNavigation")}',
|
||||
data:{'id':obj.data.id},
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
obj.del();
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
}else{
|
||||
layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
// 监听表单提交
|
||||
form.on('submit(navigation-setting)', function(data) {
|
||||
$.ajax({
|
||||
url:'{:url("menu_decorate/setNavigationSetting")}',
|
||||
data: data.field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
}else{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
}, function() {
|
||||
location.reload();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
72
application/admin/view/menu_decorate/category_layout.html
Normal file
72
application/admin/view/menu_decorate/category_layout.html
Normal file
@@ -0,0 +1,72 @@
|
||||
{layout name="layout1" /}
|
||||
<style>
|
||||
.layui-table-cell {
|
||||
height: auto;
|
||||
}
|
||||
.layui-form-radio * {
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
|
||||
<div class="layui-colla-content layui-show tips">
|
||||
<p>*商品分类页可以选择布局,不同布局适应不同层级的商品分类。最多显示三级分类</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form" style="margin-top: 15px;">
|
||||
<div class="layui-form-item" style="font-size: 5px !important;">
|
||||
<label class="layui-form-label" style="width: 100px">商品分类页布局</label>
|
||||
{foreach $category_layouts as $k => $v}
|
||||
<div class="layui-inline" style="margin-right: 15px;">
|
||||
<img src="{$v}" style="width:220px;border: 5px solid #ccc" /><br />
|
||||
<input type="radio" name="layout_no" value="{$k}" class="layui-input" title="{$category_layouts_tips[$k]}" {if $k == $layout_no}checked{/if} />
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div>
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm" lay-submit lay-filter="category_layout_submit">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','form','like'], function(){
|
||||
var $ = layui.$
|
||||
, form = layui.form
|
||||
, like = layui.like;
|
||||
|
||||
// 监听提交
|
||||
form.on('submit(category_layout_submit)', function(obj) {
|
||||
like.ajax({
|
||||
url:'{:url("menu_decorate/categoryLayout")}',
|
||||
data: obj.field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
428
application/admin/view/menu_decorate/center_list.html
Normal file
428
application/admin/view/menu_decorate/center_list.html
Normal file
@@ -0,0 +1,428 @@
|
||||
{layout name="layout1" /}
|
||||
<style>
|
||||
.layui-tab-content {
|
||||
height: auto !important;
|
||||
}
|
||||
.layui-form-label {
|
||||
color: #6a6f6c;
|
||||
}
|
||||
.img-content{
|
||||
height:80px;
|
||||
line-height:80px
|
||||
}
|
||||
.img-container {
|
||||
float: left;
|
||||
opacity: 1;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.img-src {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
padding: 4px;
|
||||
}
|
||||
.img-del-x {
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
top: -4px;
|
||||
right: -2px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
font-size: 16px;
|
||||
line-height: 16px;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background: hsla(0, 0%, 60%, .6);
|
||||
border-radius: 10px;
|
||||
}
|
||||
</style>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
|
||||
<div class="layui-colla-content layui-show tips">
|
||||
*设置移动端商城个人中心->我的服务的菜单。支持选择系统模块,填写自定义链接
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 选项卡 -->
|
||||
<div class="layui-tab">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">导航设置</li>
|
||||
<li>其它设置</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content" style="height: 100px;">
|
||||
<div class="layui-tab-item layui-show">
|
||||
<div style="padding-bottom: 10px;">
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-menu_decorate {$view_theme_color}" data-type="add">新增</button>
|
||||
</div>
|
||||
<table id="menu_decorate-lists" lay-filter="menu_decorate-lists"></table>
|
||||
<script type="text/html" id="image">
|
||||
<img src="{{d.image}}" style="height:80px;width: 80px" class="image-show">
|
||||
</script>
|
||||
<script type="text/html" id="status">
|
||||
<input type="checkbox" lay-filter="switch-status" data-id={{d.id}} data-field='is_show' lay-skin="switch"
|
||||
lay-text="显示|隐藏" {{# if(d.is_show){ }} checked {{# } }} />
|
||||
</script>
|
||||
<script type="text/html" id="menu_decorate-operation">
|
||||
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="edit"><i class="layui-icon"></i>编辑</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del"><i class="layui-icon"></i>删除</a>
|
||||
</script>
|
||||
</div>
|
||||
<div class="layui-tab-item">
|
||||
<!-- 其它设置 -->
|
||||
<div class="layui-form" lay-filter="index-setting">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">顶部背景图</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="img-content">
|
||||
<input name="top_bg_image" type="hidden" value="{$center_setting_top_bg_image}">
|
||||
<div class="img-add" {if $center_setting_top_bg_image } style="display: none" {/if} ></div>
|
||||
{if !empty($center_setting_top_bg_image)}
|
||||
<div class="img-container">
|
||||
<img style="width: 100px;height: 100px" class="img-src" src="{$center_setting_top_bg_image}">
|
||||
<a class="img-del-x">x</a>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<span class="layui-word-aux">页面顶部背景图,建议尺寸:宽400px*高400px。jpg,jpeg,png格式</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm" lay-submit lay-filter="center-setting">确 定</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
.layui-table-cell {
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','table','like'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,table = layui.table
|
||||
,like = layui.like;
|
||||
// 数据表格渲染
|
||||
table.render({
|
||||
elem: '#menu_decorate-lists'
|
||||
,url: '{:url("menu_decorate/centerList")}'
|
||||
,cols: [[
|
||||
{field: 'name', title: '菜单名称',width: 200,}
|
||||
,{title: '菜单图标', width: 160,style:'height:100px;',templet: '#image'}
|
||||
,{field: 'link_address', title: '链接地址',width: 180}
|
||||
,{field: 'sort', title: '排序',width: 100, event: 'tips',edit:'text'}
|
||||
,{field: 'is_show', title:'显示', templet: '#status', width: 100, align: 'center'}
|
||||
,{fixed: 'right', title: '操作', align: 'center', toolbar: '#menu_decorate-operation'}
|
||||
]]
|
||||
,page:true
|
||||
,text: {none: '暂无数据!'}
|
||||
,parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
|
||||
return {
|
||||
"code":res.code,
|
||||
"msg":res.msg,
|
||||
"count": res.data.count, //解析数据长度
|
||||
"data": res.data.lists, //解析数据列表
|
||||
};
|
||||
}
|
||||
,done: function(res, curr, count){
|
||||
// 解决操作栏因为内容过多换行问题
|
||||
$(".layui-table-main tr").each(function (index, val) {
|
||||
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
|
||||
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//图片放大
|
||||
$(document).on('click', '.image-show', function () {
|
||||
var src = $(this).attr('src');
|
||||
like.showImg(src,600);
|
||||
});
|
||||
|
||||
//监听显示开关
|
||||
form.on('switch(switch-status)',function (obj) {
|
||||
var ids = [];
|
||||
var id = obj.elem.attributes['data-id'].nodeValue
|
||||
var fields = obj.elem.attributes['data-field'].nodeValue
|
||||
var field_value = 0;
|
||||
ids.push(id);
|
||||
if(this.checked){
|
||||
field_value = 1;
|
||||
}
|
||||
changeFields(ids,fields,field_value)
|
||||
});
|
||||
|
||||
//修改某个字段的值
|
||||
function changeFields(ids,fields,value) {
|
||||
if(fields === 'is_show' && ids.length == 0){
|
||||
layer.msg('请选择菜单');
|
||||
return false;
|
||||
}
|
||||
$.ajax({
|
||||
url:'{:url("menu_decorate/changeFields")}',
|
||||
data:{id:ids,field:fields,value:value},
|
||||
type:'post',
|
||||
dataType:'json',
|
||||
success:function (res) {
|
||||
if(res.code == 1) {
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
} else {
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
}, function(){
|
||||
location.href = location.href;
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//事件
|
||||
var active = {
|
||||
add: function(){
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '新增'
|
||||
,content: '{:url("menu_decorate/add")}?type=2'
|
||||
,area: ['90%','90%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submitID = 'add-menu_decorate-submit'
|
||||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||
var field = data.field;
|
||||
field['decorate_type'] = 2,
|
||||
$.ajax({
|
||||
url:'{:url("menu_decorate/add")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
table.reload('menu_decorate-lists'); //数据刷新
|
||||
}else{
|
||||
iframeWindow.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
submit.trigger('click');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$('.layui-btn.layuiadmin-btn-menu_decorate').on('click', function(){
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
|
||||
// 监听编辑事件
|
||||
table.on('edit(menu_decorate-lists)', function (obj) {
|
||||
var ids = [];
|
||||
var id = obj.data.id;
|
||||
var fields = obj.field;
|
||||
var field_value = obj.value;
|
||||
ids.push(id);
|
||||
if(isNaN(field_value)){
|
||||
var old_value=$(this).prev().text();
|
||||
layer.tips('请输入数字', $(this), {tips: [1, '#FF5722']});
|
||||
$(this).val(old_value);
|
||||
return false;
|
||||
}
|
||||
changeFields(ids,fields,field_value)
|
||||
});
|
||||
|
||||
|
||||
//监听工具条
|
||||
table.on('tool(menu_decorate-lists)', function(obj){
|
||||
if(obj.event === 'del'){
|
||||
var id = obj.data.id;
|
||||
var name = obj.data.name;
|
||||
var decorate_type = obj.data.decorate_type;
|
||||
var tips = '确定删除菜单:';
|
||||
if(decorate_type == 2){
|
||||
tips = '确定删除导航:';
|
||||
}
|
||||
|
||||
layer.confirm(tips+'<span style="color: red">'+name+'</span>', function(index){
|
||||
$.ajax({
|
||||
url:'{:url("menu_decorate/del")}',
|
||||
data:{'id':id},
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
obj.del();
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
}else{
|
||||
layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if(obj.event === 'edit'){
|
||||
var id = obj.data.id;
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '编辑菜单'
|
||||
,content: '{:url("menu_decorate/edit")}?id='+id
|
||||
,area: ['90%','90%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submitID = 'edit-menu_decorate-submit'
|
||||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||
var field = data.field;
|
||||
field['decorate_type'] = 2
|
||||
$.ajax({
|
||||
url:'{:url("menu_decorate/edit")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
table.reload('menu_decorate-lists'); //数据刷新
|
||||
}else{
|
||||
iframeWindow.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
submit.trigger('click');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if(obj.event === 'tips'){
|
||||
layer.tips('数字越大,越靠前', $(this), {tips: [1, '#FF5722'],time:1500});
|
||||
}
|
||||
});
|
||||
|
||||
//上传图片
|
||||
like.imageUpload('.img-add', function (uris, element) {
|
||||
if(uris.length>1){
|
||||
layer.msg('最多最能选中1张图片');
|
||||
return;
|
||||
}
|
||||
var html = '<div class="img-container">\n' +
|
||||
'<img style="width:100px" class="img-src" ' +
|
||||
'src="' + uris[0] + '">' +
|
||||
'<a class="img-del-x">x</a>' +
|
||||
'</div>';
|
||||
element.prev().val(like.getUrlFileName(uris[0], '{$storageUrl}'));
|
||||
element.parent().append(html);
|
||||
element.css('display','none');
|
||||
}, true);
|
||||
//删除图片
|
||||
$(document).on('click', '.img-del-x', function () {
|
||||
$(this).parent().siblings('input').val('');
|
||||
$(this).parent().prev().css('display','block');
|
||||
$(this).parent().remove();
|
||||
});
|
||||
//显示图片
|
||||
$(document).on('click', '.img-src', function () {
|
||||
var image = $(this).attr('src');
|
||||
like.showImg(image,600);
|
||||
});
|
||||
|
||||
// 其它设置 - 表单提交
|
||||
form.on('submit(center-setting)', function(data) {
|
||||
$.ajax({
|
||||
url:'{:url("menu_decorate/setCenterSetting")}',
|
||||
data: data.field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
}else{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
}, function() {
|
||||
location.reload();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
156
application/admin/view/menu_decorate/edit.html
Normal file
156
application/admin/view/menu_decorate/edit.html
Normal file
@@ -0,0 +1,156 @@
|
||||
{layout name="layout2" /}
|
||||
<style>
|
||||
.layui-form-label {
|
||||
color: #6a6f6c;
|
||||
}
|
||||
.img-content{
|
||||
height:80px;
|
||||
line-height:80px
|
||||
}
|
||||
.img-container {
|
||||
float: left;
|
||||
opacity: 1;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.img-src {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
padding: 4px;
|
||||
}
|
||||
.img-del-x {
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
top: -4px;
|
||||
right: -2px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
font-size: 16px;
|
||||
line-height: 16px;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background: hsla(0, 0%, 60%, .6);
|
||||
border-radius: 10px;
|
||||
}
|
||||
</style>
|
||||
<div class="layui-form" lay-filter="">
|
||||
<div class="layui-tab">
|
||||
<input type="hidden" name="id" value="{$decorate.id}">
|
||||
<input type="hidden" name="decorate_type" value="{$decorate.decorate_type}">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="red">*</span>名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" value="{$decorate.name}" name="name" lay-verify="required" lay-verType="tips" placeholder="请输入名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">图标</label>
|
||||
<div class="layui-input-inline">
|
||||
<div class="img-content">
|
||||
<input name="image" type="hidden" value="{$decorate.image}">
|
||||
<div class="img-add" {if $decorate.image } style="display: none" {/if} ></div>
|
||||
{if !empty($decorate.image)}
|
||||
<div class="img-container">
|
||||
<img class="img-src" src="{$decorate.abs_image}">
|
||||
<a class="img-del-x">x</a>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item"><label class="layui-form-label"></label>
|
||||
<span style="color: #a3a3a3;font-size: 9px">建议尺寸:宽200像素*高200像素的jpg,jpeg,png,gif图片</span>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item tips">
|
||||
<label class="layui-form-label"><span class="red">*</span>链接地址</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="link_type" value="1" title="商城模块" {if condition="$decorate.link_type eq 1" }checked{/if}>
|
||||
</div>
|
||||
<div class="layui-input-inline">
|
||||
<select name="menu" lay-verify="required" lay-search="">
|
||||
{foreach $menu_list as $item => $val}
|
||||
<option value="{$item}"{if condition="$decorate.link_address eq $item" }selected{/if} >{$val.name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item"><label class="layui-form-label"></label>
|
||||
<span style="color: #a3a3a3;font-size: 9px">选择系统默认的链接地址</span>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item tips">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="link_type" value="2" title="自定义链接" {if condition="$decorate.link_type eq 2" }checked{/if} >
|
||||
</div>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text"name="url" placeholder="请输入链接" autocomplete="off" class="layui-input" {if condition="$decorate.link_type eq 2" } value="{$decorate.link_address}" {/if}>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item"><label class="layui-form-label"></label>
|
||||
<span style="color: #a3a3a3;font-size: 9px"> 如:https://www.likecms.net/。可设置关联公众号的文章,其它地址需登录微信小程序管理后台配置业务域名</span>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item ">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="sort" value="{$decorate.sort}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item"><label class="layui-form-label"></label>
|
||||
<span style="color: #a3a3a3;font-size: 9px"> 只能填写大于0整数,数字越大排序越前</span>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">显示</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="is_show" value="1" title="显示" {if condition="$decorate.is_show eq 1" }checked{/if}>
|
||||
<input type="radio" name="is_show" value="0" title="隐藏" {if condition="$decorate.is_show eq 0" }checked{/if}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="button" lay-submit lay-filter="edit-menu_decorate-submit" id="edit-menu_decorate-submit" value="确认">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','table','like'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,like = layui.like
|
||||
|
||||
//上传图片
|
||||
like.imageUpload('.img-add', function (uris, element) {
|
||||
if(uris.length>1){
|
||||
layer.msg('最多最能选中1张图片');
|
||||
return;
|
||||
}
|
||||
var html = '<div class="img-container">\n' +
|
||||
'<img class="img-src" ' +
|
||||
'src="' + uris[0] + '">' +
|
||||
'<a class="img-del-x">x</a>' +
|
||||
'</div>';
|
||||
element.prev().val(like.getUrlFileName(uris[0], '{$storageUrl}'));
|
||||
element.parent().append(html);
|
||||
element.css('display','none');
|
||||
}, true);
|
||||
//删除图片
|
||||
$(document).on('click', '.img-del-x', function () {
|
||||
$(this).parent().siblings('input').val('');
|
||||
$(this).parent().prev().css('display','block');
|
||||
$(this).parent().remove();
|
||||
});
|
||||
//显示图片
|
||||
$(document).on('click', '.img-src', function () {
|
||||
var image = $(this).attr('src');
|
||||
like.showImg(image,600);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
132
application/admin/view/menu_decorate/edit_navigation.html
Normal file
132
application/admin/view/menu_decorate/edit_navigation.html
Normal file
@@ -0,0 +1,132 @@
|
||||
{layout name="layout1" /}
|
||||
<style>
|
||||
.layui-form {
|
||||
margin-top: 15px;
|
||||
}
|
||||
.reqRed::before {
|
||||
content: '*';
|
||||
color: red;
|
||||
}
|
||||
.layui-form-label {
|
||||
color: #6a6f6c;
|
||||
}
|
||||
.img-content{
|
||||
height:80px;
|
||||
line-height:80px
|
||||
}
|
||||
.img-container {
|
||||
float: left;
|
||||
opacity: 1;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.img-src {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
padding: 4px;
|
||||
}
|
||||
.img-del-x {
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
top: -4px;
|
||||
right: -2px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
font-size: 16px;
|
||||
line-height: 16px;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background: hsla(0, 0%, 60%, .6);
|
||||
border-radius: 10px;
|
||||
}
|
||||
</style>
|
||||
<div class="layui-form">
|
||||
<input type="hidden" name="id" value="{$navigation.id}" />
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label reqRed">导航名称</label>
|
||||
<div class="layui-input-block" style="width: 200px;">
|
||||
<input type="text" name="name" value="{$navigation.name}" required lay-verify="required" class="layui-input" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">选中图标</label>
|
||||
<div class="layui-input-block" style="width: 200px;">
|
||||
<div class="img-content">
|
||||
<input name="selected_icon" type="hidden" value="{$navigation.selected_icon}">
|
||||
<div class="img-add" {if $navigation.selected_icon } style="display: none" {/if} ></div>
|
||||
{if !empty($navigation.selected_icon)}
|
||||
<div class="img-container">
|
||||
<img style="width:100px; height: 100px;" class="img-src" src="{$navigation.selected_icon}">
|
||||
<a class="img-del-x">x</a>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item"><label class="layui-form-label"></label>
|
||||
<span style="color: #a3a3a3;font-size: 9px">建议尺寸:宽100像素*高100像素的jpg,jpeg,png,gif图片。不传则使用默认图标</span>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">未选中图标</label>
|
||||
<div class="layui-input-block" style="width: 200px;">
|
||||
<input name="un_selected_icon" type="hidden" value="{$navigation.un_selected_icon}">
|
||||
<div class="img-add" {if $navigation.un_selected_icon } style="display: none" {/if} ></div>
|
||||
{if !empty($navigation.un_selected_icon)}
|
||||
<div class="img-container">
|
||||
<img style="width:100px; height: 100px;" class="img-src" src="{$navigation.un_selected_icon}">
|
||||
<a class="img-del-x">x</a>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item"><label class="layui-form-label"></label>
|
||||
<span style="color: #a3a3a3;font-size: 9px">建议尺寸:宽100像素*高100像素的jpg,jpeg,png,gif图片。不传则使用默认图标</span>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block" style="width: 200px;">
|
||||
<button class="layui-btn layui-hide" lay-submit id="edit-navigation_decorate-submit" lay-filter="edit-navigation_decorate-submit">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','table','like'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,table = layui.table
|
||||
,like = layui.like;
|
||||
|
||||
// 图片上传
|
||||
like.imageUpload('.img-add', function (uris, element) {
|
||||
if(uris.length>1){
|
||||
layer.msg('最多最能选中1张图片');
|
||||
return;
|
||||
}
|
||||
var html = '<div class="img-container">\n' +
|
||||
'<img style="width: 100px; height: 100px;" class="img-src" ' +
|
||||
'src="' + uris[0] + '">' +
|
||||
'<a class="img-del-x">x</a>' +
|
||||
'</div>';
|
||||
element.prev().val(like.getUrlFileName(uris[0], '{$storageUrl}'));
|
||||
element.parent().append(html);
|
||||
element.css('display','none');
|
||||
}, true);
|
||||
//删除图片
|
||||
$(document).on('click', '.img-del-x', function () {
|
||||
$(this).parent().siblings('input').val('');
|
||||
$(this).parent().prev().css('display','block');
|
||||
$(this).parent().remove();
|
||||
});
|
||||
//显示图片
|
||||
$(document).on('click', '.img-src', function () {
|
||||
var image = $(this).attr('src');
|
||||
like.showImg(image,600);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
468
application/admin/view/menu_decorate/index_list.html
Normal file
468
application/admin/view/menu_decorate/index_list.html
Normal file
@@ -0,0 +1,468 @@
|
||||
{layout name="layout1" /}
|
||||
<style>
|
||||
.layui-tab-content {
|
||||
height: auto !important;
|
||||
}
|
||||
.layui-form-label {
|
||||
color: #6a6f6c;
|
||||
}
|
||||
.img-content{
|
||||
height:80px;
|
||||
line-height:80px
|
||||
}
|
||||
.img-container {
|
||||
float: left;
|
||||
opacity: 1;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.img-src {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
padding: 4px;
|
||||
}
|
||||
.img-del-x {
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
top: -4px;
|
||||
right: -2px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
font-size: 16px;
|
||||
line-height: 16px;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background: hsla(0, 0%, 60%, .6);
|
||||
border-radius: 10px;
|
||||
}
|
||||
</style>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
|
||||
<div class="layui-colla-content layui-show tips">
|
||||
*设置移动端商城首页导航区的菜单。支持选择系统模块、填写自定义链接
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 选项卡 -->
|
||||
<div class="layui-tab">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">导航设置</li>
|
||||
<li>其它设置</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content" style="height: 100px;">
|
||||
<div class="layui-tab-item layui-show">
|
||||
<!-- 导航设置 -->
|
||||
<div style="padding-bottom: 10px;">
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-menu_decorate {$view_theme_color}" data-type="add">新增</button>
|
||||
</div>
|
||||
<table id="menu_decorate-lists" lay-filter="menu_decorate-lists"></table>
|
||||
<script type="text/html" id="image">
|
||||
<img src="{{d.image}}" style="height:80px;width: 80px" class="image-show">
|
||||
</script>
|
||||
<script type="text/html" id="status">
|
||||
<input type="checkbox" lay-filter="switch-status" data-id={{d.id}} data-field='is_show' lay-skin="switch"
|
||||
lay-text="显示|隐藏" {{# if(d.is_show){ }} checked {{# } }} />
|
||||
</script>
|
||||
<script type="text/html" id="menu_decorate-operation">
|
||||
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="edit"><i class="layui-icon"></i>编辑</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del"><i class="layui-icon"></i>删除</a>
|
||||
</script>
|
||||
</div>
|
||||
<div class="layui-tab-item">
|
||||
<!-- 其它设置 -->
|
||||
<div class="layui-form" lay-filter="index-setting">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商城logo</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="logo" value="1" title="开启" {if $index_setting_logo == 1}checked{/if} />
|
||||
<input type="radio" name="logo" value="0" title="关闭" {if $index_setting_logo == 0}checked{/if} />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<span class="layui-word-aux">开启或关闭商城logo在首页的显示,默认开启</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">热销榜单</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="hots" value="1" title="开启" {if $index_setting_hots == 1}checked{/if} />
|
||||
<input type="radio" name="hots" value="0" title="关闭" {if $index_setting_hots == 0}checked{/if} />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<span class="layui-word-aux">开启或关闭热销榜单在首页的显示,默认开启</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">新品推荐</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="news" value="1" title="开启" {if $index_setting_news == 1}checked{/if} />
|
||||
<input type="radio" name="news" value="0" title="关闭" {if $index_setting_news == 0}checked{/if} />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<span class="layui-word-aux">开启或关闭新品推荐在首页的显示,默认开启</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">顶部背景图</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="img-content">
|
||||
<input name="top_bg_image" type="hidden" value="{$index_setting_top_bg_image}">
|
||||
<div class="img-add" {if $index_setting_top_bg_image } style="display: none" {/if} ></div>
|
||||
{if !empty($index_setting_top_bg_image)}
|
||||
<div class="img-container">
|
||||
<img style="width: 100px" class="img-src" src="{$index_setting_top_bg_image}">
|
||||
<a class="img-del-x">x</a>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<span class="layui-word-aux">页面顶部背景图,建议尺寸:宽400px*高400px。jpg,jpeg,png格式</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm" lay-submit lay-filter="index-setting">确 定</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
.layui-table-cell {
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','table','like'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,table = layui.table
|
||||
,like = layui.like;
|
||||
// 数据表格渲染
|
||||
table.render({
|
||||
elem: '#menu_decorate-lists'
|
||||
,url: '{:url("menu_decorate/indexList")}'
|
||||
,cols: [[
|
||||
{field: 'name', title: '菜单名称',width: 200,}
|
||||
,{title: '菜单图标', width: 160,style:'height:100px;',templet: '#image'}
|
||||
,{field: 'link_address', title: '链接地址',width: 180}
|
||||
,{field: 'sort', title: '排序',width: 100, event: 'tips',edit:'text'}
|
||||
,{field: 'is_show', title:'显示', templet: '#status', width: 100, align: 'center'}
|
||||
,{fixed: 'right', title: '操作', align: 'center', toolbar: '#menu_decorate-operation'}
|
||||
]]
|
||||
,page:true
|
||||
,text: {none: '暂无数据!'}
|
||||
,parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
|
||||
return {
|
||||
"code":res.code,
|
||||
"msg":res.msg,
|
||||
"count": res.data.count, //解析数据长度
|
||||
"data": res.data.lists, //解析数据列表
|
||||
};
|
||||
}
|
||||
,done: function(res, curr, count){
|
||||
// 解决操作栏因为内容过多换行问题
|
||||
$(".layui-table-main tr").each(function (index, val) {
|
||||
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
|
||||
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//图片放大
|
||||
$(document).on('click', '.image-show', function () {
|
||||
var src = $(this).attr('src');
|
||||
like.showImg(src,600);
|
||||
});
|
||||
|
||||
//监听显示开关
|
||||
form.on('switch(switch-status)',function (obj) {
|
||||
var ids = [];
|
||||
var id = obj.elem.attributes['data-id'].nodeValue
|
||||
var fields = obj.elem.attributes['data-field'].nodeValue
|
||||
var field_value = 0;
|
||||
ids.push(id);
|
||||
if(this.checked){
|
||||
field_value = 1;
|
||||
}
|
||||
changeFields(ids,fields,field_value)
|
||||
});
|
||||
|
||||
//修改某个字段的值
|
||||
function changeFields(ids,fields,value) {
|
||||
if(fields === 'is_show' && ids.length == 0){
|
||||
layer.msg('请选择菜单');
|
||||
return false;
|
||||
}
|
||||
$.ajax({
|
||||
url:'{:url("menu_decorate/changeFields")}',
|
||||
data:{id:ids,field:fields,value:value},
|
||||
type:'post',
|
||||
dataType:'json',
|
||||
success:function (res) {
|
||||
if(res.code == 1) {
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
} else {
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
}, function(){
|
||||
location.href = location.href;
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//事件
|
||||
var active = {
|
||||
add: function(){
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '新增'
|
||||
,content: '{:url("menu_decorate/add")}?type=1'
|
||||
,area: ['90%','90%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submitID = 'add-menu_decorate-submit'
|
||||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||
var field = data.field;
|
||||
field['decorate_type'] = 1,
|
||||
$.ajax({
|
||||
url:'{:url("menu_decorate/add")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
table.reload('menu_decorate-lists'); //数据刷新
|
||||
}else{
|
||||
iframeWindow.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
submit.trigger('click');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$('.layui-btn.layuiadmin-btn-menu_decorate').on('click', function(){
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
|
||||
// 监听编辑事件
|
||||
table.on('edit(menu_decorate-lists)', function (obj) {
|
||||
var ids = [];
|
||||
var id = obj.data.id;
|
||||
var fields = obj.field;
|
||||
var field_value = obj.value;
|
||||
ids.push(id);
|
||||
if(isNaN(field_value)){
|
||||
var old_value=$(this).prev().text();
|
||||
layer.tips('请输入数字', $(this), {tips: [1, '#FF5722']});
|
||||
$(this).val(old_value);
|
||||
return false;
|
||||
}
|
||||
changeFields(ids,fields,field_value)
|
||||
});
|
||||
|
||||
|
||||
//监听工具条
|
||||
table.on('tool(menu_decorate-lists)', function(obj){
|
||||
if(obj.event === 'del'){
|
||||
var id = obj.data.id;
|
||||
var name = obj.data.name;
|
||||
var decorate_type = obj.data.decorate_type;
|
||||
var tips = '确定删除菜单:';
|
||||
if(decorate_type == 2){
|
||||
tips = '确定删除导航:';
|
||||
}
|
||||
|
||||
layer.confirm(tips+'<span style="color: red">'+name+'</span>', function(index){
|
||||
$.ajax({
|
||||
url:'{:url("menu_decorate/del")}',
|
||||
data:{'id':id},
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
obj.del();
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
}else{
|
||||
layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if(obj.event === 'edit'){
|
||||
var id = obj.data.id;
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '编辑菜单'
|
||||
,content: '{:url("menu_decorate/edit")}?id='+id
|
||||
,area: ['90%','90%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submitID = 'edit-menu_decorate-submit'
|
||||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||
var field = data.field;
|
||||
field['decorate_type'] = 1
|
||||
$.ajax({
|
||||
url:'{:url("menu_decorate/edit")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
table.reload('menu_decorate-lists'); //数据刷新
|
||||
}else{
|
||||
iframeWindow.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
submit.trigger('click');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if(obj.event === 'tips'){
|
||||
layer.tips('数字越大,越靠前', $(this), {tips: [1, '#FF5722'],time:1500});
|
||||
}
|
||||
});
|
||||
|
||||
//上传图片
|
||||
like.imageUpload('.img-add', function (uris, element) {
|
||||
if(uris.length>1){
|
||||
layer.msg('最多最能选中1张图片');
|
||||
return;
|
||||
}
|
||||
var html = '<div class="img-container">\n' +
|
||||
'<img style="width:100px" class="img-src" ' +
|
||||
'src="' + uris[0] + '">' +
|
||||
'<a class="img-del-x">x</a>' +
|
||||
'</div>';
|
||||
element.prev().val(like.getUrlFileName(uris[0], '{$storageUrl}'));
|
||||
element.parent().append(html);
|
||||
element.css('display','none');
|
||||
}, true);
|
||||
//删除图片
|
||||
$(document).on('click', '.img-del-x', function () {
|
||||
$(this).parent().siblings('input').val('');
|
||||
$(this).parent().prev().css('display','block');
|
||||
$(this).parent().remove();
|
||||
});
|
||||
//显示图片
|
||||
$(document).on('click', '.img-src', function () {
|
||||
var image = $(this).attr('src');
|
||||
like.showImg(image,600);
|
||||
});
|
||||
|
||||
// 其它设置 - 表单提交
|
||||
form.on('submit(index-setting)', function(data) {
|
||||
$.ajax({
|
||||
url:'{:url("menu_decorate/setIndexSetting")}',
|
||||
data: data.field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
}else{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
}, function() {
|
||||
location.reload();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user