first commit

This commit is contained in:
2026-07-23 09:40:36 +08:00
commit 090abf48fa
989 changed files with 145728 additions and 0 deletions
+106
View File
@@ -0,0 +1,106 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-4">
<h3 class="pb-3">岗位职称</h3>
{if condition="$id eq 0"}
<table class="layui-table">
<tr>
<td class="layui-td-gray">岗位名称<font>*</font></td>
<td>
<input type="text" name="title" lay-verify="required" autocomplete="off" placeholder="请输入岗位名称" lay-reqText="请输入岗位名称" class="layui-input">
</td>
<td class="layui-td-gray-3">岗位工时单价(元)<font>*</font></td>
<td>
<input type="text" name="work_price" lay-verify="required|number" placeholder="请输入岗位工时单价" lay-reqText="请输入岗位工时单价" autocomplete="off" class="layui-input">
</td>
</tr>
<tr>
<td class="layui-td-gray">状态<font>*</font></td>
<td colspan="3">
<input type="radio" name="status" value="1" title="正常" checked>
<input type="radio" name="status" value="0" title="禁用">
</td>
</tr>
<tr>
<td class="layui-td-gray">权限角色<font>*</font></td>
<td colspan="3">
{volist name="$group" id="v"}
<input type="checkbox" name="group_id[]" title="{$v.title}" value="{$v.id}" lay-skin="primary">
{/volist}
</td>
</tr>
<tr>
<td class="layui-td-gray">岗位备注</td>
<td colspan="3">
<textarea name="remark" placeholder="请输入岗位备注" class="layui-textarea"></textarea>
</td>
</tr>
</table>
{else/}
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">岗位名称<font>*</font></td>
<td>
<input type="text" name="title" value="{$detail.title}" lay-verify="required" autocomplete="off" placeholder="请输入岗位名称" lay-reqText="请输入岗位名称" class="layui-input">
</td>
<td class="layui-td-gray-3">岗位工时单价(元)<font>*</font></td>
<td>
<input type="text" name="work_price" value="{$detail.work_price}" lay-verify="required|number" placeholder="请输入岗位工时单价" lay-reqText="请输入岗位工时单价" autocomplete="off" class="layui-input">
</td>
</tr>
<tr>
<td class="layui-td-gray">状态<font>*</font></td>
<td colspan="3">
<input type="radio" name="status" value="1" title="正常" {eq name="$detail.status" value="1"}checked{/eq}>
<input type="radio" name="status" value="0" title="禁止" {eq name="$detail.status" value="0"}checked{/eq}>
</td>
</tr>
<tr>
<td class="layui-td-gray">权限角色<font>*</font></td>
<td colspan="3">
{volist name="$group" id="v"}
<input type="checkbox" name="group_id[]" title="{$v.title}" value="{$v.id}" {eq name="$v.checked" value="1" }checked{/eq} lay-skin="primary">
{/volist}
</td>
</tr>
<tr>
<td class="layui-td-gray">岗位备注</td>
<td colspan="3">
<textarea name="remark" placeholder="请输入岗位备注" class="layui-textarea">{$detail.remark}</textarea>
</td>
</tr>
</table>
{/if}
<div class="pt-4">
<input type="hidden" name="id" value="{$id}">
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</form>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool'];
function gouguInit() {
var form = layui.form,tool=layui.tool;
//监听提交
form.on('submit(webform)', function(data){
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
tool.sideClose(1000);
}
}
let clickbtn = $(this);
tool.post("/user/position/add", data.field, callback,clickbtn);
return false;
});
}
</script>
{/block}
<!-- /脚本 -->
+117
View File
@@ -0,0 +1,117 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<div class="p-page">
<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
<script type="text/html" id="status">
<i class="layui-icon {{# if(d.status == 1){ }}green layui-icon-ok{{# } else { }}yellow layui-icon-close{{# } }}"></i>
</script>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="add">+ 添加岗位</button>
</div>
</script>
<script type="text/html" id="barDemo">
<div class="layui-btn-group"><button class="layui-btn layui-btn-xs layui-btn-normal" lay-event="view">详情</button><button class="layui-btn layui-btn-xs" lay-event="edit"></button><button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"></button></div>
</script>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool'];
function gouguInit() {
var table = layui.table, tool = layui.tool;
layui.pageTable = table.render({
elem: '#test',
title: '岗位列表',
toolbar: '#toolbarDemo',
defaultToolbar: false,
url: "/user/position/index", //数据接口
page: false, //开启分页
cols: [
[
{
field: 'id',
title: 'ID号',
align: 'center',
width: 80
}, {
field: 'title',
title: '岗位名称',
align: 'center',
width: 120
},{
field: 'groupName',
title: '权限角色'
},{
field: 'remark',
title: '备注'
},{
field: 'work_price',
title: '岗位工时单价(元)',
align: 'center',
width: 132
}, {
field: 'status',
title: '状态',
toolbar: '#status',
align: 'center',
width: 60
}, {
field: 'right',
title: '操作',
toolbar: '#barDemo',
width: 120,
align: 'center'
}
]
]
});
//表头工具栏事件
table.on('toolbar(test)', function(obj){
if (obj.event === 'add') {
tool.side("/user/position/add");
return;
}
});
//监听行工具事件
table.on('tool(test)', function (obj) {
var data = obj.data;
if(obj.event === 'view'){
tool.side('/user/position/view?id='+data.id);
return;
}
if(obj.event === 'edit'){
tool.side('/user/position/add?id='+data.id);
return;
}
if (obj.event === 'del') {
if (data.id == 1) {
layer.msg('超级岗位不能删除');
return;
}
layer.confirm('您确定要删除该岗位', {
icon: 3,
title: '提示'
}, function (index) {
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
obj.del();
}
}
tool.delete("/user/position/delete", { id: obj.data.id }, callback);
layer.close(index);
});
}
});
}
</script>
{/block}
<!-- /脚本 -->
+79
View File
@@ -0,0 +1,79 @@
{extend name="../../base/view/common/base" /}
{block name="style"}
<style>
.left-note{font-weight:800; vertical-align:top; padding-top:28px!important; text-align:center}
.left-note .layui-checkbox-disabled span {color: #808080!important;}
.layui-form-checked.layui-checkbox-disabled i{background-color:#ababab!important;color: #ffffff!important;border-color:#ababab!important;}
.layui-form-checked.layui-checkbox-disabled[lay-skin=primary] i{background-color:#ababab!important;}
.right-note .layui-checkbox-disabled span {color: #808080!important;}
</style>
{/block}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-4">
<h3 class="pb-3">岗位信息</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">岗位名称</td>
<td>
{$detail.title}
</td>
<td class="layui-td-gray-2">岗位工时单价</td>
<td>
{$detail.work_price}
</td>
<td class="layui-td-gray">状态</td>
<td>
{eq name="$detail.status" value="1" }正常{/eq}
{eq name="$detail.status" value="0" }禁止登录{/eq}
</td>
</tr>
<tr>
<td class="layui-td-gray">用户角色</td>
<td colspan="5">
{volist name="$group" id="v"}
{eq name="$v.checked" value="1" }{$v.title},{/eq}
{/volist}
</td>
</tr>
<tr>
<td class="layui-td-gray">岗位备注</td>
<td colspan="5">
{$detail.remark}
</td>
</tr>
</table>
<h3 class="py-3">岗位权限</h3>
<table class="layui-table layui-table-form">
{volist name="role_rule" id="vo"}
<tr>
<td class="left-note">
<input type="checkbox" disabled value="{$vo.id}" title="{$vo.title}" {eq name="$vo.checked" value="true" }checked{/eq}>
</td>
{notempty name="vo.children"}
<td class="right-note">
<div style="padding:0 0 0 10px;">
{volist name="vo.children" key="k" id="voo"}
<div class="checkbox16" style="padding:10px 0;">
<input type="checkbox" disabled lay-filter="rule" name="rule[]" value="{$voo.id}" lay-skin="primary" title="{$voo.title}" {eq name="$voo.checked" value="true" }checked{/eq}>
</div>
{notempty name="voo.children"}
<div style="padding:0 0 3px; {if condition='$k != count($vo.children)'}margin-bottom:3px; padding-bottom:16px; border-bottom:1px solid #eee;{/if}">
{volist name="voo.children" id="vooo"}
<div class="layui-input-inline" style="margin-right:10px;">
<input type="checkbox" disabled data-rule="{$voo.id}" name="rule[]" value="{$vooo.id}" lay-skin="primary" title="{$vooo.title}" {eq name="$vooo.checked" value="true" }checked{/eq}>
</div>
{/volist}
</div>
{/notempty}
{/volist}
</div>
</td>
{/notempty}
</tr>
{/volist}
</table>
</form>
{/block}
<!-- /主体 -->