添加网站文件

This commit is contained in:
2025-12-22 13:59:40 +08:00
commit 117aaf83d1
19468 changed files with 2111999 additions and 0 deletions

View File

@@ -0,0 +1,151 @@
{layout name="layout2" /}
<style>
.layui-form-label {
color: #6a6f6c;
width: 140px;
}
.layui-input-block{
margin-left:170px;
}
.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="layuiadmin-form-category" id="layuiadmin-form-category" style="padding: 20px 30px 0 0;">
<div class="layui-form-item">
<label class="layui-form-label">名称:</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">
<select name="pid" lay-verify="required" placeholder="请选择父级分类" lay-filter="search_pid">
<option value="0" data-level="1">顶级分类</option>
{foreach $category_list as $item => $val}
<option value="{$item}" data-level={$val.level}>{$val.name}</option>
{/foreach}
</select>
</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像素的jpgjpegpnggif图片</span>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序:</label>
<div class="layui-input-inline">
<input type="text" value="0" name="sort" placeholder="请输入排序" class="layui-input">
</div>
</div>
<div class="layui-form-item is_recommend">
<label class="layui-form-label">首页推荐:</label>
<div class="layui-input-inline">
<input type="radio" name="is_recommend" value="1" title="推荐" checked>
<input type="radio" name="is_recommend" value="0" title="不推荐">
</div>
</div>
<div class="layui-form-item is_recommend">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">当前分类推荐在PC商城首页显示默认推荐</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">
<label class="layui-form-label">备注:</label>
<div class="layui-input-inline">
<textarea type="text" name="remark" autocomplete="off" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="add-goods_category-submit" id="add-goods_category-submit" value="确认">
</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;
//上传图片
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);
});
//监听分类父级选择
form.on('select(search_pid)', function(data){
if(0 == data.value){
$('.is_recommend').show();
}else{
$('.is_recommend').hide();
}
});
})
</script>

View File

@@ -0,0 +1,182 @@
{layout name="layout2" /}
<style>
.layui-form-label {
color: #6a6f6c;
width: 140px;
}
.layui-input-block{
margin-left:170px;
}
.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="layuiadmin-form-category" id="layuiadmin-form-category" style="padding: 20px 30px 0 0;">
<input type="hidden" value="{$info.id}" name="id">
<div class="layui-form-item">
<label class="layui-form-label">名称:</label>
<div class="layui-input-inline">
<input type="text" name="name" value="{$info.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">
<select name="pid" lay-verify="required" placeholder="请选择父级分类" lay-filter="search_pid">
<option value="0" data-level="1">顶级分类</option>
{foreach $category_list as $item => $val}
<option value="{$item}"data-level={$val.level}{if $info.pid == $item} selected="selected" {/if}>{$val.name}</option>
{/foreach}
</select>
</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="{$info.image}">
<div class="img-add" {if $info.image } style="display: none" {/if} ></div>
{if !empty($info.image)}
<div class="img-container">
<img class="img-src" src="{$info.abs_image}">
<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">建议尺寸宽200像素*高200像素的jpgjpegpnggif图片</span>
</div>
<div class="layui-form-item layui-col-sm6 layui-col-md4">
<label class="layui-form-label">排序:</label>
<div class="layui-input-block">
<input type="number" name="sort" value="{$info.sort}" placeholder="请输入排序" class="layui-input">
</div>
</div>
{if condition="$info['pid'] eq 0" }
<div class="layui-form-item is_recommend">
<label class="layui-form-label">首页推荐:</label>
<div class="layui-input-inline">
<input type="radio" name="is_recommend" value="1" title="推荐" {if condition="$info['is_recommend'] eq 1" }checked{/if}>
<input type="radio" name="is_recommend" value="0" title="不推荐" {if condition="$info['is_recommend'] eq 0" }checked{/if}>
</div>
</div>
<div class="layui-form-item is_recommend">
<label class="layui-form-label"></label>
<span style="color: #a3a3a3;font-size: 9px">当前分类推荐在PC商城首页显示默认推荐</span>
</div>
{/if}
<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="$info['is_show'] eq 1" }checked{/if}>
<input type="radio" name="is_show" value="0" title="不显示" {if condition="$info['is_show'] eq 0" }checked{/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-inline">
<textarea type="text" name="remark" autocomplete="off" class="layui-textarea">{$info.remark}</textarea>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="edit-goods_category-submit" id="edit-goods_category-submit" value="确认">
</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;
var level = $(".category").find("option:selected").attr("data-level");
if(level == 2){
$('.alliance_ratio').show();
$('.autotrophy_ratio').show();
}
//监听分类父级选择
form.on('select(search_pid)', function(data){
if(0 == data.value){
$('.is_recommend').show();
}else{
$('.is_recommend').hide();
}
});
$(document).on('click', '.image-del-x', function () {
$(this).parent().prev().val('');
$(this).parent().siblings('.image-add').css('display','block');
$(this).parent().remove();
return false;
});
//上传图片
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);
});
form.on('select(category)', function(data){
var level = $(data.elem).find("option:selected").attr("data-level");
$('.alliance_ratio').hide();
$('.autotrophy_ratio').hide();
if(level == 2){
$('.alliance_ratio').show();
$('.autotrophy_ratio').show();
}
});
})
</script>

View File

