fireAlarm.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. /**
  2. *
  3. */
  4. Ext.Loader.setConfig({
  5. enabled: true
  6. });
  7. Ext.Loader.setPath('Ext.ux', '../../res/extjs/examples/ux');
  8. Ext.require([
  9. 'Ext.grid.*',
  10. 'Ext.data.*',
  11. 'Ext.ux.RowExpander',
  12. 'Ext.selection.CheckboxModel'
  13. ]);
  14. var sm = Ext.create('Ext.selection.CheckboxModel');
  15. var company_code = null;
  16. var myStore;
  17. Ext.define('VFireAlarm',{
  18. extend: 'Ext.data.Model',
  19. fields: [
  20. { name:'id', type:'int'},
  21. { name:'device_code', type:'string' },
  22. { name:'company_code', type:'string' },
  23. { name:'company_name', type:'string' },
  24. { name:'fullname', type:'string' },
  25. { name:'time', type:'string' },
  26. { name:'data', type:'string' },
  27. { name:'clzt', type:'string' },
  28. { name:'clr_name', type:'string' },
  29. { name:'clsj', type:'string' }
  30. ]
  31. });
  32. var change_company = function(id){
  33. var maxHeight = 10000;
  34. maxHeight = document.documentElement.clientHeight;
  35. if(id.length>0){
  36. company_code = id;
  37. var query = new Object();
  38. if((company_code!=null)&&(company_code!='null')&&(company_code.length>0))
  39. query.company_code = company_code;
  40. myStore.getProxy().extraParams = {queryJson:Ext.JSON.encode(query)};
  41. myStore.reload();
  42. $("#company_code").val(company_code);
  43. }else{
  44. company_code = null;
  45. var query = new Object();
  46. if((company_code!=null)&&(company_code!='null')&&(company_code.length>0))
  47. query.company_code = company_code;
  48. myStore.getProxy().extraParams = {queryJson:Ext.JSON.encode(query)};
  49. myStore.reload();
  50. $("#company_code").val('');
  51. }
  52. Ext.getCmp('VWaterAlarmListPanel').setHeight(maxHeight);
  53. }
  54. Ext.onReady(function(){
  55. var baseUrl = document.getElementById('basePath').value;
  56. var theme = document.getElementById('theme').value;
  57. var chkIcon = '<img src="'+baseUrl+'res/img/common/check.gif"/>'
  58. var unchkIcon = '<img src="'+baseUrl+'res/img/common/uncheck.gif"/>'
  59. var countPerPage = 20;
  60. var maxHeight = 10000;
  61. company_code = document.getElementById('company_code').value;
  62. maxHeight = document.documentElement.clientHeight;
  63. var chkBoolean = function(flag) {
  64. if(flag)
  65. return chkIcon;
  66. return unchkIcon;
  67. }
  68. var query = new Object();
  69. if((company_code!=null)&&(company_code!='null')&&(company_code.length>0))
  70. query.company_code = company_code;
  71. myStore = Ext.create('Ext.data.Store', {
  72. model: 'VFireAlarm',
  73. pageSize: countPerPage,
  74. proxy: {
  75. type: 'ajax',
  76. actionMethods: {
  77. create : 'POST',
  78. read : 'POST', // by default GET
  79. update : 'POST',
  80. destroy: 'POST'
  81. },
  82. url: baseUrl+'iot/alarm/view/getHJList',
  83. extraParams:{
  84. queryJson:Ext.JSON.encode(query)
  85. },
  86. reader: {
  87. type: 'json',
  88. root: 'RESULT',
  89. totalProperty: 'totalCount'
  90. }
  91. },
  92. sorters:[{
  93. property:'time',
  94. direction:'DESC'
  95. }],
  96. remoteSort: true
  97. });
  98. var storeReload=function(){
  99. var query = new Object();
  100. if((company_code!=null)&&(company_code!='null')&&(company_code.length>0))
  101. query.company_code = company_code;
  102. myStore.getProxy().extraParams = {queryJson:Ext.JSON.encode(query)};
  103. myStore.reload();
  104. setTimeout(storeReload,30000);
  105. }
  106. var FilterForm = Ext.create('Ext.form.Panel', {
  107. id: 'VFireAlarmFilterForm',
  108. labelWidth: 55,
  109. defaultType: 'textfield',
  110. bodyPadding: 15
  111. });
  112. var filterwin = function() {
  113. Ext.create('Ext.window.Window',{
  114. id: 'VFireAlarmFilterWin',
  115. title: '火警报告筛选',
  116. height: 300,
  117. width: 400,
  118. layout: 'fit',
  119. items: FilterForm,
  120. closeAction: 'hide'
  121. }).show();
  122. }
  123. Ext.create('Ext.grid.Panel', {
  124. title: '火警报告列表',
  125. id: 'VFireAlarmListPanel',
  126. store: myStore,
  127. cellTip:true,
  128. selModel: sm,
  129. columns: [
  130. { header: 'id', dataIndex:'id',hidden:true, menuDisabled:true},
  131. { header: '单位名称', dataIndex: 'company_name',width:240, menuDisabled:true },
  132. { header: '报告时间', dataIndex: 'time', width:160, menuDisabled:true },
  133. { header: '报告数据', dataIndex: 'data', width:140, menuDisabled:true },
  134. { header: '报告内容', dataIndex: 'fullname', width:480, menuDisabled:true },
  135. { header: '处理状态', dataIndex: 'clzt', width:100, menuDisabled:true },
  136. { header: '处理人', dataIndex: 'clr_name',width:150, menuDisabled:true },
  137. { header: '处理时间', dataIndex: 'clsj', width:160, menuDisabled:true }
  138. ],
  139. columnLines: true,
  140. height: maxHeight,
  141. width: '100%',
  142. bbar: new Ext.PagingToolbar({
  143. store: myStore,
  144. id:'VFireAlarmListPageToolbar',
  145. displayInfo: true,
  146. pageSize: countPerPage,
  147. prependButtons: true,
  148. displayMsg : '显示第 {0}条到 {1}条记录,总共 {2}条',
  149. emptyMsg : "没有记录",
  150. firstText: '第一页',
  151. prevText: '前一页',
  152. nextText: '后一页',
  153. lastText: '最后一页'
  154. }),
  155. frame: true,
  156. border:false,
  157. iconCls: 'icon-grid',
  158. renderTo: Ext.getBody()
  159. });
  160. storeReload();
  161. Ext.getCmp('VFireAlarmListPanel').setHeight(maxHeight);
  162. });