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
+105
View File
@@ -0,0 +1,105 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-4">
<h3 class="pb-3">部门架构</h3>
{eq name="$id" value="0"}
<table class="layui-table layui-table-form">
<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">上级部门<font>*</font></td>
<td>
<select name="pid" lay-verify="required" lay-reqText="请选择上级部门">
<option value="0">作为顶级部门</option>
{volist name="department" id="v"}
<option value="{$v.id}" {eq name="$pid" value="$v.id"} selected{/eq}>{$v.title}</option>
{/volist}
</select>
</td>
</tr>
<tr>
<td class="layui-td-gray">排序<font>*</font></td>
<td>
<input type="text" name="sort" lay-verify="required|number" value="0" autocomplete="off" placeholder="请输入排序" lay-reqText="请输入排序" class="layui-input">
</td>
<td class="layui-td-gray-2">部门联系电话</td>
<td>
<input type="text" name="phone" placeholder="请输入部门联系电话,可空" autocomplete="off" class="layui-input">
</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">上级部门<font>*</font></td>
<td>
<select name="pid" lay-verify="required" lay-reqText="请选择上级部门">
<option value="0">作为顶级部门</option>
{volist name="department" id="v"}
<option value="{$v.id}" {eq name="$detail.pid" value="$v.id"} selected{/eq}>{$v.title}</option>
{/volist}
</select>
</td>
<td class="layui-td-gray">排序<font>*</font></td>
<td>
<input type="text" name="sort" lay-verify="required|number" value="{$detail.sort}" autocomplete="off" placeholder="请输入排序" lay-reqText="请输入排序" class="layui-input">
</td>
</tr>
<tr>
<td class="layui-td-gray-2">部门负责人</td>
<td colspan="3">
<select id="leader_ids" name="leader_ids" xm-selected="{$detail.leader_ids|default=''}" xm-select="select1" xm-select-skin="default"></select>
</td>
<td class="layui-td-gray-2">部门联系电话</td>
<td>
<input type="text" name="phone" value="{$detail.phone}" placeholder="请输入部门联系电话,可空" autocomplete="off" class="layui-input">
</td>
</tr>
</table>
{/eq}
<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 did = {$id};
const moduleInit = ['tool','formSelects'];
function gouguInit() {
var form = layui.form,tool=layui.tool,formSelects=layui.formSelects;
if(did>0){
//选择部门人员
var selected = $('#leader_ids').attr('xm-selected');
formSelects.data('select1', 'server', {
url: '/api/index/get_employee_select?did='+did,
keyword: selected
});
}
//监听提交
form.on('submit(webform)', function(data){
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
tool.sideClose(1000);
}
}
tool.post("/user/department/add", data.field, callback);
return false;
});
}
</script>
{/block}
<!-- /脚本 -->
+84
View File
@@ -0,0 +1,84 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<div class="p-page">
<div class="gg-form-bar border-t border-x" style="padding-bottom:12px;">
<button class="layui-btn layui-btn-sm add-menu">+ 添加部门</button>
</div>
<div>
<table class="layui-hide" id="treeTable" lay-filter="treeTable"></table>
</div>
</div>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool'];
function gouguInit() {
var treeTable = layui.treeTable, tool = layui.tool;
layui.pageTable = treeTable.render({
elem: '#treeTable'
,id: 'treeTable'
,url: "/user/department/index"
,tree: { // treeTable 特定属性集
customName: {name:'title'},
data: {},
view: {showIcon:false},
async: {},
callback: {}
}
,done:function(){
treeTable.expandAll('treeTable', true); // 关闭全部节点
}
, cols: [[
{ field: 'id', width: 80, title: 'ID号', align: 'center' }
, { field: 'pid', title: '上级部门ID',width: 90, align: 'center'}
, { field: 'title', title: '部门名称'}
, { field: 'sort', title: '排序',width: 60, align: 'center'}
, { field: 'leader', title: '部门负责人',width: 200}
, { field: 'phone', title: '部门电话',width: 136,}
, { width:168, title: '操作', align: 'center', templet: function (d) {
var html = '<span class="layui-btn-group"><button class="layui-btn layui-btn-xs" lay-event="add">添加下级部门</button><button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</button><button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button></span>';
return html;
}
}
]]
, page: false
});
//表头工具栏事件
$('body').on('click','.add-menu', function(){
tool.side("/user/department/add");
return;
});
//操作按钮
treeTable.on('tool(treeTable)', function (obj) {
if (obj.event === 'add') {
tool.side("/user/department/add?pid="+obj.data.id);
return;
}
if (obj.event === 'edit') {
tool.side("/user/department/add?id="+obj.data.id);
return;
}
if (obj.event === 'del') {
layer.confirm('确定要删除吗?', {icon: 3, title:'提示'}, function(index){
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
obj.del();
}
}
tool.delete("/user/department/delete", { id: obj.data.id }, callback);
layer.close(index);
});
}
});
}
</script>
{/block}
<!-- /脚本 -->