初始上传

This commit is contained in:
2026-04-04 17:27:12 +08:00
parent 4d80d28eb4
commit b7e11774ee
11191 changed files with 1588469 additions and 0 deletions

View File

@@ -0,0 +1,84 @@
<div class="layui-form form-wrap">
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>标签名称:</label>
<div class="layui-input-block">
<input type="text" name="label_name" lay-verify="required" class="layui-input len-long">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序:</label>
<div class="layui-input-block">
<input type="number" name="sort" value="0" lay-verify="num" class="layui-input len-short">
</div>
<div class="word-aux">排序值必须为整数</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-block">
<textarea name="remark" autocomplete="off" class="layui-textarea len-long" maxlength="150"></textarea>
</div>
</div>
<div class="form-row">
<button type="button" class="layui-btn" lay-submit lay-filter="save">保存</button>
<button class="layui-btn layui-btn-primary" onclick="location.hash= ns.hash('shop/memberlabel/labelList')">返回</button>
</div>
</div>
<script>
layui.use('form', function() {
var form = layui.form,
repeat_flag = false; //防重复
form.render();
form.on('submit(save)', function(data) {
if(repeat_flag) return;
repeat_flag = true;
$.ajax({
url: ns.url("shop/memberlabel/addLabel"),
data: data.field,
dataType: 'JSON',
type: 'POST',
success: function(res) {
repeat_flag = false;
if (res.code == 0) {
layer.confirm('添加成功', {
title:'操作提示',
btn: ['返回列表', '继续添加'],
closeBtn: 0,
yes: function(index, layero) {
location.hash = ns.hash("shop/memberlabel/labelList")
layer.close(index);
},
btn2: function(index, layero) {
listenerHash(); // 刷新页面
layer.close(index);
}
});
}else{
layer.msg(res.message);
}
}
});
});
form.verify({
num: function (value) {
if (value == '') {
return;
}
if (value%1 != 0) {
return '排序数值必须为整数';
}
if (value < 0) {
return '排序数值必须为大于0';
}
}
});
});
</script>

View File

@@ -0,0 +1,85 @@
<div class="layui-form form-wrap">
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>标签名称:</label>
<div class="layui-input-block">
<input type="text" name="label_name" lay-verify="required" value="{$label_info.data.label_name}" class="layui-input len-long">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序:</label>
<div class="layui-input-block">
<input type="number" name="sort" class="layui-input len-short" value="{$label_info.data.sort}" lay-verify="num" >
</div>
<div class="word-aux">排序值必须为整数</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-block">
<textarea name="remark" autocomplete="off" placeholder="" class="layui-textarea len-long" maxlength="150">{$label_info.data.remark}</textarea>
</div>
</div>
<!-- 表单操作 -->
<div class="form-row">
<button type="button" class="layui-btn" lay-submit lay-filter="save">保存</button>
<button class="layui-btn layui-btn-primary" onclick="location.hash= ns.hash('shop/memberlabel/labelList')">返回</button>
</div>
<input type="hidden" name="label_id" lay-verify="required" value="{$label_info.data.label_id}" class="layui-input">
</div>
<script>
layui.use('form', function(){
var form = layui.form;
var repeat_flag = false; //防重复
form.render();
form.on('submit(save)', function(data){
if(repeat_flag) return;
repeat_flag = true;
$.ajax({
url:ns.url("shop/memberlabel/editLabel"),
data: data.field,
dataType:'JSON',
type:'POST',
success:function(res){
repeat_flag = false;
if (res.code == 0) {
layer.confirm('编辑成功', {
title:'操作提示',
btn: ['返回列表', '继续操作'],
yes: function(index, layero) {
location.hash = ns.hash("shop/memberlabel/labelList")
layer.close(index);
},
btn2: function(index, layero) {
layer.close(index);
}
});
}else{
layer.msg(res.message);
}
}
});
});
form.verify({
num: function (value) {
if (value == '') {
return;
}
if (value%1 != 0) {
return '排序数值必须为整数';
}
if (value < 0) {
return '排序数值必须为大于0';
}
}
});
});
</script>

View File

