patrolplan.js 56 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522
  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:'string'},
  30. {name:'xh', type:'int'},
  31. {name:'plan_name', type:'string'},
  32. {name:'cycle', type:'string'},
  33. {name:'cycle_name', type:'string'},
  34. {name:'zxsj', type:'string'},
  35. {name:'team_id', type:'string'},
  36. {name:'team_name', type:'string'},
  37. {name:'name', type:'string'},
  38. {name:'company_code', type:'string'},
  39. {name:'start_date', type:'string'},
  40. {name:'end_date', type:'string'},
  41. {name:'start_inspect_time', type:'string'},
  42. {name:'end_inspect_time', type:'string'},
  43. ]
  44. });
  45. Ext.define('MaintenancePlan1',{
  46. extend: 'Ext.data.Model',
  47. fields: [
  48. {name:'id', type:'string'},
  49. {name:'spot_name', type:'string'},
  50. {name:'spot_address', type:'string'},
  51. {name:'pd', type:'string'},
  52. ]
  53. });
  54. function exportbtn_click(){
  55. baseUrl = document.getElementById('basePath').value;
  56. V_LOGINNAME = $("#V_LOGINNAME").val();
  57. plan_name = document.getElementById('plan_name').value;
  58. person_liable_id = document.getElementById('person_liable_id').value;
  59. var fields = '';
  60. var array = ['xh','plan_name','cycle_name','zxsj','team_name','name'];
  61. var name = ['序号','任务名称','周期','执行日期','执行团队','责任人'];
  62. for(var i=0;i<6;i++){
  63. if(i>0)
  64. fields += ',';
  65. fields += '{id:"'+array[i]+'",title:"'+name[i]+'",shown:"'+true+'"}';
  66. }
  67. var query = new Object();
  68. // query.V_LOGINNAME = V_LOGINNAME;
  69. query.plan_name = plan_name;
  70. query.person_liable_id = person_liable_id;
  71. query.EXPORT_FILE = '巡检计划列表';
  72. query.fields = '['+fields+']';
  73. $.ajax({
  74. type:'POST',
  75. url: baseUrl+"iot/excel/view/XjPlanMasterExcel1",
  76. data: {
  77. queryJson : Ext.JSON.encode(query)
  78. },
  79. success: function(result){
  80. var json = eval('(' + result + ')');
  81. if(json.action=='dormExport'){
  82. ConfirmStore = json.RESULT;
  83. var elemIF = document.createElement("iframe");
  84. elemIF.src = baseUrl+json.filename;
  85. elemIF.style.display = "none";
  86. document.body.appendChild(elemIF);
  87. }
  88. }
  89. });
  90. }
  91. var body_resize = function(){
  92. maxHeight = document.documentElement.clientHeight;
  93. maxWidth = document.documentElement.clientWidth;
  94. Ext.getCmp('PatrolPlanPiebar').setHeight(maxHeight);
  95. Ext.getCmp('PatrolPlanPiebar').setWidth(maxWidth);
  96. }
  97. Ext.onReady(function(){
  98. var baseUrl = document.getElementById('basePath').value;
  99. var theme = document.getElementById('theme').value;
  100. company_code = document.getElementById('company_code').value;
  101. $("#V_LOGINNAME").val(sessionStorage.getItem('V_LOGINNAME'));
  102. $("#V_PASSWORD").val(sessionStorage.getItem('V_PASSWORD'));
  103. var V_LOGINNAME = $("#V_LOGINNAME").val();
  104. var V_PASSWORD = $("#V_PASSWORD").val();
  105. var chkIcon = '<img src="'+baseUrl+'res/img/common/check.gif"/>'
  106. var unchkIcon = '<img src="'+baseUrl+'res/img/common/uncheck.gif"/>'
  107. var countPerPage = 15;
  108. var maxHeight = 10000;
  109. var chkBoolean = function(flag) {
  110. if(flag)
  111. return chkIcon;
  112. return unchkIcon;
  113. }
  114. var states1 = Ext.create('Ext.data.Store', {
  115. fields: ['status', 'name'],
  116. data : [
  117. // {"status":-1, "name":"全选"},
  118. {"status":"待开通", "name":"待开通"},
  119. {"status":"已开通", "name":"已开通"},
  120. {"status":"已锁定", "name":"已锁定"},
  121. {"status":"注销", "name":"注销"},
  122. ]
  123. });
  124. var deselect_fun = function(record){
  125. var index = AllSelectedRecords.indexOf(record.get("id"));
  126. if (index > -1) {
  127. AllSelectedRecords.splice(index, 1);
  128. return AllSelectedRecords;
  129. }
  130. }
  131. sm1 = Ext.create('Ext.selection.CheckboxModel',{
  132. mode: "MULTI",
  133. listeners: {
  134. deselect: function (me, record, index, opts) {
  135. if(initflag){
  136. // alert("初始化");
  137. }else{
  138. deselect_fun(record);
  139. }
  140. },
  141. select: function (me, record, index, opts) {
  142. var index = AllSelectedRecords.indexOf(record.get("id"));
  143. if (index > -1) {
  144. return AllSelectedRecords;
  145. }else{
  146. AllSelectedRecords.push(record.get("id"));
  147. return AllSelectedRecords;
  148. }
  149. }
  150. }
  151. });
  152. var clear_append_form = function (){
  153. Ext.getCmp('fa_patrolplan_name').setValue("");
  154. Ext.getCmp('fa_patrol_team_id').setValue("");
  155. // Ext.getCmp('fa_cycle').setValue("");
  156. Ext.getCmp('fa_patrol_start_date').setValue("");
  157. Ext.getCmp('fa_patrol_end_date').setValue("");
  158. Ext.getCmp('fa_patrol_start_time').setValue("");
  159. Ext.getCmp('fa_patrol_end_time').setValue("");
  160. Ext.getCmp('fa_patrol_company_code').setValue("");
  161. // Ext.getCmp('fa_spot_id').setValue("");
  162. AllSelectedRecords=[];
  163. Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload();
  164. }
  165. var queryJson = new Object();
  166. queryJson.V_LOGINNAME = V_LOGINNAME;
  167. // queryJson.V_PASSWORD = V_PASSWORD;
  168. queryJson.COMMSTATUS = 'NO';
  169. if((company_code!=null)&&(company_code!='null')&&(company_code.length>0))
  170. queryJson.company_code = company_code;
  171. var myStore = Ext.create('Ext.data.Store', {
  172. model: 'MaintenancePlan',
  173. pageSize: countPerPage,
  174. proxy: {
  175. type: 'ajax',
  176. url: baseUrl+'iot/planmaster/getList1',
  177. reader: {
  178. type: 'json',
  179. root: 'RESULT',
  180. totalProperty: 'totalCount'
  181. },
  182. extraParams:{
  183. queryJson:Ext.JSON.encode(queryJson)
  184. }
  185. },
  186. remoteSort: true
  187. });
  188. var myStore1 = Ext.create('Ext.data.Store', {
  189. model: 'MaintenancePlan1',
  190. pageSize: 5,
  191. listeners: {
  192. beforeload : function(me, store, operation, eOpts) {
  193. // Ext.apply(myStore1.proxy.extraParams, me.getQueryParameters());
  194. // sm1.removeListener('deselect',deselect_fun);
  195. initflag = true;
  196. },
  197. load: function (me, records, success, opts) {
  198. if (!success || !records || records.length == 0)
  199. return;
  200. //根据全局的选择,初始化选中的列
  201. var selModel = Ext.getCmp('PatrolPlanListPanel1').getSelectionModel();
  202. Ext.Array.forEach(AllSelectedRecords, function (item) {
  203. for (var i = 0; i < records.length; i++) {
  204. var record = records[i];
  205. if (record.get("id") == item &&record.get('pd') != 1) {
  206. // alert(record.get("id")+" - "+this.get("id")+"("+this.data.id+")");
  207. selModel.select(record, true, true); //选中record,并且保持现有的选择,不触发选中事件
  208. }
  209. }
  210. });
  211. // sm1.addListener('deselect',deselect_fun);
  212. initflag = false;
  213. }
  214. },
  215. proxy: {
  216. type: 'ajax',
  217. url: baseUrl+'iot/inspectionpoints/getList1',
  218. reader: {
  219. type: 'json',
  220. root: 'RESULT',
  221. totalProperty: 'totalCount'
  222. },
  223. extraParams:{
  224. queryJson:Ext.JSON.encode(queryJson)
  225. }
  226. },
  227. remoteSort: true
  228. });
  229. myStore1.on('load',function(myStore1, record){
  230. for (var i = 0; i < record.length; i++) {
  231. var records = record[i];
  232. if (records.get('pd') == 1) {
  233. Ext.getCmp('PatrolPlanListPanel1').getSelectionModel().select(records, true);
  234. }
  235. };
  236. });
  237. Ext.define('CompanyComboStore',{
  238. extend:'Ext.data.Model',
  239. fields: [
  240. {name:'building_name', type:'string'},
  241. {name:'building_id',type:'string'}
  242. ]
  243. });
  244. Ext.define('teamStore',{
  245. extend:'Ext.data.Model',
  246. fields: [
  247. {name:'team_name', type:'string'},
  248. {name:'id',type:'string'}
  249. ]
  250. });
  251. var CompanyStory = Ext.create('Ext.data.Store',{
  252. model: 'CompanyComboStore',
  253. proxy: {
  254. type: 'ajax',
  255. actionMethods: {
  256. create : 'POST',
  257. read : 'POST', // by default GET
  258. update : 'POST',
  259. destroy: 'POST'
  260. },
  261. url: baseUrl+'iot/company/view/getBuildingNameList',
  262. reader: {
  263. type: 'json',
  264. root: 'RESULT',
  265. totalProperty: 'totalCount'
  266. },
  267. extraParams:{
  268. queryJson:Ext.JSON.encode(queryJson)
  269. }
  270. }
  271. });
  272. var teamStory = Ext.create('Ext.data.Store',{
  273. model: 'teamStore',
  274. proxy: {
  275. type: 'ajax',
  276. actionMethods: {
  277. create : 'POST',
  278. read : 'POST', // by default GET
  279. update : 'POST',
  280. destroy: 'POST'
  281. },
  282. url: baseUrl+'iot/planteam/getList1',
  283. reader: {
  284. type: 'json',
  285. root: 'RESULT',
  286. totalProperty: 'totalCount'
  287. },
  288. extraParams:{
  289. queryJson:Ext.JSON.encode(queryJson)
  290. }
  291. }
  292. });
  293. var data =Ext.Date.format(new Date(), 'm/d/Y');
  294. var AppendForm = Ext.create('Ext.form.Panel', {
  295. id: 'PatrolPlanAppendForm',
  296. labelWidth: 55,
  297. url: baseUrl+'iot/planmaster/append1',
  298. bodyPadding: 15,
  299. frame:true,
  300. labelAlign:'left',
  301. region:'north',
  302. enableDrop: true,
  303. ddGroup: 'treeID',
  304. height: 200,
  305. items: [{
  306. autoHeight:true,
  307. layout:'column',
  308. border:false,
  309. items: [{
  310. columnWidth:.50,
  311. xtype: 'fieldset',
  312. layout:'form',
  313. // defaults: {anchor: '95%'},
  314. style: 'margin-left: 5px;padding-left: 5px;border:0px solid #B5B8C8!important;',
  315. items:[
  316. {
  317. xtype:'textfield',
  318. fieldLabel:'任务名称',
  319. id: 'fa_patrolplan_name',
  320. name:'plan_name',
  321. // maxLength: 20,
  322. editable : false,
  323. width:283,
  324. listeners: {
  325. change: function(o,e){
  326. if(e.length >= 20){
  327. return Ext.getCmp('fa_patrolplan_name').setValue(e.substring(0,20));
  328. }
  329. }
  330. }
  331. // store:InspectorsStory
  332. },{
  333. xtype:'combo',
  334. fieldLabel:'建筑/项目',
  335. id: 'fa_patrol_company_code',
  336. name:'company_code',
  337. displayField : 'building_name',
  338. valueField : 'building_id',
  339. editable : false,
  340. width:283,
  341. store:CompanyStory,
  342. listeners:{
  343. select:function(combo, record,index){
  344. try{
  345. var label= this.value;
  346. var query = new Object();
  347. query.company_code = label;
  348. query.V_LOGINNAME = V_LOGINNAME;
  349. // query.V_PASSWORD = V_PASSWORD;
  350. var jsonstr = Ext.JSON.encode(query);
  351. myStore1.getProxy().extraParams = {
  352. queryJson : jsonstr
  353. };
  354. Ext.getCmp('PatrolPlanListPageToolbar1').moveFirst();
  355. }
  356. catch(ex){
  357. Ext.MessageBox.alert("错误","数据加载失败。");
  358. }
  359. }
  360. }
  361. },{
  362. xtype:'timefield',
  363. fieldLabel:'巡检开始时间',
  364. id: 'fa_patrol_start_time',
  365. name:"start_time",
  366. minValue:'00:00',
  367. maxValue:'24:00',
  368. editable:false,//只读约束
  369. minText:'时间要大于{0}',
  370. maxText:'时间要小于{0}',
  371. format:'G:i',//时间格式G(24小时进制)、i、s(时分秒,g是12小时进制)
  372. increment:30,//跨度,默认是15分钟
  373. invalidText:'时间格式错误',
  374. anchor:'40%'
  375. },{
  376. xtype:'timefield',
  377. fieldLabel:'巡检结束时间',
  378. id: 'fa_patrol_end_time',
  379. name:"end_time",
  380. minValue:'00:00',
  381. maxValue:'24:00',
  382. editable:false,//只读约束
  383. minText:'时间要大于{0}',
  384. maxText:'时间要小于{0}',
  385. format:'G:i',//时间格式G(24小时进制)、i、s(时分秒,g是12小时进制)
  386. increment:30,//跨度,默认是15分钟
  387. invalidText:'时间格式错误',
  388. anchor:'80%'
  389. },{
  390. xtype:'combo',
  391. fieldLabel:'执行团队',
  392. id: 'fa_patrol_team_id',
  393. name:'team_id',
  394. displayField : 'team_name',
  395. valueField : 'id',
  396. editable : false,
  397. width:100,
  398. store:teamStory
  399. }
  400. ]
  401. },{
  402. columnWidth:.50,
  403. xtype: 'fieldset',
  404. layout:'form',
  405. // defaults: {anchor: '95%'},
  406. style: 'margin-left: 5px;padding-left: 5px;border:0px solid #B5B8C8!important;',
  407. items:[
  408. {
  409. xtype: 'checkboxgroup',
  410. fieldLabel: '周期',
  411. id:"fa_patrol_cycle",
  412. listeners:{
  413. change:function(gp,nv,ov,eOpts){
  414. var i=0;
  415. if(nv.all && !ov.all){
  416. // return gp.eachBox(function(box,idx){
  417. // box.setRawValue(true);
  418. // });
  419. Ext.getCmp('fa_all_checkbox').setValue(true);
  420. Ext.getCmp('fa_monday_checkbox').setValue(true);
  421. Ext.getCmp('fa_tuesday_checkbox').setValue(true);
  422. Ext.getCmp('fa_wednesday_checkbox').setValue(true);
  423. Ext.getCmp('fa_thursday_checkbox').setValue(true);
  424. Ext.getCmp('fa_friday_checkbox').setValue(true);
  425. Ext.getCmp('fa_saturday_checkbox').setValue(true);
  426. Ext.getCmp('fa_sunday_checkbox').setValue(true);
  427. return true;
  428. }
  429. if(ov.all && !nv.all && nv.monday && nv.tuesday && nv.wednesday && nv.thursday && nv.friday && nv.saturday && nv.sunday){
  430. // return gp.eachBox(function(box,idx){
  431. // box.setRawValue(false);
  432. // });
  433. Ext.getCmp('fa_all_checkbox').setValue(false);
  434. Ext.getCmp('fa_monday_checkbox').setValue(false);
  435. Ext.getCmp('fa_tuesday_checkbox').setValue(false);
  436. Ext.getCmp('fa_wednesday_checkbox').setValue(false);
  437. Ext.getCmp('fa_thursday_checkbox').setValue(false);
  438. Ext.getCmp('fa_friday_checkbox').setValue(false);
  439. Ext.getCmp('fa_saturday_checkbox').setValue(false);
  440. Ext.getCmp('fa_sunday_checkbox').setValue(false);
  441. return true;
  442. }
  443. if(nv.monday && nv.tuesday && nv.wednesday && nv.thursday && nv.friday && nv.saturday && nv.sunday){
  444. Ext.getCmp('fa_all_checkbox').setValue(true);
  445. return true;
  446. }else{
  447. Ext.getCmp('fa_all_checkbox').setValue(false);
  448. return true;
  449. }
  450. }
  451. },
  452. columns: 3,
  453. items: [
  454. {boxLabel: '全选', name: 'all',inputValue:"0",id:"fa_all_checkbox"},
  455. {boxLabel: '周一', name: 'monday',inputValue:"1",id:"fa_monday_checkbox"},
  456. {boxLabel: '周二', name: 'tuesday',inputValue:"2",id:"fa_tuesday_checkbox"},
  457. {boxLabel: '周三', name: 'wednesday',inputValue:"3",id:"fa_wednesday_checkbox"},
  458. {boxLabel: '周四', name: 'thursday',inputValue:"4",id:"fa_thursday_checkbox"},
  459. {boxLabel: '周五', name: 'friday',inputValue:"5",id:"fa_friday_checkbox"},
  460. {boxLabel: '周六', name: 'saturday',inputValue:"6",id:"fa_saturday_checkbox"},
  461. {boxLabel: '周日', name: 'sunday',inputValue:"7",id:"fa_sunday_checkbox"}
  462. ]},{
  463. xtype:'datefield',
  464. fieldLabel:"执行开始日期",
  465. minValue:data,
  466. minText:"当前日期选择应大于当天日期",
  467. format:"Y-m-d",
  468. id: 'fa_patrol_start_date',
  469. name:"start_date",
  470. editable:false,//只读约束
  471. anchor:'80%'
  472. },{
  473. xtype:'datefield',
  474. fieldLabel:"执行结束日期",
  475. minValue:data,
  476. // '07/07/2017',
  477. minText:"当前日期选择应大于当天日期",
  478. format:"Y-m-d",
  479. id: 'fa_patrol_end_date',
  480. name:"end_date",
  481. editable:false,//只读约束
  482. anchor:'80%'
  483. },{
  484. id:'fa_patrol_queryJson',
  485. name:'queryJson',
  486. hidden:true
  487. }
  488. ]
  489. }
  490. ]}]
  491. });
  492. var appendwin = function(){
  493. AllSelectedRecords.length = 0;
  494. var query = new Object();
  495. query.V_LOGINNAME=V_LOGINNAME;
  496. // query.V_PASSWORD=V_PASSWORD;
  497. var jsonstr = Ext.JSON.encode(query);
  498. myStore1.getProxy().extraParams = {
  499. queryJson : jsonstr
  500. };
  501. Ext.getCmp('PatrolPlanListPageToolbar1').moveFirst();
  502. Ext.create('Ext.window.Window', {
  503. title: '新增巡检计划',
  504. height: 600,
  505. width: 800,
  506. modal: true,
  507. layout:'border',
  508. items: [AppendForm,PatrolPlanTab],
  509. closeAction: 'hide',
  510. buttons: [{
  511. text: '提交',
  512. iconCls:'ok_btn',
  513. handler: function() {
  514. // alert(sm1.getCount());
  515. if(AllSelectedRecords.length==1){
  516. var InspectiontimeValue = Ext.getCmp('fa_patrol_cycle').getChecked();
  517. var fa_cycle='';
  518. Ext.Array.each(InspectiontimeValue, function(item){
  519. fa_cycle +=item.inputValue+',';
  520. });
  521. var V_LOGINNAME = $("#V_LOGINNAME").val();
  522. var V_PASSWORD = $("#V_PASSWORD").val();
  523. var start_time = Ext.getCmp('fa_patrol_start_time').getValue();
  524. var start_time1=((start_time.getHours()<10)?('0'+start_time.getHours()):start_time.getHours()) + ':' + ((start_time.getMinutes()<10)?('0'+start_time.getMinutes()):start_time.getMinutes());
  525. var end_time = Ext.getCmp('fa_patrol_end_time').getValue();
  526. var end_time1=((end_time.getHours()<10)?('0'+end_time.getHours()):end_time.getHours()) + ':' + ((end_time.getMinutes()<10)?('0'+end_time.getMinutes()):end_time.getMinutes());
  527. // Ext.MessageBox.alert('提示', '您的兴趣是' + V_LOGINNAME);
  528. // var selected = sm1.getSelection( );
  529. var query = new Object();
  530. var spot_id = null;
  531. // query.spot_id = selected[0].raw.id;
  532. query.spot_id = AllSelectedRecords[0];
  533. query.plan_name = Ext.getCmp('fa_patrolplan_name').getValue();
  534. query.team_id = Ext.getCmp('fa_patrol_team_id').getValue();
  535. query.company_code = Ext.getCmp('fa_patrol_company_code').getValue();
  536. query.cycle = fa_cycle;
  537. query.start_inspect_time = start_time1;
  538. query.end_inspect_time = end_time1;
  539. query.start_date = Ext.util.Format.date(Ext.getCmp('fa_patrol_start_date').getValue(), 'Y-m-d');
  540. query.end_date = Ext.util.Format.date(Ext.getCmp('fa_patrol_end_date').getValue(), 'Y-m-d');
  541. // query.V_LOGINNAME = V_LOGINNAME;
  542. var jsonstr= Ext.JSON.encode(query);
  543. Ext.Ajax.request( {
  544. // timeout : 3000000,
  545. url: baseUrl+'iot/planmaster/append1',
  546. params : 'queryJson='+ jsonstr,
  547. success: function(resp,opts){
  548. Ext.Msg.alert('操作成功', '计划已添加', function(btn,txt){
  549. // myStore.reload();
  550. clear_append_form();
  551. });
  552. }
  553. });
  554. }else{
  555. if(AllSelectedRecords.length>1){
  556. var InspectiontimeValue = Ext.getCmp('fa_patrol_cycle').getChecked();
  557. var fa_cycle='';
  558. Ext.Array.each(InspectiontimeValue, function(item){
  559. fa_cycle +=item.inputValue+',';
  560. });
  561. var V_LOGINNAME = $("#V_LOGINNAME").val();
  562. var V_PASSWORD = $("#V_PASSWORD").val();
  563. var start_time = Ext.getCmp('fa_patrol_start_time').getValue();
  564. var start_time1=((start_time.getHours()<10)?('0'+start_time.getHours()):start_time.getHours()) + ':' + ((start_time.getMinutes()<10)?('0'+start_time.getMinutes()):start_time.getMinutes());
  565. var end_time = Ext.getCmp('fa_patrol_end_time').getValue();
  566. var end_time1=((end_time.getHours()<10)?('0'+end_time.getHours()):end_time.getHours()) + ':' + ((end_time.getMinutes()<10)?('0'+end_time.getMinutes()):end_time.getMinutes());
  567. var query = new Object();
  568. var spot_id = null;
  569. // var selected = sm1.getSelection( );
  570. for(var i=0;i<AllSelectedRecords.length;i++){
  571. if(i==0)
  572. spot_id = AllSelectedRecords[i];
  573. else
  574. spot_id += ","+AllSelectedRecords[i];
  575. }
  576. query.spot_id = spot_id;
  577. query.plan_name = Ext.getCmp('fa_patrolplan_name').getValue();
  578. query.team_id = Ext.getCmp('fa_patrol_team_id').getValue();
  579. query.company_code = Ext.getCmp('fa_patrol_company_code').getValue();
  580. query.cycle = fa_cycle;
  581. query.start_inspect_time = start_time1;
  582. query.end_inspect_time = end_time1;
  583. query.start_date = Ext.util.Format.date(Ext.getCmp('fa_patrol_start_date').getValue(), 'Y-m-d');
  584. query.end_date = Ext.util.Format.date(Ext.getCmp('fa_patrol_end_date').getValue(), 'Y-m-d');
  585. // query.ID_LIST = list;
  586. // query.V_LOGINNAME = V_LOGINNAME;
  587. var jsonstr= Ext.JSON.encode(query);
  588. Ext.Ajax.request( {
  589. timeout : 3000000,
  590. url: baseUrl+'iot/planmaster/append1',
  591. params : 'queryJson='+ jsonstr,
  592. success: function(resp,opts){
  593. Ext.Msg.alert('操作成功', '计划已添加', function(btn,txt){
  594. // myStore.reload();
  595. clear_append_form();
  596. });
  597. }
  598. });
  599. }else{
  600. Ext.Msg.alert('请先选择','至少选择一条巡检点位,再点击提交');
  601. }
  602. }
  603. }
  604. },{
  605. text: '关闭',
  606. iconCls: 'cancel_btn',
  607. handler: function() {
  608. this.up('window').hide();
  609. }
  610. }]
  611. }).show();
  612. Ext.getCmp('fa_all_checkbox').setValue(true);
  613. Ext.getCmp('fa_monday_checkbox').setValue(true);
  614. Ext.getCmp('fa_tuesday_checkbox').setValue(true);
  615. Ext.getCmp('fa_wednesday_checkbox').setValue(true);
  616. Ext.getCmp('fa_thursday_checkbox').setValue(true);
  617. Ext.getCmp('fa_friday_checkbox').setValue(true);
  618. Ext.getCmp('fa_saturday_checkbox').setValue(true);
  619. Ext.getCmp('fa_sunday_checkbox').setValue(true);
  620. }
  621. var del_sm = function() {
  622. if(sm.getCount()==1){
  623. var selected = sm.getSelection( );
  624. var query = new Object();
  625. var list = new Array();
  626. var o = new Object();
  627. o.id = selected[0].raw.id;
  628. list.push(o);
  629. query.ID_LIST = list;
  630. var jsonstr= Ext.JSON.encode(query);
  631. Ext.MessageBox.confirm('删除任务信息','是否删除'+selected[0].raw.name+' 巡检任务?',function(btn){
  632. if(btn=='yes'){
  633. $.ajax({
  634. type:'POST',
  635. url: baseUrl+"iot/planmaster/del",
  636. data: {
  637. queryJson : jsonstr
  638. },
  639. success: function(result){
  640. var json = eval('(' + result + ')');
  641. if(json.action=='deletePlanMaster'){
  642. if(json.success==true){
  643. Ext.Msg.alert('操作成功', json.MSG , function(btn,txt){
  644. Ext.getCmp('PatrolPlanListPanel').getStore().reload();
  645. });
  646. }else{
  647. Ext.Msg.alert('操作失败', json.MSG , function(btn,txt){
  648. Ext.getCmp('PatrolPlanListPanel').getStore().reload();
  649. });
  650. }
  651. }
  652. }
  653. });
  654. }
  655. },this);
  656. }else{
  657. if(sm.getCount()>1){
  658. var query = new Object();
  659. var list = new Array();
  660. for(var i=0;i<sm.getCount();i++){
  661. var selected = sm.getSelection( );
  662. var o = new Object();
  663. o.id = selected[i].raw.id;
  664. list.push(o);
  665. }
  666. query.ID_LIST = list;
  667. var jsonstr= Ext.JSON.encode(query);
  668. Ext.MessageBox.confirm('删除任务信息','是否删除选中的'+sm.getCount()+' 个巡检任务?',function(btn){
  669. if(btn=='yes'){
  670. $.ajax({
  671. type:'POST',
  672. url: baseUrl+"iot/planmaster/del",
  673. data: {
  674. queryJson : jsonstr
  675. },
  676. success: function(result){
  677. var json = eval('(' + result + ')');
  678. if(json.action=='deletePlanMaster'){
  679. if(json.success==true){
  680. Ext.Msg.alert('操作成功', json.MSG , function(btn,txt){
  681. Ext.getCmp('PatrolPlanListPanel').getStore().reload();
  682. });
  683. }else{
  684. Ext.Msg.alert('操作失败', json.MSG , function(btn,txt){
  685. Ext.getCmp('PatrolPlanListPanel').getStore().reload();
  686. });
  687. }
  688. }
  689. }
  690. });
  691. }
  692. },this);
  693. }else{
  694. Ext.Msg.alert('请先选择','至少选择一条记录,再点击删除');
  695. }
  696. }
  697. }
  698. var clear_modify_form = function (){
  699. Ext.getCmp('fm_patrol_id').setValue("");
  700. Ext.getCmp('fm_patrol_plan_name').setValue("");
  701. Ext.getCmp('fm_patrol_team_id').setValue("");
  702. // Ext.getCmp('fm_cycle').setValue("");
  703. Ext.getCmp('fm_patrol_start_date').setValue("");
  704. Ext.getCmp('fm_patrol_end_date').setValue("");
  705. Ext.getCmp('fm_patrol_start_time').setValue("");
  706. Ext.getCmp('fm_patrol_end_time').setValue("");
  707. Ext.getCmp('fm_patrol_company_code').setValue("");
  708. Ext.getCmp('fm_patrol_cycle').setValue(false);
  709. AllSelectedRecords=[];
  710. // Ext.getCmp('fm_spot_id').setValue("");
  711. Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload();
  712. }
  713. $('#patrolPlan_title2_input').change(function(){
  714. var text = Ext.getCmp('fm_patrol_start_date').getValue();
  715. if(text.length >= 20){
  716. return Ext.getCmp('fa_patrolplan_name').setValue(text.substring(0,20));
  717. }
  718. })
  719. var show_page = function(){
  720. var maintenancePlan_title2_input = document.getElementById('patrolPlan_title2_input').value;
  721. var maintenancePlan_title3_input1 = document.getElementById('patrolPlan_title3_input1').value;
  722. var query = new Object();
  723. if(maintenancePlan_title2_input.length>0){
  724. query.plan_name = maintenancePlan_title2_input;
  725. $("#plan_name").val(maintenancePlan_title2_input);
  726. }
  727. if(maintenancePlan_title3_input1.length>0){
  728. query.person_liable_id = maintenancePlan_title3_input1;
  729. $("#person_liable_id").val(maintenancePlan_title3_input1);
  730. }
  731. // query.V_LOGINNAME = V_LOGINNAME;
  732. // query.V_PASSWORD = V_PASSWORD;
  733. var jsonstr = Ext.JSON.encode(query);
  734. myStore.getProxy().extraParams = {
  735. queryJson : jsonstr
  736. };
  737. Ext.getCmp('PatrolPlanListPageToolbar').moveFirst();
  738. }
  739. var reset1 = function(){
  740. document.getElementById('patrolPlan_title2_input').value = '';
  741. document.getElementById('patrolPlan_title3_input1').value = '';
  742. $("#plan_name").val('');
  743. $("#person_liable_id").val('');
  744. show_page();
  745. }
  746. mouseon = function(obj){
  747. var id = obj.id;
  748. $("#"+id).removeClass(id);
  749. $("#"+id).addClass(id+'_on');
  750. }
  751. mouseoff = function(obj){
  752. var mid = "patrolPlan_";
  753. for(var i=1;i<7;i++){
  754. var id = "patrolPlan_title"+i+"_div";
  755. $("#"+id).removeClass(id+'_on');
  756. $("#"+id).addClass(id);
  757. }
  758. if(menuidx=='m1'){
  759. mid += 'title1_div';
  760. $("#"+mid).removeClass(mid);
  761. $("#"+mid).addClass(mid+'_on');
  762. }
  763. else if(menuidx=='m2'){
  764. mid += 'title2_div';
  765. $("#"+mid).removeClass(mid);
  766. $("#"+mid).addClass(mid+'_on');
  767. }
  768. else if(menuidx=='m3'){
  769. mid += 'title3_div';
  770. $("#"+mid).removeClass(mid);
  771. $("#"+mid).addClass(mid+'_on');
  772. }
  773. else if(menuidx=='m4'){
  774. mid += 'title4_div';
  775. $("#"+mid).removeClass(mid);
  776. $("#"+mid).addClass(mid+'_on');
  777. }
  778. else if(menuidx=='m5'){
  779. mid += 'title5_div';
  780. $("#"+mid).removeClass(mid);
  781. $("#"+mid).addClass(mid+'_on');
  782. }
  783. else if(menuidx=='m6'){
  784. mid += 'title6_div';
  785. $("#"+mid).removeClass(mid);
  786. $("#"+mid).addClass(mid+'_on');
  787. }
  788. }
  789. menu_click = function(obj){
  790. var id = obj.id;
  791. if(id=='patrolPlan_title1_div'){
  792. menuidx = 'm1';
  793. show_page();
  794. }
  795. else if(id=='patrolPlan_title2_div'){
  796. menuidx = 'm2';
  797. reset1();
  798. }
  799. else if(id=='patrolPlan_title3_div'){
  800. menuidx = 'm3';
  801. exportbtn_click();
  802. }
  803. else if(id=='patrolPlan_title4_div'){
  804. menuidx = 'm4';
  805. del_sm();
  806. }
  807. else if(id=='patrolPlan_title5_div'){
  808. menuidx = 'm5';
  809. appendwin();
  810. }
  811. else if(id=='patrolPlan_title6_div'){
  812. menuidx = 'm6';
  813. chk_sm();
  814. }
  815. }
  816. var piedarHtml = function() {
  817. var maintenancePlanHtml = document.getElementById('patrolPlanHtml');
  818. var divhiddle = document.createElement('div');
  819. divhiddle.id='div26_id_patrolPlanPanel3';
  820. divhiddle.setAttribute('class','SpringHandleHtml3DivHiddle');
  821. maintenancePlanHtml.appendChild(divhiddle);
  822. var title = document.createElement('div');
  823. title.setAttribute('class','MaintenancePersonTitle');
  824. title.innerHTML='巡检计划';
  825. maintenancePlanHtml.appendChild(title);
  826. var title2 = document.createElement('div');
  827. title2.setAttribute('class','title2_div');
  828. title2.innerHTML='任务名称';
  829. maintenancePlanHtml.appendChild(title2);
  830. var input = document.createElement('input');
  831. input.setAttribute('class','input_class');
  832. input.setAttribute('id','patrolPlan_title2_input');
  833. input.setAttribute('type','text');
  834. input.setAttribute('value','');
  835. maintenancePlanHtml.appendChild(input);
  836. var title3 = document.createElement('div');
  837. title3.setAttribute('class','title3_div');
  838. title3.innerHTML='责任人';
  839. maintenancePlanHtml.appendChild(title3);
  840. // var input1 = document.createElement('input');
  841. // input1.setAttribute('class','input1_class');
  842. // input1.setAttribute('id','maintenancePlan_title3_input1');
  843. // input1.setAttribute('type','text');
  844. // input1.setAttribute('value','');
  845. // maintenancePlanHtml.appendChild(input1);
  846. var select = document.createElement('select');
  847. select.setAttribute('class','input1_class');
  848. select.setAttribute('id','patrolPlan_title3_input1');
  849. maintenancePlanHtml.appendChild(select);
  850. var option2 = document.createElement('option');
  851. option2.innerHTML='所有人';
  852. option2.setAttribute('value','0');
  853. select.appendChild(option2);
  854. for(var i=0;i<ConfirmStore.length;i++){
  855. var option3 = document.createElement('option');
  856. option3.innerHTML=ConfirmStore[i].name;
  857. option3.setAttribute('value',ConfirmStore[i].person_liable_id);
  858. select.appendChild(option3);
  859. }
  860. var title4 = document.createElement('div');
  861. title4.setAttribute('class','patrolPlan_title1_div');
  862. title4.setAttribute('id','patrolPlan_title1_div');
  863. title4.setAttribute('onmouseover',"mouseon(this)");
  864. title4.setAttribute('onmouseout',"mouseoff(this)");
  865. title4.setAttribute('onclick',"menu_click(this)");
  866. maintenancePlanHtml.appendChild(title4);
  867. var title5 = document.createElement('div');
  868. title5.setAttribute('class','patrolPlan_title2_div');
  869. title5.setAttribute('id','patrolPlan_title2_div');
  870. title5.setAttribute('onmouseover',"mouseon(this)");
  871. title5.setAttribute('onmouseout',"mouseoff(this)");
  872. title5.setAttribute('onclick',"menu_click(this)");
  873. maintenancePlanHtml.appendChild(title5);
  874. var title6 = document.createElement('div');
  875. title6.setAttribute('class','patrolPlan_title3_div');
  876. title6.setAttribute('id','patrolPlan_title3_div');
  877. title6.setAttribute('onmouseover',"mouseon(this)");
  878. title6.setAttribute('onmouseout',"mouseoff(this)");
  879. title6.setAttribute('onclick',"menu_click(this)");
  880. maintenancePlanHtml.appendChild(title6);
  881. var title7 = document.createElement('div');
  882. title7.setAttribute('class','patrolPlan_title4_div');
  883. title7.setAttribute('id','patrolPlan_title4_div');
  884. title7.setAttribute('onmouseover',"mouseon(this)");
  885. title7.setAttribute('onmouseout',"mouseoff(this)");
  886. title7.setAttribute('onclick',"menu_click(this)");
  887. maintenancePlanHtml.appendChild(title7);
  888. var title8 = document.createElement('div');
  889. title8.setAttribute('class','patrolPlan_title5_div');
  890. title8.setAttribute('id','patrolPlan_title5_div');
  891. title8.setAttribute('onmouseover',"mouseon(this)");
  892. title8.setAttribute('onmouseout',"mouseoff(this)");
  893. title8.setAttribute('onclick',"menu_click(this)");
  894. maintenancePlanHtml.appendChild(title8);
  895. var title9 = document.createElement('div');
  896. title9.setAttribute('class','patrolPlan_title6_div');
  897. title9.setAttribute('id','patrolPlan_title6_div');
  898. title9.setAttribute('onmouseover',"mouseon(this)");
  899. title9.setAttribute('onmouseout',"mouseoff(this)");
  900. title9.setAttribute('onclick',"menu_click(this)");
  901. maintenancePlanHtml.appendChild(title9);
  902. }
  903. var piedarHtml_fun = function(){
  904. var query = new Object();
  905. query.V_LOGINNAME = $("#V_LOGINNAME").val();
  906. $.ajax({
  907. type:'POST',
  908. url: baseUrl+"iot/planteam/getzrrList1",
  909. data: {
  910. queryJson : Ext.JSON.encode(query)
  911. },
  912. success: function(result){
  913. var json = eval('(' + result + ')');
  914. if(json.action=='getPlanTeamList'){
  915. ConfirmStore = json.RESULT;
  916. if(document.getElementById('div26_id_patrolPlanPanel3')==undefined)
  917. piedarHtml();
  918. }
  919. }
  920. });
  921. }
  922. var ModifyForm = Ext.create('Ext.form.Panel', {
  923. id: 'PatrolPlanEditForm',
  924. labelWidth: 55,
  925. url: baseUrl+'iot/planmaster/update',
  926. bodyPadding: 15,
  927. frame:true,
  928. labelAlign:'left',
  929. region:'north',
  930. enableDrop: true,
  931. ddGroup: 'treeID',
  932. height: 200,
  933. items: [{
  934. autoHeight:true,
  935. layout:'column',
  936. border:false,
  937. items: [{
  938. columnWidth:.50,
  939. xtype: 'fieldset',
  940. layout:'form',
  941. // defaults: {anchor: '95%'},
  942. style: 'margin-left: 5px;padding-left: 5px;border:0px solid #B5B8C8!important;',
  943. items:[
  944. {
  945. xtype:'textfield',
  946. fieldLabel:'任务名称',
  947. id: 'fm_patrol_plan_name',
  948. name:'plan_name',
  949. editable : false,
  950. width:230,
  951. readOnly:'true'
  952. },{
  953. xtype:'combo',
  954. fieldLabel:'建筑/项目',
  955. id: 'fm_patrol_company_code',
  956. name:'company_code',
  957. displayField : 'building_name',
  958. valueField : 'building_id',
  959. editable : false,
  960. width:283,
  961. store:CompanyStory,
  962. readOnly:'true'
  963. },{
  964. xtype:'timefield',
  965. fieldLabel:'巡检开始时间',
  966. id: 'fm_patrol_start_time',
  967. name:"start_time",
  968. minValue:'00:00',
  969. maxValue:'24:00',
  970. minText:'时间要大于{0}',
  971. maxText:'时间要小于{0}',
  972. format:'G:i',//时间格式G(24小时进制)、i、s(时分秒,g是12小时进制)
  973. increment:30,//跨度,默认是15分钟
  974. invalidText:'时间格式错误',
  975. anchor:'40%'
  976. },{
  977. xtype:'timefield',
  978. fieldLabel:'巡检结束时间',
  979. id: 'fm_patrol_end_time',
  980. name:"end_time",
  981. minValue:'00:00',
  982. maxValue:'24:00',
  983. minText:'时间要大于{0}',
  984. maxText:'时间要小于{0}',
  985. format:'G:i',//时间格式G(24小时进制)、i、s(时分秒,g是12小时进制)
  986. increment:30,//跨度,默认是15分钟
  987. invalidText:'时间格式错误',
  988. anchor:'80%'
  989. },{
  990. xtype:'combo',
  991. fieldLabel:'执行团队',
  992. id: 'fm_patrol_team_id',
  993. name:'team_id',
  994. displayField : 'team_name',
  995. valueField : 'id',
  996. editable : false,
  997. width:100,
  998. store:teamStory
  999. }
  1000. ]
  1001. },{
  1002. columnWidth:.50,
  1003. xtype: 'fieldset',
  1004. layout:'form',
  1005. // defaults: {anchor: '95%'},
  1006. style: 'margin-left: 5px;padding-left: 5px;border:0px solid #B5B8C8!important;',
  1007. items:[
  1008. {
  1009. xtype: 'checkboxgroup',
  1010. fieldLabel: '周期',
  1011. id:"fm_patrol_cycle",
  1012. columns: 3,
  1013. items: [
  1014. {boxLabel: '周一', name: 'monday',inputValue:"1",id:"fm_monday"},
  1015. {boxLabel: '周二', name: 'tuesday',inputValue:"2",id:"fm_tuesday"},
  1016. {boxLabel: '周三', name: 'wednesday',inputValue:"3",id:"fm_wednesday"},
  1017. {boxLabel: '周四', name: 'thursday',inputValue:"4",id:"fm_thursday"},
  1018. {boxLabel: '周五', name: 'friday',inputValue:"5",id:"fm_friday"},
  1019. {boxLabel: '周六', name: 'saturday',inputValue:"6",id:"fm_saturday"},
  1020. {boxLabel: '周日', name: 'sunday',inputValue:"7",id:"fm_sunday"}
  1021. ]},{
  1022. xtype:'datefield',
  1023. fieldLabel:"执行开始日期",
  1024. minValue:'07/07/2017',
  1025. minText:"当前日期选择应大于2017-07-07",
  1026. format:"Y-m-d",
  1027. columnWidth:0.5,
  1028. id: 'fm_patrol_start_date',
  1029. name:"start_data",
  1030. editable:false,//只读约束
  1031. anchor:'80%',
  1032. readOnly:'true'
  1033. },{
  1034. xtype:'datefield',
  1035. fieldLabel:"执行结束日期",
  1036. minValue:'07/07/2017',
  1037. minText:"当前日期选择应大于之前日期",
  1038. format:"Y-m-d",
  1039. columnWidth:0.5,
  1040. id: 'fm_patrol_end_date',
  1041. name:"end_date",
  1042. editable:false,//只读约束
  1043. anchor:'80%'
  1044. },{
  1045. xtype:'textfield',
  1046. id: 'fm_patrol_id',
  1047. name:'id',
  1048. hidden:true
  1049. },{
  1050. id:'fm_patrol_queryJson',
  1051. name:'queryJson',
  1052. hidden:true
  1053. }
  1054. ]
  1055. }
  1056. ]}]
  1057. });
  1058. var modifywin = function(){
  1059. Ext.create('Ext.window.Window', {
  1060. title: '修改',
  1061. height: 600,
  1062. width: 800,
  1063. modal: true,
  1064. layout:'border',
  1065. items: [ ModifyForm,PatrolPlanTab],
  1066. closeAction: 'hide',
  1067. buttons: [{
  1068. text: '修改',
  1069. iconCls:'ok_btn',
  1070. handler: function() {
  1071. if(AllSelectedRecords.length==1){
  1072. // var fm_cycle = ModifyForm.getForm().findField("fm_patrol_cycle").getGroupValue();
  1073. var InspectiontimeValue = Ext.getCmp('fm_patrol_cycle').getChecked();
  1074. var fm_cycle='';
  1075. Ext.Array.each(InspectiontimeValue, function(item){
  1076. fm_cycle +=item.inputValue+',';
  1077. });
  1078. var V_LOGINNAME = $("#V_LOGINNAME").val();
  1079. var V_PASSWORD = $("#V_PASSWORD").val();
  1080. var start_time = Ext.getCmp('fm_patrol_start_time').getValue();
  1081. var start_time1=((start_time.getHours()<10)?('0'+start_time.getHours()):start_time.getHours()) + ':' + ((start_time.getMinutes()<10)?('0'+start_time.getMinutes()):start_time.getMinutes());
  1082. var end_time = Ext.getCmp('fm_patrol_end_time').getValue();
  1083. var end_time1=((end_time.getHours()<10)?('0'+end_time.getHours()):end_time.getHours()) + ':' + ((end_time.getMinutes()<10)?('0'+end_time.getMinutes()):end_time.getMinutes());
  1084. // Ext.MessageBox.alert('提示', '您的兴趣是' + V_LOGINNAME);
  1085. var query = new Object();
  1086. var spot_id = null;
  1087. query.spot_id = AllSelectedRecords[0];
  1088. query.id = Ext.getCmp('fm_patrol_id').getValue();
  1089. query.plan_name = Ext.getCmp('fm_patrol_plan_name').getValue();
  1090. query.team_id = Ext.getCmp('fm_patrol_team_id').getValue();
  1091. query.company_code = Ext.getCmp('fm_patrol_company_code').getValue();
  1092. query.cycle = fm_cycle;
  1093. query.start_inspect_time = start_time1;
  1094. query.end_inspect_time = end_time1;
  1095. query.start_date = Ext.util.Format.date(Ext.getCmp('fm_patrol_start_date').getValue(), 'Y-m-d');
  1096. query.end_date = Ext.util.Format.date(Ext.getCmp('fm_patrol_end_date').getValue(), 'Y-m-d');
  1097. // query.V_LOGINNAME = V_LOGINNAME;
  1098. var jsonstr= Ext.JSON.encode(query);
  1099. Ext.Ajax.request( {
  1100. // timeout : 3000000,
  1101. url: baseUrl+'iot/planmaster/update',
  1102. params : 'queryJson='+ jsonstr,
  1103. success: function(resp,opts){
  1104. Ext.Msg.alert('操作成功', '计划已修改', function(btn,txt){
  1105. // myStore.reload();
  1106. clear_modify_form();
  1107. });
  1108. }
  1109. });
  1110. this.up('window').hide();
  1111. }else{
  1112. if(AllSelectedRecords.length>1){
  1113. // var fm_cycle = ModifyForm.getForm().findField("fm_patrol_cycle").getGroupValue();
  1114. var InspectiontimeValue = Ext.getCmp('fm_patrol_cycle').getChecked();
  1115. var fm_cycle='';
  1116. Ext.Array.each(InspectiontimeValue, function(item){
  1117. fm_cycle +=item.inputValue+',';
  1118. });
  1119. var V_LOGINNAME = $("#V_LOGINNAME").val();
  1120. var V_PASSWORD = $("#V_PASSWORD").val();
  1121. var start_time = Ext.getCmp('fm_patrol_start_time').getValue();
  1122. var start_time1=((start_time.getHours()<10)?('0'+start_time.getHours()):start_time.getHours()) + ':' + ((start_time.getMinutes()<10)?('0'+start_time.getMinutes()):start_time.getMinutes());
  1123. var end_time = Ext.getCmp('fm_patrol_end_time').getValue();
  1124. var end_time1=((end_time.getHours()<10)?('0'+end_time.getHours()):end_time.getHours()) + ':' + ((end_time.getMinutes()<10)?('0'+end_time.getMinutes()):end_time.getMinutes());
  1125. var query = new Object();
  1126. var spot_id = null;
  1127. // var selected = sm1.getSelection( );
  1128. for(var i=0;i<AllSelectedRecords.length;i++){
  1129. if(i==0)
  1130. spot_id = AllSelectedRecords[i];
  1131. else
  1132. spot_id += ","+AllSelectedRecords[i];
  1133. }
  1134. query.id = Ext.getCmp('fm_patrol_id').getValue();
  1135. query.spot_id = spot_id;
  1136. query.plan_name = Ext.getCmp('fm_patrol_plan_name').getValue();
  1137. query.team_id = Ext.getCmp('fm_patrol_team_id').getValue();
  1138. query.company_code = Ext.getCmp('fm_patrol_company_code').getValue();
  1139. query.cycle = fm_cycle;
  1140. query.start_inspect_time = start_time1;
  1141. query.end_inspect_time = end_time1;
  1142. query.start_date = Ext.util.Format.date(Ext.getCmp('fm_patrol_start_date').getValue(), 'Y-m-d');
  1143. query.end_date = Ext.util.Format.date(Ext.getCmp('fm_patrol_end_date').getValue(), 'Y-m-d');
  1144. // query.ID_LIST = list;
  1145. // query.V_LOGINNAME = V_LOGINNAME;
  1146. var jsonstr= Ext.JSON.encode(query);
  1147. Ext.Ajax.request( {
  1148. timeout : 3000000,
  1149. url: baseUrl+'iot/planmaster/update',
  1150. params : 'queryJson='+ jsonstr,
  1151. success: function(resp,opts){
  1152. Ext.Msg.alert('操作成功', '计划已修改', function(btn,txt){
  1153. clear_modify_form();
  1154. });
  1155. }
  1156. });
  1157. //
  1158. this.up('window').hide();
  1159. }else{
  1160. Ext.Msg.alert('请先选择','至少选择一条巡检点位,再点击提交');
  1161. }
  1162. }
  1163. }
  1164. },{
  1165. text: '关闭',
  1166. iconCls: 'cancel_btn',
  1167. handler: function() {
  1168. this.up('window').hide();
  1169. clear_modify_form();
  1170. }
  1171. }]
  1172. }).show();
  1173. }
  1174. var chk_sm = function() {
  1175. if(sm.getCount()==1){
  1176. AllSelectedRecords = [];
  1177. modifywin();
  1178. teamStory.reload();
  1179. CompanyStory.reload();
  1180. var selected = sm.getSelection( );
  1181. var label= selected[0].raw.id
  1182. // alert("主表ID"+label);
  1183. var query = new Object();
  1184. // if(label.length>0){
  1185. query.dwid = label;
  1186. // }
  1187. // alert("主表ID1"+query.dwid);
  1188. query.V_LOGINNAME = V_LOGINNAME;
  1189. // query.V_PASSWORD = V_PASSWORD;
  1190. var jsonstr = Ext.JSON.encode(query);
  1191. myStore1.getProxy().extraParams = {
  1192. queryJson : jsonstr
  1193. };
  1194. Ext.getCmp('PatrolPlanListPageToolbar1').moveFirst();
  1195. Ext.getCmp('fm_patrol_plan_name').setValue(selected[0].raw.plan_name);
  1196. Ext.getCmp('fm_patrol_team_id').setValue(selected[0].raw.team_id);
  1197. // Ext.getCmp('fm_cycle').setValue(selected[0].raw.cycle);
  1198. var a = selected[0].raw.cycle;
  1199. var arr = a.split(",");
  1200. for(var i = 0 ;i < arr.length;i++) {
  1201. switch(arr[i]) {
  1202. case "1":
  1203. Ext.getCmp('fm_monday').setValue(true);
  1204. break;
  1205. case "2":
  1206. Ext.getCmp('fm_tuesday').setValue(true);
  1207. break;
  1208. case "3":
  1209. Ext.getCmp('fm_wednesday').setValue(true);
  1210. break;
  1211. case "4":
  1212. Ext.getCmp('fm_thursday').setValue(true);
  1213. break;
  1214. case "5":
  1215. Ext.getCmp('fm_friday').setValue(true);
  1216. break;
  1217. case "6":
  1218. Ext.getCmp('fm_saturday').setValue(true);
  1219. break;
  1220. case "7":
  1221. Ext.getCmp('fm_sunday').setValue(true);
  1222. break;
  1223. }
  1224. }
  1225. Ext.getCmp('fm_patrol_start_time').setValue(selected[0].raw.start_inspect_time);
  1226. Ext.getCmp('fm_patrol_end_time').setValue(selected[0].raw.end_inspect_time);
  1227. Ext.getCmp('fm_patrol_start_date').setValue(selected[0].raw.start_date);
  1228. Ext.getCmp('fm_patrol_end_date').setValue(selected[0].raw.end_date);
  1229. Ext.getCmp('fm_patrol_end_date').setMinValue(selected[0].raw.end_date);
  1230. Ext.getCmp('fm_patrol_company_code').setValue(selected[0].raw.company_code);
  1231. var b = selected[0].raw.id;
  1232. // Ext.get('fm_id').set({ value: b });
  1233. Ext.getCmp('fm_patrol_id').setValue(b);
  1234. }else{
  1235. Ext.Msg.alert('请先选择','请先选择一条记录,再点击修改');
  1236. }
  1237. }
  1238. var maintenancedevice = function(){
  1239. var maintenance_look_device = document.getElementById('patrolplan_look_device');
  1240. var img = document.createElement('img');
  1241. img.width=400;
  1242. img.height=400;
  1243. img.src = baseUrl+ConfirmStore[0].picture_route;
  1244. img.setAttribute('class','maintenance_look_device_img');
  1245. maintenance_look_device.appendChild(img);
  1246. var div4 = document.createElement('div');
  1247. div4.style.textAlign='center';
  1248. div4.innerHTML=ConfirmStore[0].remarks;
  1249. maintenance_look_device.appendChild(div4);
  1250. }
  1251. var editMaintenance = function(spot_id){
  1252. var spot_id = spot_id;
  1253. Ext.create('Ext.window.Window', {
  1254. id:'patrolplan_data_win1',
  1255. height: 500,
  1256. width: 400,
  1257. layout: 'fit',
  1258. modal:true,
  1259. buttons:[
  1260. {
  1261. text:'关闭',
  1262. handler : function() {
  1263. Ext.getCmp('patrolplan_data_win1').destroy();
  1264. }
  1265. }
  1266. ],
  1267. closeAction:'destroy',
  1268. html:'<div id="patrolplan_look_device"></div>'
  1269. }).show();
  1270. var query = new Object();
  1271. query.V_LOGINNAME = $("#V_LOGINNAME").val();
  1272. // query.V_PASSWORD = $("#V_PASSWORD").val();
  1273. query.id = spot_id;
  1274. $.ajax({
  1275. type:'POST',
  1276. url: baseUrl+"iot/inspectionpoints/getList",
  1277. data: {
  1278. queryJson : Ext.JSON.encode(query)
  1279. },
  1280. success: function(result){
  1281. var json = eval('(' + result + ')');
  1282. if(json.action=='getInspectionPointsList'){
  1283. ConfirmStore = json.RESULT;
  1284. maintenancedevice(ConfirmStore);
  1285. }
  1286. }
  1287. });
  1288. }
  1289. var MaintenancePlanPanel1 =Ext.create('Ext.grid.Panel', {
  1290. header :{
  1291. height:0,
  1292. border:'0px solid #000000'
  1293. },
  1294. id: 'PatrolPlanListPanel1',
  1295. store: myStore1,
  1296. selModel: sm1,
  1297. columns: [
  1298. { header: 'ID', dataIndex: 'id',hidden:true, menuDisabled:true },
  1299. { header: '序号', dataIndex: 'xh',hidden:true, menuDisabled:true },
  1300. { header: '点位名称', dataIndex: 'spot_name', width:260,align:'center', menuDisabled:true },
  1301. { header: '点位地址', dataIndex: 'spot_address', width:260,align:'center', menuDisabled:true },
  1302. // { header: '巡检日期', dataIndex: 'planned_date', width:236,align:'center', menuDisabled:true },
  1303. {
  1304. text:'点位详情',
  1305. xtype : 'actioncolumn',
  1306. width:236,
  1307. sortable:false,
  1308. align:'center',
  1309. menuDisabled:true,
  1310. items:[{
  1311. icon: '../../res/img/common/tupianbtn.png',
  1312. tooltip: '点位详情',
  1313. handler: function(grid, rowIndex, colIndex) {
  1314. var rec = grid.getStore().getAt(rowIndex);
  1315. editMaintenance(rec.get("id"));
  1316. }
  1317. }]
  1318. }
  1319. ],
  1320. columnLines: true,
  1321. height: 300,
  1322. width: 780,
  1323. bbar: new Ext.PagingToolbar({
  1324. store: myStore1,
  1325. id:'PatrolPlanListPageToolbar1',
  1326. displayInfo: true,
  1327. pageSize: 5,
  1328. prependButtons: true,
  1329. displayMsg : '显示第 {0}条到 {1}条记录,总共 {2}条',
  1330. emptyMsg : "没有记录",
  1331. firstText: '第一页',
  1332. prevText: '前一页',
  1333. nextText: '后一页',
  1334. lastText: '最后一页',
  1335. refreshText: '刷新',
  1336. }),
  1337. // frame: true,
  1338. border:false,
  1339. iconCls: 'icon-grid'
  1340. // renderTo: Ext.getBody()
  1341. });
  1342. var MaintenancePlanPanel =Ext.create('Ext.grid.Panel', {
  1343. header :{
  1344. height:0,
  1345. border:'0px solid #000000'
  1346. },
  1347. id: 'PatrolPlanListPanel',
  1348. store: myStore,
  1349. selModel: sm,
  1350. columns: [
  1351. { header: 'ID', dataIndex: 'id',hidden:true, menuDisabled:true },
  1352. { header: '团队ID', dataIndex: 'team_id',hidden:true, menuDisabled:true },
  1353. { header: '周期值', dataIndex: 'cycle',hidden:true, menuDisabled:true },
  1354. { header: '建筑编号', dataIndex: 'company_code',hidden:true, menuDisabled:true },
  1355. { header: '开始日期', dataIndex: 'start_date',hidden:true, menuDisabled:true },
  1356. { header: '结束日期', dataIndex: 'end_date',hidden:true, menuDisabled:true },
  1357. { header: '开始时间', dataIndex: 'start_inspect_time',hidden:true, menuDisabled:true },
  1358. { header: '结束时间', dataIndex: 'end_inspect_time',hidden:true, menuDisabled:true },
  1359. { header: '序号', dataIndex: 'xh', width:77, menuDisabled:true },
  1360. { header: '任务名称', dataIndex: 'plan_name', width:250,align:'center', menuDisabled:true },
  1361. { header: '周期', dataIndex: 'cycle_name', width:300,align:'center', menuDisabled:true },
  1362. { header: '执行日期', dataIndex: 'zxsj', width:250,align:'center', menuDisabled:true },
  1363. { header: '执行团队', dataIndex: 'team_name',width:280, align:'center', menuDisabled:true },
  1364. { header: '责任人', dataIndex: 'name', width:280, align:'center', menuDisabled:true },
  1365. ],
  1366. columnLines: true,
  1367. height: maxHeight,
  1368. width: '100%',
  1369. bbar: new Ext.PagingToolbar({
  1370. store: myStore,
  1371. id:'PatrolPlanListPageToolbar',
  1372. displayInfo: true,
  1373. pageSize: countPerPage,
  1374. prependButtons: true,
  1375. displayMsg : '显示第 {0}条到 {1}条记录,总共 {2}条',
  1376. emptyMsg : "没有记录",
  1377. firstText: '第一页',
  1378. prevText: '前一页',
  1379. nextText: '后一页',
  1380. lastText: '最后一页',
  1381. refreshText: '刷新',
  1382. }),
  1383. // frame: true,
  1384. border:false,
  1385. iconCls: 'icon-grid'
  1386. // renderTo: Ext.getBody()
  1387. });
  1388. var piebar = Ext.create('Ext.panel.Panel',{
  1389. id:'patrolPlanHtml',
  1390. width:'100%',
  1391. height:188,
  1392. region:'north',
  1393. layout:'form',
  1394. defaults:{
  1395. border:false
  1396. }
  1397. // items: [childPanel1]
  1398. });
  1399. var PatrolPlanTab=Ext.create('Ext.tab.Panel', {
  1400. id: 'PatrolPlanTab',
  1401. activeTab: 0,
  1402. items: [
  1403. {
  1404. title: '巡检点位',
  1405. items : [MaintenancePlanPanel1]
  1406. }
  1407. ]
  1408. });
  1409. new Ext.create('Ext.panel.Panel',{
  1410. width:'100%',
  1411. id: 'PatrolPlanPiebar',
  1412. layout:'border',
  1413. items:[
  1414. piebar,MaintenancePlanPanel
  1415. ],
  1416. renderTo: Ext.getBody()
  1417. });
  1418. myStore.reload();
  1419. myStore.addListener('load',function(store,record,opts){
  1420. piedarHtml_fun();
  1421. });
  1422. $(window).resize(function(){
  1423. body_resize();
  1424. });
  1425. body_resize();
  1426. });