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.

278 lines
12 KiB

3 days ago
  1. <#import "../master.ftl" as master>
  2. <@master.layout>
  3. <style>
  4. #fm label {
  5. width: 100px;
  6. }
  7. </style>
  8. <div class="page-header">
  9. <h3>Customer Info</h3>
  10. </div>
  11. <table id="dg" class="easyui-datagrid" style="width:100%;height:460px;display: none;"
  12. data-options="pagination: true, showFooter: true, singleSelect:true, fitColumns:true , url:'/base/searchEmailConfig',method:'get',pageSize:20,toolbar:'#tb'">
  13. <thead>
  14. <tr>
  15. <th data-options="field:'customerNo',width:100,editor:'textbox'">Customer No</th>
  16. <th data-options="field:'customerName',width:100,editor:'textbox'">Customer Name.</th>
  17. <th data-options="field:'ftpPath',width:100,editor:'textbox'">FTP Path</th>
  18. <th data-options="field:'emailFlag',width:100,editor:'textbox'">Email Send</th>
  19. <th data-options="field:'emailTitle',width:100,editor:'textbox'">Email Title</th>
  20. <th data-options="field:'emailAddress',width:100,editor:'textbox'">Email Address of Receiver</th>
  21. <th data-options="field:'emailCcAddress',width:100,editor:'textbox'">Email Address of CC</th>
  22. <th data-options="field:'id',width:50,align:'center',formatter:formatAction">Actions</th>
  23. </tr>
  24. </thead>
  25. </table>
  26. <div id="tb" style="padding:10px 5px;display: none;">
  27. <div>
  28. <a href="#nowhere" id="queryLink" class="easyui-linkbutton" iconCls="icon-search">Search</a>
  29. &nbsp;&nbsp;&nbsp;
  30. <a href="javascript:void(0)" id="tbAdd" class="easyui-linkbutton" iconCls="icon-add" onclick="newBase()">New Customer</a>
  31. </div>
  32. </div>
  33. <div id="dlg" class="easyui-dialog" style="width:500px;display: none;"
  34. closed="true" buttons="#dlg-buttons">
  35. <form id="fm" method="post" novalidate style="margin:0;padding:20px 20px">
  36. <div style="margin-bottom:10px">
  37. <input id="customerNo" name="baseDesc" class="easyui-textbox" required="true"
  38. label="Customer No:" style="width:100%">
  39. </div>
  40. <div style="margin-bottom:10px">
  41. <input id="customerName" name="baseData" class="easyui-textbox" required="true"
  42. label="Customer Name:" style="width:100%">
  43. </div>
  44. <div style="margin-bottom:10px">
  45. <input id="ftpPath" name="baseData" class="easyui-textbox" required="true"
  46. label="FTP Path:" style="width:100%">
  47. </div>
  48. <div style="margin-bottom:10px">
  49. <input id="emailFlag" name="baseData" class="easyui-textbox"
  50. label="Email Send:" style="width:100%">
  51. </div>
  52. <div style="margin-bottom:10px">
  53. <input id="emailTitle" name="baseData" class="easyui-textbox"
  54. label="Email Title:" style="width:100%">
  55. </div>
  56. <div style="margin-bottom:10px">
  57. <input id="emailAddress" name="baseData" class="easyui-textbox"
  58. label="Email Address of Receiver:" style="width:100%">
  59. </div>
  60. <div style="margin-bottom:10px">
  61. <input id="emailCcAddress" name="baseData" class="easyui-textbox"
  62. label="Email Address of CC:" style="width:100%">
  63. </div>
  64. </form>
  65. </div>
  66. <div id="dlg-buttons" style="display: none;">
  67. <a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="saveBase()" style="width:90px">Save</a>
  68. <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg').dialog('close')" style="width:90px">Cancel</a>
  69. </div>
  70. <div id="dlgU" class="easyui-dialog" style="width:500px;display: none;"
  71. closed="true" buttons="#dlgU-buttons">
  72. <form id="fmU" method="post" novalidate style="margin:0;padding:20px 20px">
  73. <div style="margin-bottom:10px">
  74. <input id="customerNoU" name="baseDesc" class="easyui-textbox" required="true" disabled
  75. label="Customer No:" style="width:100%">
  76. </div>
  77. <div style="margin-bottom:10px">
  78. <input id="customerNameU" name="baseData" class="easyui-textbox" required="true"
  79. label="Customer Name:" style="width:100%">
  80. </div>
  81. <div style="margin-bottom:10px">
  82. <input id="ftpPathU" name="baseData" class="easyui-textbox" required="true"
  83. label="FTP Path:" style="width:100%">
  84. </div>
  85. <div style="margin-bottom:10px">
  86. <input id="emailFlagU" name="baseData" class="easyui-textbox"
  87. label="Email Send:" style="width:100%">
  88. </div>
  89. <div style="margin-bottom:10px">
  90. <input id="emailTitleU" name="baseData" class="easyui-textbox"
  91. label="Email Title:" style="width:100%">
  92. </div>
  93. <div style="margin-bottom:10px">
  94. <input id="emailAddressU" name="baseData" class="easyui-textbox"
  95. label="Email Address of Receiver:" style="width:100%">
  96. </div>
  97. <div style="margin-bottom:10px">
  98. <input id="emailCcAddressU" name="baseData" class="easyui-textbox"
  99. label="Email Address of CC:" style="width:100%">
  100. </div>
  101. </form>
  102. </div>
  103. <div id="dlgU-buttons" style="display: none;">
  104. <a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="updateBaseConfigDo()" style="width:90px">Save</a>
  105. <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlgU').dialog('close')" style="width:90px">Cancel</a>
  106. </div>
  107. <script>
  108. var currentRow;
  109. function formatAction(value, row){
  110. var action = "";
  111. action+= "<a href='javascript:updateBaseConfig()'>Edit</a>"
  112. <#if currentUser.isAdmin >
  113. action+= "&nbsp;|&nbsp;<a href='javascript:delBaseConfig(\"" + row.customerNo + "\")'>Delete</a>"
  114. </#if>
  115. return action;
  116. }
  117. function delBaseConfig(customerNo){
  118. $.messager.confirm('Confirm','Are you sure to delete this record ?',function(r){
  119. if (r){
  120. $.post('/base/delBaseConfig',{'customerNo': customerNo},function(result){
  121. if (result.success){
  122. $('#dg').datagrid('reload'); // reload the user data
  123. $.messager.alert('info',result.msg, 'info');
  124. } else {
  125. $.messager.alert('error',result.msg, 'error');
  126. }
  127. },'json');
  128. }
  129. });
  130. }
  131. $(window).resize(function () {
  132. $("#dg").datagrid({"height": $(window).height() - $(".datagrid").offset().top - 20});
  133. });
  134. $(function () {
  135. $(window).resize();
  136. });
  137. function updateBaseConfig(){
  138. let row=$('#dg').datagrid('getSelected');
  139. $('#dlgU').dialog('open').dialog('center').dialog('setTitle','Edit');
  140. $('#dlgU').form('clear');
  141. $('#customerNoU').textbox("setValue", row.customerNo);
  142. $('#customerNameU').textbox("setValue", row.customerName);
  143. $('#ftpPathU').textbox("setValue", row.ftpPath);
  144. $('#emailFlagU').textbox("setValue", row.emailFlag);
  145. $('#emailTitleU').textbox("setValue", row.emailTitle);
  146. $('#emailAddressU').textbox("setValue", row.emailAddress);
  147. $('#emailCcAddressU').textbox("setValue", row.emailCcAddress);
  148. }
  149. function newBase(){
  150. $('#dlg').dialog('open').dialog('center').dialog('setTitle','New');
  151. $('#dlg').form('clear');
  152. }
  153. function saveBase(){
  154. let customerNo=$('#customerNo').val();
  155. let customerName=$('#customerName').val();
  156. let ftpPath=$('#ftpPath').val();
  157. let emailFlag=$('#emailFlag').val();
  158. let emailTitle=$('#emailTitle').val();
  159. let emailAddress=$('#emailAddress').val();
  160. let emailCcAddress=$('#emailCcAddress').val();
  161. if(customerNo==null||customerNo==''){
  162. layer.msg("Please input Customer No!");
  163. return false;
  164. }
  165. if(customerName==null||customerName==''){
  166. layer.msg("Please input Customer Name!");
  167. return false;
  168. }
  169. if(ftpPath==null||ftpPath==''){
  170. layer.msg("Please input FTP Path!");
  171. return false;
  172. }
  173. let inData={
  174. "customerNo": customerNo,
  175. "customerName": customerName,
  176. "ftpPath": ftpPath,
  177. "emailFlag": emailFlag,
  178. "emailTitle": emailTitle,
  179. "emailAddress": emailAddress,
  180. "emailCcAddress": emailCcAddress,
  181. }
  182. $.ajax({
  183. url: "/base/saveBaseConfig",
  184. contentType: 'application/json',
  185. type:"POST",
  186. data:JSON.stringify(inData),
  187. dataType:"JSON",
  188. success: function (data) {
  189. if(data.code=="200"){
  190. $('#dlg').dialog('close');
  191. $('#dg').datagrid('reload');
  192. $.messager.alert("Info",data.msg,"Info",);
  193. }else{
  194. $.messager.alert("Error",data.msg,"Error",);
  195. }
  196. }
  197. })
  198. }
  199. function updateBaseConfigDo(){
  200. let customerNo=$('#customerNoU').val();
  201. let customerName=$('#customerNameU').val();
  202. let ftpPath=$('#ftpPathU').val();
  203. let emailFlag=$('#emailFlagU').val();
  204. let emailTitle=$('#emailTitleU').val();
  205. let emailAddress=$('#emailAddressU').val();
  206. let emailCcAddress=$('#emailCcAddressU').val();
  207. if(customerName==null||customerName==''){
  208. layer.msg("Please input Customer Name!");
  209. return false;
  210. }
  211. if(ftpPath==null||ftpPath==''){
  212. layer.msg("Please input FTP Path!");
  213. return false;
  214. }
  215. let inData={
  216. "customerNo": customerNo,
  217. "customerName": customerName,
  218. "ftpPath": ftpPath,
  219. "emailFlag": emailFlag,
  220. "emailTitle": emailTitle,
  221. "emailAddress": emailAddress,
  222. "emailCcAddress": emailCcAddress,
  223. }
  224. $.ajax({
  225. url: "/base/updateBaseConfig",
  226. contentType: 'application/json',
  227. type:"POST",
  228. data:JSON.stringify(inData),
  229. dataType:"JSON",
  230. success: function (data) {
  231. if(data.code=="200"){
  232. $('#dlgU').dialog('close');
  233. $('#dg').datagrid('reload');
  234. $.messager.alert("Info",data.msg,"Info",);
  235. }else{
  236. $.messager.alert("Error",data.msg,"Error",);
  237. }
  238. }
  239. })
  240. }
  241. $("#queryLink").click(function(){
  242. var dg = $('#dg').datagrid({
  243. queryParams: {}
  244. });
  245. });
  246. //导出
  247. </script>
  248. </@master.layout>