companyxx.js 34 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126
  1. /**
  2. * patrolplan.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. //var sm1 = Ext.create('Ext.selection.CheckboxModel');
  19. var menuidx = '';
  20. var mouseon;
  21. var mouseoff;
  22. var menu_click;
  23. var AllSelectedRecords = [];
  24. var sm1;
  25. var initflag = false;
  26. Ext.define('companyxx',{
  27. extend: 'Ext.data.Model',
  28. fields: [
  29. {name:'id', type:'string'},
  30. {name:'xh', type:'int'},
  31. {name:'username', type:'string'},
  32. {name:'bjhm', type:'string'},
  33. {name:'bjxh', type:'string'},
  34. {name:'zed', type:'string'},
  35. {name:'krq', type:'string'},
  36. {name:'jrq', type:'string'},
  37. {name:'pzlb', type:'string'},
  38. {name:'zq', type:'string'},
  39. {name:'sbtype', type:'string'},
  40. {name:'sbtype_name_list', type:'string'},
  41. {name:'company_name', type:'string'},
  42. {name:'name', type:'string'},
  43. {name:'czccs', type:'int'},
  44. ]
  45. });
  46. var body_resize = function(){
  47. maxHeight = document.documentElement.clientHeight;
  48. maxWidth = document.documentElement.clientWidth;
  49. Ext.getCmp('PatrolPlanPiebar').setHeight(maxHeight);
  50. Ext.getCmp('PatrolPlanPiebar').setWidth(maxWidth);
  51. }
  52. Ext.onReady(function(){
  53. var baseUrl = document.getElementById('basePath').value;
  54. var theme = document.getElementById('theme').value;
  55. company_code = document.getElementById('company_code').value;
  56. $("#V_LOGINNAME").val(sessionStorage.getItem('V_LOGINNAME'));
  57. $("#V_PASSWORD").val(sessionStorage.getItem('V_PASSWORD'));
  58. var V_LOGINNAME = $("#V_LOGINNAME").val();
  59. var V_PASSWORD = $("#V_PASSWORD").val();
  60. var chkIcon = '<img src="'+baseUrl+'res/img/common/check.gif"/>'
  61. var unchkIcon = '<img src="'+baseUrl+'res/img/common/uncheck.gif"/>'
  62. var countPerPage = 15;
  63. var maxHeight = 10000;
  64. var chkBoolean = function(flag) {
  65. if(flag)
  66. return chkIcon;
  67. return unchkIcon;
  68. }
  69. var deselect_fun = function(record){
  70. var index = AllSelectedRecords.indexOf(record.get("id"));
  71. if (index > -1) {
  72. AllSelectedRecords.splice(index, 1);
  73. return AllSelectedRecords;
  74. }
  75. }
  76. sm1 = Ext.create('Ext.selection.CheckboxModel',{
  77. mode: "MULTI",
  78. listeners: {
  79. deselect: function (me, record, index, opts) {
  80. if(initflag){
  81. // alert("初始化");
  82. }else{
  83. deselect_fun(record);
  84. }
  85. },
  86. select: function (me, record, index, opts) {
  87. var index = AllSelectedRecords.indexOf(record.get("id"));
  88. if (index > -1) {
  89. return AllSelectedRecords;
  90. }else{
  91. AllSelectedRecords.push(record.get("id"));
  92. return AllSelectedRecords;
  93. }
  94. }
  95. }
  96. });
  97. var queryJson = new Object();
  98. // queryJson.V_LOGINNAME = V_LOGINNAME;
  99. // queryJson.V_PASSWORD = V_PASSWORD;
  100. queryJson.COMMSTATUS = 'NO';
  101. if((company_code!=null)&&(company_code!='null')&&(company_code.length>0))
  102. queryJson.company_code = company_code;
  103. var myStore = Ext.create('Ext.data.Store', {
  104. model: 'companyxx',
  105. pageSize: countPerPage,
  106. proxy: {
  107. type: 'ajax',
  108. url: baseUrl+'iot/pzb/getCompanyxxList',
  109. reader: {
  110. type: 'json',
  111. root: 'RESULT',
  112. totalProperty: 'totalCount'
  113. },
  114. extraParams:{
  115. queryJson:Ext.JSON.encode(queryJson)
  116. }
  117. },
  118. remoteSort: true
  119. });
  120. Ext.define('xhxx',{
  121. extend:'Ext.data.Model',
  122. fields: [
  123. {name:'xh', type:'string'},
  124. {name:'id',type:'int'}
  125. ]
  126. });
  127. var getXhList = Ext.create('Ext.data.Store',{
  128. model: 'xhxx',
  129. proxy: {
  130. type: 'ajax',
  131. actionMethods: {
  132. create : 'POST',
  133. read : 'POST', // by default GET
  134. update : 'POST',
  135. destroy: 'POST'
  136. },
  137. url: baseUrl+'iot/pzb/getXhList',
  138. reader: {
  139. type: 'json',
  140. root: 'RESULT',
  141. totalProperty: 'totalCount'
  142. },
  143. extraParams:{
  144. queryJson:Ext.JSON.encode(queryJson)
  145. }
  146. }
  147. });
  148. var states = Ext.create('Ext.data.Store', {
  149. fields: ['status', 'name'],
  150. data : [
  151. {"status":"0", "name":"天"},
  152. {"status":"1", "name":"月"},
  153. {"status":"2", "name":"年"},
  154. ]
  155. });
  156. var clear_append_form = function (){
  157. Ext.getCmp('fa_company_name').setValue("");
  158. Ext.getCmp('fa_name').setValue("");
  159. Ext.getCmp('fa_bjhm').setValue("");
  160. Ext.getCmp('fa_bjxh').setValue("");
  161. Ext.getCmp('fa_pzlb').setValue("");
  162. Ext.getCmp('fa_lbsl').setValue("");
  163. Ext.getCmp('fa_username').setValue("");
  164. Ext.getCmp('fa_sbtype').setValue("");
  165. Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload();
  166. }
  167. function public_phone(e) {
  168. if (!(/^1(?:3\d|4[4-9]|5[0-35-9]|6[67]|7[013-8]|8\d|9\d)\d{8}$/.test(e))) {
  169. Ext.Msg.alert('提示', '不是完整的11位手机号或者正确的手机号前七位!', function (btn, txt) {
  170. Ext.getCmp('fa_bjhm').setValue('');
  171. Ext.getCmp('fm_bjhm').setValue('');
  172. });
  173. return false;
  174. }
  175. }
  176. var AppendForm = Ext.create('Ext.form.Panel', {
  177. id: 'companyxxAppendForm1',
  178. labelWidth: 55,
  179. url: baseUrl+'iot/pzb/appendCompanyxx',
  180. defaultType: 'textfield',
  181. bodyPadding: 15,
  182. items: [{
  183. fieldLabel:'单位名称',
  184. id: 'fa_company_name',
  185. name:'company_name',
  186. maxLength:20,
  187. maxLengthText:'长度不得超出{0}',
  188. anchor:'75%'
  189. },{
  190. fieldLabel:'责任人姓名',
  191. id: 'fa_name',
  192. name:'name',
  193. maxLength:20,
  194. maxLengthText:'长度不得超出{0}',
  195. anchor:'75%',
  196. listeners: {
  197. change: function (o, e) {
  198. if (e.length > 20) {
  199. Ext.getCmp('fa_Inspectors_name').setValue(e.substring(0, 20));
  200. return;
  201. }
  202. }
  203. }
  204. },{
  205. fieldLabel:'责任人手机号',
  206. id: 'fa_bjhm',
  207. name:'bjhm',
  208. maxLength:20,
  209. maxLengthText:'长度不得超出{0}',
  210. anchor:'75%',
  211. listeners: {
  212. change: function (o, e) {
  213. if (e.length == 11) {
  214. public_phone(e);
  215. } else {
  216. Ext.getCmp('fa_bjhm').setValue(e.substring(0, 11));
  217. e.length == 11 ? public_phone(e) : ''
  218. }
  219. }
  220. }
  221. },{
  222. fieldLabel:'显号',
  223. id:'fa_bjxh',
  224. name:'bjxh',
  225. xtype:'combo',
  226. store:getXhList,
  227. displayField : 'xh',
  228. valueField : 'id',
  229. editable : false,
  230. anchor:'75%'
  231. },{
  232. fieldLabel:'周期',
  233. id:'fa_pzlb',
  234. name:'pzlb',
  235. xtype:'combo',
  236. store:states,
  237. displayField : 'name',
  238. valueField : 'status',
  239. editable : false,
  240. anchor:'75%',
  241. },{
  242. fieldLabel:'周期次数',
  243. id: 'fa_lbsl',
  244. name:'lbsl',
  245. maxLength:20,
  246. maxLengthText:'长度不得超出{0}',
  247. anchor:'75%',
  248. },{
  249. fieldLabel:'用户名',
  250. id: 'fa_username',
  251. name:'username',
  252. maxLength:20,
  253. maxLengthText:'长度不得超出{0}',
  254. anchor:'75%'
  255. },{
  256. xtype: 'checkboxgroup',
  257. fieldLabel: '报警类型',
  258. id:"fa_sbtype",
  259. listeners:{
  260. change:function(gp,nv,ov,eOpts){
  261. var i=0;
  262. if(nv.all && !ov.all){
  263. Ext.getCmp('fa_all_checkbox').setValue(true);
  264. Ext.getCmp('fa_monday_checkbox').setValue(true);
  265. Ext.getCmp('fa_tuesday_checkbox').setValue(true);
  266. Ext.getCmp('fa_wednesday_checkbox').setValue(true);
  267. Ext.getCmp('fa_thursday_checkbox').setValue(true);
  268. Ext.getCmp('fa_friday_checkbox').setValue(true);
  269. Ext.getCmp('fa_saturday_checkbox').setValue(true);
  270. Ext.getCmp('fa_sunday_checkbox').setValue(true);
  271. return true;
  272. }
  273. if(ov.all && !nv.all && nv.monday && nv.tuesday && nv.wednesday && nv.thursday && nv.friday && nv.saturday && nv.sunday){
  274. Ext.getCmp('fa_all_checkbox').setValue(false);
  275. Ext.getCmp('fa_monday_checkbox').setValue(false);
  276. Ext.getCmp('fa_tuesday_checkbox').setValue(false);
  277. Ext.getCmp('fa_wednesday_checkbox').setValue(false);
  278. Ext.getCmp('fa_thursday_checkbox').setValue(false);
  279. Ext.getCmp('fa_friday_checkbox').setValue(false);
  280. Ext.getCmp('fa_saturday_checkbox').setValue(false);
  281. Ext.getCmp('fa_sunday_checkbox').setValue(false);
  282. return true;
  283. }
  284. if(nv.monday && nv.tuesday && nv.wednesday && nv.thursday && nv.friday && nv.saturday && nv.sunday){
  285. Ext.getCmp('fa_all_checkbox').setValue(true);
  286. return true;
  287. }else{
  288. Ext.getCmp('fa_all_checkbox').setValue(false);
  289. return true;
  290. }
  291. }
  292. },
  293. columns: 3,
  294. items: [
  295. {boxLabel: '全选', name: 'all',inputValue:"0",id:"fa_all_checkbox"},
  296. {boxLabel: '火警', name: 'monday',inputValue:"1",id:"fa_monday_checkbox"},
  297. {boxLabel: '消防水', name: 'tuesday',inputValue:"2",id:"fa_tuesday_checkbox"},
  298. {boxLabel: '烟感', name: 'wednesday',inputValue:"3",id:"fa_wednesday_checkbox"},
  299. {boxLabel: '液位', name: 'thursday',inputValue:"5",id:"fa_thursday_checkbox"},
  300. {boxLabel: 'RTU', name: 'friday',inputValue:"6",id:"fa_friday_checkbox"},
  301. {boxLabel: '电气火灾', name: 'saturday',inputValue:"7",id:"fa_saturday_checkbox"},
  302. {boxLabel: '离线', name: 'sunday',inputValue:"8",id:"fa_sunday_checkbox"}
  303. ]},{
  304. id:'fa_Inspectors_queryJson1',
  305. name:'queryJson',
  306. hidden:true
  307. }],
  308. buttons: [{
  309. text: '提交',
  310. iconCls:'ok_btn',
  311. handler: function() {
  312. var form = this.up('form').getForm();
  313. if (form.isValid()) {
  314. var query = new Object();
  315. // query.V_LOGINNAME = $("#V_LOGINNAME").val();
  316. query.username = Ext.getCmp('fa_username').getValue();
  317. query.bjxh = Ext.getCmp('fa_bjxh').getValue();
  318. query.bjhm = Ext.getCmp('fa_bjhm').getValue();
  319. query.pzlb = Ext.getCmp('fa_pzlb').getValue();
  320. query.lbsl = Ext.getCmp('fa_lbsl').getValue();
  321. query.company_name = Ext.getCmp('fa_company_name').getValue();
  322. query.name = Ext.getCmp('fa_name').getValue();
  323. var sbtypeValue = Ext.getCmp('fa_sbtype').getChecked();
  324. var fa_sbtype1='';
  325. Ext.Array.each(sbtypeValue, function(item){
  326. fa_sbtype1 +=item.inputValue+',';
  327. });
  328. query.sbtype = fa_sbtype1;
  329. var jsonstr = Ext.JSON.encode(query);
  330. Ext.getCmp('fa_Inspectors_queryJson1').setValue(jsonstr);
  331. form.submit({
  332. method:'post',
  333. success:function(form, action) {
  334. Ext.Msg.alert('操作成功', '已保存', function(btn,txt){
  335. clear_append_form();
  336. });
  337. },
  338. failure: function(form, action) {
  339. Ext.Msg.alert('操作失败', action.result.Msg , function(btn,txt){
  340. clear_append_form();
  341. });
  342. }
  343. });
  344. }
  345. }
  346. },{
  347. text: '关闭',
  348. iconCls: 'cancel_btn',
  349. handler: function() {
  350. this.up('window').hide();
  351. clear_append_form
  352. }
  353. }]
  354. });
  355. var appendwin = function(){
  356. var zfappendwin = Ext.getCmp('zfappendwin1');
  357. if(zfappendwin==undefined)
  358. Ext.create('Ext.window.Window', {
  359. id:'zfappendwin1',
  360. title: '新增',
  361. height: 400,
  362. width: 450,
  363. modal: true,
  364. layout: 'fit',
  365. items: AppendForm,
  366. closeAction: 'hide'
  367. }).show();
  368. else
  369. zfappendwin.show();
  370. }
  371. var del_sm = function() {
  372. if(sm.getCount()==1){
  373. var selected = sm.getSelection( );
  374. var query = new Object();
  375. var list = new Array();
  376. var o = new Object();
  377. o.id = selected[0].raw.id;
  378. list.push(o);
  379. query.ID_LIST = list;
  380. var jsonstr= Ext.JSON.encode(query);
  381. Ext.MessageBox.confirm('注销单位信息','是否注销'+selected[0].raw.username+' 单位信息?',function(btn){
  382. if(btn=='yes'){
  383. $.ajax({
  384. type:'POST',
  385. url: baseUrl+"iot/pzb/delCompanyxx",
  386. data: {
  387. queryJson : jsonstr
  388. },
  389. success: function(result){
  390. var json = eval('(' + result + ')');
  391. if(json.action=='deleteCompanyxx'){
  392. if(json.success==true){
  393. Ext.Msg.alert('操作成功', json.MSG , function(btn,txt){
  394. // Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload();
  395. Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload();
  396. });
  397. }else{
  398. Ext.Msg.alert('操作失败', json.MSG , function(btn,txt){
  399. Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload();
  400. });
  401. }
  402. }
  403. }
  404. });
  405. }
  406. },this);
  407. }else{
  408. if(sm.getCount()>1){
  409. var query = new Object();
  410. var list = new Array();
  411. for(var i=0;i<sm.getCount();i++){
  412. var selected = sm.getSelection( );
  413. var o = new Object();
  414. o.id = selected[i].raw.id;
  415. list.push(o);
  416. }
  417. query.ID_LIST = list;
  418. var jsonstr= Ext.JSON.encode(query);
  419. Ext.MessageBox.confirm('注销单位信息','是否注销选中的'+sm.getCount()+' 个单位信息?',function(btn){
  420. if(btn=='yes'){
  421. $.ajax({
  422. type:'POST',
  423. url: baseUrl+"iot/pzb/delCompanyxx",
  424. data: {
  425. queryJson : jsonstr
  426. },
  427. success: function(result){
  428. var json = eval('(' + result + ')');
  429. if(json.action=='deleteCompanyxx'){
  430. if(json.success==true){
  431. Ext.Msg.alert('操作成功', json.MSG , function(btn,txt){
  432. Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload();
  433. });
  434. }else{
  435. Ext.Msg.alert('操作失败', json.MSG , function(btn,txt){
  436. Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload();
  437. });
  438. }
  439. }
  440. }
  441. });
  442. }
  443. },this);
  444. }else{
  445. Ext.Msg.alert('请先选择','至少选择一条记录,再点击删除');
  446. }
  447. }
  448. }
  449. var show_page = function(){
  450. var company_name = document.getElementById('companyxx_title2_input').value;
  451. var name = document.getElementById('companyxx_title3_input1').value;
  452. var bjhm = document.getElementById('companyxx_title88_input1').value;
  453. var bjxh = document.getElementById('companyxx_title89_input1').value;
  454. // alert(company_name);
  455. var query = new Object();
  456. if(company_name.length>0){
  457. query.company_name = company_name;
  458. $("#company_name").val(company_name);
  459. }
  460. if(name.length>0){
  461. query.name = name;
  462. $("#name").val(name);
  463. }
  464. if(bjhm.length>0){
  465. query.bjhm = bjhm;
  466. $("#bjhm").val(bjhm);
  467. }
  468. if(bjxh.length>0){
  469. query.bjxh = bjxh;
  470. $("#bjxh").val(bjxh);
  471. }
  472. // query.V_LOGINNAME = V_LOGINNAME;
  473. // query.V_PASSWORD = V_PASSWORD;
  474. var jsonstr = Ext.JSON.encode(query);
  475. myStore.getProxy().extraParams = {
  476. queryJson : jsonstr
  477. };
  478. Ext.getCmp('PatrolPlanListPageToolbar').moveFirst();
  479. }
  480. var reset1 = function(){
  481. document.getElementById('companyxx_title2_input').value = '';
  482. document.getElementById('companyxx_title3_input1').value = '';
  483. document.getElementById('companyxx_title88_input1').value = '';
  484. document.getElementById('companyxx_title89_input1').value = '';
  485. $("#company_name").val('');
  486. $("#name").val('');
  487. $("#bjxh").val('');
  488. $("#bjhm").val('');
  489. show_page();
  490. }
  491. mouseon = function(obj){
  492. var id = obj.id;
  493. $("#"+id).removeClass(id);
  494. $("#"+id).addClass(id+'_on');
  495. }
  496. mouseoff = function(obj){
  497. var mid = "companyxx_";
  498. for(var i=1;i<6;i++){
  499. var id = "companyxx_title"+i+"_div";
  500. $("#"+id).removeClass(id+'_on');
  501. $("#"+id).addClass(id);
  502. }
  503. if(menuidx=='m1'){
  504. mid += 'title1_div';
  505. $("#"+mid).removeClass(mid);
  506. $("#"+mid).addClass(mid+'_on');
  507. }
  508. else if(menuidx=='m2'){
  509. mid += 'title2_div';
  510. $("#"+mid).removeClass(mid);
  511. $("#"+mid).addClass(mid+'_on');
  512. }
  513. else if(menuidx=='m3'){
  514. mid += 'title3_div';
  515. $("#"+mid).removeClass(mid);
  516. $("#"+mid).addClass(mid+'_on');
  517. }
  518. else if(menuidx=='m4'){
  519. mid += 'title4_div';
  520. $("#"+mid).removeClass(mid);
  521. $("#"+mid).addClass(mid+'_on');
  522. }
  523. else if(menuidx=='m5'){
  524. mid += 'title5_div';
  525. $("#"+mid).removeClass(mid);
  526. $("#"+mid).addClass(mid+'_on');
  527. }
  528. }
  529. menu_click = function(obj){
  530. var id = obj.id;
  531. if(id=='companyxx_title1_div'){
  532. menuidx = 'm1';
  533. show_page();
  534. }
  535. else if(id=='companyxx_title2_div'){
  536. menuidx = 'm2';
  537. reset1();
  538. }
  539. else if(id=='companyxx_title3_div'){
  540. menuidx = 'm3';
  541. del_sm();
  542. }
  543. else if(id=='companyxx_title4_div'){
  544. menuidx = 'm4';
  545. appendwin();
  546. }
  547. else if(id=='companyxx_title5_div'){
  548. menuidx = 'm5';
  549. chk_sm();
  550. }
  551. }
  552. var piedarHtml = function() {
  553. var maintenancePlanHtml = document.getElementById('patrolPlanHtml');
  554. var divhiddle = document.createElement('div');
  555. divhiddle.id='pzd_div_1';
  556. divhiddle.setAttribute('class','pzdHandleHtml3DivHiddle');
  557. maintenancePlanHtml.appendChild(divhiddle);
  558. var title = document.createElement('div');
  559. title.setAttribute('class','companyxx_Title');
  560. title.innerHTML='参数配置';
  561. maintenancePlanHtml.appendChild(title);
  562. var title2 = document.createElement('div');
  563. title2.setAttribute('class','companyxx1_title2_div');
  564. title2.innerHTML='单位名称';
  565. maintenancePlanHtml.appendChild(title2);
  566. var input = document.createElement('input');
  567. input.setAttribute('class','companyxx_input_class');
  568. input.setAttribute('id','companyxx_title2_input');
  569. input.setAttribute('type','text');
  570. input.setAttribute('value','');
  571. maintenancePlanHtml.appendChild(input);
  572. var title3 = document.createElement('div');
  573. title3.setAttribute('class','companyxx1_title3_div');
  574. title3.innerHTML='责任人';
  575. maintenancePlanHtml.appendChild(title3);
  576. var input66 = document.createElement('input');
  577. input66.setAttribute('class','companyxx_input1_class');
  578. input66.setAttribute('id','companyxx_title3_input1');
  579. input66.setAttribute('type','text');
  580. input66.setAttribute('value','');
  581. maintenancePlanHtml.appendChild(input66);
  582. var title88 = document.createElement('div');
  583. title88.setAttribute('class','companyxx_title88_div');
  584. title88.innerHTML='责任人手机号';
  585. maintenancePlanHtml.appendChild(title88);
  586. var input88 = document.createElement('input');
  587. input88.setAttribute('class','companyxx_input88_class');
  588. input88.setAttribute('id','companyxx_title88_input1');
  589. input88.setAttribute('type','text');
  590. input88.setAttribute('value','');
  591. maintenancePlanHtml.appendChild(input88);
  592. var title89 = document.createElement('div');
  593. title89.setAttribute('class','companyxx_title89_div');
  594. title89.innerHTML='显号';
  595. maintenancePlanHtml.appendChild(title89);
  596. var select = document.createElement('select');
  597. select.setAttribute('class','xhinput1_class');
  598. select.setAttribute('id','companyxx_title89_input1');
  599. maintenancePlanHtml.appendChild(select);
  600. var option2 = document.createElement('option');
  601. option2.innerHTML='所有';
  602. option2.setAttribute('value','0');
  603. select.appendChild(option2);
  604. for(var i=0;i<ConfirmStore.length;i++){
  605. var option3 = document.createElement('option');
  606. option3.innerHTML=ConfirmStore[i].xh;
  607. option3.setAttribute('value',ConfirmStore[i].id);
  608. select.appendChild(option3);
  609. }
  610. var title4 = document.createElement('div');
  611. title4.setAttribute('class','companyxx_title1_div');
  612. title4.setAttribute('id','companyxx_title1_div');
  613. title4.setAttribute('onmouseover',"mouseon(this)");
  614. title4.setAttribute('onmouseout',"mouseoff(this)");
  615. title4.setAttribute('onclick',"menu_click(this)");
  616. maintenancePlanHtml.appendChild(title4);
  617. var title5 = document.createElement('div');
  618. title5.setAttribute('class','companyxx_title2_div');
  619. title5.setAttribute('id','companyxx_title2_div');
  620. title5.setAttribute('onmouseover',"mouseon(this)");
  621. title5.setAttribute('onmouseout',"mouseoff(this)");
  622. title5.setAttribute('onclick',"menu_click(this)");
  623. maintenancePlanHtml.appendChild(title5);
  624. var title7 = document.createElement('div');
  625. title7.setAttribute('class','companyxx_title3_div');
  626. title7.setAttribute('id','companyxx_title3_div');
  627. title7.setAttribute('onmouseover',"mouseon(this)");
  628. title7.setAttribute('onmouseout',"mouseoff(this)");
  629. title7.setAttribute('onclick',"menu_click(this)");
  630. maintenancePlanHtml.appendChild(title7);
  631. var title8 = document.createElement('div');
  632. title8.setAttribute('class','companyxx_title4_div');
  633. title8.setAttribute('id','companyxx_title4_div');
  634. title8.setAttribute('onmouseover',"mouseon(this)");
  635. title8.setAttribute('onmouseout',"mouseoff(this)");
  636. title8.setAttribute('onclick',"menu_click(this)");
  637. maintenancePlanHtml.appendChild(title8);
  638. var title9 = document.createElement('div');
  639. title9.setAttribute('class','companyxx_title5_div');
  640. title9.setAttribute('id','companyxx_title5_div');
  641. title9.setAttribute('onmouseover',"mouseon(this)");
  642. title9.setAttribute('onmouseout',"mouseoff(this)");
  643. title9.setAttribute('onclick',"menu_click(this)");
  644. maintenancePlanHtml.appendChild(title9);
  645. }
  646. var piedarHtml_fun = function(){
  647. var query = new Object();
  648. // query.V_LOGINNAME = $("#V_LOGINNAME").val();
  649. $.ajax({
  650. type:'POST',
  651. url: baseUrl+"iot/pzb/getXhList",
  652. data: {
  653. queryJson : Ext.JSON.encode(query)
  654. },
  655. success: function(result){
  656. var json = eval('(' + result + ')');
  657. if(json.action=='getXhList'){
  658. ConfirmStore = json.RESULT;
  659. if(document.getElementById('pzd_div_1')==undefined)
  660. piedarHtml();
  661. }
  662. }
  663. });
  664. }
  665. var states1 = Ext.create('Ext.data.Store', {
  666. fields: ['pzlb', 'name'],
  667. data : [
  668. {"pzlb":"天", "name":"天"},
  669. {"pzlb":"月", "name":"月"},
  670. {"pzlb":"年", "name":"年"},
  671. ]
  672. });
  673. Ext.define('xhxx',{
  674. extend:'Ext.data.Model',
  675. fields: [
  676. {name:'xh', type:'string'},
  677. {name:'xh',type:'string'}
  678. ]
  679. });
  680. var getXhList2 = Ext.create('Ext.data.Store',{
  681. model: 'xhxx',
  682. proxy: {
  683. type: 'ajax',
  684. actionMethods: {
  685. create : 'POST',
  686. read : 'POST', // by default GET
  687. update : 'POST',
  688. destroy: 'POST'
  689. },
  690. url: baseUrl+'iot/pzb/getXhList',
  691. reader: {
  692. type: 'json',
  693. root: 'RESULT',
  694. totalProperty: 'totalCount'
  695. },
  696. extraParams:{
  697. queryJson:Ext.JSON.encode(queryJson)
  698. }
  699. }
  700. });
  701. var clear_modify_form = function (){
  702. Ext.getCmp('fm_company_name').setValue("");
  703. Ext.getCmp('fm_name').setValue("");
  704. Ext.getCmp('fm_bjxh').setValue("");
  705. Ext.getCmp('fm_bjhm').setValue("");
  706. Ext.getCmp('fm_pzlb').setValue("");
  707. Ext.getCmp('fm_lbsl').setValue("");
  708. Ext.getCmp('fm_sbtype').setValue("");
  709. Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload();
  710. }
  711. var ModifyForm = Ext.create('Ext.form.Panel', {
  712. id: 'InspectorsEditForm',
  713. labelWidth: 55,
  714. url: baseUrl+'iot/pzb/updateCompanyxx',
  715. defaultType: 'textfield',
  716. bodyPadding: 15,
  717. items: [{
  718. fieldLabel:'单位名称',
  719. id: 'fm_company_name',
  720. name:'company_name',
  721. maxLength:20,
  722. maxLengthText:'长度不得超出{0}',
  723. anchor:'75%'
  724. },{
  725. fieldLabel:'责任人姓名',
  726. id: 'fm_name',
  727. name:'name',
  728. maxLength:20,
  729. maxLengthText:'长度不得超出{0}',
  730. anchor:'75%',
  731. listeners: {
  732. change: function (o, e) {
  733. if (e.length > 10) {
  734. Ext.Msg.alert('提示', '责任人姓名长度不可超过10个字!', function (btn, txt) {
  735. Ext.getCmp('fm_name').setValue('');
  736. });
  737. return false;
  738. }
  739. }
  740. }
  741. },{
  742. fieldLabel:'责任人手机号',
  743. id: 'fm_bjhm',
  744. name:'bjhm',
  745. maxLength:20,
  746. maxLengthText:'长度不得超出{0}',
  747. anchor:'75%',
  748. listeners: {
  749. change: function (o, e) {
  750. if (e.length == 11) {
  751. public_phone(e);
  752. } else {
  753. Ext.getCmp('fm_bjhm').setValue(e.substring(0, 11));
  754. e.length == 11 ? public_phone(e) : ''
  755. }
  756. }
  757. }
  758. },{
  759. fieldLabel:'显号',
  760. id:'fm_bjxh',
  761. name:'bjxh',
  762. xtype:'combo',
  763. store:getXhList2,
  764. displayField : 'xh',
  765. valueField : 'xh',
  766. editable : false,
  767. anchor:'75%'
  768. },{
  769. fieldLabel:'周期',
  770. id:'fm_pzlb',
  771. name:'pzlb',
  772. xtype:'combo',
  773. store:states1,
  774. displayField : 'name',
  775. valueField : 'pzlb',
  776. editable : false,
  777. anchor:'75%',
  778. },{
  779. fieldLabel:'周期次数',
  780. id: 'fm_lbsl',
  781. name:'lbsl',
  782. maxLength:20,
  783. maxLengthText:'长度不得超出{0}',
  784. anchor:'75%',
  785. },{
  786. xtype: 'checkboxgroup',
  787. fieldLabel: '报警类型',
  788. id:"fm_sbtype",
  789. columns: 3,
  790. items: [
  791. {boxLabel: '火警', name: 'monday',inputValue:"1",id:"fm_monday"},
  792. {boxLabel: '消防水', name: 'tuesday',inputValue:"2",id:"fm_tuesday"},
  793. {boxLabel: '烟感', name: 'wednesday',inputValue:"3",id:"fm_wednesday"},
  794. {boxLabel: '液位', name: 'thursday',inputValue:"5",id:"fm_thursday"},
  795. {boxLabel: 'RTU', name: 'friday',inputValue:"6",id:"fm_friday"},
  796. {boxLabel: '电气火灾', name: 'saturday',inputValue:"7",id:"fm_saturday"},
  797. {boxLabel: '离线', name: 'sunday',inputValue:"8",id:"fm_sunday"}
  798. ]},{
  799. id: 'fm_id',
  800. name:'id',
  801. hidden:true
  802. },{
  803. id:'fm_inspectors_queryJson',
  804. name:'queryJson',
  805. hidden:true
  806. }],
  807. buttons: [{
  808. text: '修改',
  809. iconCls:'ok_btn',
  810. handler: function() {
  811. var form = this.up('form').getForm();
  812. if (form.isValid()) {
  813. var query = new Object();
  814. query.id = Ext.getCmp('fm_id').getValue();
  815. if(Ext.getCmp('fm_pzlb').getValue()=='天'){
  816. query.pzlb = 0;
  817. }else if(Ext.getCmp('fm_pzlb').getValue()=='月'){
  818. query.pzlb = 1;
  819. }else if(Ext.getCmp('fm_pzlb').getValue()=='年'){
  820. query.pzlb = 2;
  821. }
  822. query.lbsl = Ext.getCmp('fm_lbsl').getValue();
  823. var sbtypeValue = Ext.getCmp('fm_sbtype').getChecked();
  824. var fm_sbtype1='';
  825. Ext.Array.each(sbtypeValue, function(item){
  826. fm_sbtype1 +=item.inputValue+',';
  827. });
  828. query.sbtype = fm_sbtype1;
  829. query.company_name = Ext.getCmp('fm_company_name').getValue();
  830. query.bjxh = Ext.getCmp('fm_bjxh').getValue();
  831. query.bjhm = Ext.getCmp('fm_bjhm').getValue();
  832. //
  833. query.name = Ext.getCmp('fm_name').getValue();
  834. var jsonstr = Ext.JSON.encode(query);
  835. Ext.getCmp('fm_inspectors_queryJson').setValue(jsonstr);
  836. form.submit({
  837. method:'post',
  838. success: function(form, action) {
  839. Ext.Msg.alert('操作成功', '已修改', function(btn,txt){
  840. clear_modify_form();
  841. });
  842. },
  843. failure: function(form, action) {
  844. Ext.Msg.alert('操作失败', action.Msg , function(btn,txt){
  845. clear_modify_form();
  846. });
  847. }
  848. });
  849. this.up('window').hide();
  850. }
  851. }
  852. },{
  853. text: '关闭',
  854. iconCls: 'cancel_btn',
  855. handler: function() {
  856. this.up('window').hide();
  857. clear_modify_form();
  858. }
  859. }]
  860. });
  861. var modifywin = function(){
  862. Ext.create('Ext.window.Window', {
  863. title: '修改',
  864. height: 400,
  865. width: 450,
  866. modal: true,
  867. layout: 'fit',
  868. items: ModifyForm,
  869. closeAction: 'hide'
  870. }).show();
  871. }
  872. var chk_sm = function() {
  873. if(sm.getCount()==1){
  874. modifywin();;
  875. var selected = sm.getSelection( );
  876. Ext.getCmp('fm_id').setValue(selected[0].raw.id);
  877. Ext.getCmp('fm_company_name').setValue(selected[0].raw.company_name);
  878. Ext.getCmp('fm_name').setValue(selected[0].raw.name);
  879. Ext.getCmp('fm_bjxh').setValue(selected[0].raw.bjxh);
  880. Ext.getCmp('fm_bjhm').setValue(selected[0].raw.bjhm);
  881. Ext.getCmp('fm_pzlb').setValue(selected[0].raw.pzlb_name);
  882. Ext.getCmp('fm_lbsl').setValue(selected[0].raw.lbsl);
  883. var a = selected[0].raw.sbtype;
  884. var arr = a.split(",");
  885. for(var i = 0 ;i < arr.length;i++) {
  886. switch(arr[i]) {
  887. case "1":
  888. Ext.getCmp('fm_monday').setValue(true);
  889. break;
  890. case "2":
  891. Ext.getCmp('fm_tuesday').setValue(true);
  892. break;
  893. case "3":
  894. Ext.getCmp('fm_wednesday').setValue(true);
  895. break;
  896. case "5":
  897. Ext.getCmp('fm_thursday').setValue(true);
  898. break;
  899. case "6":
  900. Ext.getCmp('fm_friday').setValue(true);
  901. break;
  902. case "7":
  903. Ext.getCmp('fm_saturday').setValue(true);
  904. break;
  905. case "8":
  906. Ext.getCmp('fm_sunday').setValue(true);
  907. break;
  908. }
  909. }
  910. }else{
  911. Ext.Msg.alert('请先选择','请先选择一条记录,再点击修改');
  912. }
  913. }
  914. var maintenancedevice = function(){
  915. var maintenance_look_device = document.getElementById('patrolplan_look_device');
  916. var img = document.createElement('img');
  917. img.width=400;
  918. img.height=400;
  919. img.src = baseUrl+ConfirmStore[0].picture_route;
  920. img.setAttribute('class','maintenance_look_device_img');
  921. maintenance_look_device.appendChild(img);
  922. var div4 = document.createElement('div');
  923. div4.style.textAlign='center';
  924. div4.innerHTML=ConfirmStore[0].remarks;
  925. maintenance_look_device.appendChild(div4);
  926. }
  927. // var editMaintenance = function(spot_id){
  928. // var spot_id = spot_id;
  929. // Ext.create('Ext.window.Window', {
  930. // id:'patrolplan_data_win1',
  931. // height: 500,
  932. // width: 400,
  933. // layout: 'fit',
  934. // modal:true,
  935. // buttons:[
  936. // {
  937. // text:'关闭',
  938. // handler : function() {
  939. // Ext.getCmp('patrolplan_data_win1').destroy();
  940. // }
  941. // }
  942. // ],
  943. // closeAction:'destroy',
  944. // html:'<div id="patrolplan_look_device"></div>'
  945. // }).show();
  946. // var query = new Object();
  947. // query.V_LOGINNAME = $("#V_LOGINNAME").val();
  948. // query.V_PASSWORD = $("#V_PASSWORD").val();
  949. // query.id = spot_id;
  950. // $.ajax({
  951. // type:'POST',
  952. // url: baseUrl+"iot/inspectionpoints/getList",
  953. // data: {
  954. // queryJson : Ext.JSON.encode(query)
  955. // },
  956. // success: function(result){
  957. // var json = eval('(' + result + ')');
  958. // if(json.action=='getInspectionPointsList'){
  959. // ConfirmStore = json.RESULT;
  960. // maintenancedevice(ConfirmStore);
  961. //
  962. // }
  963. // }
  964. // });
  965. // }
  966. var MaintenancePlanPanel =Ext.create('Ext.grid.Panel', {
  967. header :{
  968. height:0,
  969. border:'0px solid #000000'
  970. },
  971. id: 'PatrolPlanListPanel',
  972. store: myStore,
  973. selModel: sm,
  974. columns: [
  975. { header: '', dataIndex: 'pzlb_name',hidden:true, menuDisabled:true },
  976. { header: '显号ID', dataIndex: 'bjxh_id',hidden:true, menuDisabled:true },
  977. { header: 'ID', dataIndex: 'id',hidden:true, menuDisabled:true },
  978. { header: '序号', dataIndex: 'xh', width:77, menuDisabled:true },
  979. { header: '单位名称', dataIndex: 'company_name', width:190,align:'center', menuDisabled:true },
  980. { header: '责任人姓名', dataIndex: 'name', width:180,align:'center', menuDisabled:true },
  981. { header: '责任人手机是', dataIndex: 'bjhm', width:200,align:'center', menuDisabled:true },
  982. { header: '显号', dataIndex: 'bjxh',width:200, align:'center', menuDisabled:true },
  983. { header: '余额(次数)', dataIndex: 'zed', width:120, align:'center', menuDisabled:true },
  984. { header: '个/时间', dataIndex: 'zq', width:120, align:'center', menuDisabled:true },
  985. { header: '报警类型', dataIndex: 'sbtype_name_list', width:350, align:'center', menuDisabled:true },
  986. ],
  987. columnLines: true,
  988. height: maxHeight,
  989. width: '100%',
  990. bbar: new Ext.PagingToolbar({
  991. store: myStore,
  992. id:'PatrolPlanListPageToolbar',
  993. displayInfo: true,
  994. pageSize: countPerPage,
  995. prependButtons: true,
  996. displayMsg : '显示第 {0}条到 {1}条记录,总共 {2}条',
  997. emptyMsg : "没有记录",
  998. firstText: '第一页',
  999. prevText: '前一页',
  1000. nextText: '后一页',
  1001. lastText: '最后一页',
  1002. refreshText: '刷新',
  1003. }),
  1004. // frame: true,
  1005. border:false,
  1006. iconCls: 'icon-grid'
  1007. // renderTo: Ext.getBody()
  1008. });
  1009. var piebar = Ext.create('Ext.panel.Panel',{
  1010. id:'patrolPlanHtml',
  1011. width:'100%',
  1012. height:188,
  1013. region:'north',
  1014. layout:'form',
  1015. defaults:{
  1016. border:false
  1017. }
  1018. // items: [childPanel1]
  1019. });
  1020. new Ext.create('Ext.panel.Panel',{
  1021. width:'100%',
  1022. id: 'PatrolPlanPiebar',
  1023. layout:'border',
  1024. items:[
  1025. piebar,MaintenancePlanPanel
  1026. ],
  1027. renderTo: Ext.getBody()
  1028. });
  1029. // piedarHtml();
  1030. myStore.reload();
  1031. myStore.addListener('load',function(store,record,opts){
  1032. piedarHtml_fun();
  1033. // if(document.getElementById('pzd_div_1')==undefined)
  1034. // piedarHtml();
  1035. });
  1036. $(window).resize(function(){
  1037. body_resize();
  1038. });
  1039. body_resize();
  1040. });