初始上传
This commit is contained in:
153
addon/cashier/shop/view/user/add_group.html
Executable file
153
addon/cashier/shop/view/user/add_group.html
Executable file
@@ -0,0 +1,153 @@
|
||||
<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 autocomplete="off" class="layui-input len-long" lay-verify="required" name="group_name" placeholder="请输入角色名称" required type="text">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">适用门店:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<select name="store_id" lay-filter="store_id">
|
||||
{foreach $store_list as $val}
|
||||
<option value="{$val.store_id}">{$val.store_name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="word-aux"><p>适用门店添加后无法修改,请慎重选择</p></div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">描述:</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea len-long" maxlength="150" name="desc" placeholder="请输入角色的相关描述"></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-filter="save" lay-submit>保存</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="backCashierUserGroup()">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var all_tree_data = JSON.parse('{:json_encode($tree_data, JSON_UNESCAPED_UNICODE)}');
|
||||
var tree_data = JSON.parse('{:json_encode($tree_data, JSON_UNESCAPED_UNICODE)}'),
|
||||
form,
|
||||
repeat_flag = false; //防重复标识
|
||||
var store_list = {:json_encode($store_list)};
|
||||
if(store_list.length > 0 && store_list[0].tree_data){
|
||||
tree_data = store_list[0].tree_data;
|
||||
}
|
||||
|
||||
layui.use('form', function () {
|
||||
form = layui.form;
|
||||
form.render();
|
||||
|
||||
form.on('select(store_id)', function (data){
|
||||
let store_id = data.value;
|
||||
store_list.forEach((item)=>{
|
||||
if(item.store_id == store_id){
|
||||
if(item.tree_data){
|
||||
tree_data = ns.deepclone(item.tree_data);
|
||||
}else{
|
||||
tree_data = ns.deepclone(all_tree_data);
|
||||
}
|
||||
initTreeBox();
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
form.on('submit(save)', function (data) {
|
||||
data.field.store_name = $("select[name=store_id] option:selected").text();
|
||||
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("cashier://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("cashier://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 backCashierUserGroup() {
|
||||
location.hash = ns.hash("cashier://shop/user/group");
|
||||
}
|
||||
</script>
|
||||
<script src="SHOP_JS/tree.js?time=20250315"></script>
|
||||
|
||||
122
addon/cashier/shop/view/user/edit_group.html
Executable file
122
addon/cashier/shop/view/user/edit_group.html
Executable file
@@ -0,0 +1,122 @@
|
||||
<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">
|
||||
<div class="layui-input-inline">
|
||||
{$group_info.store_name}
|
||||
</div>
|
||||
</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="backCashierUserGroup()">返回</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("cashier://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("cashier://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 backCashierUserGroup() {
|
||||
location.hash = ns.hash("cashier://shop/user/group");
|
||||
}
|
||||
</script>
|
||||
<script src="SHOP_JS/tree.js"></script>
|
||||
|
||||
152
addon/cashier/shop/view/user/group_list.html
Executable file
152
addon/cashier/shop/view/user/group_list.html
Executable file
@@ -0,0 +1,152 @@
|
||||
<style>
|
||||
.system-tag {padding: 3px 5px;font-size: 12px;border: 1px solid #ddd;color: #999;border-radius: 4px;margin-left: 3px;}
|
||||
</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>
|
||||
|
||||
<!-- 列表 -->
|
||||
<table id="group_list" lay-filter="group_list"></table>
|
||||
|
||||
<!-- 工具栏操作 -->
|
||||
<script type="text/html" id="operation">
|
||||
<div class="table-btn">
|
||||
{{# if(d.keyword != ''){ }}
|
||||
<span class="cursor">系统角色不可编辑</span>
|
||||
{{# }else if(curr_user_group_ids.indexOf(d.group_id) > -1){ }}
|
||||
<span class="cursor">所属角色不可编辑</span>
|
||||
{{# }else{ }}
|
||||
<a class="layui-btn" lay-event="edit">编辑</a>
|
||||
<a class="layui-btn" lay-event="delete">删除</a>
|
||||
{{# } }}
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
var curr_user_group_ids = {:json_encode($curr_user_group_ids)};
|
||||
layui.use('form', function() {
|
||||
var table,
|
||||
form = layui.form,
|
||||
repeat_flag = false; //防重复标识
|
||||
form.render();
|
||||
|
||||
/**
|
||||
* 加载表格
|
||||
*/
|
||||
table = new Table({
|
||||
elem: '#group_list',
|
||||
url: ns.url("cashier://shop/user/group"), //数据接口
|
||||
cols: [
|
||||
[{
|
||||
field: 'group_name',
|
||||
title: '角色名称',
|
||||
width: '20%',
|
||||
unresize: 'false',
|
||||
templet: function (data) {
|
||||
var h = data.group_name;
|
||||
if (data.keyword) h += '<span class="system-tag">系统</span>'
|
||||
return h;
|
||||
}
|
||||
}, {
|
||||
field: 'desc',
|
||||
title: '描述',
|
||||
width: '40%',
|
||||
unresize: 'false',
|
||||
},{
|
||||
field: 'store_name',
|
||||
title: '适用门店',
|
||||
width: '12%',
|
||||
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("cashier://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("cashier://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("cashier://shop/user/addGroup");
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user