Files
HTCloud/HT.Cloud.Web/Areas/SystemManage/Views/Coderule/Form.cshtml
2023-03-03 16:07:50 +08:00

364 lines
17 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

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

@{
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">&#xe642;</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">&#xe640;</i>删除</button>
</div>
</script>
</div>
</div>
</div>
</body>