@@ -0,0 +1,243 @@
<style>
.layui-layout-admin .single-filter-box{padding: 0;}
</style>
<!-- 搜索框 -->
<div class="single-filter-box">
<button class="layui-btn" onclick="location.hash= ns.hash('shop/memberlabel/addLabel')">添加标签</button>
<div class="layui-form">
<div class="layui-input-inline">
<input type="text" id="search_text" name="search_text" placeholder="请输入标签名称" autocomplete="off" class="layui-input">
<button type="button" class="layui-btn layui-btn-primary" lay-filter="search" lay-submit>
<i class="layui-icon">&#xe615;</i>
</button>
</div>
</div>
</div>
<!-- 会员标签列表 -->
<table id="label_info" lay-filter="label_info" ></table>
<script type="text/html" id="label_id">
{{# layui.each(res.data, function(index, item){ }}
<input type="checkbox" name="label_id" value="{{item.label_id}}" />
{{# }); }}
</script>
<script type="text/html" id="operation">
<div class="table-btn">
<a class="layui-btn" lay-event="edit">编辑</a>
<a class="layui-btn" lay-event="delete">删除</a>
</div>
</script>
<!-- 顶部工具栏 -->
<script type="text/html" id="toolbarOperation">
<button class="layui-btn layui-btn-primary" lay-event="del">批量删除</button>
</script>
<!-- 批量删除 -->
<script type="text/html" id="batchOperation">
<button class="layui-btn layui-btn-primary" lay-event="del">批量删除</button>
</script>
<!-- 编辑排序 -->
<script type="text/html" id="editSort">
<input name="sort" type="number" onchange="editSort({{d.label_id}}, this)" value="{{d.sort}}" class="layui-input edit-sort len-short">
</script>
<script>
var form, table;
layui.use(['form'], function() {
form = layui.form;
var repeat_flag = false;
/**
* 加载表格
*/
table = new Table({
elem: '#label_info',
url: ns.url("shop/memberlabel/labelList"),
cols: [
[
{
width: "3%",
type: 'checkbox',
templet: '#label_id',
unresize:'false'
}, {
field: 'label_name',
title: '标签名称',
width: '17%',
unresize:'false'
}, {
unresize:'false',
field: 'remark',
title: '备注',
width: '22%',
}, {
unresize:'false',
field: 'modify_time',
title: '创建时间',
width: '18%',
templet: function (data) {
return ns.time_to_date(data.create_time); //创建时间转换方法
}
}, {
field: 'sort',
unresize:'false',
title: '排序',
width: '20%',
align: 'center',
sort : true,
templet: '#editSort'
}, {
unresize:'false',
title: '操作',
toolbar: '#operation',
align : 'right'
}
]
],
toolbar: '#toolbarOperation',
bottomToolbar: "#batchOperation"
});
table.on("sort",function (obj) {
table.reload({
page: {
curr: 1
},
where: {
order:obj.field,
sort:obj.type
}
});
});
/**
* 监听工具栏操作
*/
table.tool(function(obj) {
var data = obj.data;
switch (obj.event) {
case 'edit': //编辑
location.hash = ns.hash("shop/memberlabel/editLabel?label_id="+data.label_id)
break;
case 'delete': //删除
deleteLabel(data.label_id);
break;
}
});
/**
* 删除
*/
function deleteLabel(label_ids) {
if (repeat_flag) return false;
repeat_flag = true;
layer.confirm('确定要删除该标签吗?', function(index) {
layer.close(index);
$.ajax({
url: ns.url("shop/memberlabel/deleteLabel"),
data: {label_ids},
dataType: 'JSON',
type: 'POST',
success: function(res) {
layer.msg(res.message);
repeat_flag = false;
if (res.code == 0) {
table.reload();
}
}
});
}, function () {
layer.close();
repeat_flag = false;
});
}
/**
* 批量操作
*/
table.bottomToolbar(function(obj) {
if (obj.data.length < 1) {
layer.msg('请选择要操作的数据');
return;
}
switch (obj.event) {
case "del":
var id_array = new Array();
for (i in obj.data) id_array.push(obj.data[i].label_id);
deleteLabel(id_array.toString());
break;
}
});
//监听事件
table.toolbar(function(obj){
if (obj.data.length < 1) {
layer.msg('请选择要操作的数据');
return;
}
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'del':
var id_array = new Array();
for (i in obj.data) id_array.push(obj.data[i].label_id);
deleteLabel(id_array.toString());
break;
}
});
// 搜索
form.on('submit(search)', function(data){
table.reload({
page: {
curr: 1
},
where: data.field
});
});
});
// 监听单元格编辑
function editSort(id, event){
var data = $(event).val();
if (data == '') {
$(event).val(0);
data = 0;
}
if(!new RegExp("^-?[0-9]\\d*$").test(data)){
layer.msg("排序号只能是整数");
return ;
}
if(data<0){
layer.msg("排序号必须大于0");
return ;
}
$.ajax({
type: 'POST',
url: ns.url("shop/memberlabel/modifySort"),
data: {
sort: data,
label_id: id
},
dataType: 'JSON',
success: function(res) {
layer.msg(res.message);
if(res.code==0){
table.reload();
}
}
});
}
</script>