|
|
<#import "../master.ftl" as master><@master.layout><style>#fm label { width: 150px;}.page-header { margin: 20px 0 -10px;}.input-div { width: 100%;}</style>
<div class="page-header"> <h3>系统参数维护</h3></div>
<!-- 页面表单 --><table id="dg" class="easyui-datagrid" style="width:100%; height:400px;display: none;" data-options="pagination: true, pageSize: 20, singleSelect:true, showFooter: true, fitColumns:true, onSelect:onTableRowSelect, url:'/system/system_info/getList', method:'POST', toolbar:'#tb'"> <thead> <tr> <th data-options="field:'site',width:100">Site</th> <th data-options="field:'type',width:200">配置类型 (Type)</th> <th data-options="field:'secondType',width:150">二级类型 (Second Type)</th> <th data-options="field:'baseData',width:200">配置参数 (Base Data)</th> <th data-options="field:'baseDesc',width:250">配置描述 (Base Desc)</th> <th data-options="field:'status',width:80">状态 (Status)</th> <th data-options="field:'sortNo',width:80">排序号</th> <th data-options="field:'remark',width:200">备注 (Remark)</th> <th data-options="field:'dataType',width:100">数据类型</th> </tr> </thead></table>
<!-- 页面的查询框 --><div id="tb" style="padding:10px 5px;display: none;"> <div> 配置类型(Type): <input class="easyui-textbox" id="searchType" style="width:150px"> 二级类型(Second Type): <input class="easyui-textbox" id="searchSecondType" style="width:150px"> <a href="#nowhere" id="queryLink" class="easyui-linkbutton" iconCls="icon-search">Query</a> <a href="javascript:void(0)" id="tbAdd" class="easyui-linkbutton" iconCls="icon-add" onclick="newSystemInfoModal()">New</a> <a href="javascript:void(0)" id="tbEdit" data-options="disabled:true" class="easyui-linkbutton" iconCls="icon-edit" onclick="editSystemInfoModal()">Edit</a> </div></div>
<!-- 新增和修改的modal --><div id="dlg" class="easyui-dialog" style="width:500px; display: none;" closed="true" buttons="#dlg-buttons"> <form id="fm" method="post" novalidate style="margin:0;padding:20px 20px;"> <div style="margin-bottom:10px; display: none;" > <input id="addId" name="id" class="easyui-textbox" style="display: none;" value="0"> </div> <div style="width: 100%;"> <div class="input-div" style="margin-bottom:10px"> <input id="site" name="site" class="easyui-textbox" label="Site:" style="width:98%" value="ALL"> </div> <div class="input-div" style="margin-bottom:10px"> <input id="type" name="type" class="easyui-textbox" required="true" label="配置类型 (Type):" style="width:98%"> </div> <div class="input-div" style="margin-bottom:10px"> <input id="secondType" name="secondType" class="easyui-textbox" required="true" label="二级类型:" style="width:98%"> </div> <div class="input-div" style="margin-bottom:10px; line-height: 30px;"> <label style="display:inline-block; width:150px;">配置参数 (Base Data):</label> <!-- 移除 name="baseData" 属性,防止表单自动收集并和 onSubmit 的传参冲突 --> <input id="baseDataCheckbox" type="checkbox" value="Y" style="vertical-align: middle; margin-top: -2px; width: 18px; height: 18px;"> </div> <div class="input-div" style="margin-bottom:10px"> <input id="baseDesc" name="baseDesc" class="easyui-textbox" label="配置描述 (Base Desc):" style="width:98%"> </div> <div class="input-div" style="margin-bottom:10px"> <input id="remark" name="remark" class="easyui-textbox" label="备注 (Remark):" style="width:98%"> </div> </div> </form></div><div id="dlg-buttons" style="display: none; text-align: center;width: 500px;"> <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-ok" onclick="saveSystemInfo()" style="width:90px">Save</a> <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg').dialog('close')" style="width:90px">取消</a></div>
<script> //临时参数 var currentRow;//当前行 //控制页面的高度 $(window).resize(function () { $("#dg").datagrid({"height": $(window).height() - $(".datagrid").offset().top - 30}); });
//初始化页面的高度$(function () { $(window).resize();});
//查询功能 $("#queryLink").click(function(){ $('#dg').datagrid({ queryParams: { type: $("#searchType").val(), secondType: $("#searchSecondType").val() // 使用 secondType 查询 } }); });
//处理菜单的功能 function onTableRowSelect(index, row) { let noRowSelect = !!!row; $("#tbEdit").linkbutton({"disabled": noRowSelect}); }
var url; function newSystemInfoModal(){ $('#dlg').dialog('open').dialog('center').dialog('setTitle','新增系统参数'); $('#fm').form('clear'); url = '/system/system_info/save'; $('#addId').textbox("setValue", 0); $('#site').textbox("setValue", "ALL"); $('#baseDataCheckbox').prop('checked', false);
// 新增时允许编辑 type $('#type').textbox('textbox').removeAttr('readonly'); $('#secondType').textbox('textbox').removeAttr('readonly'); $('#type').textbox('textbox').css('background-color', '#fff'); $('#secondType').textbox('textbox').css('background-color', '#fff'); }
//保存信息 function saveSystemInfo(){ let type = $.trim($("#type").textbox('getValue')); if(null == type || '' == type){ $.messager.alert('error', '请填写配置类型 (Type)!', 'error'); return false; } let baseData = ''; if ($('#baseDataCheckbox').prop('checked')) { baseData = 'Y'; } else { baseData = 'N'; }
//判断是否存在内容 $('#fm').form('submit', { url: url, onSubmit: function(param){ param.baseData = baseData; // 覆盖复选框可能带来的传值问题 }, success: function(result){ var result = eval("("+result+")"); if (result.success){ $('#dlg').dialog('close'); // close the dialog $('#dg').datagrid('reload'); } else { $.messager.alert('error',result.msg, 'error'); } } }); }
//编辑输入框 function editSystemInfoModal(){ var row = $('#dg').datagrid('getSelected'); if (row){ $('#dlg').dialog('open').dialog('center').dialog('setTitle','修改系统参数'); $('#fm').form('load', row); // 根据数据回显复选框 if (row.baseData === 'Y') { $('#baseDataCheckbox').prop('checked', true); } else { $('#baseDataCheckbox').prop('checked', false); } url = '/system/system_info/save'; $('#addId').textbox("setValue", row.id); // 修改时 type 不可编辑 $('#type').textbox('textbox').attr('readonly','readonly'); $('#secondType').textbox('textbox').attr('readonly','readonly'); $('#type').textbox('textbox').css('background-color', '#f0f0f0'); // 给出不可编辑的视觉反馈 $('#secondType').textbox('textbox').css('background-color', '#f0f0f0'); // 给出不可编辑的视觉反馈 }else{ $.messager.alert('Warning','请选择一行!', 'warning'); } }
</script>
</@master.layout>
|