sysMaterial.html 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title>原材料管理</title>
  6. <link href="http://static.vbdsm.com/js/lib/easyui/themes/vber/easyui.css" rel="stylesheet" type="text/css" />
  7. <link href="http://static.vbdsm.com/js/lib/easyui/themes/icon.css" rel="stylesheet" type="text/css" />
  8. <link href="http://static.vbdsm.com/js/lib/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
  9. <script src="http://static.vbdsm.com/js/lib/jquery-1.8.0.min.js" type="text/javascript"></script>
  10. <script src="http://static.vbdsm.com/js/lib/easyui/jquery.easyui.min.js" type="text/javascript"></script>
  11. <script src="http://static.vbdsm.com/js/lib/easyui/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
  12. <script src="http://static.vbdsm.com/js/lib/loadmask/jquery.loadmask.min.js" type="text/javascript"></script>
  13. <script src="http://static.vbdsm.com/js/lib/highcharts/highcharts.js?v=4.1.8" type="text/javascript"></script>
  14. <script src="http://static.vbdsm.com/js/lib/highcharts/modules/exporting.js?v=4.1.8" type="text/javascript"></script>
  15. <script src="http://static.vbdsm.com/js/util.js" type="text/javascript"></script>
  16. <script src="http://static.vbdsm.com/js/lib/layer/layer/layer.js" type="text/javascript"></script>
  17. <style type="text/css">
  18. #menu_left * {
  19. vertical-align: middle;
  20. }
  21. </style>
  22. <script charset="UTF-8" type="text/javascript"></script>
  23. </head>
  24. <body class="easyui-layout" data-options="fit:true, border:false,plain:true">
  25. <div data-options="region:'center'" id="center" style="border-top: none; border-bottom: none">
  26. <div id="menu_left" style="padding: 2px; background-color: #eee; border-bottom: solid 1px #ddd">
  27. <a class="easyui-linkbutton easyui-tooltip" data-options="plain:true, iconCls:'icon-add'" id="btnAdd" title="添加信息">新增</a>
  28. <a class="easyui-linkbutton easyui-tooltip" data-options="plain:true, iconCls:'icon-edit'" id="btnUpdate" title="修改信息">修改</a>
  29. <a class="easyui-linkbutton easyui-tooltip" data-options="plain:true, iconCls:'icon-remove'" id="btnDelete" title="删除信息">删除</a>
  30. <a class="easyui-linkbutton easyui-tooltip" data-options="iconCls:'icon-save', plain:true" id="btnSave" title="保存信息">保存</a>
  31. <a class="easyui-linkbutton easyui-tooltip" data-options="iconCls:'icon-undo', plain:true" id="btnCancel" title="取消当前操作">取消</a>
  32. </div>
  33. <table id="dg" style="width: 100%"></table>
  34. </div>
  35. </body>
  36. <script type="text/javascript">
  37. var editFlag = true,
  38. appendFlag = true,
  39. editIndex
  40. $(document).ready(function () {
  41. loadData()
  42. $("#btnAdd").on("click", function () {
  43. if (!appendFlag || !editFlag) {
  44. layer.msg("请先取消正在更改或者新增的行!", {
  45. icon: 4,
  46. })
  47. return
  48. }
  49. $("#dg").datagrid("appendRow", {})
  50. editIndex = $("#dg").datagrid("getRows").length - 1
  51. $("#dg").datagrid("selectRow", editIndex).datagrid("beginEdit", editIndex)
  52. appendFlag = false
  53. })
  54. $("#btnSave").on("click", function () {
  55. if (appendFlag && editFlag) {
  56. layer.msg("没有需要保存或者更新的行!")
  57. return
  58. }
  59. var flag = $("#dg").datagrid("validateRow", editIndex)
  60. if (!flag) {
  61. layer.msg("请填写完整的信息!")
  62. return
  63. }
  64. $("#dg").datagrid("acceptChanges")
  65. $("#dg").datagrid("selectRow", editIndex)
  66. var row = $("#dg").datagrid("getSelected")
  67. var url = "",
  68. type = 1
  69. if (row["id"]) {
  70. url = "/web/sysMaterial/update.json"
  71. type = 2
  72. } else {
  73. url = "/web/sysMaterial/save.json"
  74. }
  75. saveOrUpdate(url, row, type)
  76. ;(editFlag = true), (appendFlag = true)
  77. })
  78. function saveOrUpdate(url, row, type) {
  79. ajax({
  80. url: url,
  81. data: row,
  82. type: "POST",
  83. beforeSend: function (XHR) {
  84. $("#dg").mask("数据加载中...")
  85. },
  86. success: function (data) {
  87. $("#dg").unmask()
  88. if (data["status"] == 1) {
  89. if (type == 1) {
  90. layer.msg(" 保存成功", {
  91. icon: 1,
  92. })
  93. $("#dg").datagrid("updateRow", {
  94. index: editIndex,
  95. row: data["data"],
  96. })
  97. } else {
  98. layer.msg(" 更新成功", {
  99. icon: 1,
  100. })
  101. }
  102. } else {
  103. if (type == 1) {
  104. layer.msg(" 保存失败", {
  105. icon: 1,
  106. })
  107. } else {
  108. layer.msg(" 更新失败", {
  109. icon: 1,
  110. })
  111. }
  112. }
  113. },
  114. error: function () {
  115. $("#dg").unmask()
  116. if (type == 1) {
  117. layer.msg(" 服务器发生错误,保存失败", {
  118. icon: 1,
  119. })
  120. } else {
  121. layer.msg(" 服务器发生错误,更新失败", {
  122. icon: 1,
  123. })
  124. }
  125. },
  126. })
  127. }
  128. $("#btnCancel").on("click", function () {
  129. if (editIndex != undefined) {
  130. $("#dg").datagrid("cancelEdit", editIndex)
  131. if (!appendFlag) {
  132. $("#dg").datagrid("deleteRow", editIndex)
  133. appendFlag = true
  134. }
  135. editIndex = undefined
  136. editFlag = true
  137. }
  138. })
  139. $("#btnUpdate").click(function () {
  140. if (!appendFlag || !editFlag) {
  141. layer.msg("请先取消正在更改或者新增的行!", {
  142. icon: 4,
  143. })
  144. return
  145. }
  146. var row = $("#dg").datagrid("getSelected")
  147. if (row == null || row == undefined) {
  148. layer.msg(" 请选择一条记录进行修改.", {
  149. icon: 4,
  150. })
  151. return
  152. }
  153. var index = $("#dg").datagrid("getRowIndex", row)
  154. editIndex = index
  155. $("#dg").datagrid("beginEdit", editIndex)
  156. editFlag = false
  157. })
  158. $("#btnDelete").click(function () {
  159. if (!appendFlag || !editFlag) {
  160. layer.msg("请先取消正在更改或者新增的行!", {
  161. icon: 4,
  162. })
  163. return
  164. }
  165. var checkedItem = $("#dg").datagrid("getSelected")
  166. if (checkedItem != undefined) {
  167. layer.confirm("删除后,将导致某些关联数据无法显示。<br/>您确定要删除选中数据吗?", function (index) {
  168. layer.close(index)
  169. ajax({
  170. url: "/web/sysMaterial/delete.json",
  171. data: {
  172. id: checkedItem.id,
  173. },
  174. success: function (data) {
  175. if (data["status"] == 1) {
  176. var rowIndex = $("#dg").datagrid("getRowIndex", checkedItem)
  177. $("#dg").datagrid("deleteRow", rowIndex)
  178. layer.msg(" 删除成功", {
  179. icon: 1,
  180. })
  181. } else {
  182. layer.msg(" 删除失败", {
  183. icon: 2,
  184. })
  185. }
  186. },
  187. error: function () {
  188. layer.msg("服务器存在问题,删除失败", {
  189. icon: 2,
  190. })
  191. },
  192. })
  193. })
  194. } else {
  195. layer.msg(" 请选择一条要删除的记录!", {
  196. icon: 4,
  197. })
  198. return
  199. }
  200. })
  201. })
  202. var type
  203. var tableObj = $("#dg")
  204. //分页控件
  205. function loadData() {
  206. //获取DataGrid分页组件对象
  207. var p = tableObj.datagrid("getPager")
  208. //设置分页组件参数
  209. $(p).pagination({
  210. pageSize: 20,
  211. pageNumber: 1,
  212. pageList: [10, 20, 50],
  213. onSelectPage: function (pageNumber, pageSize) {
  214. getData(pageNumber, pageSize)
  215. },
  216. })
  217. var obj = $(p).pagination("options")
  218. getData(obj.pageNumber, obj.pageSize)
  219. }
  220. function getData(pageNumber, pageSize) {
  221. if (pageNumber == 0) {
  222. pageNumber = 1
  223. }
  224. ajax({
  225. url: "/web/sysMaterial/getForPage.json",
  226. type: "post",
  227. dataType: "json",
  228. data: { pageSize: pageSize, pageNo: pageNumber },
  229. beforeSend: function (XHR) {
  230. $("#dgDiv").mask("数据加载中...")
  231. },
  232. success: function (data) {
  233. $("#dgDiv").unmask()
  234. tableObj.datagrid("loadData", data.data)
  235. },
  236. })
  237. }
  238. tableObj.datagrid({
  239. toolbar: "#menu_left",
  240. fit: true,
  241. fitcolumns: true,
  242. pagination: true,
  243. pageSize: 20,
  244. rownumbers: true,
  245. singleSelect: true,
  246. selectOnCheck: false,
  247. checkOnSelect: true,
  248. columns: [
  249. [
  250. {
  251. field: "id",
  252. hidden: true,
  253. },
  254. {
  255. field: "materialName",
  256. title: "材料名称",
  257. width: 130,
  258. align: "center",
  259. editor: {
  260. type: "text",
  261. options: {
  262. required: true,
  263. },
  264. },
  265. },
  266. {
  267. field: "unit",
  268. title: "单位",
  269. width: 130,
  270. align: "center",
  271. editor: {
  272. type: "text",
  273. options: {
  274. required: true,
  275. },
  276. },
  277. },
  278. {
  279. field: "remark",
  280. title: "说明",
  281. width: 130,
  282. align: "left",
  283. editor: {
  284. type: "text",
  285. options: {
  286. required: true,
  287. },
  288. },
  289. },
  290. ],
  291. ],
  292. })
  293. </script>
  294. </html>