inspectionrecord.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361
  1. /**
  2. * inspectionrecord.js
  3. * 巡检点工作记录管理界面
  4. * emial: yaoqiang@chinausky.com
  5. * create: 2018-12-08
  6. */
  7. Ext.Loader.setConfig({
  8. enabled: true
  9. });
  10. Ext.Loader.setPath('Ext.ux', '../../res/extjs/examples/ux');
  11. Ext.require([
  12. 'Ext.grid.*',
  13. 'Ext.data.*',
  14. 'Ext.ux.RowExpander',
  15. 'Ext.selection.CheckboxModel'
  16. ]);
  17. var sm = Ext.create('Ext.selection.CheckboxModel');
  18. Ext.define('InspectionRecord',{
  19. extend: 'Ext.data.Model',
  20. fields: [
  21. {name:'id', type:'string'},
  22. // {name:'personnel', type:'string'},
  23. // {name:'route', type:'string'},
  24. {name:'inspection_time', type:'string'},
  25. // {name:'point_position', type:'string'},
  26. {name:'xjzt', type:'string'},
  27. {name:'qk', type:'string'},
  28. {name:'equipment_id', type:'string'},
  29. {name:'xj_name', type:'string'},
  30. {name:'analysis_content', type:'string'},
  31. {name:'name', type:'string'},
  32. {name:'route_name', type:'string'},
  33. ]
  34. });
  35. Ext.onReady(function(){
  36. var baseUrl = document.getElementById('basePath').value;
  37. var theme = document.getElementById('theme').value;
  38. var chkIcon = '<img src="'+baseUrl+'res/img/common/check.gif"/>'
  39. var unchkIcon = '<img src="'+baseUrl+'res/img/common/uncheck.gif"/>'
  40. var countPerPage = 20;
  41. var maxHeight = 10000;
  42. var chkBoolean = function(flag) {
  43. if(flag)
  44. return chkIcon;
  45. return unchkIcon;
  46. }
  47. var myStore = Ext.create('Ext.data.Store', {
  48. model: 'InspectionRecord',
  49. pageSize: countPerPage,
  50. proxy: {
  51. type: 'ajax',
  52. url: baseUrl+'iot/inspectionrecord/getList1',
  53. reader: {
  54. type: 'json',
  55. root: 'RESULT',
  56. totalProperty: 'totalCount'
  57. }
  58. },
  59. remoteSort: true
  60. });
  61. var states1 = Ext.create('Ext.data.Store', {
  62. fields: ['status', 'name'],
  63. data : [
  64. {"status":"全选", "name":"全选"},
  65. {"status":"正常", "name":"正常"},
  66. {"status":"异常", "name":"异常"},
  67. {"status":"故障", "name":"故障"},
  68. ]
  69. });
  70. //筛选
  71. var clear_filter_form = function(){
  72. Ext.getCmp('ff_name').setValue("");
  73. Ext.getCmp('ff_xj_name').setValue("");
  74. Ext.getCmp('ff_equipment_id').setValue("");
  75. Ext.getCmp('ff_analysis_content').setValue("");
  76. Ext.getCmp('ff_route_name').setValue("");
  77. // Ext.getCmp('ff_personnel').setValue("");
  78. // Ext.getCmp('ff_route').setValue("");
  79. // Ext.getCmp('ff_point_position').setValue("");
  80. Ext.getCmp('ff_xjzt').setValue("");
  81. // Ext.getCmp('ff_qk').setValue("");
  82. Ext.getCmp('ff_inspection_time').setValue("");
  83. }
  84. var FilterWin = Ext.create('Ext.form.Panel', {
  85. id: 'InspectionRecordFilterForm',
  86. labelWidth: 55,
  87. defaultType: 'textfield',
  88. bodyPadding: 15,
  89. items: [{
  90. fieldLabel:'巡检人',
  91. id: 'ff_name',
  92. name:'name',
  93. maxLength:30,
  94. maxLengthText:'长度不得超出{0}',
  95. value : document.getElementById('name').value,
  96. anchor:'75%'
  97. },{
  98. fieldLabel:'巡检点名称',
  99. id:'ff_xj_name',
  100. name:'xj_name',
  101. maxLength: 50,
  102. maxLengthText:'长度不得超出{0}',
  103. value : document.getElementById('xj_name').value,
  104. anchor:'75%'
  105. },{
  106. fieldLabel:'巡检点对应的设备',
  107. id: 'ff_equipment_id',
  108. name: 'equipment_id',
  109. maxLength: 250,
  110. maxLengthText:'长度不得超出{0}',
  111. value : document.getElementById('equipment_id').value,
  112. anchor:'95%'
  113. },{
  114. fieldLabel:'巡检标签',
  115. id: 'ff_analysis_content',
  116. name: 'analysis_content',
  117. maxLength: 250,
  118. maxLengthText:'长度不得超出{0}',
  119. value : document.getElementById('analysis_content').value,
  120. anchor:'95%'
  121. },{
  122. fieldLabel:'巡检路线名称',
  123. id: 'ff_route_name',
  124. name: 'route_name',
  125. maxLength: 250,
  126. maxLengthText:'长度不得超出{0}',
  127. value : document.getElementById('route_name').value,
  128. anchor:'95%'
  129. },
  130. // {
  131. // fieldLabel:'巡检人',
  132. // id: 'ff_personnel',
  133. // name:'personnel',
  134. // maxLength:20,
  135. // maxLengthText:'长度不得超出{0}',
  136. // value : document.getElementById('personnel').value,
  137. // anchor:'75%'
  138. // },{
  139. // fieldLabel:'巡检路线',
  140. // id:'ff_route',
  141. // name:'route',
  142. // maxLength: 250,
  143. // maxLengthText:'长度不得超出{0}',
  144. // value : document.getElementById('route').value,
  145. // editable : false
  146. // },{
  147. // fieldLabel:'巡检标签',
  148. // id: 'ff_point_position',
  149. // name: 'point_position',
  150. // maxLength: 250,
  151. // maxLengthText:'长度不得超出{0}',
  152. // value : document.getElementById('point_position').value,
  153. // anchor:'95%'
  154. // },
  155. // {
  156. // fieldLabel:'巡检状态',
  157. // id:'ff_xjzt',
  158. // name:'xjzt',
  159. // maxLength: 250,
  160. // maxLengthText:'长度不得超出{0}',
  161. // value : document.getElementById('xjzt').value,
  162. // editable : false
  163. // }
  164. {
  165. fieldLabel:'巡检状态',
  166. id:'ff_xjzt',
  167. name:'xjzt',
  168. xtype:'combo',
  169. store:states1,
  170. displayField : 'name',
  171. valueField : 'status',
  172. value : "全选",
  173. editable : false
  174. },{
  175. fieldLabel:'巡检时间',
  176. id:'ff_inspection_time',
  177. name:'inspection_time',
  178. maxLength: 250,
  179. maxLengthText:'长度不得超出{0}',
  180. value : document.getElementById('inspection_time').value,
  181. editable : false
  182. },
  183. // {
  184. // fieldLabel:'巡检情况报说明',
  185. // id:'ff_qk',
  186. // name:'qk',
  187. // xtype: 'textareafield',
  188. // maxLength: 250,
  189. // maxLengthText:'长度不得超出{0}',
  190. // value : document.getElementById('qk').value,
  191. // anchor:'100%',
  192. // editable : false
  193. // },
  194. {
  195. id:'ff_queryJson',
  196. name:'queryJson',
  197. hidden:true
  198. }],
  199. buttons: [{
  200. text: '提交',
  201. iconCls:'ok_btn',
  202. handler: function() {
  203. var form = this.up('form').getForm();
  204. if (form.isValid()) {
  205. var query = new Object();
  206. if(Ext.getCmp('ff_name').getValue().length>0)
  207. query.name = Ext.getCmp('ff_name').getValue();
  208. if(Ext.getCmp('ff_xj_name').getValue().length>0)
  209. query.xj_name = Ext.getCmp('ff_xj_name').getValue();
  210. if(Ext.getCmp('ff_equipment_id').getValue().length>0)
  211. query.equipment_id = Ext.getCmp('ff_equipment_id').getValue();
  212. if(Ext.getCmp('ff_analysis_content').getValue().length>0)
  213. query.analysis_content = Ext.getCmp('ff_analysis_content').getValue();
  214. if(Ext.getCmp('ff_route_name').getValue().length>0)
  215. query.route_name = Ext.getCmp('ff_route_name').getValue();
  216. // if(Ext.getCmp('ff_personnel').getValue().length>0)
  217. // query.personnel = Ext.getCmp('ff_personnel').getValue();
  218. // if(Ext.getCmp('ff_route').getValue().length>0)
  219. // query.route = Ext.getCmp('ff_route').getValue();
  220. // if(Ext.getCmp('ff_point_position').getValue().length>0)
  221. // query.point_position = Ext.getCmp('ff_point_position').getValue();
  222. if(Ext.getCmp('ff_xjzt').getValue().length>0){
  223. // query.xjzt = Ext.getCmp('ff_xjzt').getValue();
  224. if(Ext.getCmp('ff_xjzt').getValue()=="正常") {
  225. query.xjzt = "0";
  226. }else if(Ext.getCmp('ff_xjzt').getValue()=="异常") {
  227. query.xjzt = "1";
  228. }else if(Ext.getCmp('ff_xjzt').getValue()=="故障") {
  229. query.xjzt = "2";
  230. }else if(Ext.getCmp('ff_xjzt').getValue()=="全选") {
  231. // query.xjzt = null;
  232. }
  233. }
  234. // if(Ext.getCmp('ff_qk').getValue().length>0)
  235. // query.qk = Ext.getCmp('ff_qk').getValue();
  236. if(Ext.getCmp('ff_inspection_time').getValue().length>0)
  237. query.inspection_time = Ext.getCmp('ff_inspection_time').getValue();
  238. var jsonstr = Ext.JSON.encode(query);
  239. myStore.getProxy().extraParams = {
  240. queryJson : jsonstr
  241. };
  242. Ext.getCmp('InspectionRecordListPageToolbar').moveFirst();
  243. Ext.getCmp('name').setValue(query.name);
  244. Ext.getCmp('xj_name').setValue(query.xj_name);
  245. Ext.getCmp('equipment_id').setValue(query.equipment_id);
  246. Ext.getCmp('analysis_content').setValue(query.analysis_content);
  247. Ext.getCmp('route_name').setValue(query.route_name);
  248. // Ext.getCmp('personnel').setValue(query.personnel);
  249. // Ext.getCmp('route').setValue(query.route);
  250. // Ext.getCmp('point_position').setValue(query.point_position);
  251. Ext.getCmp('xjzt').setValue(query.xjzt);
  252. // Ext.getCmp('qk').setValue(query.qk);
  253. Ext.getCmp('inspection_time').setValue(query.inspection_time);
  254. // myStore.reload();
  255. clear_filter_form();
  256. this.up('window').hide();
  257. }
  258. }
  259. },{
  260. text: '关闭',
  261. iconCls: 'cancel_btn',
  262. handler: function() {
  263. this.up('window').hide();
  264. }
  265. }]
  266. });
  267. var filterwin = function() {
  268. Ext.create('Ext.window.Window',{
  269. title: '筛选',
  270. height: 400,
  271. width: 400,
  272. layout: 'fit',
  273. items: FilterWin,
  274. closeAction: 'hide'
  275. }).show();
  276. }
  277. Ext.create('Ext.grid.Panel', {
  278. title: '巡检点工作记录',
  279. id: 'InspectionRecordListPanel',
  280. store: myStore,
  281. selModel: sm,
  282. columns: [
  283. //{ header: 'ID', dataIndex: 'UQ_POINT_ID',hidden:true, menuDisabled:true },
  284. { header: 'ID', dataIndex: 'id', width:40, menuDisabled:true },
  285. { header: '巡检点名称', dataIndex: 'xj_name', width:120,align:'center', menuDisabled:true },
  286. { header: '巡检点对应设备', dataIndex: 'equipment_id', width:120,align:'center', menuDisabled:true },
  287. { header: '巡检路线名称', dataIndex: 'route_name', width:160,align:'center', menuDisabled:true },
  288. { header: '巡检标签', dataIndex: 'analysis_content', width:120,align:'center', menuDisabled:true },
  289. { header: '巡检状态', dataIndex: 'xjzt', width:120,align:'center', menuDisabled:true },
  290. { header: '巡检情况说明', dataIndex: 'qk', width:180, menuDisabled:true },
  291. // { header: '巡检人', dataIndex: 'personnel', width:120,align:'center', menuDisabled:true },
  292. { header: '巡检人', dataIndex: 'name', width:120,align:'center', menuDisabled:true },
  293. // { header: '巡检路线', dataIndex: 'route', width:160,align:'center', menuDisabled:true },
  294. // { header: '巡检标签', dataIndex: 'point_position', width:120,align:'center', menuDisabled:true },
  295. { header: '巡检时间', dataIndex: 'inspection_time', width:160,align:'center', menuDisabled:true },
  296. ],
  297. columnLines: true,
  298. tbar: [
  299. {
  300. xtype: 'button',
  301. iconCls:'filter_btn',
  302. text: '筛选',
  303. listeners: {
  304. click: filterwin
  305. }
  306. },'-',
  307. {xtype: 'tbfill'},'-',
  308. ],
  309. height: maxHeight,
  310. width: '100%',
  311. bbar: new Ext.PagingToolbar({
  312. store: myStore,
  313. id:'InspectionRecordListPageToolbar',
  314. displayInfo: true,
  315. pageSize: countPerPage,
  316. prependButtons: true,
  317. displayMsg : '显示第 {0}条到 {1}条记录,总共 {2}条',
  318. emptyMsg : "没有记录",
  319. firstText: '第一页',
  320. prevText: '前一页',
  321. nextText: '后一页',
  322. lastText: '最后一页',
  323. refreshText: '刷新',
  324. // doRefresh:function(start){
  325. // alert(start);
  326. // relushDataFunction(start); // 调用函数刷新数据
  327. // this.cursor = start; // 更新页签
  328. // }
  329. }),
  330. frame: true,
  331. border:false,
  332. iconCls: 'icon-grid',
  333. renderTo: Ext.getBody()
  334. });
  335. myStore.reload();
  336. maxHeight = document.documentElement.clientHeight;
  337. Ext.getCmp('InspectionRecordListPanel').setHeight(maxHeight);
  338. });