Нет описания

equipMaintain.js 6.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. /**
  2. * 设备保养计划
  3. * */
  4. $(function() {
  5. $('.tool_bars').authorizeButton();
  6. //项目下拉
  7. helper.getDropList.getProlistDrop($('#sc_pro'));
  8. laydate.render({
  9. elem: '#sc_times',
  10. range: '~',
  11. theme: '#249fea',
  12. });
  13. initTable();
  14. //搜索
  15. $("#sc_btns").click(function() {
  16. initTable();
  17. })
  18. });
  19. function initTable() {
  20. //先销毁表格
  21. $('#table_all').bootstrapTable('destroy');
  22. //初始化表格,动态从服务器加载数据
  23. $('#table_all').bootstrapTable({
  24. method: "get", //使用get请求到服务器获取数据
  25. url: huayi.config.callcenter_url + "equipmentapi/api/womaintainplan/getlistbypage", //获取数据的Servlet地址
  26. contentType: "application/x-www-form-urlencoded",
  27. striped: true, //表格显示条纹
  28. pagination: true, //启动分页
  29. pageSize: 10, //每页显示的记录数
  30. pageNumber: 1, //当前第几页
  31. pageList: [10, 20, 50, 100], //记录数可选列表
  32. search: false, //是否启用查询
  33. showColumns: false, //显示下拉框勾选要显示的列
  34. showRefresh: false, //显示刷新按钮
  35. sidePagination: "server", //表示服务端请求
  36. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  37. //设置为limit可以获取limit, offset, search, sort, order
  38. queryParamsType: "undefined",
  39. queryParams: function queryParams(params) { //设置查询参数
  40. var param = {
  41. pageindex: params.pageNumber, //否 int 页码
  42. pagesize: params.pageSize, //否 int 条数
  43. projectid: $('#sc_pro').val(), // 否 string 项目id
  44. keyword: $('#sc_keyWords').val(), //关键字,计划名称模糊查询
  45. stime: $('#sc_times').val() && $('#sc_times').val().split(' ~ ')[0], //开始时间
  46. etime: $('#sc_times').val() && $('#sc_times').val().split(' ~ ')[1], //结束时间
  47. };
  48. return param;
  49. },
  50. responseHandler: function(res) {
  51. //格式化数据
  52. return {
  53. "total": res.data && res.data.total, //总页数
  54. "rows": res.data && res.data.rows,
  55. }
  56. },
  57. onLoadSuccess: function() { //加载成功时执行
  58. //layer.msg("加载成功");
  59. $('.tool_down').authorizeOperateButton();
  60. },
  61. onLoadError: function() { //加载失败时执行
  62. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  63. }
  64. });
  65. }
  66. //查看项目详情
  67. function btn_details(edit_id) {
  68. layer.open({
  69. type: 2,
  70. content: "template/seeEqupMaintainDetails.html?edit_id=" + edit_id, //iframe的url,no代表不显示滚动条
  71. title: '查看设备保养计划',
  72. resize: false,
  73. area: ['80%', '90%'], //宽高
  74. });
  75. }
  76. //添加
  77. function btn_add() {
  78. layer.open({
  79. type: 2,
  80. content: "template/addOrEditMaintain.html", //iframe的url,no代表不显示滚动条
  81. title: '添加设备保养计划',
  82. resize: false,
  83. area: ['80%', '90%'], //宽高
  84. });
  85. }
  86. //编辑
  87. function btn_edit(edit_id) {
  88. layer.open({
  89. type: 2,
  90. content: "template/addOrEditMaintain.html?edit_id=" + edit_id, //iframe的url,no代表不显示滚动条
  91. title: '编辑设备保养计划',
  92. resize: false,
  93. area: ['80%', '90%'], //宽高
  94. });
  95. }
  96. //批量删除
  97. function btn_deletes() {
  98. var ids = $.map($('#table_all').bootstrapTable('getSelections'),
  99. function(row) {
  100. return row.id;
  101. });
  102. /*判断长度*/
  103. if(ids.length <= 0) {
  104. layer.confirm('请选择要删除的选项', {
  105. icon: 7,
  106. btn: ['确定'] //按钮
  107. });
  108. return;
  109. }
  110. btn_delete(ids);
  111. }
  112. //删除
  113. function btn_delete(del_id) {
  114. /*发送请求*/
  115. layer.confirm('您确定要删除当前设备保养计划吗?', {
  116. icon: 7,
  117. btn: ['确定', '取消'],
  118. yes: function(index, layero) {
  119. $.post(huayi.config.callcenter_url + "equipmentapi/api/womaintainplan/delete", {
  120. ids: del_id,
  121. }, function(result) {
  122. result = JSON.parse(result);
  123. if(result.state.toLowerCase() == "success") {
  124. layer.msg("删除成功");
  125. initTable();
  126. }
  127. })
  128. },
  129. });
  130. }
  131. //格式化操作
  132. function formatterOperate(val, row) {
  133. var str = '';
  134. str = '<div class="task_tools" onclick = helper.methods.taskTools(this)>' +
  135. '<a title="操作"><i class="fa fa-cogs" aria-hidden="true"></i></a>' +
  136. '<ul class="tool_down">' +
  137. '<li><a class="aBtn" authorize="yes" id="HY_details_' + row.id + '" onclick="btn_details(\'' + row.id + '\')"><i class="fa icon-detail tub"></i>详情</a><li>' +
  138. '<li><a class="aBtn" authorize="yes" id="HY_edit_' + row.id + '" onclick="btn_edit(\'' + row.id + '\')"><i class="fa icon-edit tub"></i>编辑</a><li>' +
  139. '<li><a class="aBtn" authorize="yes" id="HY_delete_' + row.id + '" onclick="btn_delete(\'' + row.id + '\')"><i class="fa icon-delete tub"></i>删除</a><li>' +
  140. '</ul></div>'
  141. return str;
  142. }
  143. //格式化设备名称
  144. function formatterEquipname(val, row) {
  145. if(val && val.length > 1) {
  146. return val[0] + '...';
  147. } else if(val && val.length === 1 && val[0] != "") {
  148. return val;
  149. } else {
  150. return '-';
  151. }
  152. }
  153. //格式化开始日期
  154. function formatterSdate(val, row) {
  155. return val && val.split(' ')[0];
  156. }
  157. //格式化定时周期
  158. function formatterPlancycle(val, row) {
  159. //定时周期:1年,2月,3周,4日,5时,6分;巡检中只需要使用:4日,5时,6分
  160. var stateClass, stateName;
  161. switch(val) {
  162. case 1:
  163. stateName = '每年';
  164. break;
  165. case 2:
  166. stateName = '每月';
  167. break;
  168. case 3:
  169. stateName = '每周';
  170. break;
  171. case 4:
  172. stateName = '每天';
  173. break;
  174. case 5:
  175. stateName = '每小时';
  176. break;
  177. case 6:
  178. stateName = '每分钟';
  179. break;
  180. default:
  181. stateName = '-';
  182. break;
  183. }
  184. return stateName;
  185. }
  186. //格式化 执行计划间隔
  187. function formatterPlaninterval(val, row) {
  188. var str = '-'
  189. var idays = ['月', '两个月', '三个月', '四个月', '五个月', '六个月', '七个月', '八个月', '九个月', '十个月', '十一个月', '十二个月'];
  190. if(Number(val)) {
  191. str = '每' + idays[Number(val) - 1];
  192. }
  193. return str;
  194. }
  195. //格式化 执行频率
  196. function formatterPlantimes(val, row) {
  197. // return val + '次';
  198. return '1次';
  199. }
  200. //格式化计划状态
  201. function formatterPlanstate(val, row) {
  202. //计划状态 0开始 1结束 2挂起
  203. var stateClass, stateName;
  204. switch(val) {
  205. case 0:
  206. stateClass = 'state_audit_done';
  207. stateName = '开始';
  208. break;
  209. case 1:
  210. stateClass = 'state_audit_doned';
  211. stateName = '结束';
  212. break;
  213. case 2:
  214. stateClass = 'state_audit_revoke';
  215. stateName = '挂起';
  216. break;
  217. default:
  218. stateClass = 'text-block';
  219. stateName = '-';
  220. break;
  221. }
  222. return '<a class="state_audit ' + stateClass + '" href="javascript:;">' + stateName + '</a>';
  223. }
  224. //结束时间 超期变红
  225. function formatterEndTime(val, row) {
  226. if(val) {
  227. var d = val.replace(/-/g, "/");
  228. var curDate = helper.DateFormat.getNowDateTime();
  229. curDate = curDate.replace(/-/g, "/");
  230. var str = '';
  231. if(Date.parse(d) >= Date.parse(curDate)) {
  232. str = '<div>' + val.split(' ')[0] + '</div>';
  233. } else {
  234. str = '<div style="color:red;">' + val.split(' ')[0] + '</div>';
  235. }
  236. return str
  237. } else {
  238. return "-";
  239. }
  240. }