@@ -0,0 +1,302 @@
{layout name="layout1" /}
<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">
<p>*用户可以根据商品分类搜索商品,请正确创建分类。</p>
<p>*点击分类名称前符号,显示该商品分类的下级分类。</p>
</div>
</div>
</div>
</div>
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
<div class="layui-form-item">
<div class="layui-btn-container" style="display: inline-block;">
<div class="layui-btn-group">
<button class="layui-btn layui-btn-sm layui-btn-goods_category {$view_theme_color}" id="goods_category-add">添加</button>
<button class="layui-btn layui-btn-sm layui-btn-goods_category {$view_theme_color}" id="expand-all">全部展开</button>
<button class="layui-btn layui-btn-sm layui-btn-goods_category {$view_theme_color}" id="fold-all">全部折叠</button>
</div>
</div>
<input type="text" id="search-value" placeholder="请输入" autocomplete="off" class="layui-input" style="display: inline-block;width: 140px;padding: 0 5px;margin-right: 5px;">
<div class="layui-btn-container" style="display: inline-block;">
<button id="search" class="layui-btn layui-btn-sm layui-btn-goods_category {$view_theme_color}">
<i class="layui-icon">&#xe615;</i>搜索
</button>
</div>
</div>
</div>
<div class="layui-card-body">
<table id="goods_category-lists" lay-filter="goods_category-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="is_recommend">
{{# if(d.is_recommend == 1){ }}
推荐
{{# }else{}}
不推荐
{{#}}}
</script>
<!-- 表格操作列 -->
<script type="text/html" id="goods_category-operation">
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="edit">修改</a>
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del">删除</a>
</script>
<!-- 表格状态列 -->
<script type="text/html" id="is_show">
<input type="checkbox" lay-filter="switch-is_show" data-id={{d.id}} data-field='is_show' lay-skin="switch"
lay-text="显示|隐藏" {{# if(d.is_show){ }} checked {{# } }} />
</script>
</div>
</div>
</div>
<style>
.layui-table-cell {
height: auto;
}
</style>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/' //静态资源所在路径
}).extend({
treeTable: 'treetable-lay/treeTable'
,like: 'layui-admin/dist/layuiadmin/modules/like',
}).use(['layer', 'treeTable','form','like','element'], function () {
var $ = layui.jquery;
var layer = layui.layer;
var treeTable = layui.treeTable;
var form = layui.form;
var like = layui.like;
var data ={$category_tree|raw};
console.log(data);
var insTb = treeTable.render({
elem: '#goods_category-lists',
data: data,
tree: {
iconIndex:0,
childName:'sub',
treeColIndex:3,
getIcon: function (d) { // 自定义图标
return '<i class="ew-tree-icon layui-icon layui-icon-spread-left "></i>';
}
},
cols: [
{field: 'name', title: '分类名称',width: 280},
{field: '#image', title: '分类图标', width: 120,style:'height:100px;',toolbar: '#image', align: 'center'},
{templet: '#is_recommend', title: '首页推荐', width: 100,align: 'center'},
{templet: '#is_show', title: '显示', width: 100},
{field: 'sort', title: '排序', width: 80, align: 'center',event: 'tips',sort: true},
{fixed: 'right', align: 'center', toolbar: '#goods_category-operation', title: '操作', width: 180}
],
style: 'margin-top:0;'
});
form.on('switch(switch-is_show)',function (obj) {
var id = obj.elem.attributes['data-id'].nodeValue
var status = 0;
if(this.checked){
status = 1;
}
like.ajax({
url:'{:url("goods_category/switchStatus")}',
data:{id:id,status:status},
type:'post',
success:function (res) {
if(res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
}
}
})
})
treeTable.on('tool(goods_category-lists)', function (obj) {
var event = obj.event;
if (event === 'del') {
var id = obj.data.id;
var name = obj.data.name;
layer.confirm('确定删除商品分类:'+'<span style="color: red">'+name+'</span>', function(index) {
var ids = [id];
$.ajax({
url: '{:url("goods_category/del")}',
data: {ids: id},
type: 'post',
dataType: 'json',
success: function (res) {
if (res.code === 1) {
obj.del();
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
} else {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
},function () {
window.location.href = window.location.href;
});
}
}
})
})
}
if (event === 'edit') {
var id = obj.data.id;
layer.open({
type: 2
,title: '编辑商品分类'
,content: '{:url("goods_category/edit")}?id='+id
,area: ['90%','90%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'edit-goods_category-submit'
,submit = layero.find('iframe').contents().find('#'+submitID);
//监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
var field = data.field; //获取提交的字段
$.ajax({
url:'{:url("GoodsCategory/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); //关闭弹层
location.reload();//刷新
}else{
iframeWindow.layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
},
error:function(res)
{
layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
});
});
submit.trigger('click');
}
,success: function(layero, index){
}
})
}
});
$('#goods_category-add').click(function () {
layer.open({
type: 2
,title: '新增商品分类'
,content: '{:url("goods_category/add")}'
,area: ['90%','90%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'add-goods_category-submit'
,submit = layero.find('iframe').contents().find('#'+submitID);
//监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
var field = data.field; //获取提交的字段
$.ajax({
url:'{:url("goods_category/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); //关闭弹层
location.reload();//刷新
}else{
iframeWindow.layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
},
error:function(res)
{
layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
});
});
submit.trigger('click');
}
,success: function(layero, index){
}
})
})
// 全部展开
$('#expand-all').click(function () {
insTb.expandAll();
});
// 全部折叠
$('#fold-all').click(function () {
insTb.foldAll();
});
//搜索
$('#search').click(function () {
var keywords = $('#search-value').val();
if (keywords) {
insTb.filterData(keywords);
} else {
insTb.clearFilter();
}
});
//图片放大
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src,600);
});
});
</script>