添加项目文件。
This commit is contained in:
83
WaterCloud.Web/Areas/SystemManage/Views/Area/Details.cshtml
Normal file
83
WaterCloud.Web/Areas/SystemManage/Views/Area/Details.cshtml
Normal file
@@ -0,0 +1,83 @@
|
||||
@{
|
||||
ViewBag.Title = "Details";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common','optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
$(function () {
|
||||
initControl();
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: "/SystemManage/Area/GetFormJson",
|
||||
dataType: "json",
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
common.setReadOnly('adminform');
|
||||
}
|
||||
});
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
function initControl() {
|
||||
$("#F_ParentId").bindSelect({
|
||||
url: "/SystemManage/Area/GetTreeSelectJson",
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">上级</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_ParentId" name="F_ParentId">
|
||||
<option value="0">父节点</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_FullName" name="F_FullName" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_EnCode" name="F_EnCode" lay-verify="required" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" pattern="[0-9]*" id="F_SortCode" name="F_SortCode" lay-verify="required" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效标识">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Description" name="F_Description" class="layui-textarea" placeholder="请输入备注"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
122
WaterCloud.Web/Areas/SystemManage/Views/Area/Form.cshtml
Normal file
122
WaterCloud.Web/Areas/SystemManage/Views/Area/Form.cshtml
Normal file
@@ -0,0 +1,122 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
var event = $.request("event");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
$(function () {
|
||||
initControl();
|
||||
if (event=="edit") {
|
||||
common.ajax({
|
||||
url: "/SystemManage/Area/GetFormJson",
|
||||
dataType: "json",
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
if (!!keyValue) {
|
||||
$('#F_ParentId').val(keyValue);
|
||||
}
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
function initControl() {
|
||||
$("#F_ParentId").bindSelect({
|
||||
url: "/SystemManage/Area/GetTreeSelectJson",
|
||||
});
|
||||
}
|
||||
//select验证
|
||||
form.verify({
|
||||
required: function (value, item) {
|
||||
var msg = "必填项不能为空";
|
||||
value = $.trim(value);
|
||||
var isEmpty = !value || value.length < 1;
|
||||
// 当前验证元素是select且为空时,将页面定位至layui渲染的select处,或自定义想定位的位置
|
||||
if (item.tagName == 'SELECT' && isEmpty) {
|
||||
$("html").animate({
|
||||
scrollTop: $(item).siblings(".layui-form-select").offset().top - 74
|
||||
}, 50);
|
||||
}
|
||||
if (isEmpty) {
|
||||
return msg;
|
||||
}
|
||||
}
|
||||
});
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
var postData = data.field;
|
||||
if (!postData["F_EnabledMark"]) postData["F_EnabledMark"] = false;
|
||||
common.submitForm({
|
||||
url: event == "edit" ? "/SystemManage/Area/SubmitForm?keyValue=" + keyValue : "/SystemManage/Area/SubmitForm",
|
||||
param: postData,
|
||||
success: function () {
|
||||
common.parentreload("data-search-btn");
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form " lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">上级</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_ParentId" name="F_ParentId" lay-verify="required" lay-search>
|
||||
<option value="0" selected>父节点</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_FullName" name="F_FullName" lay-verify="required" maxlength="50" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_EnCode" name="F_EnCode" lay-verify="required" maxlength="50" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" pattern="[0-9]*" id="F_SortCode" name="F_SortCode" lay-verify="required|number" oninput="if(value.length>8)value=value.slice(0,8)" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效标识">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide layui-form-text">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Description" name="F_Description" class="layui-textarea" placeholder="请输入备注"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn site-demo-active" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
213
WaterCloud.Web/Areas/SystemManage/Views/Area/Index.cshtml
Normal file
213
WaterCloud.Web/Areas/SystemManage/Views/Area/Index.cshtml
Normal file
@@ -0,0 +1,213 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'table', 'common', 'treeTablelay', "layer"], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table,
|
||||
layer=layui.layer,
|
||||
treeTablelay = layui.treeTablelay,
|
||||
common = layui.common;
|
||||
//加载数据
|
||||
//var loading = layer.load(0, { shade: false });
|
||||
var queryJson = '';
|
||||
//权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
wcLoading.close();
|
||||
var rendertree = common.rendertreetable({
|
||||
elem: '#currentTableId',
|
||||
//懒加载设置
|
||||
tree: {
|
||||
iconIndex: 1, // 折叠图标显示在第几列
|
||||
idName: 'F_Id', // id字段名称
|
||||
arrowType: 'arrow2',
|
||||
getIcon: 'ew-tree-icon-style2',
|
||||
haveChildName: 'haveChild' // 自定义标识是否还有子节点的字段名称
|
||||
},
|
||||
reqData: function (data, callback) {
|
||||
var pid = data ? data.F_Id : '0';
|
||||
common.ajax({
|
||||
url: "/SystemManage/Area/GetListJson",
|
||||
dataType: "json",
|
||||
//懒加载的查询参数放这里
|
||||
data: { keyValue: pid, keyword: $('#txt_keyword').val() },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
callback(data.data);
|
||||
}
|
||||
});
|
||||
},
|
||||
cols: [[
|
||||
{ type: "radio", width: 50 },
|
||||
{ field: 'F_FullName', title: '名称', width: 200 },
|
||||
{ field: 'F_EnCode', title: '编号', width: 150 },
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', width: 80,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>有效</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>无效</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_CreatorTime', title: '创建时间', width: 120,
|
||||
templet: function (d) {
|
||||
if (d.F_CreatorTime) {
|
||||
var time = new Date(d.F_CreatorTime);
|
||||
return time.Format("yyyy-MM-dd");
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
{ field: 'F_Description', title: '备注', minWidth: 150 },
|
||||
{ title: '操作', width: 160, toolbar: '#currentTableBar', align: "center" }
|
||||
]]
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
common.reloadtreetable(rendertree, {});
|
||||
return false;
|
||||
});
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-details", "NF-delete"];//选择1条显示
|
||||
common.treeTableRowClick("radio", rendertree, "currentTableId", oneList);
|
||||
/**
|
||||
* toolbar监听事件
|
||||
*/
|
||||
treeTablelay.on('toolbar(currentTableId)', function (obj) {
|
||||
var data = rendertree.checkStatus();
|
||||
if (obj.event === 'add') { // 监听操作
|
||||
var keyValue = data.length==1 ? data[0].F_Id : null;
|
||||
common.modalOpen({
|
||||
title: "添加区域",
|
||||
url: "/SystemManage/Area/Form?event=add&keyValue=" + keyValue,
|
||||
width: "450px",
|
||||
height: "450px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/Area/DeleteForm",
|
||||
param: { keyValue: data[0].F_Id },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "编辑区域",
|
||||
url: "/SystemManage/Area/Form?event=edit&keyValue=" + data[0].F_Id,
|
||||
width: "450px",
|
||||
height: "450px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "查看区域",
|
||||
url: "/SystemManage/Area/Details?keyValue=" + data[0].F_Id,
|
||||
width: "450px",
|
||||
height: "450px",
|
||||
btn:[]
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
//toolbar监听事件
|
||||
treeTablelay.on('tool(currentTableId)', function (obj) {
|
||||
if (obj.event === 'delete') {
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/Area/DeleteForm",
|
||||
param: { keyValue: obj.data.F_Id },
|
||||
success: function () {
|
||||
obj.del();
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
common.modalOpen({
|
||||
title: "编辑区域",
|
||||
url: "/SystemManage/Area/Form?event=edit&keyValue=" + obj.data.F_Id,
|
||||
width: "450px",
|
||||
height: "450px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
common.modalOpen({
|
||||
title: "查看区域",
|
||||
url: "/SystemManage/Area/Details?keyValue=" + obj.data.F_Id,
|
||||
width: "500px",
|
||||
height: "500px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset layui-hide" id="searchField">
|
||||
@*<legend>搜索信息</legend>*@
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>查看</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
<script type="text/html" id="currentTableBar">
|
||||
<a id="NF-edit" authorize class="layui-btn layui-btn-xs layui-btn-warm" lay-event="edit">修改</a>
|
||||
<a id="NF-delete" authorize class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a>
|
||||
<a id="NF-details" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details">查看</a>
|
||||
</script>
|
||||
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,67 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
var entity = {};
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var event = $.request("event");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
if (!!entity) {
|
||||
$('#F_EnCode').val(entity.TableColumn);
|
||||
$('#F_FullName').val(entity.Remark);
|
||||
}
|
||||
form.render();
|
||||
wcLoading.close();
|
||||
//监听提交
|
||||
var lock = false;
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
if (!lock) {
|
||||
lock = true;
|
||||
var valuedata = data.field.F_NewName;
|
||||
common.parentWindow().$('#' + event).html(valuedata);
|
||||
common.modalMsg("修改成功!", "success");
|
||||
common.modalClose();
|
||||
lock = false;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
function initForm(data) {
|
||||
entity = data;
|
||||
}
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form " lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_EnCode" name="F_EnCode" maxlength="50" readonly class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_FullName" name="F_FullName" maxlength="50" readonly class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">新名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_NewName" name="F_NewName" maxlength="50" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
@@ -0,0 +1,65 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'commonTable', 'optimizeSelectOption'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
commonTable = layui.commonTable;
|
||||
var keyValue = $.request("keyValue");
|
||||
var dbNumber = $.request("dbNumber");
|
||||
wcLoading.close();
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
url: '/SystemManage/CodeGenerator/GetTableFieldJson?keyValue=' + keyValue + "&dbNumber=" + dbNumber,
|
||||
toolbar: false,
|
||||
page: false,
|
||||
search:false,
|
||||
cols: [[
|
||||
{ field: 'DbColumnName', title: '列名', width: 150, sort: true },
|
||||
{ field: 'DataType', title: '数据类型', width: 120, sort: true },
|
||||
{ field: 'IsPrimarykey', title: '主键', width: 100, sort: true },
|
||||
{ field: 'IsIdentity', title: '自增', width: 100, sort: true },
|
||||
{ field: 'IsNullable', title: '可空', width: 100, sort: true },
|
||||
{ field: 'Length', title: '长度', width: 100 },
|
||||
{ field: 'ColumnDescription', title: '说明', width: 150 },
|
||||
]],
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
page: false,
|
||||
curr: 1,
|
||||
where: { keyword: data.field.txt_keyword }
|
||||
});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset">
|
||||
@*<legend>搜索信息</legend>*@
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">字段名称:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,100 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
var event = $.request("event");
|
||||
var dbNumber = $.request("dbNumber");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
var baseConfig;
|
||||
$(function () {
|
||||
$("#OutputModule").bindSelect({
|
||||
url: "/SystemManage/Module/GetSelectJson",
|
||||
});
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: "/SystemManage/CodeGenerator/GetBaseConfigJson",
|
||||
dataType: "json",
|
||||
data: { keyValue: keyValue,dbNumber:dbNumber },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
baseConfig = data;
|
||||
common.val('adminform', data);
|
||||
common.val('adminform', data.FileConfig);
|
||||
common.val('adminform', data.OutputConfig);
|
||||
form.render();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
wcLoading.close();
|
||||
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
baseConfig.FileConfig.ClassPrefix = data.field.ClassPrefix;
|
||||
baseConfig.FileConfig.EntityName = data.field.ClassPrefix + "Entity";
|
||||
baseConfig.FileConfig.ClassDescription = data.field.ClassDescription;
|
||||
baseConfig.FileConfig.CreateUserName = data.field.CreateUserName;
|
||||
baseConfig.FileConfig.CreateDate = data.field.CreateDate;
|
||||
baseConfig.OutputConfig.OutputModule = $("#OutputModule option:selected").text().replace(/^\s+|\s+$/g, "");
|
||||
common.submitForm({
|
||||
url: "/SystemManage/CodeGenerator/EntityCodeGenerateJson?keyValue=" + keyValue+"&dbNumber="+dbNumber,
|
||||
param: baseConfig,
|
||||
success: function () {
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form " lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">类名前缀</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="ClassPrefix" name="ClassPrefix" autocomplete="off" lay-verify="required" maxlength="50" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">类名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="ClassDescription" name="ClassDescription" autocomplete="off" maxlength="50" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">输出模块名</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="OutputModule" name="OutputModule" lay-filter="OutputModule" lay-verify="required" lay-search>
|
||||
<option value="">请选择</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">创建人员</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="CreateUserName" name="CreateUserName" autocomplete="off" maxlength="50" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">创建日期</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="CreateDate" name="CreateDate" autocomplete="off" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn site-demo-active" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
@@ -0,0 +1,833 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<script src="~/lib/jquery.ui/1.12.1/jquery-ui.min.js" charset="utf-8"></script>
|
||||
<link href="~/lib/jquery.ui/1.12.1/jquery-ui.min.css" rel="stylesheet" />
|
||||
<link href="~/css/stepcss.css" rel="stylesheet" />
|
||||
<script>
|
||||
var setup_draggable = function () {
|
||||
$(".draggable").draggable({
|
||||
appendTo: "body",
|
||||
helper: "clone"
|
||||
});
|
||||
$(".droppable").droppable({
|
||||
accept: ".draggable",
|
||||
helper: "clone",
|
||||
hoverClass: "droppable-active",
|
||||
drop: function (event, ui) {
|
||||
$(".empty-form").remove();
|
||||
var $orig = $(ui.draggable);
|
||||
if (!$(ui.draggable).hasClass("dropped")) {
|
||||
var $el = $orig.clone().addClass("dropped").css({ "position": "static", "left": null, "right": null }).appendTo(this);
|
||||
var id = $orig.find(":input").attr("id");
|
||||
if (id) {
|
||||
id = id.split("-").slice(0, -1).join("-") + "-" + (parseInt(id.split("-").slice(-1)[0]) + 1);
|
||||
$orig.find(":input").attr("id", id);
|
||||
$orig.find("label").attr("for", id)
|
||||
}
|
||||
//$('<p class="tools col-sm-12 col-sm-offset-3"><a class="edit-link">编辑HTML<a></p>').appendTo($el)
|
||||
} else {
|
||||
if ($(this)[0] != $orig.parent()[0]) {
|
||||
var $el = $orig.clone().css({ "position": "static", "left": null, "right": null }).appendTo(this);
|
||||
$orig.remove()
|
||||
}
|
||||
}
|
||||
}
|
||||
}).sortable();
|
||||
};
|
||||
layui.use(['element', 'table', 'form', 'step', 'common', 'dtree', 'laydate', 'commonTable', 'optimizeSelectOption'], function () {
|
||||
var $ = layui.$,
|
||||
form = layui.form,
|
||||
element = layui.element,
|
||||
commonTable = layui.commonTable,
|
||||
dtree = layui.dtree,
|
||||
table = layui.table,
|
||||
laydate = layui.laydate,
|
||||
common = layui.common,
|
||||
step = layui.step;
|
||||
var keyValue = $.request("keyValue");
|
||||
var dbNumber = $.request("dbNumber");
|
||||
//权限字段
|
||||
common.authorizeFields('stepForm');
|
||||
wcLoading.close();
|
||||
//执行一个laydate实例
|
||||
laydate.render({
|
||||
elem: '#CreateDate'
|
||||
, btns: ['clear', 'now']
|
||||
, type: 'datetime'
|
||||
, trigger: 'click',
|
||||
format: 'yyyy-MM-dd HH:mm',
|
||||
});
|
||||
//初始化步骤控件
|
||||
step.render({
|
||||
elem: '#stepForm',
|
||||
filter: 'stepForm',
|
||||
width: '100%', //设置容器宽度
|
||||
stepWidth: '600px',
|
||||
height: '550px',
|
||||
stepItems: [{
|
||||
title: '基本配置'
|
||||
}, {
|
||||
title: '列表界面'
|
||||
}, {
|
||||
title: '表单页面'
|
||||
}, {
|
||||
title: '代码预览'
|
||||
}]
|
||||
});
|
||||
var baseConfig;
|
||||
$(function () {
|
||||
setup_draggable();
|
||||
$("#OutputModule").bindSelect({
|
||||
url: "/SystemManage/Module/GetSelectJson",
|
||||
});
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: "/SystemManage/CodeGenerator/GetBaseConfigJson",
|
||||
dataType: "json",
|
||||
data: { keyValue: keyValue,dbNumber:dbNumber },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
baseConfig = data;
|
||||
common.val('stepForm', data);
|
||||
common.val('stepForm', data.FileConfig);
|
||||
common.val('stepForm', data.OutputConfig);
|
||||
common.val('stepForm', data.PageIndex);
|
||||
$("#KeywordColum").val(data.PageIndex.KeywordColum.join(','));
|
||||
$("#n_columns").val(data.PageForm.ShowMode);
|
||||
$("#ParentColum").parent().parent().addClass("layui-hide");
|
||||
$("#TreeColum").parent().parent().addClass("layui-hide");
|
||||
var datas = [];
|
||||
for (var i = 0; i < data.PageIndex.ColumnList.length; i++) {
|
||||
let o = {};
|
||||
o = data.PageIndex.ColumnList[i];
|
||||
o["F_Id"] = uuid();
|
||||
datas.push(o);
|
||||
}
|
||||
table.reload('currentTableId', {
|
||||
data: datas
|
||||
});
|
||||
form.render();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
//按钮选择
|
||||
var buttonList = common.multipleSelectRender({
|
||||
el: '#ButtonList',
|
||||
remoteSearch: false,
|
||||
layVerify: 'required',
|
||||
layVerType: 'msg',
|
||||
data: [
|
||||
{ text: '添加按钮', id: 'add', selected: true },
|
||||
{ text: '编辑按钮', id: 'edit', selected: true },
|
||||
{ text: '删除按钮', id: 'delete', selected: true },
|
||||
{ text: '查看按钮', id: 'details', selected: true },
|
||||
]
|
||||
});
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
id: 'currentTableId',
|
||||
data: [],
|
||||
search: false,
|
||||
limit: 9999,//每页数据 默认
|
||||
page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
|
||||
layout: ['count'] //自定义分页布局
|
||||
, first: false //不显示首页
|
||||
, last: false //不显示尾页
|
||||
},
|
||||
rowDrag: {
|
||||
done: function (obj) {
|
||||
}
|
||||
},
|
||||
height: 'full-340',
|
||||
defaultToolbar: false,//默认工具栏
|
||||
cols: [[
|
||||
{ field: 'field', title: '字段', width: 200 },
|
||||
{ field: 'title', title: '名称', width: 200, edit: 'string' },
|
||||
{ field: 'width', title: '宽度', width: 90, edit: 'string' },
|
||||
{
|
||||
field: 'isAotuWidth', title: '补全列宽', width: 90, templet: function (d) {
|
||||
if (d.isAotuWidth == true) {
|
||||
return ' <input type="checkbox" name="isAotuWidth" lay-skin="switch" checked value= "' + d.field + '" lay-text="是|否" lay-filter="AotuWidth" >';
|
||||
}
|
||||
else {
|
||||
return '<input type="checkbox" name="isAotuWidth" lay-skin="switch" value= "' + d.field + '" lay-text="是|否" lay-filter="AotuWidth" >';
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'isSorted', title: '是否排序', width: 90, templet: function (d) {
|
||||
if (d.isSorted == true) {
|
||||
return ' <input type="checkbox" name="isSorted" lay-skin="switch" checked value= "' + d.field + '" lay-text="是|否" lay-filter="Sorted" >';
|
||||
}
|
||||
else {
|
||||
return '<input type="checkbox" name="isSorted" lay-skin="switch" value= "' + d.field + '" lay-text="是|否" lay-filter="Sorted" >';
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'isFilter', title: '是否过滤', width: 90, templet: function (d) {
|
||||
if (d.isFilter == true) {
|
||||
return ' <input type="checkbox" name="isFilter" lay-skin="switch" checked value= "' + d.field + '" lay-text="是|否" lay-filter="Filter" >';
|
||||
}
|
||||
else {
|
||||
return '<input type="checkbox" name="isFilter" lay-skin="switch" value= "' + d.field + '" lay-text="是|否" lay-filter="Filter" >';
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'isShow', title: '是否显示', width: 90, templet: function (d) {
|
||||
if (d.isShow == true) {
|
||||
return ' <input type="checkbox" name="isShow" lay-skin="switch" checked value= "' + d.field + '" lay-text="是|否" lay-filter="Show" >';
|
||||
}
|
||||
else {
|
||||
return '<input type="checkbox" name="isShow" lay-skin="switch" value= "' + d.field + '" lay-text="是|否" lay-filter="Show" >';
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'value', title: '初始值', width: 90, edit: 'string'
|
||||
},
|
||||
{
|
||||
field: 'filterType', title: '过滤类型', width: 150, edit: 'string'
|
||||
},
|
||||
{
|
||||
field: 'templet', title: '模板', minWidth: 150, edit: 'string'
|
||||
}
|
||||
]]
|
||||
});
|
||||
form.on('switch(AotuWidth)', function (data) {
|
||||
// 得到开关的value值,实际是需要修改的ID值。
|
||||
var field = data.value;
|
||||
var status = this.checked ? true : false;
|
||||
var cachedata = table.cache.currentTableId;
|
||||
for (var i = 0; i < cachedata.length; i++) {
|
||||
if (field == cachedata[i].field) {
|
||||
cachedata[i].isAotuWidth = status;
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
form.on('switch(Sorted)', function (data) {
|
||||
// 得到开关的value值,实际是需要修改的ID值。
|
||||
var field = data.value;
|
||||
var status = this.checked ? true : false;
|
||||
var cachedata = table.cache.currentTableId;
|
||||
for (var i = 0; i < cachedata.length; i++) {
|
||||
if (field == cachedata[i].field) {
|
||||
cachedata[i].isSorted = status;
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
form.on('switch(Filter)', function (data) {
|
||||
// 得到开关的value值,实际是需要修改的ID值。
|
||||
var field = data.value;
|
||||
var status = this.checked ? true : false;
|
||||
var cachedata = table.cache.currentTableId;
|
||||
for (var i = 0; i < cachedata.length; i++) {
|
||||
if (field == cachedata[i].field) {
|
||||
cachedata[i].isFilter = status;
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
form.on('switch(Show)', function (data) {
|
||||
// 得到开关的value值,实际是需要修改的ID值。
|
||||
var field = data.value;
|
||||
var status = this.checked ? true : false;
|
||||
var cachedata = table.cache.currentTableId;
|
||||
for (var i = 0; i < cachedata.length; i++) {
|
||||
if (field == cachedata[i].field) {
|
||||
cachedata[i].isShow = status;
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
var entity;
|
||||
table.on('row(currentTableFilter)', function (obj) {
|
||||
obj.tr.addClass("layui-table-click").siblings().removeClass("layui-table-click");
|
||||
entity = obj;
|
||||
})
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
if (obj.event === 'add') { // 监听操作
|
||||
common.modalOpen({
|
||||
title: "添加字段",
|
||||
url: "/SystemManage/CodeGenerator/RuleForm",
|
||||
width: "500px",
|
||||
height: "500px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (entity == null) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalConfirm("注:您确定要删除该项数据吗?", function (r) {
|
||||
if (r) {
|
||||
var index = parent.layer.load(0, {
|
||||
shade: [0.5, '#000'], //0.1透明度的背景
|
||||
});
|
||||
try {
|
||||
var cachedata = table.cache.currentTableId;
|
||||
for (var i = 0; i < cachedata.length; i++) {
|
||||
if (entity.data.F_Id == cachedata[i].F_Id) {
|
||||
cachedata.splice(i, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
var divId = "#" + "div" + entity.data.field;
|
||||
if ($(divId).length > 0) {
|
||||
$(divId).remove();
|
||||
}
|
||||
table.reload('currentTableId', {
|
||||
data: cachedata
|
||||
});
|
||||
entity = null;
|
||||
common.modalMsg("操作成功", "success");
|
||||
} catch (e) {
|
||||
alert(e);
|
||||
}
|
||||
parent.layer.close(index);
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
if (entity == null) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "编辑字段",
|
||||
url: "/SystemManage/CodeGenerator/RuleForm",
|
||||
width: "500px",
|
||||
height: "500px",
|
||||
dataJson: entity.data
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'sort') {
|
||||
if (entity == null) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalConfirm("注:您确定要把该项数据设定为排序字段吗?", function (r) {
|
||||
if (r) {
|
||||
var index = parent.layer.load(0, {
|
||||
shade: [0.5, '#000'], //0.1透明度的背景
|
||||
});
|
||||
try {
|
||||
$("#SortColumn").val(entity.data.field);
|
||||
common.modalMsg("操作成功", "success");
|
||||
} catch (e) {
|
||||
alert(e);
|
||||
}
|
||||
parent.layer.close(index);
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
form.on('select(n_columns)', function (data) {
|
||||
var v = $("select[name=n_columns").val();
|
||||
if (v === "1") {
|
||||
var $col = $(".layui-card-body .layui-col-md12").toggle(true);
|
||||
$(".layui-card-body .layui-col-md6 .draggable").each(function (i, el) {
|
||||
$(this).remove().appendTo($col);
|
||||
});
|
||||
$(".layui-card-body .layui-col-md6").toggle(false);
|
||||
} else {
|
||||
var $col = $(".layui-card-body .layui-col-md6").toggle(true);
|
||||
$(".layui-card-body .layui-col-md12 .draggable").each(function (i, el) {
|
||||
$(this).remove().appendTo(i % 2 ? $col[1] : $col[0]);
|
||||
});
|
||||
$(".layui-card-body .layui-col-md12").toggle(false);
|
||||
}
|
||||
});
|
||||
form.on('checkbox(IsTree)', function (data) {
|
||||
if (data.elem.checked) {
|
||||
$("#ParentColum").parent().parent().removeClass("layui-hide");
|
||||
$("#TreeColum").parent().parent().removeClass("layui-hide");
|
||||
}
|
||||
else {
|
||||
$("#ParentColum").parent().parent().addClass("layui-hide");
|
||||
$("#TreeColum").parent().parent().addClass("layui-hide");
|
||||
}
|
||||
});
|
||||
form.on('submit(formStep1)', function (data) {
|
||||
baseConfig.FileConfig.ClassPrefix = data.field.ClassPrefix;
|
||||
baseConfig.FileConfig.EntityName = data.field.ClassPrefix + "Entity";
|
||||
baseConfig.FileConfig.ServiceName = data.field.ClassPrefix + "Service";
|
||||
baseConfig.FileConfig.ControllerName = data.field.ClassPrefix + "Controller";
|
||||
baseConfig.FileConfig.ClassDescription = data.field.ClassDescription;
|
||||
baseConfig.FileConfig.CreateUserName = data.field.CreateUserName;
|
||||
baseConfig.FileConfig.CreateDate = data.field.CreateDate;
|
||||
baseConfig.OutputConfig.OutputModule = $("#OutputModule option:selected").text().replace(/^\s+|\s+$/g, "");
|
||||
step.next('#stepForm');
|
||||
return false;
|
||||
});
|
||||
var cout = 0;
|
||||
form.on('submit(formStep2)', function (data) {
|
||||
if (buttonList.getValue('value').length == 0) {
|
||||
buttonList.warning();
|
||||
return false;
|
||||
}
|
||||
//if (columnList.getValue('value').length == 0) {
|
||||
// columnList.warning();
|
||||
// return false;
|
||||
//}
|
||||
baseConfig.PageIndex.IsMunu = !data.field.IsMunu || data.field.IsMunu != "true" ? false : true;
|
||||
baseConfig.PageIndex.IsSearch = !data.field.IsSearch || data.field.IsSearch != "true" ? false : true;
|
||||
baseConfig.PageIndex.IsTree = !data.field.IsTree || data.field.IsTree != "true" ? false : true;
|
||||
baseConfig.PageIndex.IsPagination = !data.field.IsPagination || data.field.IsPagination != "true" ? false : true;
|
||||
baseConfig.PageIndex.IsFields = !data.field.IsFields || data.field.IsFields != "true" ? false : true;
|
||||
baseConfig.PageIndex.IsPublic = !data.field.IsPublic || data.field.IsPublic != "true" ? false : true;
|
||||
baseConfig.PageIndex.IsCache = false;
|
||||
baseConfig.PageIndex.ButtonList = buttonList.getValue('value');
|
||||
var cachedata = table.cache.currentTableId
|
||||
if (cachedata.length == 0) {
|
||||
common.modalMsg("未添加字段", "warning");
|
||||
return false;
|
||||
}
|
||||
baseConfig.PageIndex.SortColumn = data.field.SortColumn;
|
||||
baseConfig.PageIndex.ParentColum = data.field.ParentColum;
|
||||
baseConfig.PageIndex.TreeColum = data.field.TreeColum;
|
||||
baseConfig.PageIndex.CreateColum = data.field.CreateColum;
|
||||
baseConfig.PageIndex.DeleteColum = data.field.DeleteColum;
|
||||
baseConfig.PageIndex.KeywordColum = data.field.KeywordColum.split(',');
|
||||
baseConfig.PageIndex.IsAsc = !data.field.IsAsc || data.field.IsAsc != "true" ? false : true;
|
||||
baseConfig.PageIndex.ColumnList = [];
|
||||
var treelist = [];
|
||||
for (var i = 0; i < cachedata.length; i++) {
|
||||
var temp = {};
|
||||
var treetemp = {};
|
||||
temp["field"] = cachedata[i].field;
|
||||
temp["title"] = cachedata[i].title;
|
||||
temp["isFilter"] = cachedata[i].isFilter;
|
||||
temp["isAotuWidth"] = cachedata[i].isAotuWidth;
|
||||
temp["isSorted"] = cachedata[i].isSorted;
|
||||
temp["isShow"] = cachedata[i].isShow;
|
||||
temp["width"] = cachedata[i].width;
|
||||
temp["filterType"] = cachedata[i].filterType;
|
||||
temp["templet"] = cachedata[i].templet;
|
||||
temp["value"] = cachedata[i].value;
|
||||
baseConfig.PageIndex.ColumnList.push(temp);
|
||||
if (cachedata[i].isShow == true) {
|
||||
treetemp["id"] = cachedata[i].field;
|
||||
treetemp["title"] = cachedata[i].title;
|
||||
treetemp["parentId"] = "0";
|
||||
treetemp["checkArr"] = "0";
|
||||
treelist.push(treetemp);
|
||||
}
|
||||
else {
|
||||
var divId = "#" + "div" + cachedata[i].field;
|
||||
if ($(divId).length > 0) {
|
||||
$(divId).remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
//form字段选择
|
||||
var formColumnList = dtree.render({
|
||||
elem: "#formColumnList",
|
||||
height: 'full-200',
|
||||
width: '180px',
|
||||
checkbar: true,
|
||||
checkbarType: "all", // 默认就是all,其他的值为: no-all p-casc self only
|
||||
method: "GET",
|
||||
scroll: "#toolbarDiv", // 绑定div元素
|
||||
ficon: "-1",
|
||||
icon: "-1", // 显示非最后一级节点图标,隐藏最后一级节点图标
|
||||
initLevel: 0,
|
||||
data: treelist,
|
||||
checkbarFun: {
|
||||
chooseBefore: function ($i, node) {
|
||||
var id = node.nodeId;
|
||||
var divId = "#" + "div" + id;
|
||||
if (node.checked == "0") {
|
||||
if ($(divId).length == 0) {
|
||||
|
||||
var target = null;
|
||||
if (parseInt($("#n_columns").val()) == 1) {
|
||||
target = $(".layui-card-body .layui-col-md12");
|
||||
}
|
||||
else {
|
||||
var firstColumnInput = $(".layui-card-body .layui-col-md6").first().find("input").length;
|
||||
var secondColumnInput = $(".layui-card-body .layui-col-md6").last().find("input").length;
|
||||
if (firstColumnInput > secondColumnInput) {
|
||||
target = $(".layui-card-body .layui-col-md6").last();
|
||||
}
|
||||
else {
|
||||
target = $(".layui-card-body .layui-col-md6").first();
|
||||
}
|
||||
}
|
||||
var html = $("#divInputTemplate").prop("outerHTML");
|
||||
html = html.replace("FieldName", node.context);
|
||||
html = html.replace(/fieldName/g, "fieldName" + cout);
|
||||
html = html.replace(/fieldCode/g, id); // 替换多个
|
||||
html = html.replace("divInputTemplate", "div" + id);
|
||||
var obj = $(html);
|
||||
obj.removeAttr("style");
|
||||
obj.appendTo(target);
|
||||
formColumnList.checkStatus($i).check();
|
||||
cout++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ($(divId).length > 0) {
|
||||
$(divId).remove();
|
||||
}
|
||||
formColumnList.checkStatus($i).noCheck(); // 恢复选中状态
|
||||
}
|
||||
},
|
||||
chooseDone: function (checkbarNodesParam) { //复选框点击事件完毕后,返回该树关于复选框操作的全部信息。
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
//tree单击节点 监听事件
|
||||
dtree.on("node('formColumnList')", function (obj) {
|
||||
formColumnList.clickNodeCheckbar(obj.param.nodeId);// 点击节点选中复选框
|
||||
var id = obj.param.nodeId;
|
||||
var divId = "#" + "div" + id;
|
||||
if (obj.param.checked == "0") {
|
||||
if ($(divId).length == 0) {
|
||||
|
||||
var target = null;
|
||||
if (parseInt($("#n_columns").val()) == 1) {
|
||||
target = $(".layui-card-body .layui-col-md12");
|
||||
}
|
||||
else {
|
||||
var firstColumnInput = $(".layui-card-body .layui-col-md6").first().find("input").length;
|
||||
var secondColumnInput = $(".layui-card-body .layui-col-md6").last().find("input").length;
|
||||
if (firstColumnInput > secondColumnInput) {
|
||||
target = $(".layui-card-body .layui-col-md6").last();
|
||||
}
|
||||
else {
|
||||
target = $(".layui-card-body .layui-col-md6").first();
|
||||
}
|
||||
}
|
||||
var html = $("#divInputTemplate").prop("outerHTML");
|
||||
html = html.replace(/FieldName/g, obj.param.context);
|
||||
html = html.replace(/fieldName/g, "fieldName" + cout);
|
||||
html = html.replace(/fieldCode/g, id); // 替换多个
|
||||
html = html.replace("divInputTemplate", "div" + id);
|
||||
var obj = $(html);
|
||||
obj.removeAttr("style");
|
||||
obj.appendTo(target);
|
||||
cout++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ($(divId).length > 0) {
|
||||
$(divId).remove();
|
||||
}
|
||||
}
|
||||
});
|
||||
step.next('#stepForm');
|
||||
return false;
|
||||
});
|
||||
var codeList;
|
||||
form.on('submit(formStep3)', function (data) {
|
||||
baseConfig.PageForm.ShowMode = $("#n_columns").val();
|
||||
baseConfig.PageForm.FieldList = [];
|
||||
$("#divForm label:not(.hidden)").each(function (i, ele) {
|
||||
if ($(ele).parent().css("display") != "none") {
|
||||
var key = $(ele).parent().find("input")[0].id;
|
||||
var temp = {};
|
||||
temp["key"] = key;
|
||||
temp["value"] = $(ele).html();
|
||||
baseConfig.PageForm.FieldList.push(temp);
|
||||
}
|
||||
});
|
||||
if (baseConfig.PageForm.FieldList.length <= 0) {
|
||||
common.modalMsg("未添加表单字段", "warning");
|
||||
return false;
|
||||
}
|
||||
$.ajax({
|
||||
url: "/SystemManage/CodeGenerator/CodePreviewJson?dbNumber=" + dbNumber,
|
||||
type: "post",
|
||||
dataType: 'json',
|
||||
async: false,
|
||||
data: baseConfig,
|
||||
success: function (data) {
|
||||
if (data.state == "success") {
|
||||
$("div.layui-tab-item").each(function (i, ele) {
|
||||
var col = $(ele).attr("col");
|
||||
if (col == "CodeMenu") {
|
||||
$(this).html("<pre class='no-padding no-margin no-top-border'><code class='html'>" + data.data[col] + "</code></pre>");
|
||||
}
|
||||
else {
|
||||
$(this).html("<pre class='no-padding no-margin no-top-border'><code class='csharp'>" + data.data[col] + "</code></pre>");
|
||||
}
|
||||
});
|
||||
//$('pre code').each(function (i, ele) {
|
||||
// hljs.highlightBlock(ele)
|
||||
//});
|
||||
codeList = data.data;
|
||||
step.next('#stepForm');
|
||||
}
|
||||
else {
|
||||
common.modalAlert(data.message, data.state);
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
form.on('submit(formStep4)', function (data) {
|
||||
var postData = baseConfig;
|
||||
postData.Code = encodeURIComponent(JSON.stringify(codeList));
|
||||
postData.dbNumber = dbNumber;
|
||||
common.submitForm({
|
||||
url: "/SystemManage/CodeGenerator/CodeGenerateJson",
|
||||
param: postData,
|
||||
success: function () {
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
$('.pre').click(function () {
|
||||
step.pre('#stepForm');
|
||||
});
|
||||
})
|
||||
function editName(data) {
|
||||
var key = $('#' + data).parent().find("input")[0].id;
|
||||
var value = $('#' + data).html();
|
||||
|
||||
layui.use(['jquery', 'form', 'laydate', 'common'], function () {
|
||||
layui.common.modalOpen({
|
||||
title: "修改值",
|
||||
url: "/SystemManage/CodeGenerator/AddForm?parentform=" + window.name + "&event=" + data,
|
||||
width: "400px",
|
||||
height: "400px",
|
||||
data: { TableColumn: key, Remark: value },
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-carousel" id="stepForm" lay-filter="stepForm">
|
||||
<div carousel-item>
|
||||
<div>
|
||||
<form class="layui-form layuimini-form">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">类名前缀</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="ClassPrefix" name="ClassPrefix" autocomplete="off" lay-verify="required" maxlength="50" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">界面名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="ClassDescription" name="ClassDescription" autocomplete="off" maxlength="50" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">输出模块名</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="OutputModule" name="OutputModule" lay-filter="OutputModule" lay-verify="required" lay-search>
|
||||
<option value="">请选择</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">创建人员</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="CreateUserName" name="CreateUserName" autocomplete="off" maxlength="50" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">创建日期</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="CreateDate" name="CreateDate" autocomplete="off" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group-bottom text-right">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="formStep1">下一步</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div>
|
||||
<form class="layui-form layuimini-form">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-col-md12">
|
||||
<label class="layui-form-label required">页面选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="IsMunu" id="IsMunu" checked="checked" value="true" title="菜单显示">
|
||||
<input type="checkbox" name="IsTree" id="IsTree" checked="" value="true" lay-filter="IsTree" title="树形表格">
|
||||
<input type="checkbox" name="IsSearch" id="IsSearch" checked="checked" value="true" title="搜索框">
|
||||
<input type="checkbox" name="IsPagination" id="IsPagination" checked="checked" value="true" title="分页">
|
||||
<input type="checkbox" name="IsFields" id="IsFields" checked="" value="true" title="字段控制">
|
||||
<input type="checkbox" name="IsPublic" id="IsPublic" checked="" value="true" title="是否公共">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-col-md6 layui-col-xs6">
|
||||
<label class="layui-form-label required">按钮选项</label>
|
||||
<div class="layui-input-block">
|
||||
<div id="ButtonList" name="ButtonList" class="xm-select-demo">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md6 layui-col-xs6">
|
||||
<label class="layui-form-label required">模糊查询字段</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="KeywordColum" name="KeywordColum" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-col-md3 layui-col-xs3">
|
||||
<label class="layui-form-label required">排序字段</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="SortColumn" name="SortColumn" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3 layui-col-xs3">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="IsAsc" id="IsAsc" checked="" value="true" title="顺序">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3 layui-col-xs3">
|
||||
<label class="layui-form-label">删除字段</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="DeleteColum" name="DeleteColum" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3 layui-col-xs3">
|
||||
<label class="layui-form-label">创建字段</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="CreateColum" name="CreateColum" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-col-md6 layui-col-xs6">
|
||||
<label class="layui-form-label">父级字段</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="ParentColum" name="ParentColum" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md6 layui-col-xs6">
|
||||
<label class="layui-form-label">树形显示字段</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="TreeColum" name="TreeColum" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group-bottom text-right">
|
||||
<div class="layui-input-block">
|
||||
<button type="button" class="layui-btn layui-btn-primary pre">上一步</button>
|
||||
<button class="layui-btn" lay-submit lay-filter="formStep2">下一步</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button class="layui-btn layui-btn-sm layui-btn-warm" lay-event="edit"><i class="layui-icon"></i>编辑</button>
|
||||
<button class="layui-btn layui-btn-sm" lay-event="sort"><i class="layui-icon"></i>设为排序</button>
|
||||
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="delete"> <i class="layui-icon"></i>删除</button> </div>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
</div>
|
||||
<div>
|
||||
<form class="layui-form layuimini-form ">
|
||||
<div class="layui-fluid" style="padding:0 0px">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-card layui-col-md3 layui-col-xs4">
|
||||
<div class="layui-card-header"><i class="fa fa-warning icon"></i>字段选择</div>
|
||||
<div class="layui-card-body" style="background-color:#cce3ff3b" id="toolbarDiv">
|
||||
<ul id="formColumnList" name="formColumnList" class="dtree" data-id="0"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card layui-col-md9 layui-col-xs8">
|
||||
<div class="layui-card-header layui-col-md3 layui-col-xs5">
|
||||
<i class="fa fa-warning icon"></i>列数
|
||||
</div>
|
||||
<div class="layui-card-header layui-col-md9 layui-col-xs7">
|
||||
<select id="n_columns" name="n_columns" lay-filter="n_columns">
|
||||
<option value="1">显示1列</option>
|
||||
<option value="2">显示2列</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-card-body" id="divForm">
|
||||
<div id="divInputTemplate" class="layui-form-item draggable ui-draggable dropped" style="display:none">
|
||||
<label class="layui-form-label" id="fieldName">FieldName</label>
|
||||
<div class="layui-input-block" style="padding-right: 70px;">
|
||||
<input id="fieldCode" col="fieldCode" type="text" class="layui-input" readonly value="fieldCode">
|
||||
<button class="layui-btn layui-btn-normal" style="position: absolute;top: 0;right: 6px;cursor: pointer;" type="button" onclick="editName('fieldName')">编辑</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md12 layui-col-xs12 droppable sortable">
|
||||
</div>
|
||||
<div class="layui-col-md6 layui-col-xs6 droppable sortable" style="display:none">
|
||||
</div>
|
||||
<div class="layui-col-md6 layui-col-xs6 droppable sortable" style="display:none">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group-bottom text-right">
|
||||
<div class="layui-input-block">
|
||||
<button type="button" class="layui-btn layui-btn-primary pre">上一步</button>
|
||||
<button class="layui-btn" lay-submit lay-filter="formStep3">下一步</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div>
|
||||
<form class="layui-form layuimini-form">
|
||||
<div class="layui-tab">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">实体类</li>
|
||||
<li>服务类</li>
|
||||
<li>控制器</li>
|
||||
<li>列表页</li>
|
||||
<li>表单页</li>
|
||||
<li>详情页</li>
|
||||
<li>菜单</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content" style="height:300px;overflow:auto">
|
||||
<div class="layui-tab-item layui-show" id="codeEntity" col="CodeEntity">
|
||||
</div>
|
||||
<div class="layui-tab-item" id="codeService" col="CodeService">
|
||||
</div>
|
||||
<div class="layui-tab-item" id="codeController" col="CodeController">
|
||||
</div>
|
||||
<div class="layui-tab-item" id="codeIndex" col="CodeIndex">
|
||||
</div>
|
||||
<div class="layui-tab-item" id="codeForm" col="CodeForm">
|
||||
</div>
|
||||
<div class="layui-tab-item" id="codeDetails" col="CodeDetails">
|
||||
</div>
|
||||
<div class="layui-tab-item" id="codeMenu" col="CodeMenu">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group-bottom text-right">
|
||||
<div class="layui-input-block">
|
||||
<button type="button" class="layui-btn layui-btn-primary pre">上一步</button>
|
||||
<button class="layui-btn site-demo-active" lay-submit lay-filter="formStep4">确认生成</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,183 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['form', 'table', 'common', 'commonTable', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
table = layui.table,
|
||||
commonTable = layui.commonTable,
|
||||
common = layui.common;
|
||||
//加载数据
|
||||
wcLoading.close();
|
||||
//权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
$("#dbNumber").bindSelect({
|
||||
url: "/SystemManage/CodeGenerator/GetDbNumberListJson",
|
||||
checked:0,
|
||||
id:""
|
||||
});
|
||||
form.render();
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
url: '/SystemManage/CodeGenerator/GetTablePageListJson',
|
||||
cols: [[
|
||||
{ type: "radio", width: 50, fixed: 'left' },
|
||||
{ field: 'Name', title: '表名称', width: 200 },
|
||||
{ field: 'Description', title: '表备注', minWidth: 250 },
|
||||
{ field: 'DbObjectType', title: '表类型', minWidth: 150,
|
||||
templet: function (d) {
|
||||
switch(d.DbObjectType)
|
||||
{
|
||||
case 0:
|
||||
return "数据库表";
|
||||
case 1:
|
||||
return "数据库表";
|
||||
default:
|
||||
return "其他";
|
||||
}
|
||||
}
|
||||
},
|
||||
{ title: '操作', width: 215, toolbar: '#currentTableBar', align: "center", fixed: 'right' }
|
||||
]]
|
||||
});
|
||||
var dbNumber = $('#dbNumber').val();
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
curr: 1,
|
||||
where: { keyword: data.field.txt_keyword,dbNumber:data.field.dbNumber}
|
||||
});
|
||||
dbNumber = data.field.dbNumber;
|
||||
return false;
|
||||
});
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-entitycode", "NF-add", "NF-details"];//选择1条显示
|
||||
commonTable.tableRowClick("radio", "currentTableFilter", "currentTableId", oneList);
|
||||
/**
|
||||
* toolbar监听事件
|
||||
*/
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
if (obj.event === 'add') { // 监听删除操作
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.openNewTabByIframe({
|
||||
title: "模板代码生成",
|
||||
href: "/SystemManage/CodeGenerator/Form?keyValue=" + data[0].Name + "&dbNumber=" + dbNumber,
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'entitycode') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "实体类生成",
|
||||
url: "/SystemManage/CodeGenerator/EntityCode?keyValue=" + data[0].Name + "&dbNumber=" + dbNumber,
|
||||
width: "700px",
|
||||
height: "600px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "查看数据表",
|
||||
url: "/SystemManage/CodeGenerator/Details?keyValue=" + data[0].Name + "&dbNumber=" + dbNumber,
|
||||
width: "700px",
|
||||
height: "600px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
//toolrow监听事件
|
||||
table.on('tool(currentTableFilter)', function (obj) {
|
||||
if (obj.event === 'add') { // 监听
|
||||
common.openNewTabByIframe({
|
||||
title: "模板代码生成",
|
||||
href: "/SystemManage/CodeGenerator/Form?keyValue=" + obj.data.Name + "&dbNumber=" + dbNumber,
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'entitycode') {
|
||||
common.modalOpen({
|
||||
title: "实体类生成",
|
||||
url: "/SystemManage/CodeGenerator/EntityCode?keyValue=" + obj.data.Name + "&dbNumber=" + dbNumber,
|
||||
width: "700px",
|
||||
height: "600px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
common.modalOpen({
|
||||
title: "查看数据表",
|
||||
url: "/SystemManage/CodeGenerator/Details?keyValue=" + obj.data.Name + "&dbNumber=" + dbNumber,
|
||||
width: "700px",
|
||||
height: "600px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset layui-hide" id="searchField">
|
||||
@*<legend>搜索信息</legend>*@
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">表名称:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">数据库编号:</label>
|
||||
<div class="layui-input-inline">
|
||||
<select id="dbNumber" name="dbNumber" lay-verify="required" lay-search>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" authorize="yes" class="layui-btn layui-btn-sm layui-hide" lay-event="add"><i class="layui-icon"></i>模板生成</button>
|
||||
<button id="NF-entitycode" name="NF-entitycode" authorize="yes" class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="entitycode"><i class="layui-icon"></i>实体生成</button>
|
||||
<button id="NF-details" name="NF-details" authorize="yes" class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>查看</button>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="currentTableBar">
|
||||
<a id="NF-add" authorize class="layui-btn layui-btn-xs" lay-event="add">模板生成</a>
|
||||
<a id="NF-entitycode" authorize class="layui-btn layui-btn-xs layui-btn-danger" lay-event="entitycode">实体生成</a>
|
||||
<a id="NF-details" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details">查看</a>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,206 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common;
|
||||
var entity = common.parentWindow().dataJson;
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
common.val('adminform', entity);
|
||||
form.render();
|
||||
wcLoading.close();
|
||||
//监听提交
|
||||
var lock = false;
|
||||
form.on('select(Templet)', function (data) {
|
||||
if (!$('#field').val()) {
|
||||
common.modalMsg("请先输入字段", "warning");
|
||||
return false;
|
||||
}
|
||||
var str = '';
|
||||
str += 'function (d) {';
|
||||
if (data.value == 4) {
|
||||
str += 'if (d.' + $('#field').val() + ' == true) {';
|
||||
str += 'return "<span class=\'layui-btn ayui-btn-normal layui-btn-xs\'>是</span>";';
|
||||
str += '} else {';
|
||||
str += 'return "<span class=\'layui-btn layui-btn-warm layui-btn-xs\'>否</span>";}';
|
||||
} else {
|
||||
str += 'if (d.' + $('#field').val() + ') {';
|
||||
str += 'var time = new Date(d.' + $('#field').val() + ');';
|
||||
str += 'if (d.' + $('#field').val() + ') {';
|
||||
str += 'var time = new Date(d.' + $('#field').val() + ');';
|
||||
str += 'return time.Format("';
|
||||
switch (data.value) {
|
||||
case "0":
|
||||
str += 'yyyy-MM-dd hh:mm:ss';
|
||||
break;
|
||||
case "1":
|
||||
str += 'yyyy-MM-dd hh:mm';
|
||||
break;
|
||||
case "2":
|
||||
str += 'yyyy-MM-dd hh';
|
||||
break;
|
||||
case "3":
|
||||
str += 'yyyy-MM-dd';
|
||||
break;
|
||||
default:
|
||||
}
|
||||
str += '");';
|
||||
str += '}';
|
||||
str += 'return \'\';';
|
||||
|
||||
}
|
||||
str += '}';
|
||||
$('#templet').val(str);
|
||||
form.render();
|
||||
});
|
||||
form.on('select(FilterType)', function (data) {
|
||||
$('#filterType').val(data.value);
|
||||
form.render();
|
||||
});
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
if (!lock) {
|
||||
lock = true;
|
||||
var index = parent.layer.load(0, {
|
||||
shade: [0.5, '#000'], //0.1透明度的背景
|
||||
});
|
||||
var postData = {};
|
||||
postData.field = data.field.field;
|
||||
postData.title = data.field.title;
|
||||
postData.width = data.field.width;
|
||||
postData.templet = data.field.templet;
|
||||
postData.filterType = data.field.filterType;
|
||||
postData.value = data.field.value;
|
||||
postData.isAotuWidth = !data.field.isAotuWidth || data.field.isAotuWidth != "true" ? false : true;
|
||||
postData.isFilter = !data.field.isFilter || data.field.isFilter != "true" ? false : true;
|
||||
postData.isSorted = !data.field.isSorted || data.field.isSorted != "true" ? false : true;
|
||||
postData.isShow = !data.field.isShow || data.field.isShow != "true" ? false : true;
|
||||
if (!!entity && !!entity.F_Id) {
|
||||
postData.F_Id = entity.F_Id;
|
||||
}
|
||||
else {
|
||||
postData.F_Id = uuid();
|
||||
}
|
||||
var tempdata = common.parentWindow().layui.table.cache.currentTableId;
|
||||
if (!!entity && !!entity.F_Id) {
|
||||
for (var i = 0; i < tempdata.length; i++) {
|
||||
if (entity.F_Id == tempdata[i].F_Id) {
|
||||
tempdata[i].field = postData.field;
|
||||
tempdata[i].title = postData.title;
|
||||
tempdata[i].width = postData.width;
|
||||
tempdata[i].isAotuWidth = postData.isAotuWidth;
|
||||
tempdata[i].isFilter = postData.isFilter;
|
||||
tempdata[i].isSorted = postData.isSorted;
|
||||
tempdata[i].isShow = postData.isShow;
|
||||
tempdata[i].filterType = postData.filterType;
|
||||
tempdata[i].templet = postData.templet;
|
||||
tempdata[i].value = postData.value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (var i = 0; i < tempdata.length; i++) {
|
||||
if (tempdata[i].field == postData.field) {
|
||||
common.modalMsg("操作失败,编号重复", "error");
|
||||
lock = false;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
tempdata.push(postData);
|
||||
}
|
||||
common.modalMsg("操作成功", "success");
|
||||
common.parentWindow().layui.table.reload('currentTableId', {
|
||||
data: tempdata
|
||||
});
|
||||
parent.layer.close(index);
|
||||
common.modalClose();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form " lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="field" maxlength="50" name="field" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="title" maxlength="50" name="title" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">宽度</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" pattern="[0-9]*" id="width" name="width" lay-verify="required|number" oninput="if(value.length>8)value=value.slice(0,8)" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="isAotuWidth" id="isAotuWidth" checked="" value="true" title="补全列宽">
|
||||
<input type="checkbox" name="isSorted" id="isSorted" checked="" value="true" title="排序">
|
||||
<input type="checkbox" name="isFilter" id="isFilter" checked="" value="true" title="过滤">
|
||||
<input type="checkbox" name="isShow" id="isShow" checked="" value="true" title="显示">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">初始值</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="value" maxlength="50" name="value" placeholder="可空" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">过滤类型</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="filterTypeSelect" name="filterTypeSelect" lay-filter="FilterType" lay-search>
|
||||
<option value="" selected>请选择</option>
|
||||
<option value="date[yyyy-MM-dd hh:mm:ss]">日期时分秒</option>
|
||||
<option value="date[yyyy-MM-dd hh:mm]">日期时分</option>
|
||||
<option value="date[yyyy-MM-dd hh:mm]">日期时</option>
|
||||
<option value="date[yyyy-MM-dd]">日期</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">过滤类型内容</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="filterType" name="filterType" placeholder="请输入过滤类型内容" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">模板</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="templetSelect" name="templetSelect" lay-filter="Templet">
|
||||
<option value="" selected>请选择</option>
|
||||
<option value="0">日期时分秒</option>
|
||||
<option value="1">日期时分</option>
|
||||
<option value="2">日期时</option>
|
||||
<option value="3">日期</option>
|
||||
<option value="4">是否</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">模板内容</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="templet" name="templet" class="layui-textarea" placeholder="请输入模板内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
@@ -0,0 +1,132 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset layui-hide" id="searchField">
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-reprint" name="NF-reprint" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="reprint"><i class="layui-icon"></i>打印</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
<script type="text/html" id="currentTableBar">
|
||||
<a id="NF-reprint" authorize class="layui-btn layui-btn-sm layui-btn-warm" lay-event="reprint">打印</a>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'table', 'commonTable', 'common', 'optimizeSelectOption'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table, commonTable = layui.commonTable
|
||||
common = layui.common;
|
||||
//权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
id: 'currentTableId',
|
||||
url: '/SystemManage/Codegeneratelog/GetGridJson',
|
||||
cols: [[
|
||||
//此处需修改
|
||||
{ type: "checkbox", width: 50, fixed: 'left' },
|
||||
{ field: 'F_Code', title: '条码', minWidth: 150, sort: true, filter: true },
|
||||
{ field: 'F_RuleName', title: '规则名称', minWidth: 150, sort: true, filter: true },
|
||||
{ field: 'F_PrintJson', title: '打印Json', minWidth: 150, sort: true, filter: true },
|
||||
{ field: 'F_PrintCount', title: '打印次数', width: 120, sort: true, filter: true },
|
||||
{ field: 'F_CreatorTime', title: '创建时间', width: 160, sort: true, filter: true },
|
||||
{ title: '操作', width: 80, toolbar: '#currentTableBar', align: "center", fixed: 'right' }
|
||||
]]
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
curr: 1,
|
||||
where: { keyword: data.field.txt_keyword }
|
||||
});
|
||||
return false;
|
||||
});
|
||||
wcLoading.close();
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-reprint"];//选择1条显示
|
||||
commonTable.tableRowClick("checkbox", "currentTableFilter", "currentTableId", oneList, null);
|
||||
//toolbar监听事件
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
var id = data.length > 0 ? data[0].F_Id : null;
|
||||
if (obj.event === 'reprint') { // 监听添加操作
|
||||
common.ajax({
|
||||
url: "/SystemManage/Codegeneratelog/Reprint",
|
||||
dataType: "json",
|
||||
data: { keyValue: id},
|
||||
async: false,
|
||||
success: function (data) {
|
||||
if (top.websocket == null || top.websocket.readyState == 3) {
|
||||
common.modalMsg("打印服务未开启", "warning");
|
||||
return false;
|
||||
}
|
||||
for (var i = 0; i < data.length; i++)
|
||||
{
|
||||
top.sendWSPush(data[i]);
|
||||
}
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
//toolrow监听事件
|
||||
table.on('tool(currentTableFilter)', function (obj) {
|
||||
var id = obj.data.F_Id;
|
||||
if (obj.event === 'reprint') {
|
||||
common.ajax({
|
||||
url: "/SystemManage/Codegeneratelog/Reprint",
|
||||
dataType: "json",
|
||||
data: { keyValue: id},
|
||||
async: false,
|
||||
success: function (data) {
|
||||
if (top.websocket == null || top.websocket.readyState == 3) {
|
||||
common.modalMsg("打印服务未开启", "warning");
|
||||
return false;
|
||||
}
|
||||
for (var i = 0; i < data.length; i++)
|
||||
{
|
||||
top.sendWSPush(data[i]);
|
||||
}
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
165
WaterCloud.Web/Areas/SystemManage/Views/Coderule/Details.cshtml
Normal file
165
WaterCloud.Web/Areas/SystemManage/Views/Coderule/Details.cshtml
Normal file
@@ -0,0 +1,165 @@
|
||||
@{
|
||||
ViewBag.Title = "Details";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'tableEdit', 'commonTable', 'table', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
laydate = layui.laydate,
|
||||
tableEdit = layui.tableEdit,
|
||||
table = layui.table,
|
||||
commonTable = layui.commonTable,
|
||||
common = layui.common;
|
||||
var keyValue = $.request("keyValue");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
var listData = [];
|
||||
$(function () {
|
||||
initControl();
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: '/SystemManage/Coderule/GetFormJson',
|
||||
dataType: 'json',
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
common.setReadOnly('adminform');
|
||||
if (!!data.F_RuleJson) {
|
||||
listData = JSON.parse(data.F_RuleJson);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
form.render();
|
||||
//1-固定参数 2-日期 3-年 4-月 5-日 6-周别 7-周几 8-小时 9-上午下午 10-班别 11-流水号 12-自定义
|
||||
var params = [{ name: '固定参数', value: 1 }, { name: '日期', value: 2 }, { name: '年', value: 3 }, { name: '月', value: 4 }, { name: '日', value: 5 },
|
||||
{ name: '周别', value: 6 }, { name: '周几', value: 7 }, { name: '小时', value: 8 }, { name: '上下午', value: 9 }, { name: '班别', value: 10 },
|
||||
{ name: '流水号', value: 11 }, { name: '自定义', value: 12 }
|
||||
];
|
||||
var cols = [[
|
||||
{ type: "radio", width: 50 },
|
||||
{
|
||||
field: 'FormatType', title: '编码类型', width: 90
|
||||
, templet: function (d) {
|
||||
if (d.FormatType || d.FormatType == 0) {
|
||||
if (d.FormatType.value || d.FormatType.value == 0) {
|
||||
return d.FormatType.name;
|
||||
}
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
if (params[i].value == d.FormatType) {
|
||||
return params[i].name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ''
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'FormatString', title: '格式化字符串', width: 115
|
||||
},
|
||||
{ field: 'ToBase', title: '进制', width: 60},
|
||||
{ field: 'InitValue', title: '流水号初始值', width: 120},
|
||||
{ field: 'MaxValue', title: '最大值', width: 75},
|
||||
{ field: 'Increment', title: '步长', width: 60 },
|
||||
{
|
||||
field: 'DiyDate', title: '自定义', width: 130, templet: function (d) {
|
||||
if (d.DiyDate && d.DiyDate instanceof Array) {
|
||||
return d.DiyDate.join(",");
|
||||
}
|
||||
return d.DiyDate;
|
||||
}
|
||||
}
|
||||
]];
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
data: listData,
|
||||
defaultToolbar: [],
|
||||
search: false,
|
||||
limit: 9999,//每页数据 默认
|
||||
page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
|
||||
layout: ['count'] //自定义分页布局
|
||||
, first: false //不显示首页
|
||||
, last: false //不显示尾页
|
||||
},
|
||||
height: '300px',
|
||||
filter: {
|
||||
clearFilter: false,
|
||||
},
|
||||
cols: cols
|
||||
});
|
||||
var aopTable = tableEdit.aopObj(cols); //获取一个aop对象
|
||||
aopTable.on('tool(currentTableFilter)', function (obj) {
|
||||
var field = obj.field; //单元格字段
|
||||
var value = obj.value; //修改后的值
|
||||
var data = obj.data; //当前行旧数据
|
||||
var event = obj.event; //当前单元格事件属性值
|
||||
var update = {};
|
||||
update[field] = value;
|
||||
//把value更新到行中
|
||||
obj.update(update);
|
||||
});
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-delete"];//选择1条显示
|
||||
commonTable.tableRowClick("radio", "currentTableFilter", "currentTableId", oneList, null);
|
||||
});
|
||||
wcLoading.close();
|
||||
function initControl() {
|
||||
//此处需修改
|
||||
$("#F_TemplateId").bindSelect({
|
||||
url: "/SystemManage/Template/GetListJson",
|
||||
id: "F_Id",
|
||||
text: "F_TemplateName"
|
||||
});
|
||||
$("#F_Reset").bindSelect({
|
||||
data: top.clients.dataItems["RuleReset"],
|
||||
id: ""
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">规则名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_RuleName" name="F_RuleName" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">重设机制</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_Reset" name="F_Reset" lay-verify="required">
|
||||
<option value="">==请选择==</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">打印模板</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_TemplateId" name="F_TemplateId" lay-verify="required">
|
||||
<option value="">==请选择==</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">规则内容</label>
|
||||
<div class="layui-input-block">
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
363
WaterCloud.Web/Areas/SystemManage/Views/Coderule/Form.cshtml
Normal file
363
WaterCloud.Web/Areas/SystemManage/Views/Coderule/Form.cshtml
Normal file
@@ -0,0 +1,363 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'tableEdit', 'commonTable', 'table', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
laydate = layui.laydate,
|
||||
tableEdit = layui.tableEdit,
|
||||
table = layui.table,
|
||||
commonTable = layui.commonTable,
|
||||
common = layui.common;
|
||||
var keyValue = $.request("keyValue");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
var listData = [];
|
||||
$(function () {
|
||||
initControl();
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: '/SystemManage/Coderule/GetFormJson',
|
||||
dataType: 'json',
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
if (!!data.F_RuleJson) {
|
||||
listData = JSON.parse(data.F_RuleJson);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
form.render();
|
||||
//1-固定参数 2-日期 3-年 4-月 5-日 6-周别 7-周几 8-小时 9-上午下午 10-班别 11-流水号 12-自定义
|
||||
var params = [{ name: '固定参数', value: 1 }, { name: '日期', value: 2 }, { name: '年', value: 3 }, { name: '月', value: 4 }, { name: '日', value: 5 },
|
||||
{ name: '周别', value: 6 }, { name: '周几', value: 7 }, { name: '小时', value: 8 }, { name: '上下午', value: 9 }, { name: '班别', value: 10 },
|
||||
{ name: '流水号', value: 11 }, { name: '自定义', value: 12 }, { name: '预留码', value: 13 }
|
||||
];
|
||||
var cols = [[
|
||||
{ type: "radio", width: 50 },
|
||||
{
|
||||
field: 'FormatType', title: '编码类型', width: 90, event: 'formatType', config: { type: 'select', data: params, verify: { type: "required" } }
|
||||
, templet: function (d) {
|
||||
if (d.FormatType || d.FormatType == 0) {
|
||||
if (d.FormatType.value || d.FormatType.value == 0) {
|
||||
return d.FormatType.name;
|
||||
}
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
if (params[i].value == d.FormatType) {
|
||||
return params[i].name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ''
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'FormatString', title: '格式化字符串', width: 115, event: 'formatString', config: { type: 'input', verify: { type: "required" } }
|
||||
},
|
||||
{ field: 'ToBase', title: '进制', width: 60, event: 'actualNum', config: { type: 'signedInput' } },
|
||||
{ field: 'InitValue', title: '流水号初始值', width: 120, event: 'initValue', config: { type: 'signedInput' } },
|
||||
{ field: 'MaxValue', title: '最大值', width: 75, event: 'maxValue', config: { type: 'signedInput' } },
|
||||
{ field: 'Increment', title: '步长', width: 60, event: 'increment', config: { type: 'signedInput' } },
|
||||
{
|
||||
field: 'DiyDate', title: '自定义', width: 130, event: 'diyDate', config: { type: 'input' }, templet: function (d) {
|
||||
if (!!d.DiyDate && d.DiyDate instanceof Array) {
|
||||
return d.DiyDate.join(",");
|
||||
}
|
||||
if (!d.DiyDate)
|
||||
return '';
|
||||
return d.DiyDate;
|
||||
}
|
||||
}
|
||||
]];
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
data: listData,
|
||||
defaultToolbar: [],
|
||||
search: false,
|
||||
limit: 9999,//每页数据 默认
|
||||
page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
|
||||
layout: ['count'] //自定义分页布局
|
||||
, first: false //不显示首页
|
||||
, last: false //不显示尾页
|
||||
},
|
||||
height: '300px',
|
||||
filter: {
|
||||
clearFilter: false,
|
||||
},
|
||||
cols: cols
|
||||
});
|
||||
var aopTable = tableEdit.aopObj(cols); //获取一个aop对象
|
||||
aopTable.on('tool(currentTableFilter)', function (obj) {
|
||||
var field = obj.field; //单元格字段
|
||||
var value = obj.value; //修改后的值
|
||||
var data = obj.data; //当前行旧数据
|
||||
var event = obj.event; //当前单元格事件属性值
|
||||
var update = {};
|
||||
update[field] = value;
|
||||
if (obj.field == "FormatType")
|
||||
obj.data.FormatType=value;
|
||||
switch (!!obj.data.FormatType.value ? obj.data.FormatType.value : obj.data.FormatType) {
|
||||
case 1:
|
||||
if (obj.field == "FormatType") {
|
||||
update["FormatString"] = "";
|
||||
}
|
||||
update["ToBase"] = null;
|
||||
update["InitValue"] = null;
|
||||
update["MaxValue"] = null;
|
||||
update["Increment"] = null;
|
||||
update["DiyDate"] = null;
|
||||
break;
|
||||
case 2:
|
||||
if (obj.field == "FormatType") {
|
||||
update["FormatString"] = "yyyyMMdd";
|
||||
}
|
||||
update["ToBase"] = null;
|
||||
update["InitValue"] = null;
|
||||
update["MaxValue"] = null;
|
||||
update["Increment"] = null;
|
||||
update["DiyDate"] = null;
|
||||
break;
|
||||
case 3:
|
||||
if (obj.field == "FormatType") {
|
||||
update["FormatString"] = "yyyy";
|
||||
}
|
||||
update["ToBase"] = null;
|
||||
update["InitValue"] = null;
|
||||
update["MaxValue"] = null;
|
||||
update["Increment"] = null;
|
||||
update["DiyDate"] = null;
|
||||
break;
|
||||
case 4:
|
||||
if (obj.field == "FormatType") {
|
||||
update["FormatString"] = "MM";
|
||||
update["DiyDate"] = [01, 02, 03, 04, 05, 06, 07,08, 09, 10, 11, 12];
|
||||
}
|
||||
update["ToBase"] = null;
|
||||
update["InitValue"] = null;
|
||||
update["MaxValue"] = null;
|
||||
update["Increment"] = null;
|
||||
break;
|
||||
case 5:
|
||||
if (obj.field == "FormatType") {
|
||||
update["FormatString"] = "dd";
|
||||
update["DiyDate"] = [01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31];
|
||||
}
|
||||
update["ToBase"] = null;
|
||||
update["InitValue"] = null;
|
||||
update["MaxValue"] = null;
|
||||
update["Increment"] = null;
|
||||
break;
|
||||
case 6:
|
||||
if (obj.field == "FormatType") {
|
||||
update["FormatString"] = "WW";
|
||||
}
|
||||
update["ToBase"] = null;
|
||||
update["InitValue"] = null;
|
||||
update["MaxValue"] = null;
|
||||
update["Increment"] = null;
|
||||
update["DiyDate"] = null;
|
||||
break;
|
||||
case 7:
|
||||
if (obj.field == "FormatType") {
|
||||
update["FormatString"] = "WD";
|
||||
update["DiyDate"] = [1,2,3,4,5,6,7];
|
||||
}
|
||||
update["ToBase"] = null;
|
||||
update["InitValue"] = null;
|
||||
update["MaxValue"] = null;
|
||||
update["Increment"] = null;
|
||||
break;
|
||||
case 8:
|
||||
if (obj.field == "FormatType") {
|
||||
update["FormatString"] = "HH";
|
||||
}
|
||||
update["ToBase"] = null;
|
||||
update["InitValue"] = null;
|
||||
update["MaxValue"] = null;
|
||||
update["Increment"] = null;
|
||||
update["DiyDate"] = null;
|
||||
break;
|
||||
case 9:
|
||||
if (obj.field == "FormatType") {
|
||||
update["FormatString"] = "TM";
|
||||
update["DiyDate"] = ["AM","PM"];
|
||||
}
|
||||
update["ToBase"] = null;
|
||||
update["InitValue"] = null;
|
||||
update["MaxValue"] = null;
|
||||
update["Increment"] = null;
|
||||
break;
|
||||
case 10:
|
||||
if (obj.field == "FormatType") {
|
||||
update["FormatString"] = "CS";
|
||||
update["DiyDate"] = ["A.8:30-20:30","B.20:30-8:30"];
|
||||
}
|
||||
update["ToBase"] = null;
|
||||
update["InitValue"] = null;
|
||||
update["MaxValue"] = null;
|
||||
update["Increment"] = null;
|
||||
break;
|
||||
case 12:
|
||||
if (obj.field == "FormatType") {
|
||||
update["FormatString"] = "";
|
||||
}
|
||||
update["ToBase"]=null;
|
||||
update["InitValue"]=null;
|
||||
update["MaxValue"] = null;
|
||||
update["Increment"] = null;
|
||||
update["DiyDate"] = null;
|
||||
break;
|
||||
case 13:
|
||||
if (obj.field == "FormatType") {
|
||||
update["FormatString"] = "*";
|
||||
}
|
||||
update["ToBase"] = null;
|
||||
update["InitValue"] = null;
|
||||
update["MaxValue"] = null;
|
||||
update["Increment"] = null;
|
||||
update["DiyDate"] = null;
|
||||
break;
|
||||
case 11:
|
||||
if (obj.field == "FormatType") {
|
||||
update["FormatString"] = "0000";
|
||||
update["ToBase"] = 10;
|
||||
update["InitValue"] = 1;
|
||||
update["MaxValue"] = -1;
|
||||
update["Increment"] = 1;
|
||||
}
|
||||
update["DiyDate"] = null;
|
||||
break;
|
||||
}
|
||||
//把value更新到行中
|
||||
obj.update(update);
|
||||
});
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-delete"];//选择1条显示
|
||||
commonTable.tableRowClick("radio", "currentTableFilter", "currentTableId", oneList, null);
|
||||
});
|
||||
wcLoading.close();
|
||||
//toolbar监听事件
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
if (obj.event === 'add') { // 监听添加操作\
|
||||
var alldata = table.cache.currentTableId;
|
||||
alldata.push({ Id: uuid(), FormatType: '', FormatString: '', ToBase: null, InitValue: null, MaxValue: null, Increment: null, DiyDate: null })
|
||||
table.reload('currentTableId', { data: alldata })
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalConfirm("注:您确定要删除选择的数据吗?", function (r) {
|
||||
if (r) {
|
||||
var alldata = table.cache.currentTableId;
|
||||
for (var j = 0; j < data.length; j++) {
|
||||
for (var i = alldata.length - 1; i >= 0; i--) {
|
||||
if (alldata[i].Id == data[j].Id) {
|
||||
alldata.splice(i, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
table.reload('currentTableId', { data: alldata })
|
||||
}
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
function initControl() {
|
||||
//此处需修改
|
||||
$("#F_TemplateId").bindSelect({
|
||||
url: "/SystemManage/Template/GetListJson",
|
||||
id: "F_Id",
|
||||
text: "F_TemplateName"
|
||||
});
|
||||
$("#F_Reset").bindSelect({
|
||||
data: top.clients.dataItems["RuleReset"],
|
||||
id: ""
|
||||
});
|
||||
}
|
||||
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
var postData = data.field;
|
||||
if (!postData["F_EnabledMark"]) postData["F_EnabledMark"] = false;
|
||||
var list = table.cache.currentTableId;
|
||||
if (!list || list.length == 0) {
|
||||
common.modalMsg("产品明细不能为空!");
|
||||
return false;
|
||||
}
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
list[i].FormatType = !!list[i].FormatType.value ? list[i].FormatType.value : list[i].FormatType;
|
||||
list[i].DiyDate = !!list[i].DiyDate && list[i].DiyDate instanceof String ? list[i].DiyDate.split(",") : list[i].DiyDate;
|
||||
}
|
||||
postData.F_RuleJson = JSON.stringify(list);
|
||||
common.submitForm({
|
||||
url: '/SystemManage/Coderule/SubmitForm?keyValue=' + keyValue,
|
||||
param: postData,
|
||||
success: function () {
|
||||
common.parentreload('data-search-btn');
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">规则名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_RuleName" name="F_RuleName" autocomplete="off" lay-verify="required" placeholder="请输入规则名称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">重设机制</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_Reset" name="F_Reset" lay-verify="required">
|
||||
<option value="">==请选择==</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">打印模板</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_TemplateId" name="F_TemplateId" lay-verify="required">
|
||||
<option value="">==请选择==</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">规则内容</label>
|
||||
<div class="layui-input-block">
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn site-demo-active" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>添加</button>
|
||||
<button id="NF-delete" name="NF-delete" class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"><i class="layui-icon"></i>删除</button>
|
||||
</div>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
224
WaterCloud.Web/Areas/SystemManage/Views/Coderule/Index.cshtml
Normal file
224
WaterCloud.Web/Areas/SystemManage/Views/Coderule/Index.cshtml
Normal file
@@ -0,0 +1,224 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset layui-hide" id="searchField">
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-create" name="NF-create" authorize class="layui-btn layui-btn-normal layui-btn-sm layui-hide" lay-event="create"><i class="layui-icon"></i>生成条码</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>查看</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
<script type="text/html" id="currentTableBar">
|
||||
<a id="NF-create" authorize class="layui-btn layui-btn-normal layui-btn-xs" lay-event="create">生成条码</a>
|
||||
<a id="NF-edit" authorize class="layui-btn layui-btn-xs" lay-event="edit">修改</a>
|
||||
<a id="NF-delete" authorize class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a>
|
||||
<a id="NF-details" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details">查看</a>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'table', 'commonTable', 'common', 'optimizeSelectOption'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table, commonTable = layui.commonTable
|
||||
common = layui.common;
|
||||
//权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
id: 'currentTableId',
|
||||
url: '/SystemManage/Coderule/GetGridJson',
|
||||
cols: [[
|
||||
{ type: "checkbox", width: 50, fixed: 'left' },
|
||||
{ field: 'F_RuleName', title: '规则名称', minWidth: 150, sort: true, filter: true },
|
||||
{ field: 'F_RuleJson', title: '规则内容', minWidth: 150, sort: true, filter: true,hide:true },
|
||||
{ field: 'F_Reset', title: '重设机制', width: 150, sort: true, filter: true,
|
||||
templet: function (d) {
|
||||
return top.clients.dataItems["RuleReset"][d.F_Reset] == undefined ? "" : top.clients.dataItems["RuleReset"][d.F_Reset];
|
||||
}
|
||||
},
|
||||
{ field: 'F_TemplateId', title: '打印模板Id', width: 150, sort: true, hide: true },
|
||||
{ field: 'F_TemplateName', title: '打印模板', minWidth: 150, sort: true, filter: true },
|
||||
{
|
||||
field: 'F_PrintType', title: '打印方式', width: 140, sort: true, filter: true,
|
||||
templet: function (d) {
|
||||
return top.clients.dataItems["PrintType"][d.F_PrintType] == undefined ? "" : top.clients.dataItems["PrintType"][d.F_PrintType];
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', width: 80,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>有效</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>无效</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{ title: '操作', width: 225, toolbar: '#currentTableBar', align: "center", fixed: 'right' }
|
||||
]]
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
curr: 1,
|
||||
where: { keyword: data.field.txt_keyword }
|
||||
});
|
||||
return false;
|
||||
});
|
||||
wcLoading.close();
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-create", "NF-details"];//选择1条显示
|
||||
var morerList = ["NF-delete"];//选中1条以上显示
|
||||
commonTable.tableRowClick("checkbox", "currentTableFilter", "currentTableId", oneList, morerList);
|
||||
//toolbar监听事件
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
var id = data.length > 0 ? data[0].F_Id : null;
|
||||
if (obj.event === 'add') { // 监听添加操作
|
||||
common.modalOpen({
|
||||
title: "添加界面",
|
||||
url: "/SystemManage/Coderule/Form",
|
||||
width: "900px",
|
||||
height: "650px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'create') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.submitForm({
|
||||
url: "/SystemManage/Coderule/CreateForm",
|
||||
param: { keyValue: id },
|
||||
close:false,
|
||||
success: function (data) {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
var ids = [];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
ids.push(data[i].F_Id);
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/Coderule/DeleteForm",
|
||||
param: { keyValue: ids.join(',') },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "编辑界面",
|
||||
url: "/SystemManage/Coderule/Form?keyValue=" + id,
|
||||
width: "900px",
|
||||
height: "650px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "查看界面",
|
||||
url: "/SystemManage/Coderule/Details?keyValue=" + id,
|
||||
width: "900px",
|
||||
height: "650px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
//toolrow监听事件
|
||||
table.on('tool(currentTableFilter)', function (obj) {
|
||||
var id = obj.data.F_Id;
|
||||
if (obj.event === 'delete') {
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/Coderule/DeleteForm",
|
||||
param: { keyValue: id },
|
||||
success: function () {
|
||||
obj.del();
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'create') {
|
||||
common.submitForm({
|
||||
url: "/SystemManage/Coderule/CreateForm",
|
||||
param: { keyValue: id },
|
||||
close: false,
|
||||
success: function (data) {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
common.modalOpen({
|
||||
title: "编辑界面",
|
||||
url: "/SystemManage/Coderule/Form?keyValue=" + id,
|
||||
width: "900px",
|
||||
height: "650px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
common.modalOpen({
|
||||
title: "查看界面",
|
||||
url: "/SystemManage/Coderule/Details?keyValue=" + id,
|
||||
width: "900px",
|
||||
height: "650px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,75 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">区域标识</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="AreaCode" id="AreaCode" readonly lay-verify="required"
|
||||
placeholder="区域编号" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">区域名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="AreaName" id="AreaName" required lay-verify="required"
|
||||
placeholder="区域名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">区域颜色</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="AreaColor" name="AreaColor">
|
||||
<option value="red">红色</option>
|
||||
<option value="yellow">黄色</option>
|
||||
<option value="blue">蓝色</option>
|
||||
<option value="green">绿色</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var FlowDesignObject;
|
||||
function initForm(data) {
|
||||
FlowDesignObject = data.FlowDesignObject;
|
||||
}
|
||||
layui.use(['form', 'jquery', 'common', 'optimizeSelectOption'], function () {
|
||||
var $ = layui.jquery,
|
||||
common = layui.common;
|
||||
var form = layui.form;
|
||||
var Method = $.request("Method");
|
||||
//从flowschemes.js进入的节点信息
|
||||
var area = FlowDesignObject;
|
||||
var tmp = {
|
||||
AreaName: area.name,
|
||||
AreaCode: area.id,//默认的code
|
||||
AreaColor: area.color,//默认的code
|
||||
};
|
||||
var cout = 0;
|
||||
//初始化节点设置信息
|
||||
if (Method == "Details") {
|
||||
var readForm = layui.$('[lay-filter="adminform"]');
|
||||
readForm.find('button').prop('disabled', true);
|
||||
common.setReadOnly('adminform');
|
||||
}
|
||||
common.val('adminform', tmp);
|
||||
form.render(); //重新渲染,防止radio/select等失效
|
||||
wcLoading.close();
|
||||
//提供给上父页面调用
|
||||
getVal = function () {
|
||||
tmp.AreaName = $('#AreaName').val();
|
||||
tmp.AreaColor = $('#AreaColor').val();
|
||||
var result = {
|
||||
AreaName: tmp.AreaName,
|
||||
AreaCode: tmp.AreaCode,
|
||||
AreaColor: tmp.AreaColor,
|
||||
};
|
||||
return result;
|
||||
}
|
||||
})
|
||||
</script>
|
||||
@@ -0,0 +1,174 @@
|
||||
@{
|
||||
ViewBag.Title = "Details";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<link href="~/js/lay-module/flow/WaterFlow.css" rel="stylesheet" />
|
||||
<link href="~/js/lay-module/formDesigner/formPreview.css" rel="stylesheet" />
|
||||
<script>
|
||||
//只读参数
|
||||
var readonly = true;
|
||||
layui.use(['form', 'layer', 'jquery', 'waterflow', 'flowlayout', 'common','formPreview', 'element', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form, element = layui.element,
|
||||
layer = layui.layer,
|
||||
common = layui.common,
|
||||
formPreview = layui.formPreview,
|
||||
$ = layui.jquery;
|
||||
|
||||
//var index = layer.getFrameIndex(window.name); //获取窗口索引
|
||||
var keyValue = $.request("keyValue");
|
||||
/*=========流程设计(begin)======================*/
|
||||
var flowDesignPanel = $('#flowPanel').flowdesign({
|
||||
height: 300,
|
||||
widht: 300,
|
||||
toolBtns: false,
|
||||
OpenNode: function (object) {
|
||||
FlowDesignObject = object; //为NodeInfo窗口提供调用
|
||||
valueList = $("#valueList").val().split(',');
|
||||
if (object.type == 'start round mix' || object.type == 'end round') {
|
||||
layer.msg("开始节点与结束节点不能设置");
|
||||
return false;
|
||||
}
|
||||
//高度宽度超出就适应屏幕
|
||||
var width = 650;
|
||||
var height = 450;
|
||||
var _width = document.body.clientWidth > width ? width + 'px' : document.body.clientWidth - 20 + 'px';
|
||||
var _height = document.body.clientHeight > height ? height + 'px' : document.body.clientHeight - 20 + 'px';
|
||||
top.layer.open({
|
||||
type: 2,
|
||||
area: [_width, _height], //宽高
|
||||
maxmin: true, //开启最大化最小化按钮
|
||||
title: '节点设置【' + object.name + '】',
|
||||
content: '/SystemManage/Flowscheme/NodeInfo?Method=' + 'Details',
|
||||
btn: [],
|
||||
success: function (layero, index) {
|
||||
//子界面定义一个窗口方法initForm,里面调用common.val给参数赋值
|
||||
if (layero.find('iframe')[0].contentWindow.initForm) {
|
||||
var data = {};
|
||||
data.FlowDesignObject = FlowDesignObject;
|
||||
data.valueList = valueList;
|
||||
layero.find('iframe')[0].contentWindow.initForm(data);
|
||||
}
|
||||
},
|
||||
});
|
||||
},
|
||||
OpenLine: function (object) {
|
||||
FlowDesignObject = object; //为NodeInfo窗口提供调用
|
||||
valueList = $("#valueList").val().split(',');
|
||||
//高度宽度超出就适应屏幕
|
||||
var width = 650;
|
||||
var height = 400;
|
||||
var _width = document.body.clientWidth > width ? width + 'px' : document.body.clientWidth - 20 + 'px';
|
||||
var _height = document.body.clientHeight > height ? height + 'px' : document.body.clientHeight - 20 + 'px';
|
||||
top.layer.open({
|
||||
type: 2,
|
||||
area: [_width, _height], //宽高
|
||||
maxmin: true, //开启最大化最小化按钮
|
||||
title: '连线设置【' + object.name + '】',
|
||||
content: '/SystemManage/Flowscheme/LineInfo?Method=' + 'Details',
|
||||
btn: [],
|
||||
success: function (layero, index) {
|
||||
//子界面定义一个窗口方法initForm,里面调用common.val给参数赋值
|
||||
if (layero.find('iframe')[0].contentWindow.initForm) {
|
||||
var data = {};
|
||||
data.FlowDesignObject = FlowDesignObject;
|
||||
data.valueList = valueList;
|
||||
layero.find('iframe')[0].contentWindow.initForm(data);
|
||||
}
|
||||
},
|
||||
});
|
||||
return;
|
||||
},
|
||||
OpenArea: function (object) {
|
||||
FlowDesignObject = object; //为NodeInfo窗口提供调用
|
||||
//高度宽度超出就适应屏幕
|
||||
var width = 450;
|
||||
var height = 250;
|
||||
var _width = document.body.clientWidth > width ? width + 'px' : document.body.clientWidth - 20 + 'px';
|
||||
var _height = document.body.clientHeight > height ? height + 'px' : document.body.clientHeight - 20 + 'px';
|
||||
top.layer.open({
|
||||
type: 2,
|
||||
area: [_width, _height], //宽高
|
||||
maxmin: true, //开启最大化最小化按钮
|
||||
title: '区域设置【' + object.name + '】',
|
||||
content: '/SystemManage/Flowscheme/AreaInfo?Method=' + 'Details',
|
||||
btn: ['确定', '取消'],
|
||||
success: function (layero, index) {
|
||||
//子界面定义一个窗口方法initForm,里面调用common.val给参数赋值
|
||||
if (layero.find('iframe')[0].contentWindow.initForm) {
|
||||
var data = {};
|
||||
data.FlowDesignObject = FlowDesignObject;
|
||||
layero.find('iframe')[0].contentWindow.initForm(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
/*=========流程设计(end)=====================*/
|
||||
common.ajax({
|
||||
url: '/SystemManage/Flowscheme/GetFormJson',
|
||||
dataType: 'json',
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
var obj = data;
|
||||
flowDesignPanel.loadData(JSON.parse(obj.F_SchemeContent));
|
||||
common.ajax({
|
||||
url: '/SystemManage/Form/GetFormJson',
|
||||
dataType: 'json',
|
||||
data: { keyValue: obj.F_FrmId },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
if (data.F_FrmType == 0) {
|
||||
//表单设计器
|
||||
formPreview.render({
|
||||
data: JSON.parse(data.F_Content),
|
||||
elem: '#frmPreview',
|
||||
readonly:true
|
||||
});
|
||||
}
|
||||
else {
|
||||
$("#frmPreview").load(document.location.origin + '/form/' + data.F_WebId + '.html');
|
||||
}
|
||||
if (!!data.F_ContentData) {
|
||||
$("#valueList").val(data.F_ContentData);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
form.render();
|
||||
flowDesignPanel.reinitSize($(window).width() - 50, $(window).height() - 200);
|
||||
$(window).resize(function () {
|
||||
flowDesignPanel.reinitSize($(window).width() - 50, $(window).height() - 200);
|
||||
});
|
||||
wcLoading.close();
|
||||
//让层自适应iframe
|
||||
//layer.iframeAuto(index);
|
||||
})
|
||||
</script>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-tab layui-tab-brief" lay-filter="tab" style="margin: 0px">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">表单预览</li>
|
||||
<li>流程预览</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content">
|
||||
<input type="text" name="valueList" id="valueList" class="layui-hide" hidden>
|
||||
<div class="layui-tab-item layui-fluid layui-show">
|
||||
<form class="layui-form layuimini-form">
|
||||
<div class="layui-form-item">
|
||||
<fieldset class="layui-elem-field" style="padding-top:15px;">
|
||||
<div id="frmPreview"></div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="layui-tab-item">
|
||||
<div id="flowPanel" style=""></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
388
WaterCloud.Web/Areas/SystemManage/Views/Flowscheme/Form.cshtml
Normal file
388
WaterCloud.Web/Areas/SystemManage/Views/Flowscheme/Form.cshtml
Normal file
@@ -0,0 +1,388 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<link href="~/js/lay-module/flow/WaterFlow.css" rel="stylesheet" />
|
||||
<link href="~/css/stepcss.css" rel="stylesheet" />
|
||||
<link href="~/js/lay-module/formDesigner/formPreview.css" rel="stylesheet" />
|
||||
<script>
|
||||
//只读参数
|
||||
var readonly = true;
|
||||
layui.use(['form', 'layer', 'element', 'jquery', 'table', 'waterflow', 'flowlayout', 'common', 'step','formPreview', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
element = layui.element,
|
||||
layer = layui.layer,
|
||||
$ = layui.jquery,
|
||||
step = layui.step,
|
||||
common = layui.common,
|
||||
formPreview = layui.formPreview,
|
||||
table = layui.table;
|
||||
|
||||
var keyValue = $.request("keyValue");
|
||||
//提交的URL
|
||||
//权限字段
|
||||
common.authorizeFields('stepForm');
|
||||
var postData = {};//分步骤表单,最终提交只能获取最后一个表单的数据,所以定义全局数组保存表单数据
|
||||
step.render({
|
||||
elem: '#stepForm',
|
||||
filter: 'stepForm',
|
||||
width: '100%', //设置容器宽度
|
||||
stepWidth: '750px',
|
||||
height: '600px',
|
||||
stepItems: [{
|
||||
title: '基本信息'
|
||||
}, {
|
||||
title: '选择表单'
|
||||
}, {
|
||||
title: '流程设计'
|
||||
}]
|
||||
});
|
||||
$(function () {
|
||||
$('#F_SchemeCode').val(new Date().getTime());
|
||||
initControl();
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: "/SystemManage/Flowscheme/GetFormJson",
|
||||
dataType: "json",
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
form.render();
|
||||
changeForm(data.F_FrmId)
|
||||
flowDesignPanel.loadData(JSON.parse(data.F_SchemeContent));
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
wcLoading.close();
|
||||
function initControl() {
|
||||
$("#F_FrmId").bindSelect({
|
||||
url: "/SystemManage/Form/GetListJson",
|
||||
id: 'F_Id',
|
||||
text: 'F_Name'
|
||||
});
|
||||
form.render();
|
||||
}
|
||||
|
||||
var changeForm = function (id) { //切换表单
|
||||
$('#F_FrmId').val(id);
|
||||
common.ajax({
|
||||
url: '/SystemManage/Form/GetFormJson',
|
||||
dataType: 'json',
|
||||
data: { keyValue: id },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
postData.F_FrmType = data.F_FrmType;
|
||||
if (data.F_FrmType == 0) {
|
||||
//表单设计器
|
||||
formPreview.render({
|
||||
data: JSON.parse(data.F_Content),
|
||||
elem: '#frmPreview',
|
||||
readonly:true
|
||||
});
|
||||
}
|
||||
else {
|
||||
$("#frmPreview").load(document.location.origin + '/form/' + data.F_WebId + '.html');
|
||||
}
|
||||
if (!!data.F_ContentData) {
|
||||
$("#valueList").val(data.F_ContentData);
|
||||
}
|
||||
}
|
||||
});
|
||||
form.render();
|
||||
}
|
||||
|
||||
|
||||
/*=========流程设计(begin)======================*/
|
||||
var flowDesignPanel = $('#flowPanel').flowdesign({
|
||||
height: 300,
|
||||
widht: 300,
|
||||
OpenNode: function (object) {
|
||||
FlowDesignObject = object; //为NodeInfo窗口提供调用
|
||||
valueList = $("#valueList").val().split(',');
|
||||
if (object.type == 'start round mix' || object.type == 'end round') {
|
||||
layer.msg("开始节点与结束节点不能设置");
|
||||
return false;
|
||||
}
|
||||
//高度宽度超出就适应屏幕
|
||||
var width = 650;
|
||||
var height = 550;
|
||||
var _width = document.body.clientWidth > width ? width + 'px' : document.body.clientWidth - 20 + 'px';
|
||||
var _height = document.body.clientHeight > height ? height + 'px' : document.body.clientHeight - 20 + 'px';
|
||||
top.layer.open({
|
||||
type: 2,
|
||||
area: [_width, _height], //宽高
|
||||
maxmin: true, //开启最大化最小化按钮
|
||||
title: '节点设置【' + object.name + '】',
|
||||
content: '/SystemManage/Flowscheme/NodeInfo',
|
||||
btn: ['确定', '取消'],
|
||||
success: function (layero, index) {
|
||||
//子界面定义一个窗口方法initForm,里面调用common.val给参数赋值
|
||||
if (layero.find('iframe')[0].contentWindow.initForm) {
|
||||
var data = {};
|
||||
data.FlowDesignObject = FlowDesignObject;
|
||||
data.valueList = valueList;
|
||||
layero.find('iframe')[0].contentWindow.initForm(data);
|
||||
}
|
||||
},
|
||||
yes: function (index, layero) {
|
||||
if (layero.find('iframe')[0].contentWindow.initForm) {
|
||||
var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
|
||||
var nodedata = iframeWin.getVal();
|
||||
flowDesignPanel.SetNodeEx(object.id, nodedata);
|
||||
top.layer.close(index);
|
||||
}
|
||||
},
|
||||
cancel: function (index) {
|
||||
layer.close(index);
|
||||
}
|
||||
});
|
||||
},
|
||||
OpenLine: function (object) {
|
||||
FlowDesignObject = object; //为NodeInfo窗口提供调用
|
||||
valueList = $("#valueList").val().split(',');
|
||||
//高度宽度超出就适应屏幕
|
||||
var width = 650;
|
||||
var height = 500;
|
||||
var _width = document.body.clientWidth > width ? width + 'px' : document.body.clientWidth - 20 + 'px';
|
||||
var _height = document.body.clientHeight > height ? height + 'px' : document.body.clientHeight - 20 + 'px';
|
||||
top.layer.open({
|
||||
type: 2,
|
||||
area: [_width, _height], //宽高
|
||||
maxmin: true, //开启最大化最小化按钮
|
||||
title: '连线设置【' + object.name + '】',
|
||||
content: '/SystemManage/Flowscheme/LineInfo',
|
||||
btn: ['确定', '取消'],
|
||||
success: function (layero, index) {
|
||||
//子界面定义一个窗口方法initForm,里面调用common.val给参数赋值
|
||||
if (layero.find('iframe')[0].contentWindow.initForm) {
|
||||
var data = {};
|
||||
data.FlowDesignObject = FlowDesignObject;
|
||||
data.valueList = valueList;
|
||||
layero.find('iframe')[0].contentWindow.initForm(data);
|
||||
}
|
||||
},
|
||||
yes: function (index, layero) {
|
||||
if (layero.find('iframe')[0].contentWindow.initForm) {
|
||||
var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
|
||||
var linedata = iframeWin.getVal();
|
||||
flowDesignPanel.SetLineEx(object.id, linedata);
|
||||
top.layer.close(index);
|
||||
}
|
||||
},
|
||||
cancel: function (index) {
|
||||
layer.close(index);
|
||||
}
|
||||
});
|
||||
return;
|
||||
},
|
||||
OpenArea: function (object) {
|
||||
FlowDesignObject = object; //为NodeInfo窗口提供调用
|
||||
//高度宽度超出就适应屏幕
|
||||
var width = 450;
|
||||
var height = 350;
|
||||
var _width = document.body.clientWidth > width ? width + 'px' : document.body.clientWidth - 20 + 'px';
|
||||
var _height = document.body.clientHeight > height ? height + 'px' : document.body.clientHeight - 20 + 'px';
|
||||
top.layer.open({
|
||||
type: 2,
|
||||
area: [_width, _height], //宽高
|
||||
maxmin: true, //开启最大化最小化按钮
|
||||
title: '区域设置【' + object.name + '】',
|
||||
content: '/SystemManage/Flowscheme/AreaInfo',
|
||||
btn: ['确定', '取消'],
|
||||
success: function (layero, index) {
|
||||
//子界面定义一个窗口方法initForm,里面调用common.val给参数赋值
|
||||
if (layero.find('iframe')[0].contentWindow.initForm) {
|
||||
var data = {};
|
||||
data.FlowDesignObject = FlowDesignObject;
|
||||
data.valueList = valueList;
|
||||
layero.find('iframe')[0].contentWindow.initForm(data);
|
||||
}
|
||||
},
|
||||
yes: function (index, layero) {
|
||||
if (layero.find('iframe')[0].contentWindow.initForm) {
|
||||
var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
|
||||
var areadata = iframeWin.getVal();
|
||||
flowDesignPanel.SetAreaEx(object.id, areadata);
|
||||
top.layer.close(index);
|
||||
}
|
||||
},
|
||||
cancel: function (index) {
|
||||
layer.close(index);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
/*=========流程设计(end)=====================*/
|
||||
//提交数据
|
||||
form.on('submit(saveBtn)',
|
||||
function (data) {
|
||||
var content = flowDesignPanel.exportDataEx();
|
||||
if (content == -1) {
|
||||
return false; //阻止表单跳转。
|
||||
}
|
||||
var schemecontent = {
|
||||
F_SchemeContent: JSON.stringify(content)
|
||||
}
|
||||
$.extend(data.field, schemecontent);
|
||||
|
||||
return false; //阻止表单跳转。
|
||||
});
|
||||
$('.pre').click(function () {
|
||||
step.pre('#stepForm');
|
||||
});
|
||||
|
||||
$('.next').click(function () {
|
||||
step.next('#stepForm');
|
||||
});
|
||||
form.on('submit(formStep)', function (data) {
|
||||
postData = $.extend(postData, data.field);
|
||||
step.next('#stepForm');
|
||||
return false;
|
||||
});
|
||||
|
||||
form.on('submit(formStep2)', function (data) {
|
||||
if (!data.field.F_FrmId) {
|
||||
common.modalMsg("请选择表单", "warning");
|
||||
return false;
|
||||
}
|
||||
postData = $.extend(postData, data.field);
|
||||
step.next('#stepForm');
|
||||
return false;
|
||||
});
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
var content = flowDesignPanel.exportDataEx();
|
||||
if (content == -1) {
|
||||
return false; //阻止表单跳转。
|
||||
}
|
||||
var schemecontent = {
|
||||
F_SchemeContent: JSON.stringify(content)
|
||||
}
|
||||
if (!postData["F_EnabledMark"]) postData["F_EnabledMark"] = false;
|
||||
$.extend(data.field, schemecontent);
|
||||
$.extend(postData, data.field);
|
||||
postData.F_AuthorizeType = 0;
|
||||
common.submitForm({
|
||||
url: "/SystemManage/Flowscheme/SubmitForm?keyValue=" + keyValue,
|
||||
param: postData,
|
||||
success: function () {
|
||||
common.reloadIframe("/SystemManage/Flowscheme/Index", 'data-search-btn');
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
form.on('select(formChangeFilter)', function (obj) {
|
||||
if (!!obj.value) {
|
||||
changeForm(obj.value);
|
||||
}
|
||||
else {
|
||||
$("#frmPreview").html('');
|
||||
$("#valueList").val('');
|
||||
}
|
||||
});
|
||||
|
||||
flowDesignPanel.reinitSize($(window).width() - 50, $(window).height() - 100);
|
||||
$(window).resize(function () {
|
||||
flowDesignPanel.reinitSize($(window).width() - 50, $(window).height() - 100);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-carousel" id="stepForm" lay-filter="stepForm">
|
||||
<div carousel-item>
|
||||
<div>
|
||||
<form class="layui-form layuimini-form">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">流程编号</label>
|
||||
<input type="text" name="valueList" id="valueList" class="layui-hide" hidden>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="F_SchemeCode" id="F_SchemeCode" required lay-verify="required"
|
||||
placeholder="流程编号" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">流程名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="F_SchemeName" id="F_SchemeName" required lay-verify="required"
|
||||
placeholder="流程名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" pattern="[0-9]*" id="F_SortCode" name="F_SortCode" lay-verify="required|number" oninput="if(value.length>8)value=value.slice(0,8)" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效标识">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Description" name="F_Description" class="layui-textarea" placeholder="请输入备注"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group-bottom text-right">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="formStep">
|
||||
 下一步 
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div>
|
||||
<form class="layui-form layuimini-form">
|
||||
<div class="layui-form-item">
|
||||
<select id="F_FrmId" name="F_FrmId" lay-filter='formChangeFilter' lay-search>
|
||||
<option value="" selected>请选择</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<fieldset class="layui-elem-field" style="padding-top:15px;">
|
||||
<div id="frmPreview"></div>
|
||||
</fieldset>
|
||||
</div>
|
||||
<div class="form-group-bottom text-right">
|
||||
<div class="layui-input-block">
|
||||
<button type="button" class="layui-btn layui-btn-primary pre">上一步</button>
|
||||
<button class="layui-btn" lay-submit lay-filter="formStep2">
|
||||
 下一步 
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div>
|
||||
<form class="layui-form layuimini-form">
|
||||
<div class="layui-form-item">
|
||||
<div id="flowPanel" style=""></div>
|
||||
</div>
|
||||
<div class="form-group-bottom text-right">
|
||||
<div class="layui-input-block">
|
||||
<button type="button" class="layui-btn layui-btn-primary pre">上一步</button>
|
||||
<button class="layui-btn site-demo-active" lay-submit lay-filter="saveBtn">
|
||||
 保存 
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
211
WaterCloud.Web/Areas/SystemManage/Views/Flowscheme/Index.cshtml
Normal file
211
WaterCloud.Web/Areas/SystemManage/Views/Flowscheme/Index.cshtml
Normal file
@@ -0,0 +1,211 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<div class="layui-fluid" style="padding:0 0px">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-md4 layui-col-xs5">
|
||||
<div class="layui-card" style="padding: 5px;">
|
||||
<fieldset class="table-search-fieldset" style="border:1px solid #e6e6e6">
|
||||
<legend>部门列表</legend>
|
||||
<form class="layui-form layui-form-pane" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="temp_keyword" name="temp_keyword" autocomplete="off" class="layui-input" placeholder="">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="temp-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</fieldset>
|
||||
<table class="layui-hide" id="currentTable" lay-filter="currentTable"></table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md8 layui-col-xs7">
|
||||
<div class="layui-card" style="padding: 5px;">
|
||||
<fieldset class="table-search-fieldset" id="searchField">
|
||||
<legend>流程列表</legend>
|
||||
<form class="layui-form layui-form-pane">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</fieldset>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>预览</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.use(['form', 'table', 'treeTablelay', 'common', 'commonTable'], function () {
|
||||
var form = layui.form,
|
||||
table = layui.table,
|
||||
commonTable = layui.commonTable,
|
||||
treeTablelay = layui.treeTablelay,
|
||||
common = layui.common;
|
||||
var entity;
|
||||
var ItemId;
|
||||
//权限控制(js是值传递)
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
var options = {
|
||||
elem: '#currentTable',
|
||||
url: '/SystemOrganize/Organize/GetTreeGridJson',
|
||||
defaultToolbar: [],
|
||||
toolbar: false,
|
||||
search: false,
|
||||
treeColIndex: 0,
|
||||
height: 'full-130',
|
||||
treeIdName: 'F_Id', // id字段名称
|
||||
treePidName: 'F_ParentId', // pid字段名称
|
||||
cols: [[
|
||||
{ field: 'F_FullName', title: '部门名称', width: 250, filter: true },
|
||||
{ field: 'F_EnCode', title: '部门编号', width: 180, filter: true },
|
||||
{
|
||||
field: 'F_CategoryId', title: '部门分类', width: 120, filter: true,
|
||||
templet: function (d) {
|
||||
return top.clients.dataItems["OrganizeCategory"][d.F_CategoryId] == null ? "" : top.clients.dataItems["OrganizeCategory"][d.F_CategoryId];
|
||||
}
|
||||
}
|
||||
]],
|
||||
};
|
||||
commonTable.rendertreetable(options);
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
id: 'currentTableId',
|
||||
url: '/SystemManage/Flowscheme/GetGridJson',
|
||||
where: { ItemId: ItemId },
|
||||
limit: 9999,//每页数据 默认
|
||||
page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
|
||||
layout: ['count'] //自定义分页布局
|
||||
, first: false //不显示首页
|
||||
, last: false //不显示尾页
|
||||
},
|
||||
search: false,
|
||||
height: 'full-130',
|
||||
autoSort: true,
|
||||
cols: [[
|
||||
{ type: "radio", width: 50 },
|
||||
{ field: 'F_SchemeCode', title: '流程编号', width: 150, sort: true },
|
||||
{ field: 'F_SchemeName', title: '流程名称', width: 200, sort: true },
|
||||
{ field: 'F_SchemeVersion', title: '流程版本', width: 120, sort: true, hide: true },
|
||||
{ field: 'F_Description', title: '备注', minWidth: 250, sort: true },
|
||||
{ field: 'F_SortCode', title: '排序', width: 80, sort: true },
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', width: 80,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>有效</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>无效</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_CreatorTime', title: '创建时间', width: 120,
|
||||
templet: function (d) {
|
||||
if (d.F_CreatorTime) {
|
||||
var time = new Date(d.F_CreatorTime);
|
||||
return time.Format("yyyy-MM-dd");
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
]]
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(temp-search-btn)', function (data) {
|
||||
var queryJson = data.field.temp_keyword;
|
||||
//执行搜索重载
|
||||
options.where = { keyword: queryJson };
|
||||
commonTable.rendertreetable(options);
|
||||
itemId = null;
|
||||
return false;
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
|
||||
layout: ['count'] //自定义分页布局
|
||||
, first: false //不显示首页
|
||||
, last: false //不显示尾页
|
||||
},
|
||||
where: { ItemId: ItemId, keyword: data.field.txt_keyword }
|
||||
});
|
||||
entity = null;
|
||||
return false;
|
||||
});
|
||||
wcLoading.close();
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-delete", "NF-details"];//选择1条显示
|
||||
commonTable.tableRowClick("radio", "currentTableFilter", "currentTableId", oneList);
|
||||
table.on('row(currentTable)', function (obj) {
|
||||
obj.tr.addClass("layui-table-click").siblings().removeClass("layui-table-click");
|
||||
ItemId = obj.data.F_Id;
|
||||
$('button[lay-filter="data-search-btn"]').click();//按钮刷新
|
||||
})
|
||||
//toolbar监听事件
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
if (obj.event === 'add') { // 监听添加操作
|
||||
common.openNewTabByIframe({
|
||||
title: "添加流程",
|
||||
href: "/SystemManage/Flowscheme/Form",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/Flowscheme/DeleteForm",
|
||||
param: { keyValue: data[0].F_Id },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
entity = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.openNewTabByIframe({
|
||||
title: "编辑流程",
|
||||
href: "/SystemManage/Flowscheme/Form?keyValue=" + data[0].F_Id,
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.openNewTabByIframe({
|
||||
title: "预览流程",
|
||||
href: "/SystemManage/Flowscheme/Details?keyValue=" + data[0].F_Id,
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,246 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<div class="layui-input-item layui-hide" id="divInputTemplate">
|
||||
<label class="layui-form-label required">条件规则</label>
|
||||
<div class="layui-input-block" style="padding-right: 70px;">
|
||||
<div class="layui-input-block" style="margin-left:0px">
|
||||
<select id="ComparesCondition" name="ComparesCondition" lay-verify="required" lay-search>
|
||||
<option value="and" selected>并且</option>
|
||||
<option value="or">或者</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:145px">
|
||||
<select id="ComparesFieldName" name="ComparesFieldName" lay-verify="required" lay-search>
|
||||
<option value="" selected>请选择</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:100px">
|
||||
<select id="ComparesOperation" name="ComparesOperation" lay-verify="required" lay-search>
|
||||
<option value="" selected>请选择</option>
|
||||
<option value=">">></option>
|
||||
<option value=">=">>=</option>
|
||||
<option value="<"><</option>
|
||||
<option value="<="><=</option>
|
||||
<option value="=">=</option>
|
||||
<option value="!=">!=</option>
|
||||
<option value="in">in</option>
|
||||
<option value="not in">not in</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:180px">
|
||||
<input type="text" id="ComparesName" name="ComparesName" class="layui-input" lay-verify="required" value="" placeholder="请输入值">
|
||||
<input type="text" id="ComparesValue" name="ComparesValue" lay-verify="required" class="layui-input layui-hide">
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-danger" style="position: absolute;top: 0;right: 6px;cursor: pointer;" onclick="deleteRule('divInputTemplate')"><i class="layui-icon"></i></button>
|
||||
<button class="layui-btn layui-btn-primary" style="position: absolute;top: 0;right: 6px;cursor: pointer;margin-top:40px" onclick="search(searchCout)">...</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">连线标识</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="LineCode" id="LineCode" readonly lay-verify="required"
|
||||
placeholder="连线编号" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">连线名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="LineName" id="LineName" required lay-verify="required"
|
||||
placeholder="连线名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">源节点</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="NodeForm" id="NodeForm" readonly lay-verify="required"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">目标节点</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="NodeTo" id="NodeTo" readonly lay-verify="required"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">连线条件</label>
|
||||
<div class="layui-input-block" style="padding-right: 70px;">
|
||||
<button id="NF-add" class="layui-btn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ruledata">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var FlowDesignObject, valueList;
|
||||
function initForm(data) {
|
||||
FlowDesignObject = data.FlowDesignObject;
|
||||
valueList = data.valueList;
|
||||
}
|
||||
layui.use(['form', 'layer', 'element', 'jquery', 'common', 'optimizeSelectOption'], function () {
|
||||
var layer = layui.layer,
|
||||
$ = layui.jquery,
|
||||
common = layui.common;
|
||||
var form = layui.form;
|
||||
var Method = $.request("Method");
|
||||
//从flowschemes.js进入的节点信息
|
||||
var line = FlowDesignObject;
|
||||
var valuelist = valueList;
|
||||
$('#ComparesFieldName').append($("<option></option>").val("申请人").html("申请人"));
|
||||
$('#ComparesFieldName').append($("<option></option>").val("所属部门").html("所属部门"));
|
||||
for (var i = 0; i < valuelist.length; i++) {
|
||||
$('#ComparesFieldName').append($("<option></option>").val(valuelist[i]).html(valuelist[i]));
|
||||
}
|
||||
var tmp = {
|
||||
LineName: line.name,
|
||||
LineCode: line.id,//默认的code
|
||||
NodeForm: line.from,
|
||||
NodeTo: line.to,
|
||||
ComparesOperation0: "",
|
||||
ComparesFieldName0: "",
|
||||
ComparesValue0: "",
|
||||
ComparesName0: "",
|
||||
ComparesCondition0: "and",
|
||||
};
|
||||
var cout = 0;
|
||||
$(document).on('click', '#NF-add', function () {
|
||||
var target = $('#ruledata');
|
||||
var html = $("#divInputTemplate").prop("outerHTML");
|
||||
html = html.replace(/ComparesFieldName/g, "ComparesFieldName" + cout); // 替换多个
|
||||
html = html.replace(/条件规则/g, "条件规则" + (cout + 1)); // 替换多个
|
||||
html = html.replace(/ComparesOperation/g, "ComparesOperation" + cout); // 替换多个
|
||||
html = html.replace(/ComparesValue/g, "ComparesValue" + cout); // 替换多个
|
||||
html = html.replace(/ComparesName/g, "ComparesName" + cout); // 替换多个
|
||||
html = html.replace(/ComparesCondition/g, "ComparesCondition" + cout); // 替换多个
|
||||
html = html.replace(/divInputTemplate/g, "divInput" + cout);
|
||||
html = html.replace(/searchCout/g, cout);
|
||||
var obj = $(html);
|
||||
obj.removeClass("layui-hide");
|
||||
obj.appendTo(target);
|
||||
cout++;
|
||||
form.render();
|
||||
});
|
||||
//初始化节点设置信息
|
||||
if (!!line.Compares) {
|
||||
for (var i = 0; i < line.Compares.length; i++) {
|
||||
$('#NF-add').click();
|
||||
tmp['ComparesOperation' + i] = line.Compares[i].Operation;
|
||||
tmp['ComparesFieldName' + i] = line.Compares[i].FieldName;
|
||||
tmp['ComparesValue' + i] = line.Compares[i].Value;
|
||||
tmp['ComparesName' + i] = line.Compares[i].Name;
|
||||
tmp['ComparesCondition' + i] = line.Compares[i].Condition;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (Method != "Details") {
|
||||
$('#NF-add').click();
|
||||
}
|
||||
}
|
||||
if (Method == "Details") {
|
||||
var readForm = layui.$('[lay-filter="adminform"]');
|
||||
readForm.find('button').prop('disabled', true);
|
||||
common.setReadOnly('adminform');
|
||||
}
|
||||
common.val('adminform', tmp);
|
||||
form.render(); //重新渲染,防止radio/select等失效
|
||||
wcLoading.close();
|
||||
//select验证
|
||||
form.verify({
|
||||
required: function (value, item) {
|
||||
var msg = "必填项不能为空";
|
||||
value = $.trim(value);
|
||||
var isEmpty = !value || value.length < 1;
|
||||
// 当前验证元素是select且为空时,将页面定位至layui渲染的select处,或自定义想定位的位置
|
||||
if (item.tagName == 'SELECT' && isEmpty) {
|
||||
$("html").animate({
|
||||
scrollTop: $(item).siblings(".layui-form-select").offset().top - 74
|
||||
}, 50);
|
||||
}
|
||||
if (isEmpty) {
|
||||
return msg;
|
||||
}
|
||||
}
|
||||
});
|
||||
//提供给上父页面调用
|
||||
getVal = function () {
|
||||
tmp.LineName = $('#LineName').val();
|
||||
var result = {
|
||||
LineName: tmp.LineName,
|
||||
LineCode: tmp.LineCode,
|
||||
Compares: [],
|
||||
};
|
||||
for (var i = 0; i < cout; i++) {
|
||||
var FieldName = $('#ComparesFieldName' + i).val();
|
||||
if (!FieldName) {
|
||||
continue;
|
||||
}
|
||||
var Operation = $('#ComparesOperation' + i).val();
|
||||
var Value = $('#ComparesValue' + i).val();
|
||||
var Name = $('#ComparesName' + i).val();
|
||||
var Condition = $('#ComparesCondition' + i).val();
|
||||
if (!Value) {
|
||||
Value = Name;
|
||||
}
|
||||
var temp = { //节点指定操作人
|
||||
FieldName: FieldName,
|
||||
Operation: Operation,
|
||||
Value: Value,
|
||||
Name: Name,
|
||||
Condition: Condition,
|
||||
};
|
||||
result.Compares.push(temp);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
})
|
||||
function deleteRule(data) {
|
||||
var obj = document.getElementById(data);//建议使用ID
|
||||
if (obj != null) {
|
||||
obj.parentNode.removeChild(obj);
|
||||
}
|
||||
layui.use(['jquery', 'form'], function () {
|
||||
layui.form.render();
|
||||
});
|
||||
}
|
||||
function search(data) {
|
||||
var fields = $('#ComparesFieldName' + data).val();
|
||||
if (fields != '申请人' && fields != '所属部门') {
|
||||
return false;
|
||||
}
|
||||
$('#ComparesName' + data).val(null);
|
||||
$('#ComparesValue' + data).val(null);
|
||||
layui.use(['jquery', 'form', 'common'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common;
|
||||
//不同弹窗
|
||||
if (fields == '申请人') {
|
||||
common.modalOpen({
|
||||
title: "选择用户",
|
||||
url: "/SystemOrganize/User/AddForm?name=" + "ComparesName" + data + "&value=" + "ComparesValue" + data,
|
||||
width: "650px",
|
||||
height: "600px",
|
||||
});
|
||||
}
|
||||
else if (fields == '所属部门') {
|
||||
common.modalOpen({
|
||||
title: "选择组织",
|
||||
url: "/SystemOrganize/Organize/AddForm?name=" + "ComparesName" + data + "&value=" + "ComparesValue" + data,
|
||||
width: "650px",
|
||||
height: "600px",
|
||||
});
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,435 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<div class="layuimini-container ">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-tab layui-tab-brief" lay-filter="tab" style="margin: 0px">
|
||||
<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">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">节点标识</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="NodeCode" id="NodeCode" readonly lay-verify="required"
|
||||
placeholder="流程编号" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">节点名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="NodeName" id="NodeName" required lay-verify="required"
|
||||
placeholder="节点名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">驳回类型</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="NodeRejectType" lay-filter="NodeRejectType" name="NodeRejectType" required lay-verify="required">
|
||||
<option value="0">上一步</option>
|
||||
<option value="1">第一步</option>
|
||||
@*<option value="2">指定步骤</option>
|
||||
<option value="3">不处理</option>*@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">会签方式</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="NodeConfluenceType" lay-filter="NodeConfluenceType" name="NodeConfluenceType">
|
||||
<option value="all">全部分支都同意</option>
|
||||
<option value="one">至少一个分支同意</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">三方系统回调URL</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="ThirdPartyUrl" id="ThirdPartyUrl"
|
||||
placeholder="http://www.xxxxxx.com/api/workflow/execute_callback" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">允许修改表单字段</label>
|
||||
<div class="layui-input-block">
|
||||
<div id="CanWriteFormItemIds" name="CanWriteFormItemIds">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-tab-item">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block" style="margin-left: 0px;">
|
||||
<select id="NodeDesignate" lay-filter="NodeDesignate" name="NodeDesignate">
|
||||
<option value="ALL_USER">所有用户</option>
|
||||
<option value="SPECIAL_USER">指定用户</option>
|
||||
<option value="SPECIAL_ROLE">指定角色</option>
|
||||
<option value="USER_MANAGER">上一级的直属上级</option>
|
||||
<option value="DEPARTMENT_MANAGER">部门负责人</option>
|
||||
<option value="MORE_USER_MANAGER">连续多级直属上级</option>
|
||||
<option value="RUNTIME_SPECIAL_ROLE">运行时指定角色</option>
|
||||
<option value="RUNTIME_SPECIAL_USER">运行时指定用户</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" id="department">
|
||||
<div class="layui-input-block" style="margin-left: 0px;">
|
||||
<input id="currentDepart" name="currentDepart" type="checkbox" value="true" title="当前部门">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" id="stoprole">
|
||||
<label>审批终点角色</label>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-hide" id="specialrole">
|
||||
<div class="layui-input-block" style="margin-left: 0px;">
|
||||
<table class="layui-hide" id="RoleId" lay-filter="RoleTableFilter"></table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-hide" id="departmentmanager">
|
||||
<div class="layui-input-block" style="margin-left: 0px;">
|
||||
<table class="layui-hide" id="OrganizeId" lay-filter="OrganizeTableFilter"></table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-hide" id="specialuser">
|
||||
<div class="layui-input-block" style="margin-left: 0px;">
|
||||
<table class="layui-hide" id="UserId" lay-filter="UserTableFilter"></table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-hide" id="alluser">
|
||||
<div class="layui-input-block" style="margin-left: 0px;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var FlowDesignObject, valueList;
|
||||
function initForm(data) {
|
||||
FlowDesignObject = data.FlowDesignObject;
|
||||
valueList = data.valueList;
|
||||
}
|
||||
layui.use(['form', 'commonTable', 'element', 'table', 'jquery', 'common', 'optimizeSelectOption', 'xmSelect'], function () {
|
||||
var commonTable = layui.commonTable,
|
||||
$ = layui.jquery,
|
||||
table = layui.table,
|
||||
common = layui.common,
|
||||
element = layui.element,
|
||||
xmSelect = layui.xmSelect,
|
||||
form = layui.form;
|
||||
var Method = $.request("Method");
|
||||
//从flowschemes.js进入的节点信息
|
||||
var node = FlowDesignObject;
|
||||
var tmp = {
|
||||
NodeName: node.name,
|
||||
NodeCode: node.id,//默认的code
|
||||
NodeRejectType: "1",
|
||||
NodeDesignate: "ALL_USER",
|
||||
NodeConfluenceType: "all",
|
||||
ThirdPartyUrl: "",
|
||||
CanWriteFormItemIds:[]
|
||||
};
|
||||
$('#specialrole').addClass("layui-hide");
|
||||
$('#specialuser').addClass("layui-hide");
|
||||
$('#alluser').removeClass("layui-hide");
|
||||
$('#department').addClass("layui-hide");
|
||||
$('#departmentmanager').addClass("layui-hide");
|
||||
$('#stoprole').addClass("layui-hide");
|
||||
|
||||
var userids = '';
|
||||
var roleids = '';
|
||||
var orgids = '';
|
||||
//初始化节点设置信息
|
||||
if (node.setInfo != null) {
|
||||
tmp = Object.assign({}, tmp, node.setInfo);
|
||||
if (tmp.NodeDesignate === "SPECIAL_USER" && tmp.NodeDesignateData.users.length > 0) {
|
||||
form.val("adminform", {
|
||||
"NodeDesignate": 'SPECIAL_USER' //对应radio的value
|
||||
});
|
||||
userids = tmp.NodeDesignateData.users.join(',');
|
||||
$('#stoprole').addClass("layui-hide");
|
||||
$('#department').addClass("layui-hide");
|
||||
$('#departmentmanager').addClass("layui-hide");
|
||||
$('#specialrole').addClass("layui-hide");
|
||||
$('#specialuser').removeClass("layui-hide");
|
||||
$('#alluser').addClass("layui-hide");
|
||||
} else if (tmp.NodeDesignate === "SPECIAL_ROLE" && tmp.NodeDesignateData.roles.length > 0) {
|
||||
form.val("adminform", {
|
||||
"NodeDesignate": 'SPECIAL_ROLE' //对应radio的value
|
||||
});
|
||||
roleids = tmp.NodeDesignateData.roles.join(',');
|
||||
$('#stoprole').addClass("layui-hide");
|
||||
$('#department').removeClass("layui-hide");
|
||||
$('#departmentmanager').addClass("layui-hide");
|
||||
$('#specialrole').removeClass("layui-hide");
|
||||
$('#specialuser').addClass("layui-hide");
|
||||
$('#alluser').addClass("layui-hide");
|
||||
form.val("adminform", {
|
||||
"currentDepart": tmp.NodeDesignateData.currentDepart
|
||||
});
|
||||
} else if (tmp.NodeDesignate === "DEPARTMENT_MANAGER") {
|
||||
form.val("adminform", {
|
||||
"NodeDesignate": 'DEPARTMENT_MANAGER' //对应radio的value
|
||||
});
|
||||
if (tmp.NodeDesignateData.orgs.length > 0) {
|
||||
orgids = tmp.NodeDesignateData.orgs.join(',');
|
||||
}
|
||||
$('#stoprole').addClass("layui-hide");
|
||||
$('#department').removeClass("layui-hide");
|
||||
$('#departmentmanager').removeClass("layui-hide");
|
||||
$('#specialrole').addClass("layui-hide");
|
||||
$('#specialuser').addClass("layui-hide");
|
||||
$('#alluser').addClass("layui-hide");
|
||||
form.val("adminform", {
|
||||
"currentDepart": tmp.NodeDesignateData.currentDepart
|
||||
});
|
||||
} else if (tmp.NodeDesignate === "MORE_USER_MANAGER" && tmp.NodeDesignateData.roles.length > 0) {
|
||||
form.val("adminform", {
|
||||
"NodeDesignate": 'MORE_USER_MANAGER' //对应radio的value
|
||||
});
|
||||
roleids = tmp.NodeDesignateData.roles.join(',');
|
||||
$('#stoprole').removeClass("layui-hide");
|
||||
$('#department').addClass("layui-hide");
|
||||
$('#departmentmanager').addClass("layui-hide");
|
||||
$('#specialrole').removeClass("layui-hide");
|
||||
$('#specialuser').addClass("layui-hide");
|
||||
$('#alluser').addClass("layui-hide");
|
||||
} else {
|
||||
$('#stoprole').addClass("layui-hide");
|
||||
$('#department').addClass("layui-hide");
|
||||
$('#departmentmanager').addClass("layui-hide");
|
||||
$('#specialrole').addClass("layui-hide");
|
||||
$('#specialuser').addClass("layui-hide");
|
||||
$('#alluser').removeClass("layui-hide");
|
||||
}
|
||||
|
||||
}
|
||||
var xmData=[];
|
||||
for (var i = 0; i < valueList.length; i++)
|
||||
{
|
||||
xmData.push({
|
||||
value:i,
|
||||
name: valueList[i]
|
||||
});
|
||||
}
|
||||
var demo1 = xmSelect.render({
|
||||
el: '#CanWriteFormItemIds',
|
||||
data: xmData,
|
||||
model: {
|
||||
type: 'relative', //默认 absolute
|
||||
},
|
||||
filterable: true,
|
||||
toolbar: { show: true }
|
||||
});
|
||||
if (!!tmp.CanWriteFormItemIds) {
|
||||
demo1.setValue(tmp.CanWriteFormItemIds);
|
||||
}
|
||||
commonTable.rendertable({
|
||||
elem: '#UserId',
|
||||
id: 'UserId',
|
||||
url: '/SystemOrganize/User/GetListJson?ids=' + (!!userids ? userids : ""),
|
||||
page: false,
|
||||
height: 'full-120',
|
||||
toolbar: false,//工具栏
|
||||
|
||||
cols: [[
|
||||
{ type: 'checkbox' },
|
||||
|
||||
{ field: 'F_Account', title: '账户', width: 120, sort: true },
|
||||
{ field: 'F_RealName', title: '姓名', width: 120, sort: true },
|
||||
{
|
||||
field: 'F_CompanyName', title: '公司名称', width: 120, sort: true
|
||||
},
|
||||
{
|
||||
field: 'F_OrganizeName', title: '部门名称', width: 120, sort: true
|
||||
},
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', width: 100, sort: true,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class=\"layui-bg-green\">正常</span>";
|
||||
} else {
|
||||
return "<span class=\"layui-bg-red\">禁用</span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
]]
|
||||
});
|
||||
commonTable.rendertable({
|
||||
elem: '#RoleId',
|
||||
id: 'RoleId',
|
||||
url: '/SystemOrganize/Role/GetSelectJson?ids=' + (!!roleids ? roleids : ""),
|
||||
page: false,
|
||||
height: 'full-160',
|
||||
toolbar: false,//工具栏
|
||||
|
||||
cols: [[
|
||||
{ type: 'checkbox' },
|
||||
|
||||
{ field: 'F_FullName', title: '角色名称', width: 120, sort: true },
|
||||
{
|
||||
field: 'F_Type', title: '角色类型', width: 120, sort: true,
|
||||
templet: function (d) {
|
||||
return top.clients.dataItems["RoleType"][d.F_Type] == undefined ? "" : top.clients.dataItems["RoleType"][d.F_Type];
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_CompanyName', title: '归属公司', width: 120, sort: true
|
||||
},
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', width: 100, sort: true,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class=\"layui-bg-green\">正常</span>";
|
||||
} else {
|
||||
return "<span class=\"layui-bg-red\">禁用</span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
]]
|
||||
});
|
||||
var options = {
|
||||
id: 'OrganizeId',
|
||||
elem: '#OrganizeId',
|
||||
url: '/SystemOrganize/Organize/GetTreeGridJson',
|
||||
where: { ids: !!orgids ? orgids : "" },
|
||||
treeIdName: 'F_Id', // id字段名称
|
||||
treePidName: 'F_ParentId', // pid字段名称
|
||||
height: 'full-160',
|
||||
toolbar: false,//工具栏
|
||||
cols: [[
|
||||
{ type: 'checkbox' },
|
||||
{ field: 'F_FullName', title: '名称', width: 250 },
|
||||
{ field: 'F_EnCode', title: '编号', width: 200 },
|
||||
{
|
||||
field: 'F_CategoryId', title: '分类', width: 120,
|
||||
templet: function (d) {
|
||||
return top.clients.dataItems["OrganizeCategory"][d.F_CategoryId] == null ? "" : top.clients.dataItems["OrganizeCategory"][d.F_CategoryId];
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_ManagerName', title: '负责人', width: 120
|
||||
},
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', width: 80,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>有效</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>无效</span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
]],
|
||||
};
|
||||
commonTable.rendertreetable(options);
|
||||
common.val('adminform', tmp);
|
||||
if (Method == "Details") {
|
||||
common.setReadOnly('adminform');
|
||||
}
|
||||
form.render(); //重新渲染,防止radio/select等失效
|
||||
wcLoading.close();
|
||||
form.on('select(NodeRejectType)',
|
||||
function (data) {
|
||||
tmp.NodeRejectType = data.value;
|
||||
});
|
||||
|
||||
form.on('select(NodeConfluenceType)',
|
||||
function (data) {
|
||||
tmp.NodeConfluenceType = data.value;
|
||||
});
|
||||
|
||||
form.on('select(NodeDesignate)',
|
||||
function (data) {
|
||||
tmp.NodeDesignate = data.value;
|
||||
if (data.value === "SPECIAL_USER") {
|
||||
$('#stoprole').addClass("layui-hide");
|
||||
$('#department').addClass("layui-hide");
|
||||
$('#departmentmanager').addClass("layui-hide");
|
||||
$('#specialrole').addClass("layui-hide");
|
||||
$('#specialuser').removeClass("layui-hide");
|
||||
$('#alluser').addClass("layui-hide");
|
||||
} else if (data.value === "SPECIAL_ROLE") {
|
||||
$('#stoprole').addClass("layui-hide");
|
||||
$('#department').removeClass("layui-hide");
|
||||
$('#departmentmanager').addClass("layui-hide");
|
||||
$('#specialrole').removeClass("layui-hide");
|
||||
$('#specialuser').addClass("layui-hide");
|
||||
$('#alluser').addClass("layui-hide");
|
||||
} else if (data.value === "DEPARTMENT_MANAGER") {
|
||||
$('#stoprole').addClass("layui-hide");
|
||||
$('#department').removeClass("layui-hide");
|
||||
$('#departmentmanager').removeClass("layui-hide");
|
||||
$('#specialrole').addClass("layui-hide");
|
||||
$('#specialuser').addClass("layui-hide");
|
||||
$('#alluser').addClass("layui-hide");
|
||||
} else if (data.value === "MORE_USER_MANAGER") {
|
||||
$('#stoprole').removeClass("layui-hide");
|
||||
$('#department').addClass("layui-hide");
|
||||
$('#departmentmanager').addClass("layui-hide");
|
||||
$('#specialrole').removeClass("layui-hide");
|
||||
$('#specialuser').addClass("layui-hide");
|
||||
$('#alluser').addClass("layui-hide");
|
||||
}
|
||||
else {
|
||||
$('#stoprole').addClass("layui-hide");
|
||||
$('#department').addClass("layui-hide");
|
||||
$('#departmentmanager').addClass("layui-hide");
|
||||
$('#specialrole').addClass("layui-hide");
|
||||
$('#specialuser').addClass("layui-hide");
|
||||
$('#alluser').removeClass("layui-hide");
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
//提供给上父页面调用
|
||||
getVal = function () {
|
||||
var users = [];
|
||||
var roles = [];
|
||||
var orgs = [];
|
||||
if (tmp.NodeDesignate === "SPECIAL_USER") {
|
||||
var checkStatus = table.checkStatus("UserId").data;
|
||||
for (var i = 0; i < checkStatus.length; i++) {
|
||||
users.push(checkStatus[i].F_Id);
|
||||
}
|
||||
} else if (tmp.NodeDesignate === "SPECIAL_ROLE" || tmp.NodeDesignate === "MORE_USER_MANAGER") {
|
||||
var checkStatus = table.checkStatus("RoleId").data;
|
||||
for (var i = 0; i < checkStatus.length; i++) {
|
||||
roles.push(checkStatus[i].F_Id);
|
||||
}
|
||||
} else if (tmp.NodeDesignate === "DEPARTMENT_MANAGER") {
|
||||
var checkStatus = table.checkStatus("OrganizeId").data;
|
||||
for (var i = 0; i < checkStatus.length; i++) {
|
||||
orgs.push(checkStatus[i].F_Id);
|
||||
}
|
||||
}
|
||||
tmp.NodeRejectType = $('#NodeRejectType').val();
|
||||
tmp.NodeConfluenceType = $('#NodeConfluenceType').val();
|
||||
tmp.ThirdPartyUrl = $('#ThirdPartyUrl').val();
|
||||
tmp.NodeName = $('#NodeName').val();
|
||||
var vals = demo1.getValue("value");
|
||||
tmp.CanWriteFormItemIds = vals;
|
||||
var result = {
|
||||
NodeDesignateData: { //节点指定操作人
|
||||
users: users,
|
||||
roles: roles,
|
||||
orgs: orgs,
|
||||
currentDepart: $('#currentDepart').is(':checked') ? true : false,
|
||||
}
|
||||
};
|
||||
// $.extend(result, vm.tmp);
|
||||
result = $.extend(tmp, result);
|
||||
return result;
|
||||
}
|
||||
})
|
||||
</script>
|
||||
52
WaterCloud.Web/Areas/SystemManage/Views/Form/Details.cshtml
Normal file
52
WaterCloud.Web/Areas/SystemManage/Views/Form/Details.cshtml
Normal file
@@ -0,0 +1,52 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<link href="~/js/lay-module/formDesigner/formPreview.css" rel="stylesheet" />
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<form class="layui-form layuimini-form">
|
||||
<div class="layui-form-item">
|
||||
<fieldset class="layui-elem-field" style="padding-top:15px;">
|
||||
<div id="frmPreview"></div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
//只读参数
|
||||
var readonly = true;
|
||||
var dataJson=[];
|
||||
layui.use(['jquery', 'form', 'common','formPreview'], function () {
|
||||
var form = layui.form,
|
||||
common = layui.common,
|
||||
formPreview = layui.formPreview,
|
||||
$ = layui.jquery;
|
||||
var keyValue = $.request("keyValue");
|
||||
$(function () {
|
||||
common.ajax({
|
||||
url: '/SystemManage/Form/GetFormJson',
|
||||
dataType: 'json',
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
if (data.F_FrmType != 0) {
|
||||
$("#frmPreview").load(document.location.origin + '/form/' + data.F_WebId + '.html');
|
||||
}
|
||||
else {
|
||||
//表单设计器
|
||||
dataJson = JSON.parse(data.F_Content);
|
||||
renderForm = formPreview.render({
|
||||
elem: '#frmPreview',
|
||||
data: dataJson,
|
||||
readonly: true
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
})
|
||||
</script>
|
||||
259
WaterCloud.Web/Areas/SystemManage/Views/Form/Form.cshtml
Normal file
259
WaterCloud.Web/Areas/SystemManage/Views/Form/Form.cshtml
Normal file
@@ -0,0 +1,259 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<link href="~/css/stepcss.css" rel="stylesheet" />
|
||||
<link href="~/js/lay-module/formDesigner/formPreview.css" rel="stylesheet" />
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-carousel" id="adminform" lay-filter="adminform">
|
||||
<div carousel-item>
|
||||
<div>
|
||||
<form class="layui-form layuimini-form">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">表单名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Name" name="F_Name" required lay-verify="required"
|
||||
placeholder="表单名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">表单类型</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_FrmType" name="F_FrmType" required lay-verify="required" lay-search lay-filter="FrmType">
|
||||
<option value="" selected>请选择</option>
|
||||
<option value="0">动态表单</option>
|
||||
<option value="1">自定义表单</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">关联数据表</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_DbName" name="F_DbName"
|
||||
placeholder="关联数据表" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">系统内置表单</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_WebId" name="F_WebId" disabled lay-search lay-filter="WebId">
|
||||
<option value="" selected>请选择</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">归属部门</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_OrganizeId" name="F_OrganizeId" lay-search>
|
||||
<option value="" selected>请选择</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" pattern="[0-9]*" id="F_SortCode" name="F_SortCode" lay-verify="required|number" oninput="if(value.length>8)value=value.slice(0,8)" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效标识">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Description" name="F_Description" class="layui-textarea" placeholder="请输入备注"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group-bottom text-right">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="formStep">
|
||||
 下一步 
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div>
|
||||
<form class="layui-form layuimini-form">
|
||||
<div id="commonform" >
|
||||
<iframe src="~/page/designer.html" id="formdesigner" onload="setIframeHeight(this)"style="width:100%;min-height:400px">
|
||||
</iframe>
|
||||
</div>
|
||||
<fieldset class="layui-elem-field">
|
||||
<div id="frmPreview"></div>
|
||||
</fieldset>
|
||||
<div class="form-group-bottom text-right">
|
||||
<div class="layui-input-block">
|
||||
<button type="button" class="layui-btn layui-btn-primary pre">上一步</button>
|
||||
<button class="layui-btn site-demo-active" id="saveBtn">
|
||||
 保存 
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
//只读参数
|
||||
var designJson = {};
|
||||
var readonly = true;
|
||||
layui.use(['jquery', 'form', 'common', 'element', 'step'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
step = layui.step,
|
||||
element = layui.element;
|
||||
var keyValue = $.request("keyValue");
|
||||
var ItemId = $.request("ItemId");
|
||||
step.render({
|
||||
elem: '#adminform',
|
||||
filter: 'adminform',
|
||||
width: '100%', //设置容器宽度
|
||||
stepWidth: '750px',
|
||||
height: '550px',
|
||||
stepItems: [{
|
||||
title: '基本信息'
|
||||
}, {
|
||||
title: '表单设计'
|
||||
}]
|
||||
});
|
||||
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
$(function () {
|
||||
initControl();
|
||||
if (!!ItemId) {
|
||||
$('#F_OrganizeId').val(ItemId);
|
||||
}
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: '/SystemManage/Form/GetFormJson',
|
||||
dataType: 'json',
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
if (data.F_FrmType != 0) {
|
||||
$("#frmPreview").load(document.location.origin + '/form/' + data.F_WebId + '.html');
|
||||
$('#commonform').addClass('layui-hide');
|
||||
$('#frmPreview').removeClass('layui-hide');
|
||||
$('#frmPreview').parent().removeClass('layui-hide');
|
||||
}
|
||||
else {
|
||||
$('#commonform').removeClass('layui-hide');
|
||||
$('#frmPreview').addClass('layui-hide');
|
||||
$('#frmPreview').parent().addClass('layui-hide');
|
||||
designJson=JSON.parse(data.F_Content);
|
||||
$("#formdesigner").attr('src',document.location.origin + '/page/designer.html');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
common.ajax({
|
||||
url: document.location.origin + '/json/demo.json',
|
||||
success: function (result) {
|
||||
designJson = result;
|
||||
}
|
||||
});
|
||||
$('#commonform').removeClass('layui-hide');
|
||||
$('#frmPreview').addClass('layui-hide');
|
||||
$('#frmPreview').parent().addClass('layui-hide');
|
||||
$("#formdesigner").attr('src',document.location.origin + '/page/designer.html');
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
function initControl() {
|
||||
$("#F_OrganizeId").bindSelect({
|
||||
url: "/SystemOrganize/Organize/GetTreeSelectJson",
|
||||
});
|
||||
$("#F_WebId").bindSelect({
|
||||
url: "/SystemManage/Form/GetExtendForm",
|
||||
id: "FileName",
|
||||
text: "FileName"
|
||||
});
|
||||
}
|
||||
$('.pre').click(function () {
|
||||
step.pre('#adminform');
|
||||
});
|
||||
|
||||
$('.next').click(function () {
|
||||
step.next('#adminform');
|
||||
});
|
||||
form.on('select(FrmType)',
|
||||
function (data) {
|
||||
if (!!data.value && data.value == 1) {
|
||||
$('#F_WebId').removeAttr("disabled");
|
||||
$('#F_DbName').addClass("layui-hide");
|
||||
$('#F_DbName').val("");
|
||||
} else {
|
||||
$('#F_WebId').attr("disabled", "disabled");
|
||||
$('#F_WebId').val("");
|
||||
$('#F_DbName').removeClass("layui-hide");
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
form.on('select(WebId)',
|
||||
function (data) {
|
||||
if (!!data.value) {
|
||||
$('#frmPreview').removeClass('layui-hide');
|
||||
$('#commonform').addClass('layui-hide');
|
||||
$("#frmPreview").load(document.location.origin + '/form/' + data.value + '.html');
|
||||
form.render();
|
||||
}
|
||||
else {
|
||||
$("#frmPreview").html("");
|
||||
}
|
||||
});
|
||||
var postData;
|
||||
form.on('submit(formStep)', function (data) {
|
||||
postData = $.extend(postData, data.field);
|
||||
if (postData.F_FrmType != 0) {
|
||||
$('#commonform').addClass('layui-hide');
|
||||
$('#frmPreview').removeClass('layui-hide');
|
||||
$('#frmPreview').parent().removeClass('layui-hide');
|
||||
}
|
||||
else {
|
||||
$('#commonform').removeClass('layui-hide');
|
||||
$('#frmPreview').addClass('layui-hide');
|
||||
$('#frmPreview').parent().addClass('layui-hide');
|
||||
}
|
||||
step.next('#adminform');
|
||||
return false;
|
||||
});
|
||||
//监听提交
|
||||
$(document).on('click', '#saveBtn', function () {
|
||||
//解析表单数据
|
||||
var formeditor = '';
|
||||
if (postData.F_FrmType != 1) {
|
||||
//获取表单设计器里的内容
|
||||
document.querySelector("iframe").contentWindow.document
|
||||
.getElementsByClassName('saveJson')[0].click();
|
||||
formeditor =window.localStorage.getItem('layui_form_json');
|
||||
if (!formeditor) {
|
||||
common.modalMsg("请编辑设计器", "warning");
|
||||
return false;
|
||||
}
|
||||
postData.F_Content = formeditor;
|
||||
}
|
||||
if (!postData["F_EnabledMark"]) postData["F_EnabledMark"] = false;
|
||||
common.submitForm({
|
||||
url: '/SystemManage/Form/SubmitForm?keyValue=' + keyValue,
|
||||
param: postData,
|
||||
success: function () {
|
||||
common.reloadIframe("/SystemManage/Form/Index", 'data-search-btn');
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
233
WaterCloud.Web/Areas/SystemManage/Views/Form/Index.cshtml
Normal file
233
WaterCloud.Web/Areas/SystemManage/Views/Form/Index.cshtml
Normal file
@@ -0,0 +1,233 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<div class="layui-fluid" style="padding:0 0px">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-md4 layui-col-xs5">
|
||||
<div class="layui-card" style="padding: 5px;">
|
||||
<fieldset class="table-search-fieldset" style="border:1px solid #e6e6e6">
|
||||
<legend>部门列表</legend>
|
||||
<form class="layui-form layui-form-pane" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="temp_keyword" name="temp_keyword" autocomplete="off" class="layui-input" placeholder="">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="temp-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</fieldset>
|
||||
<table class="layui-hide" id="currentTable" lay-filter="currentTable"></table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md8 layui-col-xs7">
|
||||
<div class="layui-card" style="padding: 5px;">
|
||||
<fieldset class="table-search-fieldset" id="searchField">
|
||||
<legend>表单列表</legend>
|
||||
<form class="layui-form layui-form-pane">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</fieldset>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>预览</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.use(['form', 'table','treeTablelay', 'common', 'commonTable'], function () {
|
||||
var form = layui.form,
|
||||
table = layui.table,
|
||||
commonTable = layui.commonTable,
|
||||
treeTablelay = layui.treeTablelay,
|
||||
common = layui.common;
|
||||
var ItemId;
|
||||
//权限控制(js是值传递)
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
var options = {
|
||||
elem: '#currentTable',
|
||||
url: '/SystemOrganize/Organize/GetTreeGridJson',
|
||||
defaultToolbar: [],
|
||||
toolbar: false,
|
||||
search: false,
|
||||
treeColIndex: 0,
|
||||
height: 'full-130',
|
||||
treeIdName: 'F_Id', // id字段名称
|
||||
treePidName: 'F_ParentId', // pid字段名称
|
||||
cols: [[
|
||||
{ field: 'F_FullName', title: '部门名称', width: 250, filter: true },
|
||||
{ field: 'F_EnCode', title: '部门编号', width: 180, filter: true},
|
||||
{
|
||||
field: 'F_CategoryId', title: '部门分类', width: 120, filter: true,
|
||||
templet: function (d) {
|
||||
return top.clients.dataItems["OrganizeCategory"][d.F_CategoryId] == null ? "" : top.clients.dataItems["OrganizeCategory"][d.F_CategoryId];
|
||||
}
|
||||
}
|
||||
]],
|
||||
};
|
||||
commonTable.rendertreetable(options);
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
id: 'currentTableId',
|
||||
url: '/SystemManage/Form/GetGridJson',
|
||||
where: { ItemId: ItemId },
|
||||
limit: 9999,//每页数据 默认
|
||||
page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
|
||||
layout: ['count'] //自定义分页布局
|
||||
, first: false //不显示首页
|
||||
, last: false //不显示尾页
|
||||
},
|
||||
search:false,
|
||||
height: 'full-130',
|
||||
autoSort: true,
|
||||
cols: [[
|
||||
{ type: "radio", width: 50 },
|
||||
{ field: 'F_Name', title: '表单名称', minWidth: 210, sort: true },
|
||||
{
|
||||
field: 'F_FrmType', title: '表单类型', width: 120, sort: true,
|
||||
templet: function (d) {
|
||||
if (d.F_FrmType == 0) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>动态表单</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>自定义表单</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{ field: 'F_Fields', title: '字段数', width: 100, sort: true, hide: true },
|
||||
{ field: 'F_ContentData', title: '表单中的字段数据', minWidth: 200, sort: true },
|
||||
{
|
||||
field: 'F_DbName', title: '关联数据表', width: 120,
|
||||
templet: function (d) {
|
||||
if (d.F_FrmType == 1) {
|
||||
return d.F_WebId;
|
||||
} else {
|
||||
return !!d.F_DbName ? d.F_DbName:"";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_OrganizeName', title: '所属部门', width: 120, hide: true
|
||||
},
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', width: 80,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>有效</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>无效</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_CreatorTime', title: '创建时间', width: 120, sort: true,
|
||||
templet: function (d) {
|
||||
if (d.F_CreatorTime) {
|
||||
var time = new Date(d.F_CreatorTime);
|
||||
return time.Format("yyyy-MM-dd");
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
{ field: 'F_Description', title: '备注', width: 250, hide: true }
|
||||
]]
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(temp-search-btn)', function (data) {
|
||||
var queryJson = data.field.temp_keyword;
|
||||
//执行搜索重载
|
||||
options.where = { keyword: queryJson };
|
||||
commonTable.rendertreetable(options);
|
||||
itemId = null;
|
||||
return false;
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
|
||||
layout: ['count'] //自定义分页布局
|
||||
, first: false //不显示首页
|
||||
, last: false //不显示尾页
|
||||
},
|
||||
where: { ItemId: ItemId,keyword: data.field.txt_keyword }
|
||||
});
|
||||
return false;
|
||||
});
|
||||
wcLoading.close();
|
||||
table.on('row(currentTable)', function (obj) {
|
||||
obj.tr.addClass("layui-table-click").siblings().removeClass("layui-table-click");
|
||||
ItemId = obj.data.F_Id;
|
||||
$('button[lay-filter="data-search-btn"]').click();//按钮刷新
|
||||
})
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-delete", "NF-details"];//选择1条显示
|
||||
commonTable.tableRowClick("radio", "currentTableFilter", "currentTableId", oneList);
|
||||
//toolbar监听事件
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
if (obj.event === 'add') { // 监听添加操作
|
||||
common.openNewTabByIframe({
|
||||
title: "添加表单",
|
||||
href: "/SystemManage/Form/Form?ItemId=" + ItemId,
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/Form/DeleteForm",
|
||||
param: { keyValue: data[0].F_Id },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
entity = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.openNewTabByIframe({
|
||||
title: "编辑表单",
|
||||
href: "/SystemManage/Form/Form?keyValue=" + data[0].F_Id,
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "预览表单",
|
||||
url: "/SystemManage/Form/Details?keyValue=" + data[0].F_Id,
|
||||
width: "600px",
|
||||
height: "600px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,75 @@
|
||||
@{
|
||||
ViewBag.Title = "Details";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
var itemId = $.request("itemId");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
$(function () {
|
||||
initControl();
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: "/SystemManage/ItemsData/GetFormJson",
|
||||
dataType: "json",
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
common.setReadOnly('adminform');
|
||||
}
|
||||
});
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
function initControl() {
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_ItemName" name="F_ItemName" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_ItemCode" name="F_ItemCode" lay-verify="required" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" pattern="[0-9]*" id="F_SortCode" name="F_SortCode" lay-verify="required" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="F_IsDefault" id="F_IsDefault" value="true" title="默认">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Description" name="F_Description" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
109
WaterCloud.Web/Areas/SystemManage/Views/ItemsData/Form.cshtml
Normal file
109
WaterCloud.Web/Areas/SystemManage/Views/ItemsData/Form.cshtml
Normal file
@@ -0,0 +1,109 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
var itemId = $.request("itemId");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
$(function () {
|
||||
initControl();
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: "/SystemManage/ItemsData/GetFormJson",
|
||||
dataType: "json",
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
}
|
||||
});
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
function initControl() {
|
||||
}
|
||||
//select验证
|
||||
form.verify({
|
||||
required: function (value, item) {
|
||||
var msg = "必填项不能为空";
|
||||
value = $.trim(value);
|
||||
var isEmpty = !value || value.length < 1;
|
||||
// 当前验证元素是select且为空时,将页面定位至layui渲染的select处,或自定义想定位的位置
|
||||
if (item.tagName == 'SELECT' && isEmpty) {
|
||||
$("html").animate({
|
||||
scrollTop: $(item).siblings(".layui-form-select").offset().top - 74
|
||||
}, 50);
|
||||
}
|
||||
if (isEmpty) {
|
||||
return msg;
|
||||
}
|
||||
}
|
||||
});
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
var postData = data.field;
|
||||
if (!postData["F_IsDefault"]) postData["F_IsDefault"] = false;
|
||||
if (!postData["F_EnabledMark"]) postData["F_EnabledMark"] = false;
|
||||
postData["F_ItemId"] = itemId;
|
||||
common.submitForm({
|
||||
url: "/SystemManage/ItemsData/SubmitForm?keyValue=" + keyValue,
|
||||
param: postData,
|
||||
success: function () {
|
||||
common.parentreload("data-search-btn");
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_ItemName" name="F_ItemName" maxlength="50" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_ItemCode" name="F_ItemCode" maxlength="50" lay-verify="required" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" pattern="[0-9]*" id="F_SortCode" name="F_SortCode" lay-verify="required|number" oninput="if(value.length>8)value=value.slice(0,8)" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="F_IsDefault" id="F_IsDefault" value="true" title="默认">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Description" name="F_Description" class="layui-textarea" placeholder="请输入备注"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn site-demo-active" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
253
WaterCloud.Web/Areas/SystemManage/Views/ItemsData/Index.cshtml
Normal file
253
WaterCloud.Web/Areas/SystemManage/Views/ItemsData/Index.cshtml
Normal file
@@ -0,0 +1,253 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<style>
|
||||
|
||||
.layui-table-tool > .layui-table-tool-temp {
|
||||
padding-right: 0px;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'form', 'table', 'common', 'dtree', 'commonTable', 'optimizeSelectOption'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
commonTable = layui.commonTable,
|
||||
table = layui.table,
|
||||
dtree = layui.dtree,
|
||||
common = layui.common;
|
||||
//加载数据
|
||||
wcLoading.close();
|
||||
//权限控制(js是值传递)
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
// 初始化树
|
||||
var DemoTree = dtree.render({
|
||||
elem: "#demoTree",
|
||||
height: 'full-15',
|
||||
width: '135px',
|
||||
method: "GET",
|
||||
async: true,
|
||||
line: true, // 显示树线
|
||||
scroll: "#toolbarDiv", // 绑定div元素
|
||||
icon: ["0", "-1"], // 显示非最后一级节点图标,隐藏最后一级节点图标
|
||||
initLevel: 1,
|
||||
url: "/SystemManage/ItemsType/GetTreeGridJson?v=" + new Date().Format("yyyy-MM-dd hh:mm:ss") // 使用url加载(可与data加载同时存在)
|
||||
});
|
||||
var treeid;
|
||||
// 绑定节点点击
|
||||
dtree.on("node('demoTree')", function (obj) {
|
||||
treeid = obj.param.nodeId;
|
||||
$("#txt_keyword").val('');
|
||||
$('button[lay-filter="data-search-btn"]').click();//按钮刷新
|
||||
});
|
||||
//$(function () {
|
||||
// treeView();
|
||||
//});
|
||||
//function treeView() {
|
||||
// $('#itemTree').treeview({
|
||||
// url: '/SystemManage/ItemsType/GetTreeJson',
|
||||
// onnodeclick: function (node) {
|
||||
// //alert(node.text); // alert node text property when clicked
|
||||
// $("#txt_keyword").val('');
|
||||
// $('button[lay-filter="data-search-btn"]').click();//按钮刷新
|
||||
// }
|
||||
// });
|
||||
//}
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
url: "/SystemManage/ItemsData/GetGridJson",
|
||||
where: {
|
||||
itemId: "~",
|
||||
keyword: "",
|
||||
},
|
||||
defaultToolbar: [],
|
||||
search:false,
|
||||
limit: 9999,//每页数据 默认
|
||||
page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
|
||||
layout: ['count'] //自定义分页布局
|
||||
, first: false //不显示首页
|
||||
, last: false //不显示尾页
|
||||
},
|
||||
height: 'full-110',
|
||||
cols: [[
|
||||
{ type: "radio", width: 50, fixed: 'left' },
|
||||
{ field: 'F_ItemName', title: '名称', width: 120 },
|
||||
{ field: 'F_ItemCode', title: '编号', width: 120 },
|
||||
{ field: 'F_SortCode', title: '排序', width: 60 },
|
||||
{
|
||||
field: 'F_IsDefault', title: '默认', width: 80,
|
||||
templet: function (d) {
|
||||
if (d.F_IsDefault == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>是</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>否</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', width: 80,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>有效</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>无效</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_CreatorTime', title: '创建时间', width: 120,
|
||||
templet: function (d) {
|
||||
if (d.F_CreatorTime) {
|
||||
var time = new Date(d.F_CreatorTime);
|
||||
return time.Format("yyyy-MM-dd");
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
{ field: 'F_Description', title: '介绍', minWidth: 100 },
|
||||
]]
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//if (!$("#itemTree").getCurrentNode()) {
|
||||
// return false;
|
||||
//}
|
||||
//var itemId = $("#itemTree").getCurrentNode().id;
|
||||
//执行搜索重载
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
|
||||
layout: ['count'] //自定义分页布局
|
||||
, first: false //不显示首页
|
||||
, last: false //不显示尾页
|
||||
},
|
||||
where: {
|
||||
itemId: treeid,
|
||||
keyword: data.field.txt_keyword,
|
||||
},
|
||||
});
|
||||
return false;
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(item-search-btn)', function (data) {
|
||||
// 调用内置函数搜索节点
|
||||
DemoTree.fuzzySearch(data.field.item_keyword);
|
||||
return false;
|
||||
});
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-delete", "NF-details"];//选择1条显示
|
||||
commonTable.tableRowClick("radio", "currentTableFilter", "currentTableId", oneList);
|
||||
/**
|
||||
* toolbar监听事件
|
||||
*/
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
if (obj.event === 'add') { // 监听操作
|
||||
if (!treeid) {
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "添加字典",
|
||||
url: "/SystemManage/ItemsData/Form?itemId=" + treeid,
|
||||
width: "450px",
|
||||
height: "350px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/ItemsData/DeleteForm",
|
||||
param: { keyValue: data[0].F_Id },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "编辑字典",
|
||||
url: "/SystemManage/ItemsData/Form?itemId=" + treeid + "&keyValue=" + data[0].F_Id,
|
||||
width: "450px",
|
||||
height: "350px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "查看字典",
|
||||
url: "/SystemManage/ItemsData/Details?keyValue=" + data[0].F_Id,
|
||||
width: "450px",
|
||||
height: "350px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'itemstype') {
|
||||
common.openNewTabByIframe({
|
||||
title: "分类管理",
|
||||
href: "/SystemManage/ItemsType/Index",
|
||||
checkOpen: false
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div class="layui-fluid" style="padding:0 0px">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-md4 layui-col-xs5">
|
||||
<div class="layui-card" style="text-align:left;overflow: auto;" id="toolbarDiv">
|
||||
<fieldset class="table-search-fieldset" style="border:1px solid #e6e6e6">
|
||||
<form class="layui-form layui-form-pane" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="item_keyword" name="item_keyword" autocomplete="off" class="layui-input" placeholder="">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="item-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</fieldset>
|
||||
<ul id="demoTree" class="dtree" data-id="0"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md8 layui-col-xs7">
|
||||
<div class="layui-card" style="padding: 5px;">
|
||||
<fieldset class="table-search-fieldset" style="border:1px solid #e6e6e6">
|
||||
@*<legend>搜索信息</legend>*@
|
||||
<form class="layui-form layui-form-pane" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input" placeholder="">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</fieldset>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>查看</button>
|
||||
<button id="NF-itemstype" authorize="yes" class="layui-btn layui-btn-sm" lay-event="itemstype"> <i class="fa fa-key"></i>分类管理</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,84 @@
|
||||
@{
|
||||
ViewBag.Title = "Details";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
$(function () {
|
||||
initControl();
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: "/SystemManage/ItemsType/GetFormJson",
|
||||
dataType: "json",
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
common.setReadOnly('adminform');
|
||||
}
|
||||
});
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
function initControl() {
|
||||
$("#F_ParentId").bindSelect({
|
||||
url: "/SystemManage/ItemsType/GetTreeSelectJson",
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">上级</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_ParentId" name="F_ParentId" lay-search>
|
||||
<option value="0" selected>父节点</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-labeld">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_FullName" name="F_FullName" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_EnCode" name="F_EnCode" lay-verify="required" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">显示顺序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" pattern="[0-9]*" id="F_SortCode" name="F_SortCode" lay-verify="required" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效标识">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Description" name="F_Description" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
125
WaterCloud.Web/Areas/SystemManage/Views/ItemsType/Form.cshtml
Normal file
125
WaterCloud.Web/Areas/SystemManage/Views/ItemsType/Form.cshtml
Normal file
@@ -0,0 +1,125 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
var event = $.request("event");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
$(function () {
|
||||
initControl();
|
||||
if (event == "edit") {
|
||||
common.ajax({
|
||||
url: "/SystemManage/ItemsType/GetFormJson",
|
||||
dataType: "json",
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
if (!!keyValue) {
|
||||
$('#F_ParentId').val(keyValue);
|
||||
}
|
||||
else {
|
||||
$('#F_ParentId').val("0");
|
||||
}
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
function initControl() {
|
||||
$("#F_ParentId").bindSelect({
|
||||
url: "/SystemManage/ItemsType/GetTreeSelectJson",
|
||||
});
|
||||
}
|
||||
//select验证
|
||||
form.verify({
|
||||
required: function (value, item) {
|
||||
var msg = "必填项不能为空";
|
||||
value = $.trim(value);
|
||||
var isEmpty = !value || value.length < 1;
|
||||
// 当前验证元素是select且为空时,将页面定位至layui渲染的select处,或自定义想定位的位置
|
||||
if (item.tagName == 'SELECT' && isEmpty) {
|
||||
$("html").animate({
|
||||
scrollTop: $(item).siblings(".layui-form-select").offset().top - 74
|
||||
}, 50);
|
||||
}
|
||||
if (isEmpty) {
|
||||
return msg;
|
||||
}
|
||||
}
|
||||
});
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
var postData = data.field;
|
||||
if (!postData["F_EnabledMark"]) postData["F_EnabledMark"] = false;
|
||||
common.submitForm({
|
||||
url: event == "edit" ? "/SystemManage/ItemsType/SubmitForm?keyValue=" + keyValue : "/SystemManage/ItemsType/SubmitForm",
|
||||
param: postData,
|
||||
success: function () {
|
||||
common.parentreload("data-search-btn", 'data-search-btn');
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">上级</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_ParentId" name="F_ParentId" lay-search>
|
||||
<option value="0" selected>父节点</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_FullName" name="F_FullName" lay-verify="required" maxlength="50" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_EnCode" name="F_EnCode" lay-verify="required" maxlength="50" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">显示顺序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" pattern="[0-9]*" id="F_SortCode" name="F_SortCode" lay-verify="required|number" oninput="if(value.length>8)value=value.slice(0,8)" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效标识">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Description" name="F_Description" class="layui-textarea" placeholder="请输入备注"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn site-demo-active" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
195
WaterCloud.Web/Areas/SystemManage/Views/ItemsType/Index.cshtml
Normal file
195
WaterCloud.Web/Areas/SystemManage/Views/ItemsType/Index.cshtml
Normal file
@@ -0,0 +1,195 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'table', 'common', 'commonTable', 'optimizeSelectOption'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table,
|
||||
commonTable = layui.commonTable,
|
||||
common = layui.common;
|
||||
//加载数据
|
||||
wcLoading.close();
|
||||
//权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
var options = {
|
||||
elem: '#currentTableId',
|
||||
url: '/SystemManage/ItemsType/GetGridJson',
|
||||
treeIdName: 'F_Id', // id字段名称
|
||||
treePidName: 'F_ParentId', // pid字段名称
|
||||
cols: [[
|
||||
{ type: "radio", width: 50, fixed: 'left' },
|
||||
{ field: 'F_FullName', title: '名称', width: 200 },
|
||||
{ field: 'F_EnCode', title: '编号', width: 120 },
|
||||
{ field: 'F_SortCode', title: '排序', width: 60 },
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', width: 80,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>有效</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>无效</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_CreatorTime', title: '创建时间', width: 120,
|
||||
templet: function (d) {
|
||||
if (d.F_CreatorTime) {
|
||||
var time = new Date(d.F_CreatorTime);
|
||||
return time.Format("yyyy-MM-dd");
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
{ field: 'F_Description', title: '备注', minWidth: 150 },
|
||||
{ title: '操作', width: 160, toolbar: '#currentTableBar', align: "center", fixed: 'right' }
|
||||
]],
|
||||
};
|
||||
commonTable.rendertreetable(options);
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
queryJson = data.field.txt_keyword;
|
||||
options.where = { keyword: queryJson };
|
||||
commonTable.rendertreetable(options);
|
||||
return false;
|
||||
});
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-details", "NF-delete"];//选择1条显示
|
||||
//var morerList = ["NF-delete"];//选中1条以上
|
||||
commonTable.tableRowClick("radio", "currentTableFilter", "currentTableId", oneList);
|
||||
/**
|
||||
* toolbar监听事件
|
||||
*/
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
if (obj.event === 'add') { // 监听操作
|
||||
keyValue = data.length > 0 ? data[0].F_Id : null;
|
||||
common.modalOpen({
|
||||
title: "添加分类",
|
||||
url: "/SystemManage/ItemsType/Form?event=add&keyValue=" + (!!keyValue ? keyValue : ""),
|
||||
width: "450px",
|
||||
height: "380px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/ItemsType/DeleteForm",
|
||||
param: { keyValue: data[0].F_Id },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "编辑分类",
|
||||
url: "/SystemManage/ItemsType/Form?event=edit&keyValue=" + data[0].F_Id,
|
||||
width: "450px",
|
||||
height: "380px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "查看分类",
|
||||
url: "/SystemManage/ItemsType/Details?keyValue=" + data[0].F_Id,
|
||||
width: "450px",
|
||||
height: "380px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
//toolbar监听事件
|
||||
table.on('tool(currentTableFilter)', function (obj) {
|
||||
if (obj.event === 'delete') {
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/ItemsType/DeleteForm",
|
||||
param: { keyValue: obj.data.F_Id },
|
||||
success: function () {
|
||||
obj.del();
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
common.modalOpen({
|
||||
title: "编辑界面",
|
||||
url: "/SystemManage/ItemsType/Form?event=edit&keyValue=" + obj.data.F_Id,
|
||||
width: "500px",
|
||||
height: "500px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
common.modalOpen({
|
||||
title: "查看界面",
|
||||
url: "/SystemManage/ItemsType/Details?keyValue=" + obj.data.F_Id,
|
||||
width: "500px",
|
||||
height: "500px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset layui-hide" id="searchField">
|
||||
@*<legend>搜索信息</legend>*@
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>查看</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
<script type="text/html" id="currentTableBar">
|
||||
<a id="NF-edit" authorize class="layui-btn layui-btn-xs layui-btn-warm" lay-event="edit">修改</a>
|
||||
<a id="NF-delete" authorize class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a>
|
||||
<a id="NF-details" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details">查看</a>
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
144
WaterCloud.Web/Areas/SystemManage/Views/Module/Details.cshtml
Normal file
144
WaterCloud.Web/Areas/SystemManage/Views/Module/Details.cshtml
Normal file
@@ -0,0 +1,144 @@
|
||||
@{
|
||||
ViewBag.Title = "Details";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'iconPickerFa', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
iconPickerFa = layui.iconPickerFa,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
$(function () {
|
||||
initControl();
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: "/SystemManage/Module/GetFormJson",
|
||||
dataType: "json",
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
if (!!data.F_Icon) {
|
||||
iconPickerFa.checkIcon('iconPicker', data.F_Icon);
|
||||
}
|
||||
common.setReadOnly('adminform');
|
||||
}
|
||||
});
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
iconPickerFa.render({
|
||||
// 选择器,推荐使用input
|
||||
elem: '#iconPicker',
|
||||
// fa 图标接口
|
||||
url: "/lib/font-awesome-4.7.0/less/variables.less",
|
||||
// 是否开启搜索:true/false,默认true
|
||||
search: true,
|
||||
// 是否开启分页:true/false,默认true
|
||||
page: true,
|
||||
// 每页显示数量,默认12
|
||||
limit: 12,
|
||||
// 点击回调
|
||||
click: function (data) {
|
||||
//console.log(data);
|
||||
$("#F_Icon").val("fa " + data.icon);
|
||||
},
|
||||
// 渲染成功后的回调
|
||||
success: function (d) {
|
||||
//console.log(d);
|
||||
}
|
||||
});
|
||||
function initControl() {
|
||||
$("#F_ParentId").bindSelect({
|
||||
url: "/SystemManage/Module/GetTreeSelectJson",
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">上级</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_ParentId" name="F_ParentId">
|
||||
<option value="0">父节点</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_EnCode" name="F_EnCode" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_FullName" name="F_FullName" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">连接</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_UrlAddress" name="F_UrlAddress" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">权限</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Authorize" name="F_Authorize" maxlength="100" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">目标</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_Target" name="F_Target" lay-verify="required">
|
||||
<option value="">==请选择==</option>
|
||||
<option value="expand" title="expand">无页面</option>
|
||||
<option value="iframe" title="iframe">框架页</option>
|
||||
<option value="open" title="open">弹出页</option>
|
||||
<option value="blank" title="blank">新窗口</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">图标</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Icon" name="F_Icon" class="layui-input layui-hide">
|
||||
<input type="text" id="iconPicker" @*value="fa fa-file-image-o"*@ lay-filter="iconPicker" class="hide">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">显示顺序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" pattern="[0-9]*" id="F_SortCode" name="F_SortCode" lay-verify="required" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input id="F_IsMenu" name="F_IsMenu" type="checkbox" value="false" title="菜单">
|
||||
<input id="F_IsExpand" name="F_IsExpand" type="checkbox" value="false" title="展开">
|
||||
<input id="F_IsPublic" name="F_IsPublic" type="checkbox" value="true" title="公共">
|
||||
<input id="F_IsFields" name="F_IsFields" type="checkbox" value="false" title="字段">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Description" name="F_Description" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
234
WaterCloud.Web/Areas/SystemManage/Views/Module/Form.cshtml
Normal file
234
WaterCloud.Web/Areas/SystemManage/Views/Module/Form.cshtml
Normal file
@@ -0,0 +1,234 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<style>
|
||||
|
||||
.layui-iconpicker-body.layui-iconpicker-body-page .hide {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'iconPickerFa', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
iconPickerFa = layui.iconPickerFa,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
var event = $.request("event");
|
||||
$(function () {
|
||||
initControl();
|
||||
if (event == "edit") {
|
||||
common.ajax({
|
||||
url: "/SystemManage/Module/GetFormJson",
|
||||
dataType: "json",
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
if (!!data.F_Icon) {
|
||||
iconPickerFa.checkIcon('iconPicker', data.F_Icon);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (event == "clone")
|
||||
{
|
||||
common.ajax({
|
||||
url: "/SystemManage/Module/GetFormJson",
|
||||
dataType: "json",
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
if (!!data.F_Icon) {
|
||||
iconPickerFa.checkIcon('iconPicker', data.F_Icon);
|
||||
}
|
||||
ParentIdChange(data.F_ParentId);
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
if (!!keyValue) {
|
||||
$('#F_ParentId').val(keyValue);
|
||||
ParentIdChange(keyValue);
|
||||
}
|
||||
else {
|
||||
ParentIdChange(0);
|
||||
}
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
form.on('select(F_ParentId)', function (data) {
|
||||
ParentIdChange(data.value);
|
||||
});
|
||||
function ParentIdChange(value) {
|
||||
common.ajax({
|
||||
url: '/SystemManage/Module/GetMaxSortCodeText',
|
||||
dataType: 'text',
|
||||
data: { F_ParentId: value },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
$('#F_SortCode').val(data);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
function initControl() {
|
||||
$("#F_ParentId").bindSelect({
|
||||
url: "/SystemManage/Module/GetTreeSelectJson",
|
||||
});
|
||||
}
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
var postData = data.field;
|
||||
if (!postData["F_EnabledMark"]) postData["F_EnabledMark"] = false;
|
||||
if (!postData["F_IsMenu"]) postData["F_IsMenu"] = false;
|
||||
if (!postData["F_IsFields"]) postData["F_IsFields"] = false;
|
||||
if (!postData["F_IsPublic"]) postData["F_IsPublic"] = false;
|
||||
if (!postData["F_IsExpand"]) postData["F_IsExpand"] = false;
|
||||
common.submitForm({
|
||||
url: event == "edit" ? "/SystemManage/Module/SubmitForm?keyValue=" + keyValue : "/SystemManage/Module/SubmitForm",
|
||||
param: postData,
|
||||
success: function () {
|
||||
common.parentreload("data-search-btn");
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
//select验证
|
||||
form.verify({
|
||||
required: function (value, item) {
|
||||
var msg = "必填项不能为空";
|
||||
value = $.trim(value);
|
||||
var isEmpty = !value || value.length < 1;
|
||||
// 当前验证元素是select且为空时,将页面定位至layui渲染的select处,或自定义想定位的位置
|
||||
if (item.tagName == 'SELECT' && isEmpty) {
|
||||
$("html").animate({
|
||||
scrollTop: $(item).siblings(".layui-form-select").offset().top - 74
|
||||
}, 50);
|
||||
}
|
||||
if (isEmpty) {
|
||||
return msg;
|
||||
}
|
||||
}
|
||||
});
|
||||
iconPickerFa.render({
|
||||
// 选择器,推荐使用input
|
||||
elem: '#iconPicker',
|
||||
// fa 图标接口
|
||||
url: "/lib/font-awesome-4.7.0/less/variables.less",
|
||||
// 是否开启搜索:true/false,默认true
|
||||
search: true,
|
||||
// 是否开启分页:true/false,默认true
|
||||
page: true,
|
||||
// 每页显示数量,默认12
|
||||
limit: 12,
|
||||
// 点击回调
|
||||
click: function (data) {
|
||||
//console.log(data);
|
||||
$("#F_Icon").val("fa " + data.icon);
|
||||
},
|
||||
// 渲染成功后的回调
|
||||
success: function (d) {
|
||||
//console.log(d);
|
||||
}
|
||||
});
|
||||
});
|
||||
function clearIcon() {
|
||||
layui.use(['iconPickerFa'], function () {
|
||||
layui.iconPickerFa.checkIcon('iconPicker', "");
|
||||
$("#F_Icon").val("");
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">上级</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_ParentId" name="F_ParentId" lay-verify="required" lay-filter="F_ParentId" lay-search>
|
||||
<option value="0" selected>父节点</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_EnCode" name="F_EnCode" maxlength="50" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_FullName" name="F_FullName" maxlength="50" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">连接</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_UrlAddress" name="F_UrlAddress" maxlength="50" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">权限</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Authorize" name="F_Authorize" maxlength="100" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">目标</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_Target" name="F_Target" lay-verify="required">
|
||||
<option value="">==请选择==</option>
|
||||
<option value="expand" title="expand">无页面</option>
|
||||
<option value="iframe" title="iframe">框架页</option>
|
||||
<option value="open" title="open">弹出页</option>
|
||||
<option value="blank" title="blank">新窗口</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">图标</label>
|
||||
<div class="layui-input-block" style="padding-right: 70px;">
|
||||
<input type="text" id="F_Icon" name="F_Icon" class="layui-input layui-hide">
|
||||
<input type="text" id="iconPicker" @*value="fa fa-file-image-o"*@ lay-filter="iconPicker" class="hide">
|
||||
<button class="layui-btn layui-btn-warm" onclick="clearIcon()" style="position: absolute;top: 0;right: 6px;cursor: pointer;">清除图标</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">显示顺序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" pattern="[0-9]*" id="F_SortCode" name="F_SortCode" lay-verify="required|number" oninput="if(value.length>8)value=value.slice(0,8)" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input id="F_IsMenu" name="F_IsMenu" type="checkbox" value="true" title="菜单">
|
||||
<input id="F_IsExpand" name="F_IsExpand" type="checkbox" value="true" title="展开">
|
||||
<input id="F_IsPublic" name="F_IsPublic" type="checkbox" value="true" title="公共">
|
||||
<input id="F_IsFields" name="F_IsFields" type="checkbox" value="true" title="字段">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Description" name="F_Description" class="layui-textarea" placeholder="请输入介绍"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn site-demo-active" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
342
WaterCloud.Web/Areas/SystemManage/Views/Module/Index.cshtml
Normal file
342
WaterCloud.Web/Areas/SystemManage/Views/Module/Index.cshtml
Normal file
@@ -0,0 +1,342 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'table', 'common', 'commonTable', 'miniTab', 'optimizeSelectOption'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table,
|
||||
commonTable = layui.commonTable,
|
||||
miniTab = layui.miniTab,
|
||||
common = layui.common;
|
||||
//加载数据
|
||||
wcLoading.close();
|
||||
//权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
var options = {
|
||||
elem: '#currentTableId',
|
||||
url: '/SystemManage/Module/GetTreeGridJson',
|
||||
treeIdName: 'F_Id', // id字段名称
|
||||
treePidName: 'F_ParentId', // pid字段名称
|
||||
cols: [[
|
||||
{ type: "radio", minWidth: 50, fixed: 'left' },
|
||||
{ field: 'F_FullName', title: '名称', minWidth: 200, filter: true },
|
||||
{
|
||||
field: 'F_Icon', title: '图标', minWidth: 60,
|
||||
templet: function (d) {
|
||||
return d.F_Icon == "" ? "<i class=\"fa \"></i>" : "<i class=\"fa " + d.F_Icon + "\"></i>";
|
||||
}
|
||||
},
|
||||
{ field: 'F_UrlAddress', title: '连接', minWidth: 220, filter: true },
|
||||
{ field: 'F_SortCode', title: '排序', minWidth: 80, filter: true, edit: 'number' },
|
||||
{
|
||||
field: 'F_Target', title: '目标', minWidth: 80, filter: true,
|
||||
templet: function (d) {
|
||||
if (d.F_Target == "expand") {
|
||||
return "无页面";
|
||||
} else if (d.F_Target == "iframe") {
|
||||
return "框架页";
|
||||
} else if (d.F_Target == "open") {
|
||||
return "弹出页";
|
||||
} else if (d.F_Target == "blank") {
|
||||
return "新窗口";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_IsMenu', title: '菜单', minWidth: 80, filter: true,
|
||||
templet: function (d) {
|
||||
if (d.F_IsMenu == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>是</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>否</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_IsExpand', title: '展开', minWidth: 80, filter: true,
|
||||
templet: function (d) {
|
||||
if (d.F_IsExpand == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>是</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>否</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_IsPublic', title: '公共', minWidth: 80, filter: true,
|
||||
templet: function (d) {
|
||||
if (d.F_IsPublic == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>是</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>否</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_IsFields', title: '字段', minWidth: 80, filter: true,
|
||||
templet: function (d) {
|
||||
if (d.F_IsFields == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>是</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>否</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', minWidth: 80, filter: true,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>有效</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>无效</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{ field: 'F_Authorize', title: '权限', minWidth: 150, filter: true },
|
||||
{
|
||||
field: 'F_CreatorTime', title: '创建时间', minWidth: 120, filter: { type: 'date[yyyy-MM-dd]' },
|
||||
templet: function (d) {
|
||||
if (d.F_CreatorTime) {
|
||||
var time = new Date(d.F_CreatorTime);
|
||||
return time.Format("yyyy-MM-dd");
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
{ field: 'F_Description', title: '备注', minWidth: 100, filter: true },
|
||||
{ title: '操作', width: 270, toolbar: '#currentTableBar', align: "center", fixed: 'right' }
|
||||
]]
|
||||
};
|
||||
commonTable.rendertreetable(options);
|
||||
//监听单元格编辑
|
||||
table.on('edit(currentTableFilter)', function (obj) {
|
||||
var value = obj.value //得到修改后的值
|
||||
, data = obj.data //得到所在行所有键值
|
||||
, field = obj.field; //得到字段
|
||||
//layer.msg('[ID: ' + data.id + '] ' + field + ' 字段更改值为:' + value);
|
||||
if (field == "F_SortCode") {
|
||||
common.submitForm({
|
||||
url: '/SystemManage/Module/SubmitUpdateForm',
|
||||
dataType: 'json',
|
||||
param: { F_Id: data.id, SortCode: value },
|
||||
async: false,
|
||||
close: false,
|
||||
success: function (data) {
|
||||
common.modalMsg("修改成功", "success");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
queryJson = data.field.txt_keyword;
|
||||
options.where = { keyword: queryJson };
|
||||
commonTable.rendertreetable(options);
|
||||
return false;
|
||||
});
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-details", "NF-delete", "NF-modulebutton", "NF-modulefields"];//选择1条显示
|
||||
//var morerList = ["NF-delete"];//选中1条以上
|
||||
commonTable.tableRowClick("radio", "currentTableFilter", "currentTableId", oneList);
|
||||
/**
|
||||
* toolbar监听事件
|
||||
*/
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
var keyValue = data.length > 0 ? data[0].F_Id : null;
|
||||
var module = data.length > 0 ? data[0] : null;
|
||||
if (obj.event === 'add') { // 监听操作
|
||||
if (!keyValue || data[0].F_IsExpand == false || data[0].F_Target != "expand") {
|
||||
keyValue = "";
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "添加菜单",
|
||||
url: "/SystemManage/Module/Form?event=add&keyValue=" + keyValue,
|
||||
width: "500px",
|
||||
height: "500px"
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (module == null) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/Module/DeleteForm",
|
||||
param: { keyValue: module.F_Id },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'clone') {
|
||||
if (keyValue == null) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "添加菜单",
|
||||
url: "/SystemManage/Module/Form?event=clone&keyValue=" + keyValue,
|
||||
width: "500px",
|
||||
height: "500px"
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
if (keyValue == null) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "编辑菜单",
|
||||
url: "/SystemManage/Module/Form?event=edit&keyValue=" + keyValue,
|
||||
width: "500px",
|
||||
height: "500px"
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
if (keyValue == null) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "查看菜单",
|
||||
url: "/SystemManage/Module/Details?keyValue=" + keyValue,
|
||||
width: "500px",
|
||||
height: "500px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'modulebutton') {
|
||||
if (keyValue == null) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
if (module.F_Target != "iframe" && module.F_Target != "expand") {
|
||||
common.modalAlert("菜单不能创建按钮,请修改后重试", "warning");
|
||||
return false;
|
||||
}
|
||||
common.openNewTabByIframe({
|
||||
title: "按钮管理",
|
||||
href: "/SystemManage/ModuleButton/Index?moduleId=" + keyValue + "&modulename=" + module.F_FullName,
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'modulefields') {
|
||||
if (module == null) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
if (module.F_Target != "iframe" || !module.F_UrlAddress) {
|
||||
common.modalAlert("菜单不能创建字段,请修改后重试", "warning");
|
||||
return false;
|
||||
}
|
||||
common.openNewTabByIframe({
|
||||
title: "字段管理",
|
||||
href: "/SystemManage/ModuleFields/Index?moduleId=" + keyValue + "&modulename=" + module.F_FullName,
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
table.on('tool(currentTableFilter)', function (obj) {
|
||||
if (obj.event === 'delete') {
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/Module/DeleteForm",
|
||||
param: { keyValue: obj.data.F_Id },
|
||||
success: function () {
|
||||
obj.del();
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
common.modalOpen({
|
||||
title: "编辑菜单",
|
||||
url: "/SystemManage/Module/Form?event=edit&keyValue=" + obj.data.F_Id,
|
||||
width: "500px",
|
||||
height: "500px"
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'clone') {
|
||||
common.modalOpen({
|
||||
title: "添加菜单",
|
||||
url: "/SystemManage/Module/Form?event=clone&keyValue=" + obj.data.F_Id,
|
||||
width: "500px",
|
||||
height: "500px"
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'modulebutton') {
|
||||
if (obj.data.F_Target != "iframe" && obj.data.F_Target != "expand") {
|
||||
common.modalAlert("菜单不能创建按钮,请修改后重试", "warning");
|
||||
return false;
|
||||
}
|
||||
common.openNewTabByIframe({
|
||||
title: "按钮管理",
|
||||
href: "/SystemManage/ModuleButton/Index?moduleId=" + obj.data.F_Id + "&modulename=" + obj.data.F_FullName,
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'modulefields') {
|
||||
if (obj.data.F_Target != "iframe" || !obj.data.F_UrlAddress) {
|
||||
common.modalAlert("菜单不能创建字段,请修改后重试", "warning");
|
||||
return false;
|
||||
}
|
||||
common.openNewTabByIframe({
|
||||
title: "字段管理",
|
||||
href: "/SystemManage/ModuleFields/Index?moduleId=" + obj.data.F_Id + "&modulename=" + obj.data.F_FullName,
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset layui-hide" id="searchField">
|
||||
@*<legend>搜索信息</legend>*@
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" authorize="yes" class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-edit"name="NF-edit" authorize="yes" class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="clone"><i class="fa fa-paste"></i>复制</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize="yes" class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize="yes" class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize="yes" class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>查看</button>
|
||||
<button id="NF-modulebutton" name="NF-modulebutton" authorize="yes" class="layui-btn layui-btn-sm layui-hide" lay-event="modulebutton"> <i class="fa fa-gavel"></i>按钮管理</button>
|
||||
<button id="NF-modulefields" name="NF-modulefields" authorize="yes" class="layui-btn layui-btn-sm layui-hide" lay-event="modulefields"> <i class="fa fa-table"></i>字段管理</button>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="currentTableBar">
|
||||
<a id="NF-edit" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="clone">克隆</a>
|
||||
<a id="NF-edit" authorize class="layui-btn layui-btn-xs layui-btn-warm" lay-event="edit">修改</a>
|
||||
<a id="NF-delete" authorize class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a>
|
||||
<a id="NF-modulebutton" authorize class="layui-btn layui-btn-xs" lay-event="modulebutton">按钮</a>
|
||||
<a id="NF-modulefields" authorize class="layui-btn layui-btn-xs" lay-event="modulefields">字段</a>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,69 @@
|
||||
@{
|
||||
ViewBag.Title = "CloneButton";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'dtree', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
dtree = layui.dtree,
|
||||
common = layui.common;
|
||||
var moduleId = $.request("moduleId");
|
||||
wcLoading.close();
|
||||
//$(function () {
|
||||
// $("#itemTree").treeview({
|
||||
// showcheck: true,
|
||||
// url: "/SystemManage/ModuleButton/GetCloneButtonTreeJson"
|
||||
// });
|
||||
//});
|
||||
var DemoTree = dtree.render({
|
||||
elem: "#demoTree",
|
||||
width: '250px',
|
||||
method: "GET",
|
||||
async: false,
|
||||
checkbar: true,
|
||||
line: true, // 显示树线
|
||||
initLevel: 0,
|
||||
icon: "-1", // 隐藏二级图标
|
||||
scroll: "#toolbarDiv", // 绑定div元素
|
||||
url: "/SystemManage/ModuleButton/GetCloneButtonTreeJson?v=" + new Date().Format("yyyy-MM-dd hh:mm:ss"),
|
||||
});
|
||||
//监听提交
|
||||
var lock = false;
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
if (!lock) {
|
||||
var params = dtree.getCheckbarNodesParam("demoTree");
|
||||
var Ids = [];
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
Ids.push(params[i].nodeId);
|
||||
}
|
||||
if (Ids.length==0) {
|
||||
common.modalMsg("请选择按钮", 'warning');
|
||||
return false;
|
||||
}
|
||||
common.submitForm({
|
||||
url: "/SystemManage/ModuleButton/SubmitCloneButton",
|
||||
param: { moduleId: moduleId, Ids: String(Ids) },
|
||||
success: function () {
|
||||
common.parentreload("data-search-btn");
|
||||
}
|
||||
})
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" style="padding-bottom: 50px;" lay-filter="adminform">
|
||||
<div style="height: 350px;overflow: auto;" id="toolbarDiv">
|
||||
<ul id="demoTree" class="dtree" data-id="0"></ul>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
@@ -0,0 +1,116 @@
|
||||
@{
|
||||
ViewBag.Title = "Details";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
var moduleId = $.request("moduleId");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
$(function () {
|
||||
initControl();
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: "/SystemManage/ModuleButton/GetFormJson",
|
||||
dataType: "json",
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
common.setReadOnly('adminform');
|
||||
}
|
||||
});
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
function initControl() {
|
||||
$("#F_ParentId").bindSelect({
|
||||
url: "/SystemManage/ModuleButton/GetTreeSelectJson",
|
||||
param: { moduleId: moduleId },
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_FullName" name="F_FullName" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_EnCode" name="F_EnCode" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">上级</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_ParentId" name="F_ParentId" lay-verify="required">
|
||||
<option value="0">父节点</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">位置</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_Location" name="F_Location" lay-verify="required">
|
||||
<option value="">==请选择==</option>
|
||||
<option value="1">初始</option>
|
||||
<option value="2">选中</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">事件</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_JsEvent" name="F_JsEvent" lay-verify="required" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">连接</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_UrlAddress" name="F_UrlAddress" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">权限</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Authorize" name="F_Authorize" maxlength="100" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">显示顺序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" pattern="[0-9]*" id="F_SortCode" name="F_SortCode" lay-verify="required" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
@*<input id="F_Split" name="F_Split" type="checkbox" value="true" title="分开线">*@
|
||||
<input id="F_IsPublic" name="F_IsPublic" type="checkbox" value="true" title="公共">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Description" name="F_Description" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
155
WaterCloud.Web/Areas/SystemManage/Views/ModuleButton/Form.cshtml
Normal file
155
WaterCloud.Web/Areas/SystemManage/Views/ModuleButton/Form.cshtml
Normal file
@@ -0,0 +1,155 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
var moduleId = $.request("moduleId");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
$(function () {
|
||||
initControl();
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: "/SystemManage/ModuleButton/GetFormJson",
|
||||
dataType: "json",
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
}
|
||||
});
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
function initControl() {
|
||||
$("#F_ParentId").bindSelect({
|
||||
url: "/SystemManage/ModuleButton/GetTreeSelectJson",
|
||||
param: { moduleId: moduleId },
|
||||
});
|
||||
}
|
||||
//select验证
|
||||
form.verify({
|
||||
required: function (value, item) {
|
||||
var msg = "必填项不能为空";
|
||||
value = $.trim(value);
|
||||
var isEmpty = !value || value.length < 1;
|
||||
// 当前验证元素是select且为空时,将页面定位至layui渲染的select处,或自定义想定位的位置
|
||||
if (item.tagName == 'SELECT' && isEmpty) {
|
||||
$("html").animate({
|
||||
scrollTop: $(item).siblings(".layui-form-select").offset().top - 74
|
||||
}, 50);
|
||||
}
|
||||
if (isEmpty) {
|
||||
return msg;
|
||||
}
|
||||
}
|
||||
});
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
if (!data.field.F_UrlAddress && !data.field.F_Authorize) {
|
||||
common.modalMsg("请输入连接或者权限", "warning");
|
||||
return false;
|
||||
}
|
||||
var postData = data.field;
|
||||
if (!postData["F_EnabledMark"]) postData["F_EnabledMark"] = false;
|
||||
//if (!postData["F_Split"]) postData["F_Split"] = false;
|
||||
if (!postData["F_IsPublic"]) postData["F_IsPublic"] = false;
|
||||
postData["F_ModuleId"] = moduleId;
|
||||
common.submitForm({
|
||||
url: "/SystemManage/ModuleButton/SubmitForm?keyValue=" + keyValue,
|
||||
param: postData,
|
||||
success: function () {
|
||||
common.parentreload("data-search-btn");
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_FullName" name="F_FullName" maxlength="50" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_EnCode" name="F_EnCode" maxlength="50" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">上级</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_ParentId" name="F_ParentId" lay-search disabled>
|
||||
<option value="0" selected>父节点</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">位置</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_Location" name="F_Location" lay-verify="required">
|
||||
<option value="">==请选择==</option>
|
||||
<option value="1">初始</option>
|
||||
<option value="2">选中</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">事件</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_JsEvent" name="F_JsEvent" maxlength="50" lay-verify="required" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">连接</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_UrlAddress" name="F_UrlAddress" maxlength="50" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">权限</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_Authorize" name="F_Authorize" maxlength="100" class="layui-input ">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">显示顺序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" pattern="[0-9]*" id="F_SortCode" name="F_SortCode" lay-verify="required|number" oninput="if(value.length>8)value=value.slice(0,8)" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
@*<input id="F_Split" name="F_Split" type="checkbox" value="true" title="分开线">*@
|
||||
<input id="F_IsPublic" name="F_IsPublic" type="checkbox" value="true" title="公共">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Description" name="F_Description" class="layui-textarea" placeholder="请输入介绍"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn site-demo-active" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
@@ -0,0 +1,242 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'table', 'common', 'commonTable', 'optimizeSelectOption'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table,
|
||||
commonTable = layui.commonTable,
|
||||
common = layui.common;
|
||||
//加载数据
|
||||
wcLoading.close();
|
||||
//权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
var moduleId = $.request("moduleId");
|
||||
var modulename = $.request("modulename");
|
||||
if (!!modulename) {
|
||||
try {
|
||||
$('#txt_name').val(decodeURI(escape(modulename)));
|
||||
} catch (e) {
|
||||
$('#txt_name').val(decodeURI(modulename));
|
||||
}
|
||||
|
||||
}
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
id: 'currentTableId',
|
||||
url: "/SystemManage/ModuleButton/GetTreeGridJson?moduleId=" + moduleId,
|
||||
height: 'full-110',
|
||||
cols: [[
|
||||
{ type: "radio", width: 50, fixed: 'left' },
|
||||
{ field: 'F_EnCode', title: '编号', width: 150 },
|
||||
{ field: 'F_FullName', title: '名称', width: 150 },
|
||||
{
|
||||
field: 'F_Location', title: '位置', width: 60,
|
||||
templet: function (d) {
|
||||
if (d.F_Location == 1) {
|
||||
return "初始";
|
||||
} else {
|
||||
return "选中";
|
||||
}
|
||||
}
|
||||
},
|
||||
{ field: 'F_JsEvent', title: '事件', width: 80 },
|
||||
{ field: 'F_UrlAddress', title: '连接', width: 220 },
|
||||
{ field: 'F_Authorize', title: '权限', width: 150 },
|
||||
//{
|
||||
// field: 'F_Split', title: '分开', width: 60,
|
||||
// templet: function (d) {
|
||||
// if (d.F_IsMenu == true) {
|
||||
// return "<input type='checkbox' checked='' lay-skin='primary' name='true' valuer='true'>";
|
||||
// } else {
|
||||
// return "<input type='checkbox' name='false' lay-skin='primary' valuer='false'>";
|
||||
// }
|
||||
// }
|
||||
//},
|
||||
{
|
||||
field: 'F_IsPublic', title: '公共', width: 80,
|
||||
templet: function (d) {
|
||||
if (d.F_IsPublic == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>是</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>否</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', width: 80,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>有效</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>无效</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{ field: 'F_SortCode', title: '排序', width: 60 },
|
||||
{ field: 'F_Description', title: '备注', minWidth: 100 },
|
||||
{ title: '操作', width: 160, toolbar: '#currentTableBar', align: "center", fixed: 'right' }
|
||||
]]
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
curr: 1,
|
||||
where: { keyword: data.field.txt_keyword }
|
||||
});
|
||||
module = null;
|
||||
return false;
|
||||
});
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-delete", "NF-details"];//选择1条显示
|
||||
commonTable.tableRowClick("radio", "currentTableFilter", "currentTableId", oneList);
|
||||
/**
|
||||
* toolbar监听事件
|
||||
*/
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
if (obj.event === 'add') { // 监听操作
|
||||
common.modalOpen({
|
||||
title: "添加按钮",
|
||||
url: "/SystemManage/ModuleButton/Form?moduleId=" + moduleId,
|
||||
width: "500px",
|
||||
height: "600px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/ModuleButton/DeleteForm",
|
||||
param: { keyValue: data[0].F_Id },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "编辑按钮",
|
||||
url: "/SystemManage/ModuleButton/Form?moduleId=" + moduleId + "&keyValue=" + data[0].F_Id,
|
||||
width: "500px",
|
||||
height: "600px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "查看按钮",
|
||||
url: "/SystemManage/ModuleButton/Details?keyValue=" + data[0].F_Id,
|
||||
width: "500px",
|
||||
height: "600px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'clonebutton') {
|
||||
common.modalOpen({
|
||||
title: "克隆按钮",
|
||||
url: "/SystemManage/ModuleButton/CloneButton?moduleId=" + moduleId,
|
||||
width: "400px",
|
||||
height: "600px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
table.on('tool(currentTableFilter)', function (obj) {
|
||||
if (obj.event === 'delete') {
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/ModuleButton/DeleteForm",
|
||||
param: { keyValue: obj.data.F_Id },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
common.modalOpen({
|
||||
title: "编辑按钮",
|
||||
url: "/SystemManage/ModuleButton/Form?moduleId=" + moduleId + "&keyValue=" + obj.data.F_Id,
|
||||
width: "500px",
|
||||
height: "600px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
common.modalOpen({
|
||||
title: "查看按钮",
|
||||
url: "/SystemManage/ModuleButton/Details?keyValue=" + obj.data.F_Id,
|
||||
width: "500px",
|
||||
height: "600px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset" id="searchField">
|
||||
@*<legend>搜索信息</legend>*@
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">菜单名称:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_name" name="txt_name" readonly class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize="yes" class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>查看</button>
|
||||
<button id="NF-clonebutton" authorize="yes" class="layui-btn layui-btn-sm data-clonebutton-btn" lay-event="clonebutton"><i class="fa fa-paste"></i>克隆按钮</button>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="currentTableBar">
|
||||
<a id="NF-edit" authorize class="layui-btn layui-btn-xs layui-btn-warm" lay-event="edit">修改</a>
|
||||
<a id="NF-delete" authorize class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a>
|
||||
<a id="NF-details" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details">查看</a>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,69 @@
|
||||
@{
|
||||
ViewBag.Title = "CloneFields";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'dtree', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
dtree = layui.dtree,
|
||||
common = layui.common;
|
||||
var moduleId = $.request("moduleId");
|
||||
wcLoading.close();
|
||||
//$(function () {
|
||||
// $("#itemTree").treeview({
|
||||
// showcheck: true,
|
||||
// url: "/SystemManage/ModuleButton/GetCloneButtonTreeJson"
|
||||
// });
|
||||
//});
|
||||
var DemoTree = dtree.render({
|
||||
elem: "#demoTree",
|
||||
width: '250px',
|
||||
method: "GET",
|
||||
async: false,
|
||||
checkbar: true,
|
||||
line: true, // 显示树线
|
||||
initLevel: 0,
|
||||
icon: "-1", // 隐藏二级图标
|
||||
scroll: "#toolbarDiv", // 绑定div元素
|
||||
url: "/SystemManage/ModuleFields/GetCloneFieldsTreeJson?v=" + new Date().Format("yyyy-MM-dd hh:mm:ss"),
|
||||
});
|
||||
//监听提交
|
||||
var lock = false;
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
if (!lock) {
|
||||
var params = dtree.getCheckbarNodesParam("demoTree");
|
||||
var Ids = [];
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
Ids.push(params[i].nodeId);
|
||||
}
|
||||
if (Ids.length == 0) {
|
||||
common.modalMsg("请选择字段",'warning');
|
||||
return false;
|
||||
}
|
||||
common.submitForm({
|
||||
url: "/SystemManage/ModuleFields/SubmitCloneFields",
|
||||
param: { moduleId: moduleId, Ids: String(Ids) },
|
||||
success: function () {
|
||||
common.parentreload("data-search-btn");
|
||||
}
|
||||
})
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" style="padding-bottom: 50px;" lay-filter="adminform">
|
||||
<div style="height: 350px;overflow: auto;" id="toolbarDiv">
|
||||
<ul id="demoTree" class="dtree" data-id="0"></ul>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
@@ -0,0 +1,64 @@
|
||||
@{
|
||||
ViewBag.Title = "Details";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
$(function () {
|
||||
common.ajax({
|
||||
url: '/SystemManage/ModuleFields/GetFormJson',
|
||||
dataType: 'json',
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
common.setReadOnly('adminform');
|
||||
form.render();
|
||||
}
|
||||
});
|
||||
});
|
||||
wcLoading.close();
|
||||
});
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<div class="layuimini - container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_EnCode" name="F_EnCode" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_FullName" name="F_FullName" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input id="F_IsPublic" name="F_IsPublic" type="checkbox" value="true" title="公共">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Description" name="F_Description" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
var moduleId = $.request("moduleId");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
$(function () {
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: '/SystemManage/ModuleFields/GetFormJson',
|
||||
dataType: 'json',
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
}
|
||||
});
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
var postData = data.field;
|
||||
if (!postData["F_IsPublic"]) postData["F_IsPublic"] = false;
|
||||
if (!postData["F_EnabledMark"]) postData["F_EnabledMark"] = false;
|
||||
postData["F_ModuleId"] = moduleId;
|
||||
common.submitForm({
|
||||
url: '/SystemManage/ModuleFields/SubmitForm?keyValue=' + keyValue,
|
||||
param: postData,
|
||||
success: function () {
|
||||
common.parentreload('data-search-btn');
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<div class="layuimini - container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_EnCode" name="F_EnCode" maxlength="50" autocomplete="off" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_FullName" name="F_FullName" maxlength="50" autocomplete="off" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input id="F_IsPublic" name="F_IsPublic" type="checkbox" value="true" title="公共">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text layui-hide">
|
||||
<label class="layui-form-label">备注</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_Description" name="F_Description" class="layui-textarea" placeholder="请输入备注"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn site-demo-active" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -0,0 +1,213 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset" id="searchField">
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">菜单名称:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_name" name="txt_name" readonly class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize="yes" class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>查看</button>
|
||||
<button id="NF-clonebutton" authorize="yes" class="layui-btn layui-btn-sm data-clonebutton-btn" lay-event="clonebutton"><i class="fa fa-paste"></i>克隆按钮</button>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="currentTableBar">
|
||||
<a id="NF-edit" authorize class="layui-btn layui-btn-xs layui-btn-warm" lay-event="edit">修改</a>
|
||||
<a id="NF-delete" authorize class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a>
|
||||
<a id="NF-details" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details">查看</a>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'table', 'common', 'commonTable', 'optimizeSelectOption'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table,
|
||||
commonTable = layui.commonTable,
|
||||
common = layui.common;
|
||||
//加载数据
|
||||
wcLoading.close();
|
||||
//权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
var moduleId = $.request("moduleId");
|
||||
var modulename = $.request("modulename");
|
||||
if (!!modulename) {
|
||||
try {
|
||||
$('#txt_name').val(decodeURI(escape(modulename)));
|
||||
} catch (e) {
|
||||
$('#txt_name').val(decodeURI(modulename));
|
||||
}
|
||||
|
||||
}
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
id: 'currentTableId',
|
||||
url: '/SystemManage/ModuleFields/GetGridJson?moduleId=' + moduleId,
|
||||
height: 'full-110',
|
||||
cols: [[
|
||||
{ type: "radio", width: 50, fixed: 'left' },
|
||||
{ field: 'F_EnCode', title: '编号', width: 150 },
|
||||
{ field: 'F_FullName', title: '名称', width: 150 },
|
||||
{
|
||||
field: 'F_IsPublic', title: '公共', width: 80,
|
||||
templet: function (d) {
|
||||
if (d.F_IsPublic == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>是</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>否</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'F_EnabledMark', title: '状态', width: 80,
|
||||
templet: function (d) {
|
||||
if (d.F_EnabledMark == true) {
|
||||
return "<span class='layui-btn layui-btn-normal layui-btn-xs'>有效</span>";
|
||||
} else {
|
||||
return "<span class='layui-btn layui-btn-warm layui-btn-xs'>无效</span>";
|
||||
}
|
||||
}
|
||||
},
|
||||
{ field: 'F_Description', title: '备注', minWidth: 120 },
|
||||
{ title: '操作', width: 160, toolbar: '#currentTableBar', align: "center", fixed: 'right' }
|
||||
]]
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
curr: 1,
|
||||
where: { keyword: data.field.txt_keyword }
|
||||
});
|
||||
return false;
|
||||
});
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-delete", "NF-details"];//选择1条显示
|
||||
commonTable.tableRowClick("radio", "currentTableFilter", "currentTableId", oneList);
|
||||
//toolbar监听事件
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
if (obj.event === 'add') { // 监听添加操作
|
||||
common.modalOpen({
|
||||
title: "添加界面",
|
||||
url: "/SystemManage/ModuleFields/Form?moduleId=" + moduleId,
|
||||
width: "500px",
|
||||
height: "400px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/ModuleFields/DeleteForm",
|
||||
param: { keyValue: data[0].F_Id },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "编辑界面",
|
||||
url: "/SystemManage/ModuleFields/Form?moduleId=" + moduleId + "&keyValue=" + data[0].F_Id,
|
||||
width: "500px",
|
||||
height: "400px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "查看界面",
|
||||
url: "/SystemManage/ModuleFields/Details?keyValue=" + data[0].F_Id,
|
||||
width: "500px",
|
||||
height: "400px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'clonefields') {
|
||||
common.modalOpen({
|
||||
title: "克隆按钮",
|
||||
url: "/SystemManage/ModuleFields/CloneFields?moduleId=" + moduleId,
|
||||
width: "400px",
|
||||
height: "600px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
table.on('tool(currentTableFilter)', function (obj) {
|
||||
if (obj.event === 'delete') {
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/ModuleFields/DeleteForm",
|
||||
param: { keyValue: obj.data.F_Id },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
common.modalOpen({
|
||||
title: "编辑按钮",
|
||||
url: "/SystemManage/ModuleFields/Form?moduleId=" + moduleId + "&keyValue=" + obj.data.F_Id,
|
||||
width: "500px",
|
||||
height: "400px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
common.modalOpen({
|
||||
title: "查看按钮",
|
||||
url: "/SystemManage/ModuleFields/Details?keyValue=" + obj.data.F_Id,
|
||||
width: "500px",
|
||||
height: "400px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,91 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['transfer', 'layer', 'util','common'], function () {
|
||||
var $ = layui.$
|
||||
, transfer = layui.transfer
|
||||
, layer = layui.layer
|
||||
, common = layui.common
|
||||
, util = layui.util;
|
||||
//数据
|
||||
var jsondata = [];
|
||||
var jsonvalue = [];
|
||||
wcLoading.close();
|
||||
$(function () {
|
||||
common.ajax({
|
||||
url: "/SystemManage/QuickModule/GetTransferJson",
|
||||
dataType: "json",
|
||||
async: true,
|
||||
success: function (data) {
|
||||
jsondata = data;
|
||||
for (var i = 0; i < jsondata.length; i++) {
|
||||
if (jsondata[i].F_EnabledMark) {
|
||||
jsonvalue.push(jsondata[i].F_Id);
|
||||
}
|
||||
}
|
||||
//基础效果
|
||||
transfer.render({
|
||||
elem: '#demotransfer'
|
||||
, title: ['模块菜单', '快捷入口']
|
||||
, width: '35%'
|
||||
, showSearch: true
|
||||
, parseData: function (res) {
|
||||
return {
|
||||
"value": res.F_Id //数据值
|
||||
, "title": res.F_FullName //数据标题
|
||||
}
|
||||
}
|
||||
, data: jsondata,
|
||||
value: jsonvalue,
|
||||
id: 'transferval', //定义唯一索引
|
||||
onchange: function (obj, index) {
|
||||
var getData = transfer.getData('transferval'); //获取右侧数据
|
||||
if (getData.length >= 8 && index == 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
//批量办法定事件
|
||||
var lock = false;
|
||||
util.event('lay-demoTransferActive', {
|
||||
saveChange: function (othis) {
|
||||
if (!lock) {
|
||||
var getData = transfer.getData('transferval'); //获取右侧数据
|
||||
var json = [];
|
||||
if (getData.length > 8) {
|
||||
common.modalAlert("快捷入口最多支持8个选项!");
|
||||
return false;
|
||||
}
|
||||
for (var i = 0; i < getData.length; i++) {
|
||||
json.push(getData[i].value);
|
||||
}
|
||||
common.submitForm({
|
||||
url: "/SystemManage/QuickModule/SubmitForm",
|
||||
param: { permissionIds: String(json) },
|
||||
close: false,
|
||||
success: function () {
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-btn-container text-right">
|
||||
<button type="button" class="layui-btn" lay-demotransferactive="saveChange"> 保 存</button>
|
||||
</div>
|
||||
|
||||
<div id="demotransfer" class="demo-transfer"></div>
|
||||
</div>
|
||||
</div>
|
||||
100
WaterCloud.Web/Areas/SystemManage/Views/Template/Details.cshtml
Normal file
100
WaterCloud.Web/Areas/SystemManage/Views/Template/Details.cshtml
Normal file
@@ -0,0 +1,100 @@
|
||||
@{
|
||||
ViewBag.Title = "Details";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
|
||||
$(function () {
|
||||
initControl();
|
||||
common.ajax({
|
||||
url: '/SystemManage/Template/GetFormJson',
|
||||
dataType: 'json',
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
common.setReadOnly('adminform');
|
||||
form.render();
|
||||
}
|
||||
});
|
||||
});
|
||||
wcLoading.close();
|
||||
|
||||
function initControl() {
|
||||
//此处需修改
|
||||
$("#F_TemplateDBProvider").bindSelect({
|
||||
url: "/SystemSecurity/OpenJobs/GetDBListJson",
|
||||
id: ""
|
||||
});
|
||||
$("#F_PrintType").bindSelect({
|
||||
data: top.clients.dataItems["PrintType"],
|
||||
id: ""
|
||||
});
|
||||
form.render();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">模板名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_TemplateName" name="F_TemplateName" autocomplete="off" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">模板文件</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_TemplateFile" name="F_TemplateFile" autocomplete="off" lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">打印方式</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_PrintType" name="F_PrintType">
|
||||
<option value="">==请选择==</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">模板执行库</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_TemplateDBProvider" name="F_TemplateDBProvider">
|
||||
<option value="">==请选择==</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">模板执行sql</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_TemplateSql" name="F_TemplateSql" value="" lay-verify="required" autocomplete="off" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">模板执行参数</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_TemplateSqlParm" name="F_TemplateSqlParm" value="" autocomplete="off" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
150
WaterCloud.Web/Areas/SystemManage/Views/Template/Form.cshtml
Normal file
150
WaterCloud.Web/Areas/SystemManage/Views/Template/Form.cshtml
Normal file
@@ -0,0 +1,150 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'upload', 'form', 'laydate', 'common', 'optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
upload = layui.upload,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
//普通图片上传
|
||||
var uploadInst = upload.render({
|
||||
elem: '#test1'
|
||||
, url: '/FileManage/Uploadfile/Upload' //改成您自己的上传接口
|
||||
, size: 1024
|
||||
, accept: 'file'
|
||||
, data: { filetype: 3, fileby: 'template' }
|
||||
, auto: true//不自动提交
|
||||
, done: function (res) {
|
||||
//如果上传失败
|
||||
if (res.code > 0) {
|
||||
//失败状态,并实现重传
|
||||
var demoText = $('#demoText');
|
||||
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||||
demoText.find('.demo-reload').on('click', function () {
|
||||
uploadInst.upload();
|
||||
});
|
||||
common.modalMsg(res.msg, "warning");
|
||||
return false;
|
||||
}
|
||||
$('#F_TemplateFile').val(res.data[0].src);
|
||||
}
|
||||
, error: function () {
|
||||
//演示失败状态,并实现重传
|
||||
var demoText = $('#demoText');
|
||||
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||||
demoText.find('.demo-reload').on('click', function () {
|
||||
uploadInst.upload();
|
||||
});
|
||||
}
|
||||
});
|
||||
$(function () {
|
||||
initControl();
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: '/SystemManage/Template/GetFormJson',
|
||||
dataType: 'json',
|
||||
data: { keyValue: keyValue },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
common.val('adminform', data);
|
||||
}
|
||||
});
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
wcLoading.close();
|
||||
|
||||
function initControl() {
|
||||
//此处需修改
|
||||
$("#F_TemplateDBProvider").bindSelect({
|
||||
url: "/SystemSecurity/OpenJobs/GetDBListJson",
|
||||
id: ""
|
||||
});
|
||||
$("#F_PrintType").bindSelect({
|
||||
data: top.clients.dataItems["PrintType"],
|
||||
id: ""
|
||||
});
|
||||
}
|
||||
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
var postData = data.field;
|
||||
if (!postData["F_EnabledMark"]) postData["F_EnabledMark"] = false;
|
||||
common.submitForm({
|
||||
url: '/SystemManage/Template/SubmitForm?keyValue=' + keyValue,
|
||||
param: postData,
|
||||
success: function () {
|
||||
common.parentreload('data-search-btn');
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form" lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">模板名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="F_TemplateName" name="F_TemplateName" autocomplete="off" lay-verify="required" placeholder="请输入模板名称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">模板文件</label>
|
||||
<div class="layui-input-block" style="padding-right: 70px;">
|
||||
<input type="text" id="F_TemplateFile" name="F_TemplateFile" readonly disabled class="layui-input">
|
||||
<button class="layui-btn" style="position: absolute;top: 0;right: 6px;cursor: pointer;" id="test1">上传</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">打印方式</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_PrintType" name="F_PrintType" lay-verify="required">
|
||||
<option value="">==请选择==</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">模板执行库</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_TemplateDBProvider" name="F_TemplateDBProvider">
|
||||
<option value="">==请选择==</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">模板执行sql</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_TemplateSql" name="F_TemplateSql" value="" autocomplete="off" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">模板执行参数</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_TemplateSqlParm" name="F_TemplateSqlParm" value="" autocomplete="off" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">选项</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="F_EnabledMark" id="F_EnabledMark" checked="" value="true" title="有效">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn site-demo-active" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
181
WaterCloud.Web/Areas/SystemManage/Views/Template/Index.cshtml
Normal file
181
WaterCloud.Web/Areas/SystemManage/Views/Template/Index.cshtml
Normal file
@@ -0,0 +1,181 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset layui-hide" id="searchField">
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" authorize class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新增</button>
|
||||
<button id="NF-edit" name="NF-edit" authorize class="layui-btn layui-btn-sm layui-btn-warm layui-hide" lay-event="edit"><i class="layui-icon"></i>修改</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
<button id="NF-details" name="NF-details" authorize class="layui-btn layui-btn-sm layui-btn-normal layui-hide" lay-event="details"> <i class="layui-icon"></i>查看</button>
|
||||
</div>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
<script type="text/html" id="currentTableBar">
|
||||
<a id="NF-edit" authorize class="layui-btn layui-btn-xs" lay-event="edit">修改</a>
|
||||
<a id="NF-delete" authorize class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a>
|
||||
<a id="NF-details" authorize class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details">查看</a>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'table', 'commonTable', 'common', 'optimizeSelectOption'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table, commonTable = layui.commonTable
|
||||
common = layui.common;
|
||||
//权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
id: 'currentTableId',
|
||||
url: '/SystemManage/Template/GetGridJson',
|
||||
cols: [[
|
||||
//此处需修改
|
||||
{ type: "checkbox", width: 50, fixed: 'left' },
|
||||
{ field: 'F_TemplateName', title: '模板名称', minWidth: 150, sort: true, filter: true },
|
||||
{ field: 'F_TemplateFile', title: '模板文件', minWidth: 150, sort: true, filter: true },
|
||||
{ field: 'F_TemplateDBProvider', title: '模板执行库', width: 150, sort: true, filter: true },
|
||||
{ field: 'F_TemplateSql', title: '模板执行sql', width: 150, sort: true, filter: true },
|
||||
{ field: 'F_TemplateSqlParm', title: '模板执行参数', width: 150, sort: true, filter: true },
|
||||
{ field: 'F_PrintType', title: '打印方式', width: 120, sort: true, filter: true, templet: function (d) { return top.clients.dataItems["PrintType"][d.F_PrintType] == undefined ? "" : top.clients.dataItems["PrintType"][d.F_PrintType]; } },
|
||||
{ field: 'F_EnabledMark', title: '状态', width: 100, sort: true, filter: true, templet: function (d) { if (d.F_EnabledMark == true) { return "<span class='layui-btn layui-btn-normal layui-btn-xs'>有效</span>"; } else { return "<span class='layui-btn layui-btn-warm layui-btn-xs'>无效</span>"; } } },
|
||||
{ title: '操作', width: 160, toolbar: '#currentTableBar', align: "center", fixed: 'right' }
|
||||
]]
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
curr: 1,
|
||||
where: { keyword: data.field.txt_keyword }
|
||||
});
|
||||
return false;
|
||||
});
|
||||
wcLoading.close();
|
||||
//行点击事件监听,控制按钮显示
|
||||
var oneList = ["NF-edit", "NF-details"];//选择1条显示
|
||||
var morerList = ["NF-delete"];//选中1条以上显示
|
||||
commonTable.tableRowClick("checkbox", "currentTableFilter", "currentTableId", oneList, morerList);
|
||||
//toolbar监听事件
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
var id = data.length > 0 ? data[0].F_Id : null;
|
||||
if (obj.event === 'add') { // 监听添加操作
|
||||
common.modalOpen({
|
||||
title: "添加界面",
|
||||
url: "/SystemManage/Template/Form",
|
||||
width: "650px",
|
||||
height: "550px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
var ids = [];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
ids.push(data[i].F_Id);
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/Template/DeleteForm",
|
||||
param: { keyValue: ids.join(',') },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "编辑界面",
|
||||
url: "/SystemManage/Template/Form?keyValue=" + id,
|
||||
width: "650px",
|
||||
height: "550px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
common.modalOpen({
|
||||
title: "查看界面",
|
||||
url: "/SystemManage/Template/Details?keyValue=" + id,
|
||||
width: "650px",
|
||||
height: "550px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
//toolrow监听事件
|
||||
table.on('tool(currentTableFilter)', function (obj) {
|
||||
var id = obj.data.F_Id;
|
||||
if (obj.event === 'delete') {
|
||||
common.deleteForm({
|
||||
url: "/SystemManage/Template/DeleteForm",
|
||||
param: { keyValue: obj.data.F_Id },
|
||||
success: function () {
|
||||
obj.del();
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'edit') {
|
||||
common.modalOpen({
|
||||
title: "编辑界面",
|
||||
url: "/SystemManage/Template/Form?keyValue=" + id,
|
||||
width: "650px",
|
||||
height: "550px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'details') {
|
||||
common.modalOpen({
|
||||
title: "查看界面",
|
||||
url: "/SystemManage/Template/Details?keyValue=" + id,
|
||||
width: "650px",
|
||||
height: "550px",
|
||||
btn: []
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user