caipan_shop_admin/public/static/manager/js/member.js

223 lines
7.3 KiB
JavaScript
Executable File

layui.use(['laytpl', 'table','jquery', 'form', 'miniTab', 'tree'], function () {
let $ = layui.jquery,
form = layui.form,
table = layui.table,
layer = layui.layer,
tree = layui.tree,
miniTab = layui.miniTab;
let modifyUrl = $('#row-modify').data('url');
/**** index begin ***/
//index页面
if ($('.location-index-page').length > 0) {
miniTab.listen();
// 渲染表格
let listUrl = $('#table-container').data('url');
let insTb = table.render({
elem: '#table-container',
toolbar: '#toolbar-tpl',
defaultToolbar: [{ //自定义头部工具栏右侧图标。如无需自定义,去除该参数即可
title: '搜索'
,layEvent: 'search'
,icon: 'layui-icon-search'
}],
url: listUrl,
method: 'post',
even: true,
request: {
pageName: 'page',
limitName: 'size',
},
parseData: function(res){
return {
"code": res.code, //解析接口状态
"msg": res.msg, //解析提示文本
"count": res.data.total, //解析数据长度
"data": res.data.list //解析数据列表
};
},
page: true,
cols: [[
{type: 'checkbox'},
{field: 'username', minWidth: 200, title: '用户名'},
{field: 'nickname', minWidth: 200, title: '昵称'},
{field: 'mobile', minWidth: 200, title: '手机号'},
{templet: '#row-status',field: 'status', minWidth: 180,align: 'center', title: '状态'},
{templet: '#row-operate', minWidth: 200, fixed: 'right', align: 'center', title: '操作'}
]],
done: function () {
}
});
// 监听搜索操作
form.on('submit(data-search-btn)', function (data) {
//执行搜索重载
table.reload('table-container', {
page: {
curr: 1
}
, where: {
searchParams: data.field
}
}, 'data');
return false;
});
//监听单元格编辑
table.on('edit(table-container)', function(obj){
$.post(modifyUrl, {id: obj.data.id, field: obj.field, value: obj.value}, function (res) {
layer.msg(res.msg)
if (res.code === 0) {
insTb.reload();
}
})
});
//监听状态改变
form.on('switch(changeStatus)', function(obj){
let val = obj.elem.checked ? 1 : 0;
$.post(modifyUrl, {id: this.value, field: this.name, value: val}, function (res) {
layer.msg(res.msg)
if (res.code === 0) {
setTimeout(function () {
insTb.reload();
}, 1000)
}
})
});
//监听工具条 注意区别toolbar和tool toolbar是表头上的工具条 tool是行中的工具条
table.on('toolbar(table-container)', function (obj) {
let layEvent = obj.event;
// 删除
if (layEvent === 'del') {
let checkStatus = table.checkStatus('table-container');
if (checkStatus.data.length <= 0) {
layer.msg('请先选择数据');
return false;
}
let selected = checkStatus.data;
let ids = [];
let url = $($(this).context).data('href')
$.each(selected, function (index, val) {
ids.push(val.id);
})
del(url, ids);
return false;
}
// 刷新
if (layEvent === 'refresh') {
insTb.reload();
return false;
}
// 搜索
if (layEvent === 'search') {
if ($('.table-search-fieldset').hasClass('div-show')) {
$('.table-search-fieldset').css('display', 'none').removeClass('div-show');
} else {
$('.table-search-fieldset').css('display', 'block').addClass('div-show');
}
return false;
}
// 添加
if (layEvent === 'add') {
let url = $($(this).context).data('href')
let title = $($(this).context).data('title')
openLayer(url, title);
return false;
}
});
//删除
function del(url, ids) {
let index = layer.confirm('确认删除吗?', {
btn: ['确认','取消'], //按钮
title: '操作提示',
}, function() {
$.post(url, {ids: ids}, function (res) {
layer.msg(res.msg)
if (res.code === 0) {
insTb.reload();
}
})
}, function(){
layer.close(index)
return false;
});
}
//监听工具条
table.on('tool(table-container)', function (obj) {
let data = obj.data;
let layEvent = obj.event;
let url = $($(this).context).data('href');
let title = $($(this).context).data('title');
if (layEvent === 'del') {
let ids = [data.id];
del(url, ids);
return false;
}
if (layEvent === 'edit') {
openLayer(url, title);
return false;
}
if (layEvent === 'auth') {
openLayer(url, title);
return false;
}
if (layEvent === 'password') {
openLayer(url, title);
return false;
}
});
}
/*** index end ***/
if ($('.location-operate-page').length > 0) {
// 角色树列表
let data = $('#role-tree').data('role');
let inst1 = tree.render({
elem: '#role-tree' //绑定元素
,data: data
,id: 'roleTree'
,showCheckbox: true
,onlyIconControl: true
});
//监听提交
form.on('submit(saveMember)', function (data) {
let url = $(data.elem).data('url');
let ids = [];//角色ID列表
let checkData = tree.getChecked('roleTree');
$.each(checkData, function (index, val) {
ids.push(val.id);
})
data.field.roles = ids;
$.post(url, data.field, function (res) {
layer.msg(res.msg);
if (res.code === 0) {
//刷新父级列表
parent.layui.$('[data-table-refresh]').trigger("click");
setTimeout(function () {
//关闭当前弹出层
let iframeIndex = parent.layer.getFrameIndex(window.name);
parent.layer.close(iframeIndex);
}, 1000)
}
});
return false;
});
}
});