2025-03-21 11:05:42 +08:00

207 lines
8.5 KiB
Cheetah
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{{template "header"}}
<div class="layui-body layui-bg-gray">
<div class="layui-card">
<form class="layui-form">
{{.CsrfTokenField}}
<input type="hidden" id="ID" name="ID" value="{{.Item.ID}}" />
<input type="hidden" id="ParentID" name="ParentID" value="{{.Item.ParentID}}" />
<div class="layui-tab layui-tab-card">
<ul class="layui-tab-title">
<li class="layui-this">基础信息</li>
<li>其它</li>
</ul>
<div class="layui-tab-content">
<!-- 基础信息 -->
<div class="layui-tab-item layui-show">
{{if gt .Item.ID 0}}
<div class="layui-form-item">
<div class="layui-form-label">ID</div>
<div class="layui-form-label" style="width:400px;text-align:left;">
{{.Item.ID}}
</div>
</div>
{{end}}
<div class="layui-form-item">
<div class="layui-form-label">上级</div>
<div class="layui-input-inline" style="width:300px;">
<ul id="departTree" class="dtree organizationTree"></ul>
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-label">名称</div>
<div class="layui-input-inline" style="width:300px;">
<input type="text" id="Name" name="Name" value="{{.Item.Name}}" lay-verify="required"
autocomplete="off" placeholder="请输入名称" class="layui-input" />
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-label">标识</div>
<div class="layui-input-inline" style="width:300px;">
<input type="text" id="Letter" name="Letter" value="{{.Item.Letter}}" autocomplete="off"
placeholder="请输入名称" class="layui-input" />
<p>没有填写,会自动生成</p>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">图标</label>
<div class="layui-input-inline">
{{template "upload" .Item.Icon}}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">状态</label>
<div class="layui-input-inline">
<select id="Status" name="Status">
{{if eq .Item.Status 0}}
<option value="0" selected>正常</option>
{{else}}
<option value="0">正常</option>
{{end}}
{{if eq .Item.Status -1}}
<option value="-1" selected>删除</option>
{{else}}
<option value="-1">删除</option>
{{end}}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="number" id="Sort" name="Sort" value="{{.Item.Sort}}" lay-affix="number"
min="1" class="layui-input" />
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">简介</label>
<div class="layui-input-inline">
<textarea id="Description" name="Description" class="layui-textarea"
style="width: 600px; height: 60px;">{{.Item.Description}}</textarea>
</div>
</div>
</div>
<!-- 其它 -->
<div class="layui-tab-item">
{{if gt .Item.ID 0}}
<div class="layui-form-item">
<div class="layui-form-label">创建时间</div>
<div class="layui-form-label" style="width:400px;text-align:left;">
{{dateFormat .Item.CreatedAt}}
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-label">更新时间</div>
<div class="layui-form-label" style="width:400px;text-align:left;">
{{dateFormat .Item.UpdatedAt}}
</div>
</div>
{{end}}
</div>
</div>
</div>
<div class="layui-form-item layui-fixbar btn-fixbar-box">
<div class="layui-input-block">
{{ submitBtn .AuthorizeMenus "save"}}
<button type="button" class="pear-btn pear-btn-sm" lay-on="close">
<i class="layui-icon layui-icon-close"></i>关闭
</button>
</div>
</div>
</form>
</div>
</div>
{{define "css"}}
<style>
.layui-body {
padding: 15px;
left: 0;
}
</style>
{{end}}
{{define "js"}}
<script>
layui.use(['form', 'jquery', 'iconPicker', 'dtree', 'util'], function () {
let form = layui.form;
let $ = layui.jquery;
let iconPicker = layui.iconPicker;
let dtree = layui.dtree;
let util = layui.util;
var dTree = dtree.render({
elem: "#departTree",
initLevel: "2", // 默认展开层级为1
line: true, // 有线树
ficon: ["1", "-1"], // 设定一级图标样式。0表示方形加减图标8表示小圆点图标
icon: ["0", "2"], // 设定二级图标样式。0表示文件夹图标5表示叶子图标
method: 'POST',
url: "/system/category/dtree",
headers: { 'X-CSRF-Token': $('#csrf_token').val() },
select: true,
selectInitVal: $('#ParentID').val()
});
// 绑定节点事件
dtree.on("node(departTree)", function (obj) {
$('#ParentID').val(obj.param.nodeId);
});
// 表单提交
var isSubmitting = false;
form.on('submit(save)', function (data) {
if (isSubmitting) {
return false;
}
isSubmitting = true;
$.ajax({
url: '/system/category/save',
type: 'post',
dataType: 'json',
data: data.field,
success: function (result) {
if (result.success) {
layer.msg(result.msg, { icon: 1, time: 1000 }, function () {
parent.layer.close(parent.layer.getFrameIndex(window.name)); // 关闭当前页
parent.layui.table.reload("tablelist", {
page: { curr: 1 },
});
});
} else {
isSubmitting = false;
parent.layer.msg(result.msg, { icon: 2 })
}
},
error: function (xhr, status, error) {
isSubmitting = false;
parent.layer.msg(error, { icon: 2 });
},
});
return false;
});
// 事件绑定
util.on("lay-on", {
"close": function () {
window.parent.layer.close(parent.layer.getFrameIndex(window.name));
}
});
});
</script>
{{end}}
{{template "footer" .}}