gasFlowpriceList.html 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  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. <script charset="UTF-8" type="text/javascript"></script>
  18. </head>
  19. <body>
  20. <div class="easyui-layout" data-options="fit:true">
  21. <div data-options="region:'center', border:false" style="overflow: auto">
  22. <div id="menu_left" style="padding: 2px; background-color: #eee; border-bottom: solid 1px #ddd">
  23. <a class="easyui-linkbutton easyui-tooltip" data-options="plain:true, iconCls:'icon-add'" id="btnAdd" title="添加信息">新增</a>
  24. <!--
  25. <a id="btnUpdate" class="easyui-linkbutton easyui-tooltip"
  26. title="修改信息" data-options="plain:true, iconCls:'icon-edit'">修改</a>
  27. -->
  28. <a class="easyui-linkbutton easyui-tooltip" data-options="plain:true, iconCls:'icon-remove'" id="btnDelete" title="删除信息">删除</a>
  29. <a class="easyui-linkbutton easyui-tooltip" data-options="iconCls:'icon-save', plain:true" id="btnSave" title="保存信息">保存</a>
  30. <a class="easyui-linkbutton easyui-tooltip" data-options="iconCls:'icon-undo', plain:true" id="btnCancel" title="取消当前操作">取消</a>
  31. </div>
  32. <div id="dgDiv" style="width: 100%; height: 100%">
  33. <table data-options="singleSelect:true,fit:true" id="dg"></table>
  34. </div>
  35. </div>
  36. </div>
  37. </body>
  38. <script type="text/javascript">
  39. var editFlag = true,
  40. appendFlag = true,
  41. editIndex
  42. $(document).ready(function () {
  43. loadData()
  44. $("#btnAdd").on("click", function () {
  45. if (!appendFlag || !editFlag) {
  46. layer.msg("请先取消正在更改或者新增的行!", {
  47. icon: 4,
  48. })
  49. return
  50. }
  51. $("#dg").datagrid("appendRow", {})
  52. editIndex = $("#dg").datagrid("getRows").length - 1
  53. $("#dg").datagrid("selectRow", editIndex).datagrid("beginEdit", editIndex)
  54. appendFlag = false
  55. })
  56. $("#btnSave").on("click", function () {
  57. if (appendFlag && editFlag) {
  58. layer.msg("没有需要保存或者更新的行!")
  59. return
  60. }
  61. var flag = $("#dg").datagrid("validateRow", editIndex)
  62. if (!flag) {
  63. layer.msg("请填写完整的信息!")
  64. return
  65. }
  66. $("#dg").datagrid("acceptChanges")
  67. $("#dg").datagrid("selectRow", editIndex)
  68. var row = $("#dg").datagrid("getSelected")
  69. var startDate = row["startDate"]
  70. var endDate = row["endDate"]
  71. row["startDate"] = startDate.substring(0, 4) + "" + startDate.substring(5, 7) + "" + startDate.substring(8, 10)
  72. row["endDate"] = endDate.substring(0, 4) + "" + endDate.substring(5, 7) + "" + endDate.substring(8, 10)
  73. row["priceType"] = 4
  74. var url = "",
  75. type = 1
  76. if (row["id"]) {
  77. url = "/web/company/flowprice/update.json"
  78. type = 2
  79. } else {
  80. url = "/web/company/flowprice/save.json"
  81. }
  82. saveOrUpdate(url, row, type)
  83. ;(editFlag = true), (appendFlag = true)
  84. })
  85. function saveOrUpdate(url, row, type) {
  86. ajax({
  87. url: url,
  88. data: row,
  89. type: "POST",
  90. beforeSend: function (XHR) {
  91. $("#dg").mask("数据加载中...")
  92. },
  93. success: function (data) {
  94. $("#dg").unmask()
  95. if (data["status"] == 1) {
  96. if (type == 1) {
  97. layer.msg(" 保存成功", {
  98. icon: 1,
  99. })
  100. $("#dg").datagrid("updateRow", {
  101. index: editIndex,
  102. row: data["data"],
  103. })
  104. } else {
  105. layer.msg(" 更新成功", {
  106. icon: 1,
  107. })
  108. $("#dg").datagrid("updateRow", {
  109. index: editIndex,
  110. row: data["data"],
  111. })
  112. }
  113. } else {
  114. if (type == 1) {
  115. layer.msg(" 保存失败", {
  116. icon: 1,
  117. })
  118. } else {
  119. layer.msg(" 更新失败", {
  120. icon: 1,
  121. })
  122. }
  123. }
  124. },
  125. error: function () {
  126. $("#dg").unmask()
  127. if (type == 1) {
  128. layer.msg(" 服务器发生错误,保存失败", {
  129. icon: 1,
  130. })
  131. } else {
  132. layer.msg(" 服务器发生错误,更新失败", {
  133. icon: 1,
  134. })
  135. }
  136. },
  137. })
  138. }
  139. $("#btnCancel").on("click", function () {
  140. if (editIndex != undefined) {
  141. $("#dg").datagrid("cancelEdit", editIndex)
  142. if (!appendFlag) {
  143. $("#dg").datagrid("deleteRow", editIndex)
  144. appendFlag = true
  145. }
  146. editIndex = undefined
  147. editFlag = true
  148. }
  149. })
  150. $("#btnUpdate").click(function () {
  151. if (!appendFlag || !editFlag) {
  152. layer.msg("请先取消正在更改或者新增的行!", {
  153. icon: 4,
  154. })
  155. return
  156. }
  157. var row = $("#dg").datagrid("getSelected")
  158. if (row == null || row == undefined) {
  159. layer.msg("请选择一条记录进行修改.", {
  160. icon: 4,
  161. })
  162. return
  163. }
  164. editFlag = false
  165. var index = $("#dg").datagrid("getRowIndex", row)
  166. editIndex = index
  167. $("#dg").datagrid("beginEdit", editIndex)
  168. })
  169. $("#btnDelete").click(function () {
  170. if (!appendFlag || !editFlag) {
  171. layer.msg("请先取消正在更改或者新增的行!", {
  172. icon: 4,
  173. })
  174. return
  175. }
  176. var checkedItem = $("#dg").datagrid("getSelected")
  177. if (checkedItem != undefined) {
  178. layer.confirm("删除后,将导致某些关联数据无法显示。<br/>您确定要删除选中数据吗?", function (index) {
  179. layer.close(index)
  180. ajax({
  181. url: "/web/company/flowprice/delete.json",
  182. data: {
  183. id: checkedItem.id,
  184. },
  185. success: function (data) {
  186. if (data["status"] == 1) {
  187. var rowIndex = $("#dg").datagrid("getRowIndex", checkedItem)
  188. $("#dg").datagrid("deleteRow", rowIndex)
  189. layer.msg(" 删除成功", {
  190. icon: 1,
  191. })
  192. } else {
  193. layer.msg(" 删除失败", {
  194. icon: 2,
  195. })
  196. }
  197. },
  198. error: function () {
  199. layer.msg("服务器存在问题,删除失败", {
  200. icon: 2,
  201. })
  202. },
  203. })
  204. })
  205. } else {
  206. layer.msg(" 请选择一条要删除的记录!", {
  207. icon: 4,
  208. })
  209. return
  210. }
  211. })
  212. })
  213. var tableObj = $("#dg")
  214. //分页控件
  215. function loadData() {
  216. //获取DataGrid分页组件对象
  217. var p = tableObj.datagrid("getPager")
  218. //设置分页组件参数
  219. $(p).pagination({
  220. pageSize: 20,
  221. pageNumber: 1,
  222. pageList: [10, 20, 50],
  223. onSelectPage: function (pageNumber, pageSize) {
  224. getData(pageNumber, pageSize)
  225. },
  226. })
  227. var obj = $(p).pagination("options")
  228. getData(obj.pageNumber, obj.pageSize)
  229. }
  230. function getData(pageNumber, pageSize) {
  231. if (pageNumber == 0) {
  232. pageNumber = 1
  233. }
  234. ajax({
  235. url: "/web/company/flowprice/getForPage.json",
  236. type: "post",
  237. dataType: "json",
  238. data: {
  239. pageSize: pageSize,
  240. pageNo: pageNumber,
  241. priceType: 4,
  242. },
  243. beforeSend: function (XHR) {
  244. $("#dgDiv").mask("数据加载中...")
  245. },
  246. success: function (data) {
  247. $("#dgDiv").unmask()
  248. tableObj.datagrid("loadData", data.data)
  249. },
  250. })
  251. }
  252. tableObj.datagrid({
  253. toolbar: "#menu_left",
  254. fit: true,
  255. fitcolumns: true,
  256. pagination: true,
  257. pageSize: 20,
  258. rownumbers: false,
  259. singleSelect: true,
  260. selectOnCheck: false,
  261. checkOnSelect: true,
  262. columns: [
  263. [
  264. {
  265. field: "id",
  266. hidden: true,
  267. },
  268. {
  269. field: "startDate",
  270. title: "开始日期",
  271. width: 100,
  272. align: "left",
  273. editor: {
  274. type: "datebox",
  275. options: {
  276. editable: false,
  277. required: true,
  278. },
  279. },
  280. },
  281. {
  282. field: "endDate",
  283. title: "结束日期",
  284. width: 100,
  285. align: "left",
  286. editor: {
  287. type: "datebox",
  288. options: {
  289. editable: false,
  290. required: true,
  291. },
  292. },
  293. },
  294. {
  295. field: "price",
  296. title: "价格",
  297. width: 100,
  298. align: "left",
  299. editor: {
  300. type: "text",
  301. options: {
  302. required: true,
  303. },
  304. },
  305. },
  306. {
  307. field: "state",
  308. title: "状态",
  309. align: "left",
  310. width: 100,
  311. formatter: function (value, row) {
  312. if (value == 1) {
  313. return "启用"
  314. }
  315. if (value == 0) {
  316. return "关闭"
  317. }
  318. return "未知"
  319. },
  320. editor: {
  321. type: "combobox",
  322. options: {
  323. panelHeight: 50,
  324. valueField: "id",
  325. textField: "text",
  326. data: [
  327. {
  328. id: 1,
  329. text: "启用",
  330. },
  331. {
  332. id: 0,
  333. text: "关闭",
  334. },
  335. ],
  336. editable: false,
  337. required: true,
  338. },
  339. },
  340. },
  341. ],
  342. ],
  343. })
  344. </script>
  345. </html>