初始上传
This commit is contained in:
84
app/shop/view/memberlabel/add_label.html
Executable file
84
app/shop/view/memberlabel/add_label.html
Executable 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>
|
||||
85
app/shop/view/memberlabel/edit_label.html
Executable file
85
app/shop/view/memberlabel/edit_label.html
Executable 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>
|
||||
243
app/shop/view/memberlabel/label_list.html
Executable file
243
app/shop/view/memberlabel/label_list.html
Executable 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"></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>
|
||||
Reference in New Issue
Block a user