228 lines
9.2 KiB
Cheetah
228 lines
9.2 KiB
Cheetah
{{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}}" />
|
|
|
|
<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="categoryTree" 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="layui-btn layui-btn-primary layui-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', 'tree', 'xmSelect', 'util'], function () {
|
|
let form = layui.form;
|
|
let $ = layui.jquery;
|
|
let iconPicker = layui.iconPicker;
|
|
let tree = layui.tree;
|
|
let xmSelect = layui.xmSelect;
|
|
let util = layui.util;
|
|
|
|
getCategory();
|
|
|
|
// 表单提交
|
|
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));
|
|
}
|
|
});
|
|
|
|
function getCategory() {
|
|
$.ajax({
|
|
url: "/system/category/data?type=xmselect_tree",
|
|
type: 'post',
|
|
dataType: 'json',
|
|
headers: { 'X-CSRF-Token': $('#csrf_token').val() },
|
|
success: function (res) {
|
|
xmSelect.render({
|
|
el: '#categoryTree',
|
|
// 工具栏
|
|
toolbar: {
|
|
show: true
|
|
},
|
|
radio: true,
|
|
clickClose: true,
|
|
tips: '请选择父级',
|
|
filterable: true,
|
|
data: res,
|
|
name: 'ParentID',
|
|
initValue: ['{{.Item.ParentID}}'],
|
|
tree: {
|
|
show: true,
|
|
//非严格模式
|
|
strict: false,
|
|
//默认展开节点的数组, 为 true 时, 展开所有节点
|
|
expandedKeys: [1],
|
|
},
|
|
on: function (data) { },
|
|
});
|
|
},
|
|
error: function (err) {
|
|
// 处理请求错误
|
|
console.log('请求出错:', err);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
</script>
|
|
{{end}}
|
|
|
|
{{template "footer" .}} |