215 lines
11 KiB
HTML
215 lines
11 KiB
HTML
<resource-share type="script" src="/assets/js/formConfigs/SimulatedTriggerForm.js"></resource-share>
|
|
<div class="layui-fluid">
|
|
<div class="layui-row layui-col-space15">
|
|
<div class="layui-col-md12">
|
|
<div class="layui-card">
|
|
<table class="layui-hide" id="ID-treeTable"></table>
|
|
<script type="text/html" id="TPL-treeTable">
|
|
<div class="layui-btn-container">
|
|
<button class="layui-btn layui-btn-warm layui-btn-sm" lay-event="NewSimulatedTrigger">新建模拟触发器</button>
|
|
<button class="layui-btn layui-btn-sm" lay-event="FullChecked">展开全部</button>
|
|
<button class="layui-btn layui-btn-sm" lay-event="FullOutChecked">收起全部</button>
|
|
<button class="layui-btn layui-btn-sm" lay-event="Refresh">刷新</button>
|
|
</div>
|
|
</script>
|
|
<script type="text/html" id="TPL-treeTable-tools">
|
|
<div class="layui-btn-container">
|
|
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
|
|
<a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="edit">编辑</a>
|
|
<a class="layui-btn layui-btn-xs" lay-event="more">更多 <i class="layui-icon layui-icon-down"></i></a>
|
|
</div>
|
|
</script>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
layui.use(['treeTable', 'layer', 'dropdown', 'form', 'formEngine'], function() {
|
|
const treeTable = layui.treeTable;
|
|
const layer = layui.layer;
|
|
const dropdown = layui.dropdown;
|
|
const form = layui.form;
|
|
const formEngine = layui.formEngine;
|
|
|
|
// 渲染树形表格
|
|
const tableInst = treeTable.render({
|
|
elem: '#ID-treeTable',
|
|
id: 'ID-treeTable',
|
|
url: '/API/SimulatedTrigger/GetSimulatedTriggers',
|
|
tree: {
|
|
view: {
|
|
iconLeaf: '<i class="layui-icon layui-icon-username"></i>'
|
|
}
|
|
},
|
|
toolbar: '#TPL-treeTable',
|
|
cols: [[
|
|
{ type: 'checkbox', fixed: 'left' },
|
|
{ field: 'SimulatedTriggerUUID', title: '模拟触发器编号', width: 270 },
|
|
{ field: 'SimulatedTriggerName', title: '模拟触发器名称', width: 200 },
|
|
{ field: 'SimulatedTriggerFilePath', title: '模拟触发器文件路径', width: 300 },
|
|
{ field: 'SimulatedTriggerCode', title: '模拟触发器代码', minWidth: 300 },
|
|
{
|
|
fixed: 'right',
|
|
title: '操作',
|
|
width: 200,
|
|
align: 'center',
|
|
toolbar: '#TPL-treeTable-tools'
|
|
}
|
|
]],
|
|
page: false
|
|
});
|
|
|
|
// 表头工具栏事件
|
|
treeTable.on('toolbar(ID-treeTable)', function(obj) {
|
|
const tableId = obj.config.id;
|
|
|
|
switch (obj.event) {
|
|
case 'FullChecked':
|
|
layer.msg('成功展开全部', {icon: 1});
|
|
treeTable.expandAll(tableId, true);
|
|
break;
|
|
case 'FullOutChecked':
|
|
layer.msg('成功收起全部', {icon: 1});
|
|
treeTable.expandAll(tableId, false);
|
|
break;
|
|
case 'Refresh':
|
|
tableInst.reload();
|
|
layer.msg('已刷新', {icon: 1});
|
|
break;
|
|
case 'NewSimulatedTrigger':
|
|
formEngine.openRegisteredForm('SimulatedTrigger-add', {
|
|
confirm: function(data, close) {
|
|
$.post('/API/SimulatedTrigger/AddSimulatedTrigger', data, function(res) {
|
|
if (res.code == 0) {
|
|
layer.msg('成功添加模拟触发器', {icon: 1});
|
|
tableInst.reload();
|
|
close();
|
|
} else {
|
|
layer.msg(`添加失败:${res.msg}`, {icon: 5});
|
|
}
|
|
}).fail(() => layer.msg('网络错误', {icon: 5}));
|
|
}
|
|
});
|
|
break;
|
|
}
|
|
});
|
|
|
|
// 单元格工具事件
|
|
treeTable.on(`tool(${tableInst.config.id})`, function(obj) {
|
|
const { event: layEvent, data: trData, tr: trElem, config: { id: tableId } } = obj;
|
|
|
|
if (layEvent === 'detail') {
|
|
// 构建查看窗口的HTML内容
|
|
let detailHtml = `
|
|
<div class="layui-form layui-form-pane" style="padding: 20px;">
|
|
<div class="layui-row layui-col-space15">
|
|
<div class="layui-col-md12">
|
|
<div class="layui-form-SimulatedTrigger">
|
|
<label class="layui-form-label" style="width: 120px;">模拟触发器编号</label>
|
|
<div class="layui-input-inline" style="width: 300px;">
|
|
<input type="text" value="${trData.SimulatedTriggerUUID || '-'}" readonly class="layui-input">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="layui-col-md12">
|
|
<div class="layui-form-SimulatedTrigger">
|
|
<label class="layui-form-label" style="width: 120px;">模拟触发器名称</label>
|
|
<div class="layui-input-inline" style="width: 300px;">
|
|
<input type="text" value="${trData.SimulatedTriggerName || '-'}" readonly class="layui-input">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="layui-col-md12">
|
|
<div class="layui-form-SimulatedTrigger">
|
|
<label class="layui-form-label" style="width: 120px;">触发器文件路径</label>
|
|
<div class="layui-input-inline" style="width: 300px;">
|
|
<div style="display: flex; align-SimulatedTriggers: center;">
|
|
<input type="text" value="${trData.SimulatedTriggerFilePath || '-'}" readonly class="layui-input" style="width: 200px;">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="layui-col-md12">
|
|
<div class="layui-form-SimulatedTrigger">
|
|
<label class="layui-form-label" style="width: 120px;">模拟触发器代码</label>
|
|
<div class="layui-input-block" style="margin-left: 130px;">
|
|
<textarea readonly class="layui-textarea" style="width: 300px; min-height: 100px;">${trData.SimulatedTriggerCode || '-'}</textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
`;
|
|
|
|
// 弹出layer窗口
|
|
layer.open({
|
|
type: 1,
|
|
title: `模拟触发器详情 - ${trData.SimulatedTriggerName || '未知模拟触发器'}`,
|
|
area: ['700px', '500px'],
|
|
shade: 0.8,
|
|
shadeClose: true,
|
|
scrollbar: false,
|
|
content: detailHtml,
|
|
btn: ['关闭'],
|
|
btnAlign: 'c',
|
|
yes: function(index) {
|
|
layer.close(index);
|
|
},
|
|
success: function(layero, index) {
|
|
// 可以在这里添加一些初始化操作
|
|
}
|
|
});
|
|
}
|
|
else if (layEvent === 'edit') {
|
|
// 打开已注册的编辑模拟触发器表单
|
|
formEngine.openRegisteredForm('SimulatedTrigger-edit', {
|
|
data: trData,
|
|
confirm: function(data, close) {
|
|
data.SimulatedTriggerUUID = trData.SimulatedTriggerUUID;
|
|
$.post('/API/SimulatedTrigger/ModifySimulatedTriggerSettings', data, function(res) {
|
|
if (res.code == 0) {
|
|
layer.msg('成功修改模拟触发器信息', {icon: 1});
|
|
tableInst.reload();
|
|
close();
|
|
} else {
|
|
layer.msg(`修改失败:${res.msg}`, {icon: 5});
|
|
}
|
|
}).fail(() => layer.msg('网络错误', {icon: 5}));
|
|
}
|
|
});
|
|
}
|
|
else if (layEvent === 'more') {
|
|
dropdown.render({
|
|
elem: this,
|
|
show: true,
|
|
align: 'right',
|
|
data: [{ title: '删除', id: 'del' }],
|
|
click: function(menudata) {
|
|
if (menudata.id === 'del') {
|
|
Toast.warning('模拟触发器变更操作', '注销模拟触发器应由组织决定!', 3000);
|
|
Toast.warning('模拟触发器变更操作', '验权在后端实现,前端未作限制!', 3000);
|
|
Toast.warning('模拟触发器变更操作', '请考虑后果!', 3000);
|
|
layer.confirm("确定要删除此模拟触发器吗?删除后不可恢复!", {
|
|
title: '删除确认',
|
|
icon: 3
|
|
}, function(index) {
|
|
$.post("/API/SimulatedTrigger/DeleteSimulatedTrigger", {
|
|
SimulatedTriggerUUID: trData.SimulatedTriggerUUID
|
|
}, function(data) {
|
|
if (data.code == 0) {
|
|
layer.msg('删除成功', {icon: 1});
|
|
obj.del();
|
|
tableInst.reload();
|
|
} else {
|
|
layer.msg(`删除失败:${data.msg}`, {icon: 5});
|
|
}
|
|
}).fail(() => layer.msg('网络错误', {icon: 5}));
|
|
layer.close(index);
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
});
|
|
</script> |