controlRoom.js 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961
  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('MaintenancePlan',{
  27. extend: 'Ext.data.Model',
  28. fields: [
  29. {name:'id', type:'int'},
  30. {name:'xh', type:'int'},
  31. {name:'control_room_name', type:'string'},
  32. {name:'control_room_person', type:'string'},
  33. {name:'control_room_address', type:'string'},
  34. {name:'control_room_phone', type:'string'},
  35. {name:'company_name', type:'string'},
  36. {name:'company_code', type:'string'}
  37. ]
  38. });
  39. Ext.define('MaintenancePlan1',{
  40. extend: 'Ext.data.Model',
  41. fields: [
  42. {name:'id', type:'string'},
  43. {name:'spot_name', type:'string'},
  44. {name:'spot_address', type:'string'},
  45. {name:'pd', type:'string'},
  46. ]
  47. });
  48. function exportbtn_click(){
  49. baseUrl = document.getElementById('basePath').value;
  50. V_LOGINNAME = $("#V_LOGINNAME").val();
  51. plan_name = document.getElementById('plan_name').value;
  52. person_liable_id = document.getElementById('person_liable_id').value;
  53. var fields = '';
  54. var array = ['xh','plan_name','cycle_name','zxsj','team_name','name'];
  55. var name = ['序号','任务名称','周期','执行日期','执行团队','责任人'];
  56. for(var i=0;i<6;i++){
  57. if(i>0)
  58. fields += ',';
  59. fields += '{id:"'+array[i]+'",title:"'+name[i]+'",shown:"'+true+'"}';
  60. }
  61. var query = new Object();
  62. query.V_LOGINNAME = V_LOGINNAME;
  63. query.plan_name = plan_name;
  64. query.person_liable_id = person_liable_id;
  65. query.EXPORT_FILE = '消控室管理列表';
  66. query.fields = '['+fields+']';
  67. $.ajax({
  68. type:'POST',
  69. url: baseUrl+"iot/excel/view/XjPlanMasterExcel1",
  70. data: {
  71. queryJson : Ext.JSON.encode(query)
  72. },
  73. success: function(result){
  74. var json = eval('(' + result + ')');
  75. if(json.action=='dormExport'){
  76. ConfirmStore = json.RESULT;
  77. var elemIF = document.createElement("iframe");
  78. elemIF.src = baseUrl+json.filename;
  79. elemIF.style.display = "none";
  80. document.body.appendChild(elemIF);
  81. }
  82. }
  83. });
  84. }
  85. var body_resize = function(){
  86. maxHeight = document.documentElement.clientHeight;
  87. maxWidth = document.documentElement.clientWidth;
  88. Ext.getCmp('PatrolPlanPiebar').setHeight(maxHeight);
  89. Ext.getCmp('PatrolPlanPiebar').setWidth(maxWidth);
  90. }
  91. Ext.onReady(function(){
  92. var baseUrl = document.getElementById('basePath').value;
  93. var theme = document.getElementById('theme').value;
  94. company_code = document.getElementById('company_code').value;
  95. $("#V_LOGINNAME").val(sessionStorage.getItem('V_LOGINNAME'));
  96. $("#V_PASSWORD").val(sessionStorage.getItem('V_PASSWORD'));
  97. var V_LOGINNAME = $("#V_LOGINNAME").val();
  98. var V_PASSWORD = $("#V_PASSWORD").val();
  99. var chkIcon = '<img src="'+baseUrl+'res/img/common/check.gif"/>'
  100. var unchkIcon = '<img src="'+baseUrl+'res/img/common/uncheck.gif"/>'
  101. var countPerPage = 15;
  102. var maxHeight = 10000;
  103. var chkBoolean = function(flag) {
  104. if(flag)
  105. return chkIcon;
  106. return unchkIcon;
  107. }
  108. var states1 = Ext.create('Ext.data.Store', {
  109. fields: ['status', 'name'],
  110. data : [
  111. // {"status":-1, "name":"全选"},
  112. {"status":"待开通", "name":"待开通"},
  113. {"status":"已开通", "name":"已开通"},
  114. {"status":"已锁定", "name":"已锁定"},
  115. {"status":"注销", "name":"注销"},
  116. ]
  117. });
  118. var deselect_fun = function(record){
  119. var index = AllSelectedRecords.indexOf(record.get("id"));
  120. if (index > -1) {
  121. AllSelectedRecords.splice(index, 1);
  122. return AllSelectedRecords;
  123. }
  124. }
  125. sm1 = Ext.create('Ext.selection.CheckboxModel',{
  126. mode: "MULTI",
  127. listeners: {
  128. deselect: function (me, record, index, opts) {
  129. if(initflag){
  130. // alert("初始化");
  131. }else{
  132. deselect_fun(record);
  133. }
  134. },
  135. select: function (me, record, index, opts) {
  136. var index = AllSelectedRecords.indexOf(record.get("id"));
  137. if (index > -1) {
  138. return AllSelectedRecords;
  139. }else{
  140. AllSelectedRecords.push(record.get("id"));
  141. return AllSelectedRecords;
  142. }
  143. }
  144. }
  145. });
  146. var clear_append_form = function (){
  147. Ext.getCmp('fa_patrolplan_name').setValue("");
  148. Ext.getCmp('fa_patrol_team_id').setValue("");
  149. // Ext.getCmp('fa_cycle').setValue("");
  150. Ext.getCmp('fa_patrol_start_date').setValue("");
  151. Ext.getCmp('fa_patrol_end_date').setValue("");
  152. Ext.getCmp('fa_patrol_start_time').setValue("");
  153. Ext.getCmp('fa_patrol_end_time').setValue("");
  154. Ext.getCmp('fa_patrol_company_code').setValue("");
  155. // Ext.getCmp('fa_spot_id').setValue("");
  156. AllSelectedRecords=[];
  157. Ext.getCmp('ControlRoomListPageToolbar').getStore().reload();
  158. }
  159. var queryJson = new Object();
  160. queryJson.V_LOGINNAME = V_LOGINNAME;
  161. queryJson.V_PASSWORD = V_PASSWORD;
  162. queryJson.COMMSTATUS = 'NO';
  163. if((company_code!=null)&&(company_code!='null')&&(company_code.length>0))
  164. queryJson.company_code = company_code;
  165. var myStore = Ext.create('Ext.data.Store', {
  166. model: 'MaintenancePlan',
  167. pageSize: countPerPage,
  168. proxy: {
  169. type: 'ajax',
  170. url: baseUrl+'iot/patrolplan/getControlList',
  171. reader: {
  172. type: 'json',
  173. root: 'RESULT',
  174. totalProperty: 'totalCount'
  175. },
  176. extraParams:{
  177. queryJson:Ext.JSON.encode(queryJson)
  178. }
  179. },
  180. remoteSort: true
  181. });
  182. Ext.define('CompanyComboStore',{
  183. extend:'Ext.data.Model',
  184. fields: [
  185. {name:'owner_name', type:'string'},
  186. {name:'owner_id',type:'string'}
  187. ]
  188. });
  189. Ext.define('teamStore',{
  190. extend:'Ext.data.Model',
  191. fields: [
  192. {name:'team_name', type:'string'},
  193. {name:'id',type:'string'}
  194. ]
  195. });
  196. var CompanyStory = Ext.create('Ext.data.Store',{
  197. model: 'CompanyComboStore',
  198. proxy: {
  199. type: 'ajax',
  200. actionMethods: {
  201. create : 'POST',
  202. read : 'POST', // by default GET
  203. update : 'POST',
  204. destroy: 'POST'
  205. },
  206. url: baseUrl+'iot/company/view/getNameList',
  207. reader: {
  208. type: 'json',
  209. root: 'RESULT',
  210. totalProperty: 'totalCount'
  211. },
  212. extraParams:{
  213. queryJson:Ext.JSON.encode(queryJson)
  214. }
  215. }
  216. });
  217. var teamStory = Ext.create('Ext.data.Store',{
  218. model: 'teamStore',
  219. proxy: {
  220. type: 'ajax',
  221. actionMethods: {
  222. create : 'POST',
  223. read : 'POST', // by default GET
  224. update : 'POST',
  225. destroy: 'POST'
  226. },
  227. url: baseUrl+'iot/planteam/getList1',
  228. reader: {
  229. type: 'json',
  230. root: 'RESULT',
  231. totalProperty: 'totalCount'
  232. },
  233. extraParams:{
  234. queryJson:Ext.JSON.encode(queryJson)
  235. }
  236. }
  237. });
  238. var data =Ext.Date.format(new Date(), 'm/d/Y');
  239. var AppendForm = Ext.create('Ext.form.Panel', {
  240. id: 'ControlroomAppendForm',
  241. labelWidth: 150,
  242. url: baseUrl+'iot/patrolplan/appendControl',
  243. defaultType: 'textfield',
  244. bodyPadding: 15,
  245. items: [{
  246. fieldLabel:'消控室名称',
  247. id: 'fa_controlroom_name',
  248. name:'name',
  249. maxLength:40,
  250. maxLengthText:'长度不得超出{0}',
  251. anchor:'90%'
  252. },{
  253. fieldLabel:'消控室负责人',
  254. id: 'fa_controlroom_person',
  255. name:'person',
  256. xtype:'combo',
  257. store:teamStory,
  258. displayField : 'team_name',
  259. valueField : 'id',
  260. editable : false,
  261. anchor:'90%'
  262. },{
  263. fieldLabel:'联系方式',
  264. id: 'fa_controlroom_phone',
  265. name: 'phone',
  266. maxLength: 40,
  267. maxLengthText:'长度不得超出{0}',
  268. anchor:'90%'
  269. },{
  270. xtype:'combo',
  271. fieldLabel:'所属单位',
  272. id: 'fa_controlroom_company_code',
  273. name:'company_code',
  274. displayField : 'owner_name',
  275. valueField : 'owner_id',
  276. editable : false,
  277. store:CompanyStory,
  278. anchor:'90%'
  279. },{
  280. xtype:'textareafield',
  281. grow:true,
  282. height: 80,
  283. id: 'fa_controlroom_address',
  284. name:'address',
  285. fieldLabel:'消控室地址',
  286. maxLength: 50,
  287. maxLengthText:'长度不得超出{0}',
  288. anchor:'90%'
  289. },{
  290. id:'fa_controlroom_queryJson',
  291. name:'queryJson',
  292. hidden:true
  293. }],
  294. buttons: [{
  295. text: '提交',
  296. iconCls:'ok_btn',
  297. handler: function() {
  298. var form = this.up('form').getForm();
  299. if (form.isValid()) {
  300. var query = new Object();
  301. query.V_LOGINNAME = V_LOGINNAME;
  302. query.control_room_name = Ext.getCmp('fa_controlroom_name').getValue();
  303. query.control_room_person = Ext.getCmp('fa_controlroom_person').getValue();
  304. query.control_room_address = Ext.getCmp('fa_controlroom_address').getValue();
  305. query.control_room_phone = Ext.getCmp('fa_controlroom_phone').getValue();
  306. query.company_code = Ext.getCmp('fa_controlroom_company_code').getValue();
  307. var jsonstr = Ext.JSON.encode(query);
  308. Ext.getCmp('fa_controlroom_queryJson').setValue(jsonstr);
  309. form.submit({
  310. method:'post',
  311. success: function(form, action) {
  312. Ext.Msg.alert('操作成功', '已保存', function(btn,txt){
  313. Ext.getCmp('ControlroomAppendForm').getForm().reset();
  314. Ext.getCmp('ControlRoomListPageToolbar').moveFirst();
  315. });
  316. },
  317. failure: function(form, action) {
  318. Ext.Msg.alert('操作失败', action.Msg , function(btn,txt){
  319. });
  320. }
  321. });
  322. }
  323. }
  324. },{
  325. text: '关闭',
  326. iconCls: 'cancel_btn',
  327. handler: function() {
  328. this.up('window').hide();
  329. }
  330. }]
  331. });
  332. var appendwin = function(){
  333. Ext.create('Ext.window.Window', {
  334. title: '新增',
  335. height: 350,
  336. width: 400,
  337. modal: true,
  338. layout: 'fit',
  339. items: AppendForm,
  340. closeAction: 'hide'
  341. }).show();
  342. }
  343. var del_sm = function() {
  344. if(sm.getCount()==1){
  345. var selected = sm.getSelection( );
  346. var query = new Object();
  347. var list = new Array();
  348. var o = new Object();
  349. o.id = selected[0].raw.id;
  350. list.push(o);
  351. query.ID_LIST = list;
  352. var jsonstr= Ext.JSON.encode(query);
  353. Ext.MessageBox.confirm('删除任务信息','是否删除'+selected[0].raw.control_room_name+' 消控室?',function(btn){
  354. if(btn=='yes'){
  355. $.ajax({
  356. type:'POST',
  357. url: baseUrl+"iot/planmaster/del",
  358. data: {
  359. queryJson : jsonstr
  360. },
  361. success: function(result){
  362. var json = eval('(' + result + ')');
  363. if(json.action=='deletePlanMaster'){
  364. if(json.success==true){
  365. Ext.Msg.alert('操作成功', json.MSG , function(btn,txt){
  366. Ext.getCmp('PatrolPlanListPanel').getStore().reload();
  367. });
  368. }else{
  369. Ext.Msg.alert('操作失败', json.MSG , function(btn,txt){
  370. Ext.getCmp('PatrolPlanListPanel').getStore().reload();
  371. });
  372. }
  373. }
  374. }
  375. });
  376. }
  377. },this);
  378. }else{
  379. if(sm.getCount()>1){
  380. var query = new Object();
  381. var list = new Array();
  382. for(var i=0;i<sm.getCount();i++){
  383. var selected = sm.getSelection( );
  384. var o = new Object();
  385. o.id = selected[i].raw.id;
  386. list.push(o);
  387. }
  388. query.ID_LIST = list;
  389. var jsonstr= Ext.JSON.encode(query);
  390. Ext.MessageBox.confirm('删除任务信息','是否删除选中的'+sm.getCount()+' 个巡检任务?',function(btn){
  391. if(btn=='yes'){
  392. $.ajax({
  393. type:'POST',
  394. url: baseUrl+"iot/planmaster/del",
  395. data: {
  396. queryJson : jsonstr
  397. },
  398. success: function(result){
  399. var json = eval('(' + result + ')');
  400. if(json.action=='deletePlanMaster'){
  401. if(json.success==true){
  402. Ext.Msg.alert('操作成功', json.MSG , function(btn,txt){
  403. Ext.getCmp('PatrolPlanListPanel').getStore().reload();
  404. });
  405. }else{
  406. Ext.Msg.alert('操作失败', json.MSG , function(btn,txt){
  407. Ext.getCmp('PatrolPlanListPanel').getStore().reload();
  408. });
  409. }
  410. }
  411. }
  412. });
  413. }
  414. },this);
  415. }else{
  416. Ext.Msg.alert('请先选择','至少选择一条记录,再点击删除');
  417. }
  418. }
  419. }
  420. var clear_modify_form = function (){
  421. Ext.getCmp('fm_controlroom_id').setValue("");
  422. Ext.getCmp('fm_controlroom_address').setValue("");
  423. Ext.getCmp('fm_controlroom_person').setValue("");
  424. // Ext.getCmp('fm_cycle').setValue("");
  425. Ext.getCmp('fm_controlroom_name').setValue("");
  426. Ext.getCmp('fm_controlroom_phone').setValue("");
  427. Ext.getCmp('fm_controlroom_company_code').setValue("");
  428. // Ext.getCmp('fm_spot_id').setValue("");
  429. Ext.getCmp('ControlRoomListPageToolbar').getStore().reload();
  430. }
  431. var show_page = function(){
  432. var maintenancePlan_title2_input = document.getElementById('controlRoom2_input').value;
  433. var maintenancePlan_title3_input1 = document.getElementById('controlRoom3_input1').value;
  434. var query = new Object();
  435. if(maintenancePlan_title2_input.length>0){
  436. query.control_room_name = maintenancePlan_title2_input;
  437. $("#control_room_name").val(maintenancePlan_title2_input);
  438. }
  439. if(maintenancePlan_title3_input1.length>0){
  440. query.control_room_person = maintenancePlan_title3_input1;
  441. $("#control_room_person").val(maintenancePlan_title3_input1);
  442. }
  443. query.V_LOGINNAME = V_LOGINNAME;
  444. query.V_PASSWORD = V_PASSWORD;
  445. var jsonstr = Ext.JSON.encode(query);
  446. myStore.getProxy().extraParams = {
  447. queryJson : jsonstr
  448. };
  449. Ext.getCmp('ControlRoomListPageToolbar').moveFirst();
  450. }
  451. var reset1 = function(){
  452. document.getElementById('controlRoom2_input').value = '';
  453. document.getElementById('controlRoom3_input1').value = '';
  454. $("#plan_name").val('');
  455. $("#person_liable_id").val('');
  456. show_page();
  457. }
  458. mouseon = function(obj){
  459. var id = obj.id;
  460. $("#"+id).removeClass(id);
  461. $("#"+id).addClass(id+'_on');
  462. }
  463. mouseoff = function(obj){
  464. var mid = "controlRoom_";
  465. for(var i=1;i<7;i++){
  466. var id = "controlRoom_title"+i+"_div";
  467. $("#"+id).removeClass(id+'_on');
  468. $("#"+id).addClass(id);
  469. }
  470. if(menuidx=='m1'){
  471. mid += 'title1_div';
  472. $("#"+mid).removeClass(mid);
  473. $("#"+mid).addClass(mid+'_on');
  474. }
  475. else if(menuidx=='m2'){
  476. mid += 'title2_div';
  477. $("#"+mid).removeClass(mid);
  478. $("#"+mid).addClass(mid+'_on');
  479. }
  480. else if(menuidx=='m3'){
  481. mid += 'title3_div';
  482. $("#"+mid).removeClass(mid);
  483. $("#"+mid).addClass(mid+'_on');
  484. }
  485. else if(menuidx=='m4'){
  486. mid += 'title4_div';
  487. $("#"+mid).removeClass(mid);
  488. $("#"+mid).addClass(mid+'_on');
  489. }
  490. else if(menuidx=='m5'){
  491. mid += 'title5_div';
  492. $("#"+mid).removeClass(mid);
  493. $("#"+mid).addClass(mid+'_on');
  494. }
  495. else if(menuidx=='m6'){
  496. mid += 'title6_div';
  497. $("#"+mid).removeClass(mid);
  498. $("#"+mid).addClass(mid+'_on');
  499. }
  500. }
  501. menu_click = function(obj){
  502. var id = obj.id;
  503. if(id=='controlRoom_title1_div'){
  504. menuidx = 'm1';
  505. show_page();
  506. }
  507. else if(id=='controlRoom_title2_div'){
  508. menuidx = 'm2';
  509. reset1();
  510. }
  511. else if(id=='controlRoom_title3_div'){
  512. menuidx = 'm3';
  513. exportbtn_click();
  514. }
  515. else if(id=='controlRoom_title4_div'){
  516. menuidx = 'm4';
  517. del_sm();
  518. }
  519. else if(id=='controlRoom_title5_div'){
  520. menuidx = 'm5';
  521. appendwin();
  522. }
  523. else if(id=='controlRoom_title6_div'){
  524. menuidx = 'm6';
  525. chk_sm();
  526. }
  527. }
  528. var piedarHtml = function() {
  529. var maintenancePlanHtml = document.getElementById('controlRoomHtml');
  530. var divhiddle = document.createElement('div');
  531. divhiddle.id='div26_id_patrolPlanPanel3';
  532. divhiddle.setAttribute('class','SpringHandleHtml3DivHiddle');
  533. maintenancePlanHtml.appendChild(divhiddle);
  534. var title = document.createElement('div');
  535. title.setAttribute('class','MaintenancePersonTitle');
  536. title.innerHTML='消控室管理';
  537. maintenancePlanHtml.appendChild(title);
  538. var title2 = document.createElement('div');
  539. title2.setAttribute('class','title2_div');
  540. title2.innerHTML='消控室名称';
  541. maintenancePlanHtml.appendChild(title2);
  542. var input = document.createElement('input');
  543. input.setAttribute('class','input_class');
  544. input.setAttribute('id','controlRoom2_input');
  545. input.setAttribute('type','text');
  546. input.setAttribute('value','');
  547. maintenancePlanHtml.appendChild(input);
  548. var title3 = document.createElement('div');
  549. title3.setAttribute('class','title3_div');
  550. title3.innerHTML='负责人';
  551. maintenancePlanHtml.appendChild(title3);
  552. // var input1 = document.createElement('input');
  553. // input1.setAttribute('class','input1_class');
  554. // input1.setAttribute('id','maintenancePlan_title3_input1');
  555. // input1.setAttribute('type','text');
  556. // input1.setAttribute('value','');
  557. // maintenancePlanHtml.appendChild(input1);
  558. var select = document.createElement('select');
  559. select.setAttribute('class','input1_class');
  560. select.setAttribute('id','controlRoom3_input1');
  561. maintenancePlanHtml.appendChild(select);
  562. var option2 = document.createElement('option');
  563. option2.innerHTML='所有人';
  564. option2.setAttribute('value','所有人');
  565. select.appendChild(option2);
  566. // for(var i=0;i<ConfirmStore.length;i++){
  567. var option3 = document.createElement('option');
  568. option3.innerHTML='韩锐';
  569. // option3.innerHTML=ConfirmStore[i].name;
  570. // option3.setAttribute('value',ConfirmStore[i].person_liable_id);
  571. option3.setAttribute('value','韩锐');
  572. select.appendChild(option3);
  573. // }
  574. var option4 = document.createElement('option');
  575. option4.innerHTML='韩正义';
  576. option4.setAttribute('value','韩正义');
  577. select.appendChild(option4);
  578. var title4 = document.createElement('div');
  579. title4.setAttribute('class','controlRoom_title1_div');
  580. title4.setAttribute('id','controlRoom_title1_div');
  581. title4.setAttribute('onmouseover',"mouseon(this)");
  582. title4.setAttribute('onmouseout',"mouseoff(this)");
  583. title4.setAttribute('onclick',"menu_click(this)");
  584. maintenancePlanHtml.appendChild(title4);
  585. var title5 = document.createElement('div');
  586. title5.setAttribute('class','controlRoom_title2_div');
  587. title5.setAttribute('id','controlRoom_title2_div');
  588. title5.setAttribute('onmouseover',"mouseon(this)");
  589. title5.setAttribute('onmouseout',"mouseoff(this)");
  590. title5.setAttribute('onclick',"menu_click(this)");
  591. maintenancePlanHtml.appendChild(title5);
  592. var title6 = document.createElement('div');
  593. title6.setAttribute('class','controlRoom_title3_div');
  594. title6.setAttribute('id','controlRoom_title3_div');
  595. title6.setAttribute('onmouseover',"mouseon(this)");
  596. title6.setAttribute('onmouseout',"mouseoff(this)");
  597. title6.setAttribute('onclick',"menu_click(this)");
  598. maintenancePlanHtml.appendChild(title6);
  599. var title7 = document.createElement('div');
  600. title7.setAttribute('class','controlRoom_title4_div');
  601. title7.setAttribute('id','controlRoom_title4_div');
  602. title7.setAttribute('onmouseover',"mouseon(this)");
  603. title7.setAttribute('onmouseout',"mouseoff(this)");
  604. title7.setAttribute('onclick',"menu_click(this)");
  605. maintenancePlanHtml.appendChild(title7);
  606. var title8 = document.createElement('div');
  607. title8.setAttribute('class','controlRoom_title5_div');
  608. title8.setAttribute('id','controlRoom_title5_div');
  609. title8.setAttribute('onmouseover',"mouseon(this)");
  610. title8.setAttribute('onmouseout',"mouseoff(this)");
  611. title8.setAttribute('onclick',"menu_click(this)");
  612. maintenancePlanHtml.appendChild(title8);
  613. var title9 = document.createElement('div');
  614. title9.setAttribute('class','controlRoom_title6_div');
  615. title9.setAttribute('id','controlRoom_title6_div');
  616. title9.setAttribute('onmouseover',"mouseon(this)");
  617. title9.setAttribute('onmouseout',"mouseoff(this)");
  618. title9.setAttribute('onclick',"menu_click(this)");
  619. maintenancePlanHtml.appendChild(title9);
  620. }
  621. var piedarHtml_fun = function(){
  622. var query = new Object();
  623. query.V_LOGINNAME = $("#V_LOGINNAME").val();
  624. $.ajax({
  625. type:'POST',
  626. url: baseUrl+"iot/planteam/getzrrList1",
  627. data: {
  628. queryJson : Ext.JSON.encode(query)
  629. },
  630. success: function(result){
  631. var json = eval('(' + result + ')');
  632. if(json.action=='getPlanTeamList'){
  633. ConfirmStore = json.RESULT;
  634. if(document.getElementById('div26_id_patrolPlanPanel3')==undefined)
  635. piedarHtml();
  636. }
  637. }
  638. });
  639. }
  640. var ModifyForm = Ext.create('Ext.form.Panel', {
  641. id: 'InspectorsEditForm',
  642. labelWidth: 150,
  643. url: baseUrl+'iot/patrolplan/updateControl',
  644. defaultType: 'textfield',
  645. bodyPadding: 15,
  646. items: [{
  647. fieldLabel:'消控室名称',
  648. id: 'fm_controlroom_name',
  649. name:'name',
  650. maxLength:40,
  651. maxLengthText:'长度不得超出{0}',
  652. anchor:'90%'
  653. },{
  654. fieldLabel:'消控室负责人',
  655. id: 'fm_controlroom_person',
  656. name:'person',
  657. xtype:'combo',
  658. store:teamStory,
  659. displayField : 'team_name',
  660. valueField : 'id',
  661. editable : false,
  662. anchor:'90%'
  663. },{
  664. fieldLabel:'联系方式',
  665. id: 'fm_controlroom_phone',
  666. name: 'phone',
  667. maxLength: 40,
  668. maxLengthText:'长度不得超出{0}',
  669. anchor:'90%'
  670. },{
  671. xtype:'combo',
  672. fieldLabel:'所属单位',
  673. id: 'fm_controlroom_company_code',
  674. name:'company_code',
  675. displayField : 'owner_name',
  676. valueField : 'owner_id',
  677. editable : false,
  678. store:CompanyStory,
  679. anchor:'90%'
  680. },{
  681. xtype:'textareafield',
  682. grow:true,
  683. height: 80,
  684. id: 'fm_controlroom_address',
  685. name:'address',
  686. fieldLabel:'消控室地址',
  687. maxLength: 50,
  688. maxLengthText:'长度不得超出{0}',
  689. anchor:'90%'
  690. },{
  691. xtype:'textfield',
  692. id: 'fm_controlroom_id',
  693. name:'id',
  694. hidden:true
  695. },{
  696. id:'fm_controlroom_queryJson',
  697. name:'queryJson',
  698. hidden:true
  699. }],
  700. buttons: [{
  701. text: '修改',
  702. iconCls:'ok_btn',
  703. handler: function() {
  704. var form = this.up('form').getForm();
  705. if (form.isValid()) {
  706. var query = new Object();
  707. query.control_room_name = Ext.getCmp('fm_controlroom_name').getValue();
  708. query.control_room_person = Ext.getCmp('fm_controlroom_person').getValue();
  709. query.control_room_address = Ext.getCmp('fm_controlroom_address').getValue();
  710. query.control_room_phone = Ext.getCmp('fm_controlroom_phone').getValue();
  711. query.company_code = Ext.getCmp('fm_controlroom_company_code').getValue();
  712. query.id = Ext.getCmp('fm_controlroom_id').getValue();
  713. var jsonstr = Ext.JSON.encode(query);
  714. Ext.getCmp('fm_controlroom_queryJson').setValue(jsonstr);
  715. form.submit({
  716. method:'post',
  717. success: function(form, action) {
  718. Ext.Msg.alert('操作成功', '已修改', function(btn,txt){
  719. clear_modify_form();
  720. });
  721. },
  722. failure: function(form, action) {
  723. Ext.Msg.alert('操作失败', action.Msg , function(btn,txt){
  724. clear_modify_form();
  725. });
  726. }
  727. });
  728. this.up('window').hide();
  729. }
  730. }
  731. },{
  732. text: '关闭',
  733. iconCls: 'cancel_btn',
  734. handler: function() {
  735. this.up('window').hide();
  736. clear_modify_form();
  737. }
  738. }]
  739. });
  740. var modifywin = function(){
  741. Ext.create('Ext.window.Window', {
  742. title: '修改',
  743. height: 350,
  744. width: 400,
  745. modal: true,
  746. layout: 'fit',
  747. items: ModifyForm,
  748. closeAction: 'hide'
  749. }).show();
  750. }
  751. var chk_sm = function() {
  752. if(sm.getCount()==1){
  753. modifywin();
  754. teamStory.reload();
  755. CompanyStory.reload();
  756. var selected = sm.getSelection();
  757. Ext.getCmp('fm_controlroom_name').setValue(selected[0].raw.control_room_name);
  758. Ext.getCmp('fm_controlroom_person').setValue(selected[0].raw.control_room_person);
  759. Ext.getCmp('fm_controlroom_phone').setValue(selected[0].raw.control_room_phone);
  760. Ext.getCmp('fm_controlroom_company_code').setValue(selected[0].raw.company_code);
  761. Ext.getCmp('fm_controlroom_address').setValue(selected[0].raw.control_room_address);
  762. Ext.getCmp('fm_controlroom_id').setValue(selected[0].raw.id);
  763. }else{
  764. Ext.Msg.alert('请先选择','请先选择一条记录,再点击修改');
  765. }
  766. }
  767. var maintenancedevice = function(){
  768. var maintenance_look_device = document.getElementById('patrolplan_look_device');
  769. var img = document.createElement('img');
  770. img.width=400;
  771. img.height=400;
  772. img.src = baseUrl+ConfirmStore[0].picture_route;
  773. img.setAttribute('class','maintenance_look_device_img');
  774. maintenance_look_device.appendChild(img);
  775. var div4 = document.createElement('div');
  776. div4.style.textAlign='center';
  777. div4.innerHTML=ConfirmStore[0].remarks;
  778. maintenance_look_device.appendChild(div4);
  779. }
  780. var editMaintenance = function(spot_id){
  781. var spot_id = spot_id;
  782. Ext.create('Ext.window.Window', {
  783. id:'patrolplan_data_win1',
  784. height: 500,
  785. width: 400,
  786. layout: 'fit',
  787. modal:true,
  788. buttons:[
  789. {
  790. text:'关闭',
  791. handler : function() {
  792. Ext.getCmp('patrolplan_data_win1').destroy();
  793. }
  794. }
  795. ],
  796. closeAction:'destroy',
  797. html:'<div id="patrolplan_look_device"></div>'
  798. }).show();
  799. var query = new Object();
  800. query.V_LOGINNAME = $("#V_LOGINNAME").val();
  801. query.V_PASSWORD = $("#V_PASSWORD").val();
  802. query.id = spot_id;
  803. $.ajax({
  804. type:'POST',
  805. url: baseUrl+"iot/inspectionpoints/getList",
  806. data: {
  807. queryJson : Ext.JSON.encode(query)
  808. },
  809. success: function(result){
  810. var json = eval('(' + result + ')');
  811. if(json.action=='getInspectionPointsList'){
  812. ConfirmStore = json.RESULT;
  813. maintenancedevice(ConfirmStore);
  814. }
  815. }
  816. });
  817. }
  818. var MaintenancePlanPanel =Ext.create('Ext.grid.Panel', {
  819. header :{
  820. height:0,
  821. border:'0px solid #000000'
  822. },
  823. id: 'PatrolPlanListPanel',
  824. store: myStore,
  825. selModel: sm,
  826. columns: [
  827. { header: 'ID', dataIndex: 'id',hidden:true, menuDisabled:true },
  828. { header: '单位编号', dataIndex: 'company_code',hidden:true, menuDisabled:true },
  829. { header: '序号', dataIndex: 'xh', width:77, menuDisabled:true },
  830. { header: '所属单位', dataIndex: 'company_name', width:250,align:'center', menuDisabled:true },
  831. { header: '消控室名称', dataIndex: 'control_room_name', width:400,align:'center', menuDisabled:true },
  832. { header: '消控室负责人', dataIndex: 'control_room_person', width:300,align:'center', menuDisabled:true },
  833. { header: '消控室地址', dataIndex: 'control_room_address',width:330, align:'center', menuDisabled:true },
  834. { header: '联系方式', dataIndex: 'control_room_phone', width:280, align:'center', menuDisabled:true },
  835. ],
  836. columnLines: true,
  837. height: maxHeight,
  838. width: '100%',
  839. bbar: new Ext.PagingToolbar({
  840. store: myStore,
  841. id:'ControlRoomListPageToolbar',
  842. displayInfo: true,
  843. pageSize: countPerPage,
  844. prependButtons: true,
  845. displayMsg : '显示第 {0}条到 {1}条记录,总共 {2}条',
  846. emptyMsg : "没有记录",
  847. firstText: '第一页',
  848. prevText: '前一页',
  849. nextText: '后一页',
  850. lastText: '最后一页',
  851. refreshText: '刷新',
  852. }),
  853. // frame: true,
  854. border:false,
  855. iconCls: 'icon-grid'
  856. // renderTo: Ext.getBody()
  857. });
  858. var piebar = Ext.create('Ext.panel.Panel',{
  859. id:'controlRoomHtml',
  860. width:'100%',
  861. height:188,
  862. region:'north',
  863. layout:'form',
  864. defaults:{
  865. border:false
  866. }
  867. // items: [childPanel1]
  868. });
  869. // var PatrolPlanTab=Ext.create('Ext.tab.Panel', {
  870. // id: 'PatrolPlanTab',
  871. // activeTab: 0,
  872. // items: [
  873. // {
  874. // title: '巡检点位',
  875. // items : [MaintenancePlanPanel1]
  876. // }
  877. // ]
  878. // });
  879. new Ext.create('Ext.panel.Panel',{
  880. width:'100%',
  881. id: 'PatrolPlanPiebar',
  882. layout:'border',
  883. items:[
  884. piebar,MaintenancePlanPanel
  885. ],
  886. renderTo: Ext.getBody()
  887. });
  888. myStore.reload();
  889. myStore.addListener('load',function(store,record,opts){
  890. piedarHtml_fun();
  891. });
  892. $(window).resize(function(){
  893. body_resize();
  894. });
  895. body_resize();
  896. });