163 lines
6.3 KiB
PHP
163 lines
6.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @author Any
|
|
* @description KISS
|
|
* @date 2021年9月15日
|
|
* @version 1.0.0
|
|
*
|
|
* _____LOG_____
|
|
*
|
|
*/
|
|
|
|
$this->title = $model->isNewRecord ? '添加角色' : '编辑角色';
|
|
$this->params['breadcrumbs'][] = ['label' => '角色列表' , 'url' => [\Yii::$app->urlManager->createUrl(["store/auth/role/index"])]];
|
|
$this->params['breadcrumbs'][] = $this->title;
|
|
?>
|
|
<div class="layui-fluid">
|
|
<div class="layui-card">
|
|
<div class="layui-card-header"><?= $this->title ?></div>
|
|
<div class="layui-card-body">
|
|
<div class="layui-row">
|
|
<div class="layui-col-md5">
|
|
<div class="layui-form">
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">角色名称</label>
|
|
<div class="layui-input-inline">
|
|
<input type="text" name="name" placeholder="请输入名称" autocomplete="off" class="layui-input" value="<?= $model->name ?>" lay-verify="required">
|
|
</div>
|
|
<div class="layui-form-mid layui-word-aux"></div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">备注/描述</label>
|
|
<div class="layui-input-inline">
|
|
<textarea name="remark" rows="3" placeholder="请输入备注" autocomplete="off" class="layui-textarea" lay-verify="required"><?= $model->remark ?></textarea>
|
|
</div>
|
|
<div class="layui-form-mid layui-word-aux"></div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">角色权限</label>
|
|
<div class="layui-input-block" id="permissionTree">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="layui-form-item">
|
|
<div class="layui-input-block">
|
|
<div class="" >
|
|
<button class="layui-btn" lay-submit="" lay-filter="layui-form-submit">保存</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
<?php $this->beginBlock('js_script_wrap') ?>
|
|
layui.config({
|
|
base: '/statics/layuiadmin/' //静态资源所在路径
|
|
}).extend({
|
|
index: 'lib/index' //主入口模块
|
|
}).use(['index', 'user', 'tree'], function () {
|
|
var $ = layui.$
|
|
, setter = layui.setter
|
|
, tree = layui.tree
|
|
, admin = layui.admin
|
|
, form = layui.form
|
|
, router = layui.router()
|
|
, search = router.search;
|
|
|
|
form.render();
|
|
var permissionTreeData = '<?=json_encode($permission_tree,JSON_UNESCAPED_UNICODE)?>';
|
|
permissionTreeData = JSON.parse(permissionTreeData);
|
|
tree.render({
|
|
elem: '#permissionTree'
|
|
,data: permissionTreeData
|
|
,showCheckbox: true //是否显示复选框
|
|
,id: 'permissionTree'
|
|
,isJump: true //是否允许点击节点时弹出新窗口跳转
|
|
,click: function(obj){
|
|
}
|
|
});
|
|
function getPermissionUrls(arr){
|
|
var urls = [];
|
|
for(var i in arr){
|
|
if(arr[i]['field']){
|
|
urls.push(arr[i]['field'])
|
|
}
|
|
if(arr[i]['children'] && arr[i]['children'].length){
|
|
var list = getPermissionUrls(arr[i]['children']);
|
|
urls = urls.concat(list);
|
|
}
|
|
}
|
|
return urls;
|
|
}
|
|
|
|
//提交
|
|
var submitLock = false;
|
|
form.on('submit(layui-form-submit)', function (obj) {
|
|
if (submitLock) {
|
|
return false;
|
|
}
|
|
submitLock = true;
|
|
//请求登入接口
|
|
//console.log(obj)
|
|
var url = '<?= \Yii::$app->urlManager->createUrl(["/store/auth/role/edit", 'id' => $model->id ? $model->id : 0]) ?>';
|
|
var returnUrl = "<?= $return_url ?>";
|
|
var data = obj.field;
|
|
data._csrf = _csrf;
|
|
var permissionTree = tree.getChecked('permissionTree');
|
|
data.permissions = getPermissionUrls(permissionTree);
|
|
data.permissions = JSON.stringify(data.permissions);
|
|
$.ajax(url, {
|
|
type: "POST",
|
|
dataType: "json",
|
|
data: data,
|
|
timeout: 10000,
|
|
success: function (res) {
|
|
if (res.code == 0) {
|
|
layer.msg(res.msg, {
|
|
offset: '15px'
|
|
, icon: 1
|
|
, time: 1000
|
|
}, function () {
|
|
if(returnUrl){
|
|
location.href = returnUrl;
|
|
} else {
|
|
location.reload();
|
|
}
|
|
});
|
|
} else {
|
|
layer.msg(res.msg, {
|
|
offset: '15px'
|
|
, icon: 2
|
|
, time: 1000
|
|
}, function () {
|
|
});
|
|
}
|
|
},
|
|
error: function (xhr, type, err) {
|
|
layer.msg(xhr.responseText, {
|
|
offset: '15px'
|
|
, icon: 2
|
|
, time: 1000
|
|
}, function () {
|
|
});
|
|
},
|
|
complete: function () {
|
|
submitLock = false;
|
|
}
|
|
})
|
|
});
|
|
});
|
|
<?php $this->endBlock(); ?>
|
|
</script>
|
|
<?php $this->registerJs($this->blocks['js_script_wrap'], \yii\web\View::POS_END); ?>
|
|
|
|
|
|
|
|
|