2023-11-27 09:45:13 +08:00

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(["admin/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(["/admin/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); ?>