save
This commit is contained in:
parent
30508c0a68
commit
35a9e84b71
@ -60,10 +60,14 @@ class RoleController extends Crud
|
|||||||
return view('role/update');
|
return view('role/update');
|
||||||
}
|
}
|
||||||
[$id, $data] = $this->updateInput($request);
|
[$id, $data] = $this->updateInput($request);
|
||||||
// id为1的管理员权限固定为*
|
// id为1的权限权限固定为*
|
||||||
if (isset($data['rules']) && $id == 1) {
|
if (isset($data['rules']) && $id == 1) {
|
||||||
$data['rules'] = '*';
|
$data['rules'] = '*';
|
||||||
}
|
}
|
||||||
|
// id为1的上级pid固定为0
|
||||||
|
if (isset($data['pid']) && $id == 1) {
|
||||||
|
$data['pid'] = 0;
|
||||||
|
}
|
||||||
$this->doUpdate($id, $data);
|
$this->doUpdate($id, $data);
|
||||||
return $this->json(0);
|
return $this->json(0);
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@ use plugin\admin\app\model\Base;
|
|||||||
* @property string $rules 权限
|
* @property string $rules 权限
|
||||||
* @property string $created_at 创建时间
|
* @property string $created_at 创建时间
|
||||||
* @property string $updated_at 更新时间
|
* @property string $updated_at 更新时间
|
||||||
|
* @property integer $pid 上级id
|
||||||
*/
|
*/
|
||||||
class Role extends Base
|
class Role extends Base
|
||||||
{
|
{
|
||||||
|
@ -10,44 +10,7 @@
|
|||||||
<body class="pear-container">
|
<body class="pear-container">
|
||||||
|
|
||||||
<!-- 顶部查询表单 -->
|
<!-- 顶部查询表单 -->
|
||||||
<div class="layui-card">
|
|
||||||
<div class="layui-card-body">
|
|
||||||
<form class="layui-form top-search-from">
|
|
||||||
|
|
||||||
<div class="layui-form-item">
|
|
||||||
<label class="layui-form-label">角色名</label>
|
|
||||||
<div class="layui-input-block">
|
|
||||||
<input type="text" name="name" value="" class="layui-input">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="layui-form-item">
|
|
||||||
<label class="layui-form-label">创建时间</label>
|
|
||||||
<div class="layui-input-block">
|
|
||||||
<div class="layui-input-block" id="created_at">
|
|
||||||
<input type="text" autocomplete="off" name="created_at[]" id="created_at-date-start" class="layui-input inline-block" placeholder="开始时间">
|
|
||||||
-
|
|
||||||
<input type="text" autocomplete="off" name="created_at[]" id="created_at-date-end" class="layui-input inline-block" placeholder="结束时间">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="layui-form-item layui-inline">
|
|
||||||
<label class="layui-form-label"></label>
|
|
||||||
<button class="pear-btn pear-btn-md pear-btn-primary" lay-submit lay-filter="table-query">
|
|
||||||
<i class="layui-icon layui-icon-search"></i>查询
|
|
||||||
</button>
|
|
||||||
<button type="reset" class="pear-btn pear-btn-md" lay-submit lay-filter="table-reset">
|
|
||||||
<i class="layui-icon layui-icon-refresh"></i>重置
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="toggle-btn">
|
|
||||||
<a class="layui-hide">展开<i class="layui-icon layui-icon-down"></i></a>
|
|
||||||
<a class="layui-hide">收起<i class="layui-icon layui-icon-up"></i></a>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 数据表格 -->
|
<!-- 数据表格 -->
|
||||||
<div class="layui-card">
|
<div class="layui-card">
|
||||||
@ -76,6 +39,7 @@
|
|||||||
<script src="/app/admin/component/pear/pear.js"></script>
|
<script src="/app/admin/component/pear/pear.js"></script>
|
||||||
<script src="/app/admin/admin/js/permission.js"></script>
|
<script src="/app/admin/admin/js/permission.js"></script>
|
||||||
<script src="/app/admin/admin/js/common.js"></script>
|
<script src="/app/admin/admin/js/common.js"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
// 相关常量
|
// 相关常量
|
||||||
@ -86,14 +50,6 @@
|
|||||||
const INSERT_URL = "/app/admin/role/insert";
|
const INSERT_URL = "/app/admin/role/insert";
|
||||||
const UPDATE_URL = "/app/admin/role/update";
|
const UPDATE_URL = "/app/admin/role/update";
|
||||||
|
|
||||||
// 字段 创建时间 created_at
|
|
||||||
layui.use(["laydate"], function() {
|
|
||||||
layui.laydate.render({
|
|
||||||
elem: "#created_at",
|
|
||||||
range: ["#created_at-date-start", "#created_at-date-end"],
|
|
||||||
});
|
|
||||||
})
|
|
||||||
|
|
||||||
// 表格渲染
|
// 表格渲染
|
||||||
layui.use(["table", "form", "common", "popup", "util"], function() {
|
layui.use(["table", "form", "common", "popup", "util"], function() {
|
||||||
let table = layui.table;
|
let table = layui.table;
|
||||||
@ -109,7 +65,6 @@
|
|||||||
},{
|
},{
|
||||||
title: "主键",
|
title: "主键",
|
||||||
field: "id",
|
field: "id",
|
||||||
hide: true,
|
|
||||||
},{
|
},{
|
||||||
title: "角色名",
|
title: "角色名",
|
||||||
field: "name",
|
field: "name",
|
||||||
@ -131,12 +86,24 @@
|
|||||||
},{
|
},{
|
||||||
title: "更新时间",
|
title: "更新时间",
|
||||||
field: "updated_at",
|
field: "updated_at",
|
||||||
|
},{
|
||||||
|
title: "上级id",
|
||||||
|
field: "pid",
|
||||||
|
templet: function (d) {
|
||||||
|
let field = "pid";
|
||||||
|
if (typeof d[field] == "undefined") return "";
|
||||||
|
let items = [];
|
||||||
|
layui.each((d[field] + "").split(","), function (k , v) {
|
||||||
|
items.push(apiResults[field][v] || v);
|
||||||
|
});
|
||||||
|
return util.escape(items.join(","));
|
||||||
|
}
|
||||||
},{
|
},{
|
||||||
title: "操作",
|
title: "操作",
|
||||||
toolbar: "#table-bar",
|
toolbar: "#table-bar",
|
||||||
align: "center",
|
align: "center",
|
||||||
fixed: "right",
|
fixed: "right",
|
||||||
width: 130,
|
width: 120,
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -166,8 +133,10 @@
|
|||||||
// 获取表格中下拉或树形组件数据
|
// 获取表格中下拉或树形组件数据
|
||||||
let apis = [];
|
let apis = [];
|
||||||
apis.push(["rules", "/app/admin/rule/get?type=0,1,2"]);
|
apis.push(["rules", "/app/admin/rule/get?type=0,1,2"]);
|
||||||
|
apis.push(["pid", "/app/admin/role/select?format=tree"]);
|
||||||
let apiResults = {};
|
let apiResults = {};
|
||||||
apiResults["rules"] = [];
|
apiResults["rules"] = [];
|
||||||
|
apiResults["pid"] = [];
|
||||||
let count = apis.length;
|
let count = apis.length;
|
||||||
layui.each(apis, function (k, item) {
|
layui.each(apis, function (k, item) {
|
||||||
let [field, url] = item;
|
let [field, url] = item;
|
||||||
|
@ -27,6 +27,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">上级id</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<div name="pid" id="pid" value="" ></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -47,6 +54,7 @@
|
|||||||
<script src="/app/admin/component/layui/layui.js"></script>
|
<script src="/app/admin/component/layui/layui.js"></script>
|
||||||
<script src="/app/admin/component/pear/pear.js"></script>
|
<script src="/app/admin/component/pear/pear.js"></script>
|
||||||
<script src="/app/admin/admin/js/permission.js"></script>
|
<script src="/app/admin/admin/js/permission.js"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
// 相关接口
|
// 相关接口
|
||||||
@ -65,8 +73,29 @@
|
|||||||
name: "rules",
|
name: "rules",
|
||||||
initValue: initValue,
|
initValue: initValue,
|
||||||
data: e.data,
|
data: e.data,
|
||||||
tree: {"show":true},
|
tree: {"show":true,expandedKeys:initValue},
|
||||||
toolbar: {"show":true,"list":["ALL","CLEAR","REVERSE"]},
|
toolbar: {show:true,list:["ALL","CLEAR","REVERSE"]},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 字段 上级id pid
|
||||||
|
layui.use(["jquery", "xmSelect"], function() {
|
||||||
|
layui.$.ajax({
|
||||||
|
url: "/app/admin/role/select?format=tree",
|
||||||
|
dataType: "json",
|
||||||
|
success: function (e) {
|
||||||
|
let value = layui.$("#pid").attr("value");
|
||||||
|
let initValue = value ? value.split(",") : [];
|
||||||
|
layui.xmSelect.render({
|
||||||
|
el: "#pid",
|
||||||
|
name: "pid",
|
||||||
|
initValue: initValue,
|
||||||
|
data: e.data,
|
||||||
|
model: {"icon":"hidden","label":{"type":"text"}},
|
||||||
|
clickClose: true,
|
||||||
|
radio: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -27,6 +27,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">上级id</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<div name="pid" id="pid" value="" ></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -46,6 +53,7 @@
|
|||||||
<script src="/app/admin/component/layui/layui.js"></script>
|
<script src="/app/admin/component/layui/layui.js"></script>
|
||||||
<script src="/app/admin/component/pear/pear.js"></script>
|
<script src="/app/admin/component/pear/pear.js"></script>
|
||||||
<script src="/app/admin/admin/js/permission.js"></script>
|
<script src="/app/admin/admin/js/permission.js"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
// 相关接口
|
// 相关接口
|
||||||
@ -89,13 +97,34 @@
|
|||||||
name: "rules",
|
name: "rules",
|
||||||
initValue: initValue,
|
initValue: initValue,
|
||||||
data: e.data,
|
data: e.data,
|
||||||
tree: {show: true, expandedKeys: initValue},
|
tree: {"show":true,expandedKeys:initValue},
|
||||||
toolbar: {show:true,list:["ALL","CLEAR","REVERSE"]},
|
toolbar: {show:true,list:["ALL","CLEAR","REVERSE"]},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 字段 上级id pid
|
||||||
|
layui.use(["jquery", "xmSelect"], function() {
|
||||||
|
layui.$.ajax({
|
||||||
|
url: "/app/admin/role/select?format=tree",
|
||||||
|
dataType: "json",
|
||||||
|
success: function (e) {
|
||||||
|
let value = layui.$("#pid").attr("value");
|
||||||
|
let initValue = value ? value.split(",") : [];
|
||||||
|
layui.xmSelect.render({
|
||||||
|
el: "#pid",
|
||||||
|
name: "pid",
|
||||||
|
initValue: initValue,
|
||||||
|
data: e.data,
|
||||||
|
model: {"icon":"hidden","label":{"type":"text"}},
|
||||||
|
clickClose: true,
|
||||||
|
radio: true,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user