初始上传
This commit is contained in:
103
app/shop/view/user/add_group.html
Executable file
103
app/shop/view/user/add_group.html
Executable file
@@ -0,0 +1,103 @@
|
||||
<style type="text/css">
|
||||
.tree-line{padding:10px 0;background:#ededed;margin-bottom:2px;line-height: 1.8;border:1px solid #000;}
|
||||
.tree-line .layui-form{padding-left: 10px !important;}
|
||||
.tree-line .layui-form-checkbox{margin:0 10px !important;vertical-align:middle;}
|
||||
.group-tree-block .layui-table tbody tr:hover {background-color: white;}
|
||||
</style>
|
||||
|
||||
<div class="layui-form form-wrap" lay-filter="save">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>角色名称:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="group_name" type="text" required lay-verify="required" placeholder="请输入角色名称" class="layui-input len-long" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">描述:</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="desc" class="layui-textarea len-long" placeholder="请输入角色的相关描述" maxlength="150"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>设置权限:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline group-tree-block" id="tree_box"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 表单操作 -->
|
||||
<div class="form-row">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="backUserGroup()">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var tree_data = JSON.parse('{:json_encode($tree_data, JSON_UNESCAPED_UNICODE)}'),
|
||||
form,
|
||||
repeat_flag = false; //防重复标识
|
||||
|
||||
layui.use('form', function() {
|
||||
form = layui.form;
|
||||
form.render();
|
||||
|
||||
form.on('submit(save)', function (data) {
|
||||
|
||||
var obj = $("#tree_box input:checked"),
|
||||
group_array = [];
|
||||
|
||||
for (var i = 0; i < obj.length; i++) {
|
||||
group_array.push(obj.eq(i).val());
|
||||
}
|
||||
|
||||
data.field.menu_array = group_array.toString();
|
||||
|
||||
if (repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "JSON",
|
||||
url: ns.url("shop/user/addgroup"),
|
||||
data: data.field,
|
||||
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/user/group")
|
||||
layer.close(index);
|
||||
},
|
||||
btn2: function(index, layero) {
|
||||
listenerHash(); // 刷新页面
|
||||
layer.close(index);
|
||||
}
|
||||
})
|
||||
}else{
|
||||
layer.msg(res.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
form.verify({
|
||||
title: function (value) {
|
||||
if (value.length == 0) {
|
||||
return '请输入角色名称';
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function backUserGroup() {
|
||||
location.hash = ns.hash("shop/user/group");
|
||||
}
|
||||
</script>
|
||||
<script src="SHOP_JS/tree.js"></script>
|
||||
256
app/shop/view/user/add_user.html
Executable file
256
app/shop/view/user/add_user.html
Executable file
@@ -0,0 +1,256 @@
|
||||
<style>
|
||||
.align-center {text-align: center!important;}
|
||||
.manage-store {display: none}
|
||||
.manage-store .store-group {width: 200px;margin: 0 auto}
|
||||
</style>
|
||||
|
||||
<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 name="username" type="text" lay-verify="required" placeholder="请输入员工用户名" autocomplete="off" readonly onfocus="this.removeAttribute('readonly');" onblur="this.setAttribute('readonly',true);" class="layui-input len-long">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>密码:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="password" type="password" lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input len-long" readonly onfocus="this.removeAttribute('readonly');" onblur="this.setAttribute('readonly',true);">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>再次输入密码:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="repassword" type="password" lay-verify="required|repassword" placeholder="请输入密码" autocomplete="off" class="layui-input len-long" readonly onfocus="this.removeAttribute('readonly');" onblur="this.setAttribute('readonly',true);">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{if !$cashier_is_exist}<span class="required">*</span>{/if}员工角色:</label>
|
||||
<div class="layui-input-block len-mid">
|
||||
<select name="group_id" {if !$cashier_is_exist}lay-verify="groupid"{/if}>
|
||||
<option value="">选择角色</option>
|
||||
{foreach $group_list as $group_list_k => $group_list_v}
|
||||
<option value="{$group_list_v.group_id}">{$group_list_v.group_name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{if $store_is_exist }
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">管理门店:</label>
|
||||
<div class="layui-input-block len-mid">
|
||||
<button class="layui-btn select-store">选择门店</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item manage-store">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block" style="width: 600px">
|
||||
<table class="layui-table" lay-skin="nob">
|
||||
<colgroup>
|
||||
<col width="40%">
|
||||
<col width="40%">
|
||||
<col width="20%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>门店</th>
|
||||
<th class="align-center">门店角色</th>
|
||||
<th class="align-center">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<script type="text/html" id="store_user_group_tpl">
|
||||
{{# d.store_list.forEach((item)=>{ }}
|
||||
<tr data-store="{{ item.store_id }}">
|
||||
<td>{{ item.store_name }}</td>
|
||||
<td>
|
||||
{{# let create_user_store_group_id = create_user_store_group[item.store_id] && create_user_store_group[item.store_id]['group_id'] ? create_user_store_group[item.store_id]['group_id'] : -1; }}
|
||||
<div class="store-group">
|
||||
<select name="store_group" lay-verify="storegroupid" lay-filter="store_group">
|
||||
<option value="">请选择门店角色</option>
|
||||
{{# d.store_user_group.forEach((vo)=>{ }}
|
||||
{{# if((is_admin == 1 && vo.store_id == 0) || vo.group_id == create_user_store_group_id || vo.store_id == item.store_id){ }}
|
||||
<option value="{{ vo.group_id }}">{{ vo.group_name }}</option>
|
||||
{{# } }}
|
||||
{{# }) }}
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
<td class="align-center"><a href="javascript:;" class="del">删除</a></td>
|
||||
</tr>
|
||||
{{# }) }}
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
{elseif $cashier_is_exist}
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">门店角色:</label>
|
||||
<div class="layui-input-block len-mid">
|
||||
<select name="store_group">
|
||||
<option value="">请选择门店角色</option>
|
||||
{foreach name="store_user_group" item="vo"}
|
||||
<option value="{$vo.group_id}">{$vo.group_name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="default_store_id" value="{$default_store_id}">
|
||||
{/if}
|
||||
|
||||
<div class="form-row">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="backUserList()">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var storeGroup = {};
|
||||
var store_user_group = {:json_encode($store_user_group ?? [])};
|
||||
var create_user_store_group = {:json_encode($create_user_store_group)};
|
||||
var is_admin = {$user_info.is_admin};
|
||||
layui.use(['form','laytpl'], function() {
|
||||
var form = layui.form,
|
||||
laytpl = layui.laytpl,
|
||||
repeat_flag = false;//防重复标识
|
||||
form.render();
|
||||
var storeIsExist = '{$store_is_exist}';
|
||||
var cashierIsExist = '{$cashier_is_exist}';
|
||||
|
||||
/**
|
||||
* 监听提交
|
||||
*/
|
||||
form.on('submit(save)', function(data) {
|
||||
data.field.store = [];
|
||||
if(storeIsExist == 1) {
|
||||
$('.manage-store tbody tr').each(function () {
|
||||
data.field.store.push({
|
||||
store_id: $(this).attr('data-store'),
|
||||
group_id: $(this).find('[name="store_group"]').val()
|
||||
});
|
||||
})
|
||||
}else if(cashierIsExist == 1) {
|
||||
if (data.field.store_group) {
|
||||
data.field.store.push({
|
||||
store_id: data.field.default_store_id,
|
||||
group_id: data.field.store_group
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if(cashierIsExist == 1) {
|
||||
if (!data.field.group_id && !data.field.store.length) {
|
||||
layer.msg('员工角色和门店角色至少需设置一项', {icon: 5});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
data.field.store = JSON.stringify(data.field.store);
|
||||
|
||||
if (repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
url: ns.url("shop/user/addUser"),
|
||||
data: data.field,
|
||||
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/user/user");
|
||||
layer.close(index);
|
||||
},
|
||||
btn2: function(index, layero) {
|
||||
listenerHash(); // 刷新页面
|
||||
layer.close(index);
|
||||
}
|
||||
})
|
||||
}else{
|
||||
layer.msg(res.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 表单验证
|
||||
*/
|
||||
form.verify({
|
||||
repassword: function (value) {
|
||||
if (value.length == 0) {
|
||||
return '请输入密码!';
|
||||
}
|
||||
var pw = $("input[name='password']").val();
|
||||
if(value != pw){
|
||||
return '两次密码输入不一致!';
|
||||
}
|
||||
},
|
||||
groupid: function (value) {
|
||||
if(value == 0) {
|
||||
return '请选择角色!';
|
||||
}
|
||||
},
|
||||
storegroupid: function (value) {
|
||||
if(!value) {
|
||||
return '请选择门店角色!';
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
form.on('select(store_group)', function (data) {
|
||||
var store_id = $(data.elem).parents('tr').attr('data-store');
|
||||
storeGroup['store_' + store_id] = data.value;
|
||||
});
|
||||
|
||||
// 选择门店
|
||||
$('.select-store').click(function () {
|
||||
var storeId = [];
|
||||
$('.manage-store tbody tr').each(function () {
|
||||
storeId.push($(this).attr('data-store'));
|
||||
});
|
||||
storeSelect(function (store) {
|
||||
fetchStore(store);
|
||||
}, {store_id: storeId.toString(), store_ids:'{$store_ids??""}'})
|
||||
});
|
||||
|
||||
function fetchStore(store){
|
||||
if (store.length) {
|
||||
$('.manage-store').show();
|
||||
laytpl($("#store_user_group_tpl").html()).render({store_list:store, store_user_group:store_user_group}, function (html){
|
||||
$('.manage-store tbody').html(html);
|
||||
Object.keys(storeGroup).forEach(function (key) {
|
||||
var group = storeGroup[key], store_id = key.replace('store_', '');
|
||||
$('.manage-store tr[data-store="'+ store_id +'"] option[value="'+ group +'"]').prop('selected', true);
|
||||
});
|
||||
form.render();
|
||||
})
|
||||
} else {
|
||||
$('.manage-store tbody').html('');
|
||||
$('.manage-store').hide();
|
||||
}
|
||||
}
|
||||
|
||||
// 删除门店
|
||||
$('body').off('click', '.manage-store .del').on('click', '.manage-store .del', function () {
|
||||
var store_id = $(this).parents('tr').attr('data-store');
|
||||
if (storeGroup['store_' + store_id]) delete storeGroup['store_' + store_id];
|
||||
$(this).parents('tr').remove();
|
||||
})
|
||||
});
|
||||
|
||||
function backUserList() {
|
||||
location.hash = ns.hash("shop/user/user");
|
||||
}
|
||||
</script>
|
||||
112
app/shop/view/user/edit_group.html
Executable file
112
app/shop/view/user/edit_group.html
Executable file
@@ -0,0 +1,112 @@
|
||||
<style type="text/css">
|
||||
.tree-line{padding:10px 0;background:#ededed;margin-bottom:2px;line-height: 1.8;}
|
||||
.tree-line .layui-form{padding-left: 10px !important;}
|
||||
.tree-line .layui-form-checkbox{margin:0 10px !important;vertical-align:middle;}
|
||||
.group-tree-block .layui-table tbody tr:hover {background-color: white;}
|
||||
</style>
|
||||
|
||||
<div class="layui-form form-wrap">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">创建用户:</label>
|
||||
<div class="layui-input-inline">
|
||||
{php}$create_user_data = json_decode($group_info['create_user_data'], true);{/php}
|
||||
{:join(' -> ', array_column($create_user_data, 'name'))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>角色名称:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="group_name" type="text" lay-verify="required" class="layui-input len-long" placeholder="请输入角色名称" value="{$group_info.group_name}" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">描述:</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name ="desc" class="layui-textarea len-long" placeholder="请输入角色的相关描述" maxlength="150">{$group_info.desc}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>设置权限:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline group-tree-block" id="tree_box"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 操作 -->
|
||||
<div class="form-row">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="backUserGroup()">返回</button>
|
||||
</div>
|
||||
|
||||
<!-- 隐藏域 -->
|
||||
<input name="group_id" type="text" class="layui-input layui-hide" value="{$group_id}">
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var tree_data = JSON.parse('{:json_encode($tree_data, JSON_UNESCAPED_UNICODE)}'),
|
||||
form,
|
||||
repeat_flag = false;//防重复标识
|
||||
|
||||
layui.use('form', function() {
|
||||
form = layui.form;
|
||||
form.render();
|
||||
|
||||
form.on('submit(save)', function (data) {
|
||||
|
||||
var obj = $("#tree_box input:checked"),
|
||||
group_array = [];
|
||||
|
||||
for (var i = 0; i < obj.length; i++) {
|
||||
group_array.push(obj.eq(i).val());
|
||||
}
|
||||
|
||||
data.field.menu_array = group_array.toString();
|
||||
|
||||
if (repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "JSON",
|
||||
url: ns.url("shop/user/editgroup"),
|
||||
data: data.field,
|
||||
success: function (res) {
|
||||
repeat_flag = false;
|
||||
|
||||
if (res.code == 0) {
|
||||
layer.confirm('编辑成功', {
|
||||
title:'操作提示',
|
||||
btn: ['返回列表', '继续操作'],
|
||||
yes: function(index, layero) {
|
||||
location.hash = ns.hash("shop/user/group")
|
||||
layer.close(index);
|
||||
},
|
||||
btn2: function(index, layero) {
|
||||
layer.close(index);
|
||||
}
|
||||
})
|
||||
}else{
|
||||
layer.msg(res.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
form.verify({
|
||||
title: function (value) {
|
||||
if (value.length == 0) {
|
||||
return '请输入角色名称';
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function backUserGroup() {
|
||||
location.hash = ns.hash("shop/user/group");
|
||||
}
|
||||
</script>
|
||||
<script src="SHOP_JS/tree.js"></script>
|
||||
255
app/shop/view/user/edit_user.html
Executable file
255
app/shop/view/user/edit_user.html
Executable file
@@ -0,0 +1,255 @@
|
||||
<style>
|
||||
.align-center {text-align: center!important;}
|
||||
.manage-store {display: none}
|
||||
.manage-store .store-group {width: 200px;margin: 0 auto}
|
||||
</style>
|
||||
|
||||
<div class="layui-form form-wrap">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">创建用户:</label>
|
||||
<div class="layui-input-inline">
|
||||
{php}$create_user_data = json_decode($edit_user_info['create_user_data'], true);{/php}
|
||||
{:join(' -> ', array_column($create_user_data, 'name'))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">员工用户名:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="username" value="{$edit_user_info.username}" type="text" disabled class="layui-input len-long" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">员工状态:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" name="status" value="1" lay-skin="switch" {if condition="$edit_user_info.status == 1"} checked {/if} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{if !$cashier_is_exist}<span class="required">*</span>{/if}员工角色:</label>
|
||||
<div class="layui-input-inline len-mid">
|
||||
<select name="group_id" {if !$cashier_is_exist}lay-verify="groupid"{/if}>
|
||||
<option value="">请选择角色</option>
|
||||
{foreach $group_list as $group_list_k => $group_list_v}
|
||||
<option value="{$group_list_v.group_id}" {if $edit_user_info.group_id==$group_list_v.group_id}selected{/if}>{$group_list_v.group_name} </option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{if $store_is_exist }
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">管理门店:</label>
|
||||
<div class="layui-input-block len-mid">
|
||||
<button class="layui-btn select-store">选择门店</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item manage-store" {notempty name="$edit_user_info.user_group_list"}style="display:block;"{/notempty}>
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block" style="width: 600px">
|
||||
<table class="layui-table" lay-skin="nob">
|
||||
<colgroup>
|
||||
<col width="40%">
|
||||
<col width="40%">
|
||||
<col width="20%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>门店</th>
|
||||
<th class="align-center">门店角色</th>
|
||||
<th class="align-center">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
<script type="text/html" id="store_user_group_tpl">
|
||||
{{# d.store_list.forEach((item)=>{ }}
|
||||
<tr data-store="{{ item.store_id }}">
|
||||
<td>{{ item.store_name }}</td>
|
||||
<td>
|
||||
{{# let create_user_store_group_id = create_user_store_group[item.store_id] && create_user_store_group[item.store_id]['group_id'] ? create_user_store_group[item.store_id]['group_id'] : -1; }}
|
||||
<div class="store-group">
|
||||
<select name="store_group" lay-verify="storegroupid" lay-filter="store_group">
|
||||
<option value="">请选择门店角色</option>
|
||||
{{# d.store_user_group.forEach((vo)=>{ }}
|
||||
{{# if((is_admin == 1 && vo.store_id == 0) || vo.group_id == create_user_store_group_id || vo.store_id == item.store_id){ }}
|
||||
<option value="{{ vo.group_id }}">{{ vo.group_name }}</option>
|
||||
{{# } }}
|
||||
{{# }) }}
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
<td class="align-center"><a href="javascript:;" class="del">删除</a></td>
|
||||
</tr>
|
||||
{{# }) }}
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
{elseif $cashier_is_exist}
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">门店角色:</label>
|
||||
<div class="layui-input-block len-mid">
|
||||
<select name="store_group">
|
||||
<option value="">请选择门店角色</option>
|
||||
{foreach name="store_user_group" item="vo"}
|
||||
<option value="{$vo.group_id}" {if !empty($edit_user_info.user_group_list) && $edit_user_info.user_group_list[0]['group_id'] eq $vo.group_id}selected{/if}>{$vo.group_name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="default_store_id" value="{$default_store_id}">
|
||||
{/if}
|
||||
|
||||
<div class="word-aux">关闭后,员工将被锁定,无法登录</div>
|
||||
<!-- 表单操作 -->
|
||||
<div class="form-row">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="backUserList()">返回</button>
|
||||
</div>
|
||||
|
||||
<!-- 隐藏域 -->
|
||||
<input value="{$edit_user_info.uid}" type="hidden" class="user_id" name="uid" />
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var storeGroup = {};
|
||||
var store_user_group = {:json_encode($store_user_group ?? [])};
|
||||
var create_user_store_group = {:json_encode($create_user_store_group)};
|
||||
var user_group_list = {:json_encode($edit_user_info.user_group_list)};
|
||||
var store_is_exist = {$store_is_exist};
|
||||
var is_admin = {$user_info.is_admin};
|
||||
layui.use(['form','laytpl'], function() {
|
||||
var form = layui.form,
|
||||
laytpl = layui.laytpl,
|
||||
repeat_flag = false;//防重复标识
|
||||
form.render();
|
||||
var storeIsExist = '{$store_is_exist}';
|
||||
var cashierIsExist = '{$cashier_is_exist}';
|
||||
|
||||
form.on('submit(save)', function(data) {
|
||||
data.field.store = [];
|
||||
if(storeIsExist == 1) {
|
||||
$('.manage-store tbody tr').each(function () {
|
||||
data.field.store.push({
|
||||
store_id: $(this).attr('data-store'),
|
||||
group_id: $(this).find('[name="store_group"]').val()
|
||||
});
|
||||
});
|
||||
}else if(cashierIsExist == 1) {
|
||||
if (data.field.store_group) {
|
||||
data.field.store.push({
|
||||
store_id: data.field.default_store_id,
|
||||
group_id: data.field.store_group
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if(cashierIsExist == 1) {
|
||||
if (!data.field.group_id && !data.field.store.length) {
|
||||
layer.msg('员工角色和门店角色至少需设置一项', {icon: 5});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
data.field.store = JSON.stringify(data.field.store);
|
||||
|
||||
if (repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
url: ns.url("shop/user/editUser"),
|
||||
data: data.field,
|
||||
success: function(res) {
|
||||
repeat_flag = false;
|
||||
if (res.code == 0) {
|
||||
layer.confirm('编辑成功', {
|
||||
title:'操作提示',
|
||||
btn: ['返回列表', '继续操作'],
|
||||
yes: function(index, layero) {
|
||||
location.hash = ns.hash("shop/user/user");
|
||||
layer.close(index);
|
||||
},
|
||||
btn2: function(index, layero) {
|
||||
layer.close(index);
|
||||
}
|
||||
})
|
||||
}else{
|
||||
layer.msg(res.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 表单验证
|
||||
*/
|
||||
form.verify({
|
||||
groupid: function(value) {
|
||||
if (value == 0) {
|
||||
return '请选择员工角色!';
|
||||
}
|
||||
},
|
||||
storegroupid: function (value) {
|
||||
if(!value) {
|
||||
return '请选择门店角色!';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
form.on('select(store_group)', function (data) {
|
||||
var store_id = $(data.elem).parents('tr').attr('data-store');
|
||||
storeGroup['store_' + store_id] = data.value;
|
||||
});
|
||||
|
||||
// 选择门店
|
||||
$('.select-store').click(function () {
|
||||
var storeId = [];
|
||||
$('.manage-store tbody tr').each(function () {
|
||||
storeId.push($(this).attr('data-store'));
|
||||
});
|
||||
storeSelect(function (store) {
|
||||
fetchStore(store);
|
||||
}, {store_id: storeId.toString(), store_ids:'{$store_ids??""}'})
|
||||
});
|
||||
|
||||
function fetchStore(store){
|
||||
if (store.length) {
|
||||
$('.manage-store').show();
|
||||
laytpl($("#store_user_group_tpl").html()).render({store_list:store, store_user_group:store_user_group}, function (html){
|
||||
$('.manage-store tbody').html(html);
|
||||
Object.keys(storeGroup).forEach(function (key) {
|
||||
var group = storeGroup[key], store_id = key.replace('store_', '');
|
||||
$('.manage-store tr[data-store="'+ store_id +'"] option[value="'+ group +'"]').prop('selected', true);
|
||||
});
|
||||
form.render();
|
||||
})
|
||||
} else {
|
||||
$('.manage-store tbody').html('');
|
||||
$('.manage-store').hide();
|
||||
}
|
||||
}
|
||||
if(store_is_exist == 1){
|
||||
user_group_list.forEach((item)=>{
|
||||
storeGroup['store_' + item.store_id] = item.group_id;
|
||||
})
|
||||
fetchStore(user_group_list);
|
||||
}
|
||||
|
||||
// 删除门店
|
||||
$('body').off('click', '.manage-store .del').on('click', '.manage-store .del', function () {
|
||||
var store_id = $(this).parents('tr').attr('data-store');
|
||||
if (storeGroup['store_' + store_id]) delete storeGroup['store_' + store_id];
|
||||
$(this).parents('tr').remove();
|
||||
})
|
||||
});
|
||||
|
||||
function backUserList() {
|
||||
location.hash = ns.hash("shop/user/user");
|
||||
}
|
||||
</script>
|
||||
137
app/shop/view/user/group_list.html
Executable file
137
app/shop/view/user/group_list.html
Executable file
@@ -0,0 +1,137 @@
|
||||
<!-- 搜索框 -->
|
||||
<div class="single-filter-box">
|
||||
<button class="layui-btn" onclick="add()">添加角色</button>
|
||||
|
||||
<div class="layui-form">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="search_keys" 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="group_list" lay-filter="group_list"></table>
|
||||
|
||||
<!-- 工具栏操作 -->
|
||||
<script type="text/html" id="operation">
|
||||
<div class="table-btn">
|
||||
{{# if(d.is_system == 1){ }}
|
||||
<span class="cursor">系统角色不可编辑</span>
|
||||
{{# }else if(d.group_id == {$user_info.group_id}){ }}
|
||||
<span class="cursor">所属角色不可编辑</span>
|
||||
{{# }else{ }}
|
||||
<a class="layui-btn" lay-event="edit">编辑</a>
|
||||
<a class="layui-btn" lay-event="delete">删除</a>
|
||||
{{# } }}
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
layui.use('form', function() {
|
||||
var table,
|
||||
form = layui.form,
|
||||
repeat_flag = false; //防重复标识
|
||||
form.render();
|
||||
|
||||
/**
|
||||
* 加载表格
|
||||
*/
|
||||
table = new Table({
|
||||
elem: '#group_list',
|
||||
url: ns.url("shop/user/group"), //数据接口
|
||||
cols: [
|
||||
[{
|
||||
field: 'group_name',
|
||||
title: '角色名称',
|
||||
width: '20%',
|
||||
unresize: 'false'
|
||||
}, {
|
||||
field: 'desc',
|
||||
title: '描述',
|
||||
width: '40%',
|
||||
unresize: 'false',
|
||||
},{
|
||||
field: 'create_user_data',
|
||||
title: '创建用户',
|
||||
width: '8%',
|
||||
unresize: 'false',
|
||||
templet: function (data){
|
||||
let create_user_data = JSON.parse(data.create_user_data);
|
||||
if(create_user_data.length > 0){
|
||||
return '<div class="text">'+create_user_data[create_user_data.length-1].name+'</div>';
|
||||
}else{
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}, {
|
||||
title: '操作',
|
||||
toolbar: '#operation',
|
||||
unresize: 'false',
|
||||
align:'right'
|
||||
}]
|
||||
]
|
||||
});
|
||||
|
||||
/**
|
||||
* 监听工具栏操作
|
||||
*/
|
||||
table.tool(function(obj) {
|
||||
var data = obj.data;
|
||||
switch (obj.event) {
|
||||
case 'edit': //编辑
|
||||
location.hash = ns.hash("shop/user/editGroup", {"group_id": data.group_id});
|
||||
break;
|
||||
case 'delete': //删除
|
||||
deleteGroup(data.group_id);
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
function deleteGroup(group_id) {
|
||||
layer.confirm('确定要删除该员工角色吗?', function(index) {
|
||||
if (repeat_flag) return false;
|
||||
repeat_flag = true;
|
||||
layer.close(index);
|
||||
$.ajax({
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
url: ns.url("shop/user/deleteGroup"),
|
||||
data: {group_id},
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
repeat_flag = false;
|
||||
|
||||
if (res.code == 0) {
|
||||
table.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
}, function () {
|
||||
layer.close();
|
||||
repeat_flag = false;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 搜索功能
|
||||
*/
|
||||
form.on('submit(search)', function(data) {
|
||||
table.reload({
|
||||
page: {
|
||||
curr: 1
|
||||
},
|
||||
where: data.field
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function add() {
|
||||
location.hash = ns.hash("shop/user/addGroup");
|
||||
}
|
||||
</script>
|
||||
314
app/shop/view/user/user_list.html
Executable file
314
app/shop/view/user/user_list.html
Executable file
@@ -0,0 +1,314 @@
|
||||
<style>
|
||||
.margin-left5 {margin-left: 5px;}
|
||||
.layui-layout-admin .table-tab .layui-tab-title{margin-bottom: 15px;}
|
||||
.store-group-list {line-height: 1.5;}
|
||||
</style>
|
||||
|
||||
<!-- 搜索框 -->
|
||||
<div class="single-filter-box">
|
||||
<button class="layui-btn" onclick="add()">添加员工</button>
|
||||
|
||||
<div class="layui-form">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="search_keys" 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>
|
||||
|
||||
<div class="layui-tab table-tab mt-auto" lay-filter="use_tab">
|
||||
<div class="layui-tab-content">
|
||||
<!-- 列表 -->
|
||||
<table id="user_list" lay-filter="user_list"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 操作 -->
|
||||
<script type="text/html" id="operation">
|
||||
<div class="table-btn">
|
||||
{{# if(d.is_admin == 1){ }}
|
||||
<span class="cursor margin-left5">系统管理员不可编辑</span>
|
||||
{{# }else if(d.uid == {$user_info['uid']}){ }}
|
||||
<span class="cursor margin-left5">当前账户不可编辑</span>
|
||||
{{# }else{ }}
|
||||
<a class="layui-btn" lay-event="edit">编辑</a>
|
||||
<a class="layui-btn" lay-event="delete">删除</a>
|
||||
<a class="layui-btn" lay-event="reset_pass">重置密码</a>
|
||||
{{# } }}
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<!-- 状态 -->
|
||||
<script type="text/html" id="status">
|
||||
{{ d.status == 1 ? '正常' : '锁定'}}
|
||||
</script>
|
||||
|
||||
<script>
|
||||
var table, form, laytpl, element, layer_pass, repeat_flag = false; //防重复标识
|
||||
layui.use(['form', 'laytpl', 'element'], function() {
|
||||
form = layui.form;
|
||||
laytpl = layui.laytpl;
|
||||
element = layui.element;
|
||||
form.render();
|
||||
|
||||
table = new Table({
|
||||
elem: '#user_list',
|
||||
url: ns.url("shop/user/user"),
|
||||
cols: [
|
||||
[{
|
||||
field: 'username',
|
||||
title: '员工名称',
|
||||
width: '12%',
|
||||
unresize: 'false'
|
||||
}, {
|
||||
field: 'group_name',
|
||||
title: '员工角色',
|
||||
width: '12%',
|
||||
unresize: 'false'
|
||||
},
|
||||
{
|
||||
title: '门店角色',
|
||||
width: '15%',
|
||||
unresize: 'false',
|
||||
hide:'{$cashier_is_exist}' === '0',
|
||||
templet: function (data) {
|
||||
var h = '';
|
||||
if(data.is_admin == 0 && data.user_group_list && data.user_group_list.length){
|
||||
var h = '<div class="store-group-list">';
|
||||
data.user_group_list.forEach(function (item) {
|
||||
h += `<div class="store-group" title="${item.store_name}:${item.group_name}">${item.store_name}:${item.group_name}</div>`
|
||||
})
|
||||
h += '</div>';
|
||||
}
|
||||
return h;
|
||||
},
|
||||
},
|
||||
{
|
||||
field: 'login_ip',
|
||||
title: '最后登录IP',
|
||||
unresize: 'false'
|
||||
}, {
|
||||
field: 'login_time',
|
||||
title: '最后登录时间',
|
||||
width: '15%',
|
||||
unresize: 'false',
|
||||
templet: function(data) {
|
||||
return ns.time_to_date(data.login_time); //创建时间转换方法
|
||||
}
|
||||
}, {
|
||||
field: 'status',
|
||||
title: '员工状态',
|
||||
width: '8%',
|
||||
unresize: 'false',
|
||||
templet: '#status'
|
||||
},{
|
||||
field: 'create_user_data',
|
||||
title: '创建用户',
|
||||
width: '8%',
|
||||
unresize: 'false',
|
||||
templet: function (data){
|
||||
let create_user_data = JSON.parse(data.create_user_data);
|
||||
if(create_user_data.length > 0){
|
||||
return '<div class="text">'+create_user_data[create_user_data.length-1].name+'</div>';
|
||||
}else{
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}, {
|
||||
title: '操作',
|
||||
toolbar: '#operation',
|
||||
unresize: 'false',
|
||||
align:'right'
|
||||
}]
|
||||
]
|
||||
});
|
||||
|
||||
element.on('tab(use_tab)', function(){
|
||||
table.reload({
|
||||
page: {curr: 1},
|
||||
where:{'status':this.getAttribute('lay-id')}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 监听工具栏操作
|
||||
*/
|
||||
table.tool(function(obj) {
|
||||
var data = obj.data;
|
||||
switch (obj.event) {
|
||||
case 'edit': //编辑
|
||||
location.hash = ns.hash("shop/user/editUser", {"uid": data.uid});
|
||||
break;
|
||||
case 'delete': //删除
|
||||
deleteUser(data.uid);
|
||||
break;
|
||||
case 'reset_pass': //重置密码
|
||||
resetPassword(data);
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
function deleteUser(uid) {
|
||||
$.ajax({
|
||||
url: ns.url("shop/user/childUserCount"),
|
||||
data: {uid},
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
success: function(res) {
|
||||
let tips = '';
|
||||
if(res.data > 0){
|
||||
tips = '该员工有'+res.data+'名下级员工,删除会将下级员工也一并删除,确定要执行该操作吗?'
|
||||
}else{
|
||||
tips = '确定要删除该员工吗?';
|
||||
}
|
||||
layer.confirm(tips, function(index) {
|
||||
if (repeat_flag) return false;
|
||||
repeat_flag = true;
|
||||
layer.close(index);
|
||||
$.ajax({
|
||||
url: ns.url("shop/user/deleteUser"),
|
||||
data: {uid},
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
success: function(res) {
|
||||
repeat_flag = false;
|
||||
deleteUserLoginInfo();
|
||||
}
|
||||
});
|
||||
}, function () {
|
||||
layer.close();
|
||||
repeat_flag = false;
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function deleteUserLoginInfo() {
|
||||
layer.confirm('是否清空所有员工登录信息,清空后所有员工都将被迫退出重新登录', {
|
||||
btn: ['确定','不需要']
|
||||
},function(index) {
|
||||
if (repeat_flag) return false;
|
||||
repeat_flag = true;
|
||||
layer.close(index);
|
||||
$.ajax({
|
||||
url: ns.url("shop/user/deleteUserLoginInfo"),
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
repeat_flag = false;
|
||||
if (res.code == 0) {
|
||||
setTimeout(function(){
|
||||
location.reload(); // 刷新页面
|
||||
},500);
|
||||
}
|
||||
}
|
||||
});
|
||||
}, function () {
|
||||
layer.close();
|
||||
repeat_flag = false;
|
||||
table.reload(); // 刷新页面
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置密码
|
||||
*/
|
||||
function resetPassword(data) {
|
||||
laytpl($("#pass_change").html()).render(data, function(html) {
|
||||
layer_pass = layer.open({
|
||||
title: '重置密码',
|
||||
skin: 'layer-tips-class',
|
||||
type: 1,
|
||||
area: ['500px'],
|
||||
content: html,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
form.on('submit(repass)', function(data) {
|
||||
if (repeat_flag) return false;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: ns.url("shop/user/modifyPassword"),
|
||||
data: data.field,
|
||||
dataType: 'JSON',
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
repeat_flag = false;
|
||||
|
||||
if (res.code == 0) {
|
||||
layer.closeAll('page');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 搜索功能
|
||||
*/
|
||||
form.on('submit(search)', function(data){
|
||||
table.reload({
|
||||
page: {
|
||||
curr: 1
|
||||
},
|
||||
where: data.field
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 表单验证
|
||||
*/
|
||||
form.verify({
|
||||
repass: function(value) {
|
||||
if (value != $("input[name='password']").val()) {
|
||||
return "输入错误,两次密码不一致!";
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function add() {
|
||||
location.hash = ns.hash("shop/user/addUser");
|
||||
}
|
||||
|
||||
function closePass() {
|
||||
layer.close(layer_pass);
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 重置密码弹框html -->
|
||||
<script type="text/html" id="pass_change">
|
||||
<div class="layui-form" id="reset_pass">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label mid"><span class="required">*</span>新密码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="password" id="new_pass" name="password" placeholder="请输入密码" class="layui-input len-mid" lay-verify="required" maxlength="18" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label mid"><span class="required">*</span>确认新密码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="password" name="password" placeholder="请输入密码" lay-verify="repass" class="layui-input len-mid" maxlength="18" autocomplete="off">
|
||||
</div>
|
||||
<div class="word-aux mid">
|
||||
<p>请再一次输入密码,两次输入密码须一致</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row mid">
|
||||
<button class="layui-btn" lay-submit lay-filter="repass">确定</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="closePass()">返回</button>
|
||||
</div>
|
||||
|
||||
<input class="reset-pass-id" type="hidden" name="uid" value="{{d.uid}}"/>
|
||||
</div>
|
||||
</script>
|
||||
148
app/shop/view/user/user_log.html
Executable file
148
app/shop/view/user/user_log.html
Executable file
@@ -0,0 +1,148 @@
|
||||
<style>
|
||||
.single-filter-box{padding-bottom: 0;}
|
||||
</style>
|
||||
|
||||
<!-- 搜索框 -->
|
||||
<div class="single-filter-box">
|
||||
<div class="layui-form">
|
||||
<div class="layui-input-inline">
|
||||
<select name="uid" lay-filter="uid">
|
||||
<option value="">请选择员工</option>
|
||||
{foreach $user_list as $user_list_k => $user_list_v}
|
||||
<option value="{$user_list_v.uid}">{$user_list_v.username}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="search_keys" name="search_keys" 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="useLog_info" lay-filter="useLog_info"></table>
|
||||
|
||||
<!-- 批量删除 -->
|
||||
<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>
|
||||
layui.use('form', function() {
|
||||
var table,
|
||||
form = layui.form;
|
||||
form.render();
|
||||
|
||||
table = new Table({
|
||||
elem: '#useLog_info',
|
||||
url: ns.url("shop/user/userLog"),
|
||||
cols: [
|
||||
[{
|
||||
width: "3%",
|
||||
type: 'checkbox',
|
||||
templet: '#id',
|
||||
unresize: 'false'
|
||||
},
|
||||
{
|
||||
unresize: 'false',
|
||||
field: 'username',
|
||||
title: '操作员工',
|
||||
}, {
|
||||
field: 'action_name',
|
||||
unresize: 'false',
|
||||
title: '操作记录',
|
||||
}, {
|
||||
field: 'ip',
|
||||
unresize: 'false',
|
||||
title: '操作IP地址',
|
||||
}, {
|
||||
field: 'create_time',
|
||||
unresize: 'false',
|
||||
title: '操作时间',
|
||||
templet: function(data) {
|
||||
return ns.time_to_date(data.create_time); //创建时间转换方法
|
||||
}
|
||||
}]
|
||||
],
|
||||
toolbar: '#toolbarOperation',
|
||||
bottomToolbar: "#batchOperation"
|
||||
});
|
||||
|
||||
// 删除
|
||||
function deleteUserLog(id) {
|
||||
layer.confirm('确定要删除该操作日志吗?', function(index) {
|
||||
layer.close(index);
|
||||
$.ajax({
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
url: ns.url("shop/user/deleteUserLog"),
|
||||
data: {id},
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
if (res.code == 0) {
|
||||
table.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量操作
|
||||
*/
|
||||
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].id);
|
||||
deleteUserLog(id_array.toString());
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 批量操作
|
||||
*/
|
||||
table.toolbar(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].id);
|
||||
deleteUserLog(id_array.toString());
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 搜索功能
|
||||
*/
|
||||
form.on('submit(search)', function(data) {
|
||||
table.reload({
|
||||
page: {
|
||||
curr: 1
|
||||
},
|
||||
where: data.field
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user