You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

195 lines
7.9 KiB

3 days ago
  1. <#import "../master.ftl" as master>
  2. <@master.layout>
  3. <style>
  4. #fm label {
  5. width: 150px;
  6. }
  7. .page-header {
  8. margin: 20px 0 -10px;
  9. }
  10. .input-div {
  11. width: 100%;
  12. }
  13. </style>
  14. <div class="page-header">
  15. <h3>系统参数维护</h3>
  16. </div>
  17. <!-- 页面表单 -->
  18. <table id="dg" class="easyui-datagrid" style="width:100%; height:400px;display: none;"
  19. data-options="pagination: true, pageSize: 20, singleSelect:true, showFooter: true, fitColumns:true,
  20. onSelect:onTableRowSelect, url:'/system/system_info/getList', method:'POST',
  21. toolbar:'#tb'">
  22. <thead>
  23. <tr>
  24. <th data-options="field:'site',width:100">Site</th>
  25. <th data-options="field:'type',width:200">配置类型 (Type)</th>
  26. <th data-options="field:'secondType',width:150">二级类型 (Second Type)</th>
  27. <th data-options="field:'baseData',width:200">配置参数 (Base Data)</th>
  28. <th data-options="field:'baseDesc',width:250">配置描述 (Base Desc)</th>
  29. <th data-options="field:'status',width:80">状态 (Status)</th>
  30. <th data-options="field:'sortNo',width:80">排序号</th>
  31. <th data-options="field:'remark',width:200">备注 (Remark)</th>
  32. <th data-options="field:'dataType',width:100">数据类型</th>
  33. </tr>
  34. </thead>
  35. </table>
  36. <!-- 页面的查询框 -->
  37. <div id="tb" style="padding:10px 5px;display: none;">
  38. <div>
  39. 配置类型(Type): <input class="easyui-textbox" id="searchType" style="width:150px">
  40. 二级类型(Second Type): <input class="easyui-textbox" id="searchSecondType" style="width:150px">
  41. <a href="#nowhere" id="queryLink" class="easyui-linkbutton" iconCls="icon-search">Query</a>
  42. &nbsp;&nbsp;&nbsp;
  43. <a href="javascript:void(0)" id="tbAdd" class="easyui-linkbutton" iconCls="icon-add" onclick="newSystemInfoModal()">New</a>
  44. <a href="javascript:void(0)" id="tbEdit" data-options="disabled:true" class="easyui-linkbutton" iconCls="icon-edit" onclick="editSystemInfoModal()">Edit</a>
  45. </div>
  46. </div>
  47. <!-- 新增和修改的modal -->
  48. <div id="dlg" class="easyui-dialog" style="width:500px; display: none;"
  49. closed="true" buttons="#dlg-buttons">
  50. <form id="fm" method="post" novalidate style="margin:0;padding:20px 20px;">
  51. <div style="margin-bottom:10px; display: none;" >
  52. <input id="addId" name="id" class="easyui-textbox" style="display: none;" value="0">
  53. </div>
  54. <div style="width: 100%;">
  55. <div class="input-div" style="margin-bottom:10px">
  56. <input id="site" name="site" class="easyui-textbox" label="Site:" style="width:98%" value="ALL">
  57. </div>
  58. <div class="input-div" style="margin-bottom:10px">
  59. <input id="type" name="type" class="easyui-textbox" required="true" label="配置类型 (Type):" style="width:98%">
  60. </div>
  61. <div class="input-div" style="margin-bottom:10px">
  62. <input id="secondType" name="secondType" class="easyui-textbox" required="true" label="二级类型:" style="width:98%">
  63. </div>
  64. <div class="input-div" style="margin-bottom:10px; line-height: 30px;">
  65. <label style="display:inline-block; width:150px;">配置参数 (Base Data):</label>
  66. <!-- 移除 name="baseData" 属性,防止表单自动收集并和 onSubmit 的传参冲突 -->
  67. <input id="baseDataCheckbox" type="checkbox" value="Y" style="vertical-align: middle; margin-top: -2px; width: 18px; height: 18px;">
  68. </div>
  69. <div class="input-div" style="margin-bottom:10px">
  70. <input id="baseDesc" name="baseDesc" class="easyui-textbox" label="配置描述 (Base Desc):" style="width:98%">
  71. </div>
  72. <div class="input-div" style="margin-bottom:10px">
  73. <input id="remark" name="remark" class="easyui-textbox" label="备注 (Remark):" style="width:98%">
  74. </div>
  75. </div>
  76. </form>
  77. </div>
  78. <div id="dlg-buttons" style="display: none; text-align: center;width: 500px;">
  79. <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-ok" onclick="saveSystemInfo()" style="width:90px">Save</a>
  80. <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg').dialog('close')" style="width:90px">取消</a>
  81. </div>
  82. <script>
  83. //临时参数
  84. var currentRow;//当前行
  85. //控制页面的高度
  86. $(window).resize(function () {
  87. $("#dg").datagrid({"height": $(window).height() - $(".datagrid").offset().top - 30});
  88. });
  89. //初始化页面的高度
  90. $(function () {
  91. $(window).resize();
  92. });
  93. //查询功能
  94. $("#queryLink").click(function(){
  95. $('#dg').datagrid({
  96. queryParams: {
  97. type: $("#searchType").val(),
  98. secondType: $("#searchSecondType").val() // 使用 secondType 查询
  99. }
  100. });
  101. });
  102. //处理菜单的功能
  103. function onTableRowSelect(index, row) {
  104. let noRowSelect = !!!row;
  105. $("#tbEdit").linkbutton({"disabled": noRowSelect});
  106. }
  107. var url;
  108. function newSystemInfoModal(){
  109. $('#dlg').dialog('open').dialog('center').dialog('setTitle','新增系统参数');
  110. $('#fm').form('clear');
  111. url = '/system/system_info/save';
  112. $('#addId').textbox("setValue", 0);
  113. $('#site').textbox("setValue", "ALL");
  114. $('#baseDataCheckbox').prop('checked', false);
  115. // 新增时允许编辑 type
  116. $('#type').textbox('textbox').removeAttr('readonly');
  117. $('#secondType').textbox('textbox').removeAttr('readonly');
  118. $('#type').textbox('textbox').css('background-color', '#fff');
  119. $('#secondType').textbox('textbox').css('background-color', '#fff');
  120. }
  121. //保存信息
  122. function saveSystemInfo(){
  123. let type = $.trim($("#type").textbox('getValue'));
  124. if(null == type || '' == type){
  125. $.messager.alert('error', '请填写配置类型 (Type)!', 'error');
  126. return false;
  127. }
  128. let baseData = '';
  129. if ($('#baseDataCheckbox').prop('checked')) {
  130. baseData = 'Y';
  131. } else {
  132. baseData = 'N';
  133. }
  134. //判断是否存在内容
  135. $('#fm').form('submit', {
  136. url: url,
  137. onSubmit: function(param){
  138. param.baseData = baseData; // 覆盖复选框可能带来的传值问题
  139. },
  140. success: function(result){
  141. var result = eval("("+result+")");
  142. if (result.success){
  143. $('#dlg').dialog('close'); // close the dialog
  144. $('#dg').datagrid('reload');
  145. } else {
  146. $.messager.alert('error',result.msg, 'error');
  147. }
  148. }
  149. });
  150. }
  151. //编辑输入框
  152. function editSystemInfoModal(){
  153. var row = $('#dg').datagrid('getSelected');
  154. if (row){
  155. $('#dlg').dialog('open').dialog('center').dialog('setTitle','修改系统参数');
  156. $('#fm').form('load', row);
  157. // 根据数据回显复选框
  158. if (row.baseData === 'Y') {
  159. $('#baseDataCheckbox').prop('checked', true);
  160. } else {
  161. $('#baseDataCheckbox').prop('checked', false);
  162. }
  163. url = '/system/system_info/save';
  164. $('#addId').textbox("setValue", row.id);
  165. // 修改时 type 不可编辑
  166. $('#type').textbox('textbox').attr('readonly','readonly');
  167. $('#secondType').textbox('textbox').attr('readonly','readonly');
  168. $('#type').textbox('textbox').css('background-color', '#f0f0f0'); // 给出不可编辑的视觉反馈
  169. $('#secondType').textbox('textbox').css('background-color', '#f0f0f0'); // 给出不可编辑的视觉反馈
  170. }else{
  171. $.messager.alert('Warning','请选择一行!', 'warning');
  172. }
  173. }
  174. </script>
  175. </@master.layout>