query.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. /**
  2. * query.js
  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 myStore;
  15. var baseUrl;
  16. var level;
  17. var dwtype;
  18. var objid;
  19. var theme;
  20. var pieMask;
  21. var company_code;
  22. var maxHeight = 10000;
  23. var maxWidth = 10000;
  24. var V_LOGINNAME = "";
  25. var sm = Ext.create('Ext.selection.CheckboxModel');
  26. Ext.define('queryOption',{
  27. extend: 'Ext.data.Model',
  28. fields: [
  29. { name:'id', type:'int'},
  30. { name:'name', type:'string' },
  31. { name:'status', type:'string' },
  32. { name:'device_code', type:'string' },
  33. { name:'company_code', type:'string' },
  34. { name:'company_name', type:'string' },
  35. { name:'fullname', type:'string' },
  36. { name:'time', type:'string' },
  37. { name:'data', type:'string' },
  38. { name:'data2', type:'string' },
  39. { name:'clzt', type:'string' },
  40. { name:'clr_name', type:'string' },
  41. { name:'clnr', type:'string' },
  42. { name:'clsj', type:'string' }
  43. ]
  44. });
  45. var body_resize = function(){
  46. maxHeight = document.documentElement.clientHeight;
  47. maxWidth = document.documentElement.clientWidth;
  48. Ext.getCmp('queryPanel').setHeight(maxHeight);
  49. Ext.getCmp('queryPanel').setWidth(maxWidth);
  50. }
  51. Ext.onReady(function(){
  52. baseUrl = document.getElementById('basePath').value;
  53. theme = document.getElementById('theme').value;
  54. dwtype= document.getElementById('dwtype').value;
  55. level = document.getElementById('level').value;
  56. objid = document.getElementById('objid').value;
  57. company_code = document.getElementById('company_code').value;
  58. $("#V_LOGINNAME").val(sessionStorage.getItem('V_LOGINNAME'));
  59. V_LOGINNAME = $("#V_LOGINNAME").val();
  60. var queryJson = new Object();
  61. queryJson.dwtype = dwtype;
  62. queryJson.level = level;
  63. queryJson.objid = objid;
  64. queryJson.company_code = company_code;
  65. queryJson.V_LOGINNAME = V_LOGINNAME;
  66. myStore = Ext.create('Ext.data.Store', {
  67. model: 'queryOption',
  68. pageSize: 5,
  69. proxy: {
  70. type: 'ajax',
  71. actionMethods: {
  72. create : 'POST',
  73. read : 'POST', // by default GET
  74. update : 'POST',
  75. destroy: 'POST'
  76. },
  77. url: baseUrl+'iot/frontpage/getAlarmList',
  78. reader: {
  79. type: 'json',
  80. root: 'RESULT',
  81. totalProperty: 'totalCount'
  82. },
  83. extraParams:{
  84. queryJson:Ext.JSON.encode(queryJson)
  85. }
  86. },
  87. sorters:[{
  88. property:'time',
  89. direction:'DESC'
  90. }],
  91. remoteSort: true
  92. });
  93. var storeReload=function(){
  94. var queryJson = new Object();
  95. queryJson.dwtype = dwtype;
  96. queryJson.level = level;
  97. queryJson.objid = objid;
  98. queryJson.company_code = company_code;
  99. myStore.getProxy().extraParams = {queryJson:Ext.JSON.encode(queryJson)};
  100. myStore.reload();
  101. setTimeout(storeReload,30000);
  102. }
  103. var storeReload2=function(){
  104. var queryJson = new Object();
  105. queryJson.dwtype = dwtype;
  106. queryJson.level = level;
  107. queryJson.objid = objid;
  108. queryJson.company_code = company_code;
  109. myStore.getProxy().extraParams = {queryJson:Ext.JSON.encode(queryJson)};
  110. myStore.reload();
  111. }
  112. var proLevelGrid = Ext.create('Ext.grid.Panel', {
  113. header :{
  114. height:0,
  115. border:'0px solid #000000'
  116. },
  117. titleCollapse:true,
  118. id: 'queryPanel',
  119. cellTip:true,
  120. store: myStore,
  121. columns: [
  122. { header: 'id', dataIndex:'id',hidden:true, menuDisabled:true},
  123. { header: '项目名称', dataIndex: 'company_name',width:240, menuDisabled:true },
  124. { header: '报告时间', dataIndex: 'time', width:160, menuDisabled:true },
  125. { header: '报告数据', dataIndex: 'data', width:140, menuDisabled:true },
  126. { header: '报告内容', dataIndex: 'fullname', width:480, menuDisabled:true },
  127. { header: '处理状态', dataIndex: 'clzt', width:100, menuDisabled:true },
  128. { header: '处理人', dataIndex: 'clr_name',width:150, menuDisabled:true },
  129. { header: '处理时间', dataIndex: 'clsj', width:160, menuDisabled:true }
  130. ],
  131. columnLines: true,
  132. // tbar: [
  133. // {
  134. // xtype: 'button',
  135. // iconCls:'delete_btn',
  136. // text: '刷新',
  137. // listeners: {
  138. // click: storeReload2
  139. // }
  140. // }
  141. //
  142. // ],
  143. height: maxHeight,
  144. width: '100%',
  145. bbar: new Ext.PagingToolbar({
  146. store: myStore,
  147. id:'queryListPageToolbar',
  148. displayInfo: true,
  149. pageSize: 5,
  150. prependButtons: true,
  151. displayMsg : '显示第 {0}条到 {1}条记录,总共 {2}条',
  152. emptyMsg : "没有记录",
  153. firstText: '第一页',
  154. prevText: '前一页',
  155. nextText: '后一页',
  156. lastText: '最后一页'
  157. }),
  158. frame: true,
  159. border:false,
  160. iconCls: 'icon-grid',
  161. renderTo: Ext.getBody(),
  162. listeners:{
  163. 'celldblclick' : function(grid, td, cellIndex, record, tr, rowIndex, e, eOpts){
  164. window.parent.frames.show_alarm_info(dwtype,
  165. record.data.status,
  166. record.data.id,
  167. record.data.name,
  168. record.data.device_code,
  169. record.data.company_code,
  170. record.data.company_name,
  171. record.data.fullname,
  172. record.data.time,
  173. record.data.data,
  174. record.data.data2,
  175. record.data.clzt,
  176. record.data.clwb,
  177. record.data.clr_name,
  178. record.data.clnr,
  179. record.data.clsj);
  180. }
  181. }
  182. });
  183. myStore.reload();
  184. body_resize();
  185. });