patrolplan.js 56 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520
  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. minText:'时间要大于{0}',
  369. maxText:'时间要小于{0}',
  370. format:'G:i',//时间格式G(24小时进制)、i、s(时分秒,g是12小时进制)
  371. increment:30,//跨度,默认是15分钟
  372. invalidText:'时间格式错误',
  373. anchor:'40%'
  374. },{
  375. xtype:'timefield',
  376. fieldLabel:'巡检结束时间',
  377. id: 'fa_patrol_end_time',
  378. name:"end_time",
  379. minValue:'00:00',
  380. maxValue:'24:00',
  381. minText:'时间要大于{0}',
  382. maxText:'时间要小于{0}',
  383. format:'G:i',//时间格式G(24小时进制)、i、s(时分秒,g是12小时进制)
  384. increment:30,//跨度,默认是15分钟
  385. invalidText:'时间格式错误',
  386. anchor:'80%'
  387. },{
  388. xtype:'combo',
  389. fieldLabel:'执行团队',
  390. id: 'fa_patrol_team_id',
  391. name:'team_id',
  392. displayField : 'team_name',
  393. valueField : 'id',
  394. editable : false,
  395. width:100,
  396. store:teamStory
  397. }
  398. ]
  399. },{
  400. columnWidth:.50,
  401. xtype: 'fieldset',
  402. layout:'form',
  403. // defaults: {anchor: '95%'},
  404. style: 'margin-left: 5px;padding-left: 5px;border:0px solid #B5B8C8!important;',
  405. items:[
  406. {
  407. xtype: 'checkboxgroup',
  408. fieldLabel: '周期',
  409. id:"fa_patrol_cycle",
  410. listeners:{
  411. change:function(gp,nv,ov,eOpts){
  412. var i=0;
  413. if(nv.all && !ov.all){
  414. // return gp.eachBox(function(box,idx){
  415. // box.setRawValue(true);
  416. // });
  417. Ext.getCmp('fa_all_checkbox').setValue(true);
  418. Ext.getCmp('fa_monday_checkbox').setValue(true);
  419. Ext.getCmp('fa_tuesday_checkbox').setValue(true);
  420. Ext.getCmp('fa_wednesday_checkbox').setValue(true);
  421. Ext.getCmp('fa_thursday_checkbox').setValue(true);
  422. Ext.getCmp('fa_friday_checkbox').setValue(true);
  423. Ext.getCmp('fa_saturday_checkbox').setValue(true);
  424. Ext.getCmp('fa_sunday_checkbox').setValue(true);
  425. return true;
  426. }
  427. if(ov.all && !nv.all && nv.monday && nv.tuesday && nv.wednesday && nv.thursday && nv.friday && nv.saturday && nv.sunday){
  428. // return gp.eachBox(function(box,idx){
  429. // box.setRawValue(false);
  430. // });
  431. Ext.getCmp('fa_all_checkbox').setValue(false);
  432. Ext.getCmp('fa_monday_checkbox').setValue(false);
  433. Ext.getCmp('fa_tuesday_checkbox').setValue(false);
  434. Ext.getCmp('fa_wednesday_checkbox').setValue(false);
  435. Ext.getCmp('fa_thursday_checkbox').setValue(false);
  436. Ext.getCmp('fa_friday_checkbox').setValue(false);
  437. Ext.getCmp('fa_saturday_checkbox').setValue(false);
  438. Ext.getCmp('fa_sunday_checkbox').setValue(false);
  439. return true;
  440. }
  441. if(nv.monday && nv.tuesday && nv.wednesday && nv.thursday && nv.friday && nv.saturday && nv.sunday){
  442. Ext.getCmp('fa_all_checkbox').setValue(true);
  443. return true;
  444. }else{
  445. Ext.getCmp('fa_all_checkbox').setValue(false);
  446. return true;
  447. }
  448. }
  449. },
  450. columns: 3,
  451. items: [
  452. {boxLabel: '全选', name: 'all',inputValue:"0",id:"fa_all_checkbox"},
  453. {boxLabel: '周一', name: 'monday',inputValue:"1",id:"fa_monday_checkbox"},
  454. {boxLabel: '周二', name: 'tuesday',inputValue:"2",id:"fa_tuesday_checkbox"},
  455. {boxLabel: '周三', name: 'wednesday',inputValue:"3",id:"fa_wednesday_checkbox"},
  456. {boxLabel: '周四', name: 'thursday',inputValue:"4",id:"fa_thursday_checkbox"},
  457. {boxLabel: '周五', name: 'friday',inputValue:"5",id:"fa_friday_checkbox"},
  458. {boxLabel: '周六', name: 'saturday',inputValue:"6",id:"fa_saturday_checkbox"},
  459. {boxLabel: '周日', name: 'sunday',inputValue:"7",id:"fa_sunday_checkbox"}
  460. ]},{
  461. xtype:'datefield',
  462. fieldLabel:"执行开始日期",
  463. minValue:data,
  464. minText:"当前日期选择应大于当天日期",
  465. format:"Y-m-d",
  466. id: 'fa_patrol_start_date',
  467. name:"start_date",
  468. editable:false,//只读约束
  469. anchor:'80%'
  470. },{
  471. xtype:'datefield',
  472. fieldLabel:"执行结束日期",
  473. minValue:data,
  474. // '07/07/2017',
  475. minText:"当前日期选择应大于当天日期",
  476. format:"Y-m-d",
  477. id: 'fa_patrol_end_date',
  478. name:"end_date",
  479. editable:false,//只读约束
  480. anchor:'80%'
  481. },{
  482. id:'fa_patrol_queryJson',
  483. name:'queryJson',
  484. hidden:true
  485. }
  486. ]
  487. }
  488. ]}]
  489. });
  490. var appendwin = function(){
  491. AllSelectedRecords.length = 0;
  492. var query = new Object();
  493. query.V_LOGINNAME=V_LOGINNAME;
  494. // query.V_PASSWORD=V_PASSWORD;
  495. var jsonstr = Ext.JSON.encode(query);
  496. myStore1.getProxy().extraParams = {
  497. queryJson : jsonstr
  498. };
  499. Ext.getCmp('PatrolPlanListPageToolbar1').moveFirst();
  500. Ext.create('Ext.window.Window', {
  501. title: '新增巡检计划',
  502. height: 600,
  503. width: 800,
  504. modal: true,
  505. layout:'border',
  506. items: [AppendForm,PatrolPlanTab],
  507. closeAction: 'hide',
  508. buttons: [{
  509. text: '提交',
  510. iconCls:'ok_btn',
  511. handler: function() {
  512. // alert(sm1.getCount());
  513. if(AllSelectedRecords.length==1){
  514. var InspectiontimeValue = Ext.getCmp('fa_patrol_cycle').getChecked();
  515. var fa_cycle='';
  516. Ext.Array.each(InspectiontimeValue, function(item){
  517. fa_cycle +=item.inputValue+',';
  518. });
  519. var V_LOGINNAME = $("#V_LOGINNAME").val();
  520. var V_PASSWORD = $("#V_PASSWORD").val();
  521. var start_time = Ext.getCmp('fa_patrol_start_time').getValue();
  522. 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());
  523. var end_time = Ext.getCmp('fa_patrol_end_time').getValue();
  524. 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());
  525. // Ext.MessageBox.alert('提示', '您的兴趣是' + V_LOGINNAME);
  526. // var selected = sm1.getSelection( );
  527. var query = new Object();
  528. var spot_id = null;
  529. // query.spot_id = selected[0].raw.id;
  530. query.spot_id = AllSelectedRecords[0];
  531. query.plan_name = Ext.getCmp('fa_patrolplan_name').getValue();
  532. query.team_id = Ext.getCmp('fa_patrol_team_id').getValue();
  533. query.company_code = Ext.getCmp('fa_patrol_company_code').getValue();
  534. query.cycle = fa_cycle;
  535. query.start_inspect_time = start_time1;
  536. query.end_inspect_time = end_time1;
  537. query.start_date = Ext.util.Format.date(Ext.getCmp('fa_patrol_start_date').getValue(), 'Y-m-d');
  538. query.end_date = Ext.util.Format.date(Ext.getCmp('fa_patrol_end_date').getValue(), 'Y-m-d');
  539. // query.V_LOGINNAME = V_LOGINNAME;
  540. var jsonstr= Ext.JSON.encode(query);
  541. Ext.Ajax.request( {
  542. // timeout : 3000000,
  543. url: baseUrl+'iot/planmaster/append1',
  544. params : 'queryJson='+ jsonstr,
  545. success: function(resp,opts){
  546. Ext.Msg.alert('操作成功', '计划已添加', function(btn,txt){
  547. // myStore.reload();
  548. clear_append_form();
  549. });
  550. }
  551. });
  552. }else{
  553. if(AllSelectedRecords.length>1){
  554. var InspectiontimeValue = Ext.getCmp('fa_patrol_cycle').getChecked();
  555. var fa_cycle='';
  556. Ext.Array.each(InspectiontimeValue, function(item){
  557. fa_cycle +=item.inputValue+',';
  558. });
  559. var V_LOGINNAME = $("#V_LOGINNAME").val();
  560. var V_PASSWORD = $("#V_PASSWORD").val();
  561. var start_time = Ext.getCmp('fa_patrol_start_time').getValue();
  562. 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());
  563. var end_time = Ext.getCmp('fa_patrol_end_time').getValue();
  564. 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());
  565. var query = new Object();
  566. var spot_id = null;
  567. // var selected = sm1.getSelection( );
  568. for(var i=0;i<AllSelectedRecords.length;i++){
  569. if(i==0)
  570. spot_id = AllSelectedRecords[i];
  571. else
  572. spot_id += ","+AllSelectedRecords[i];
  573. }
  574. query.spot_id = spot_id;
  575. query.plan_name = Ext.getCmp('fa_patrolplan_name').getValue();
  576. query.team_id = Ext.getCmp('fa_patrol_team_id').getValue();
  577. query.company_code = Ext.getCmp('fa_patrol_company_code').getValue();
  578. query.cycle = fa_cycle;
  579. query.start_inspect_time = start_time1;
  580. query.end_inspect_time = end_time1;
  581. query.start_date = Ext.util.Format.date(Ext.getCmp('fa_patrol_start_date').getValue(), 'Y-m-d');
  582. query.end_date = Ext.util.Format.date(Ext.getCmp('fa_patrol_end_date').getValue(), 'Y-m-d');
  583. // query.ID_LIST = list;
  584. // query.V_LOGINNAME = V_LOGINNAME;
  585. var jsonstr= Ext.JSON.encode(query);
  586. Ext.Ajax.request( {
  587. timeout : 3000000,
  588. url: baseUrl+'iot/planmaster/append1',
  589. params : 'queryJson='+ jsonstr,
  590. success: function(resp,opts){
  591. Ext.Msg.alert('操作成功', '计划已添加', function(btn,txt){
  592. // myStore.reload();
  593. clear_append_form();
  594. });
  595. }
  596. });
  597. }else{
  598. Ext.Msg.alert('请先选择','至少选择一条巡检点位,再点击提交');
  599. }
  600. }
  601. }
  602. },{
  603. text: '关闭',
  604. iconCls: 'cancel_btn',
  605. handler: function() {
  606. this.up('window').hide();
  607. }
  608. }]
  609. }).show();
  610. Ext.getCmp('fa_all_checkbox').setValue(true);
  611. Ext.getCmp('fa_monday_checkbox').setValue(true);
  612. Ext.getCmp('fa_tuesday_checkbox').setValue(true);
  613. Ext.getCmp('fa_wednesday_checkbox').setValue(true);
  614. Ext.getCmp('fa_thursday_checkbox').setValue(true);
  615. Ext.getCmp('fa_friday_checkbox').setValue(true);
  616. Ext.getCmp('fa_saturday_checkbox').setValue(true);
  617. Ext.getCmp('fa_sunday_checkbox').setValue(true);
  618. }
  619. var del_sm = function() {
  620. if(sm.getCount()==1){
  621. var selected = sm.getSelection( );
  622. var query = new Object();
  623. var list = new Array();
  624. var o = new Object();
  625. o.id = selected[0].raw.id;
  626. list.push(o);
  627. query.ID_LIST = list;
  628. var jsonstr= Ext.JSON.encode(query);
  629. Ext.MessageBox.confirm('删除任务信息','是否删除'+selected[0].raw.name+' 巡检任务?',function(btn){
  630. if(btn=='yes'){
  631. $.ajax({
  632. type:'POST',
  633. url: baseUrl+"iot/planmaster/del",
  634. data: {
  635. queryJson : jsonstr
  636. },
  637. success: function(result){
  638. var json = eval('(' + result + ')');
  639. if(json.action=='deletePlanMaster'){
  640. if(json.success==true){
  641. Ext.Msg.alert('操作成功', json.MSG , function(btn,txt){
  642. Ext.getCmp('PatrolPlanListPanel').getStore().reload();
  643. });
  644. }else{
  645. Ext.Msg.alert('操作失败', json.MSG , function(btn,txt){
  646. Ext.getCmp('PatrolPlanListPanel').getStore().reload();
  647. });
  648. }
  649. }
  650. }
  651. });
  652. }
  653. },this);
  654. }else{
  655. if(sm.getCount()>1){
  656. var query = new Object();
  657. var list = new Array();
  658. for(var i=0;i<sm.getCount();i++){
  659. var selected = sm.getSelection( );
  660. var o = new Object();
  661. o.id = selected[i].raw.id;
  662. list.push(o);
  663. }
  664. query.ID_LIST = list;
  665. var jsonstr= Ext.JSON.encode(query);
  666. Ext.MessageBox.confirm('删除任务信息','是否删除选中的'+sm.getCount()+' 个巡检任务?',function(btn){
  667. if(btn=='yes'){
  668. $.ajax({
  669. type:'POST',
  670. url: baseUrl+"iot/planmaster/del",
  671. data: {
  672. queryJson : jsonstr
  673. },
  674. success: function(result){
  675. var json = eval('(' + result + ')');
  676. if(json.action=='deletePlanMaster'){
  677. if(json.success==true){
  678. Ext.Msg.alert('操作成功', json.MSG , function(btn,txt){
  679. Ext.getCmp('PatrolPlanListPanel').getStore().reload();
  680. });
  681. }else{
  682. Ext.Msg.alert('操作失败', json.MSG , function(btn,txt){
  683. Ext.getCmp('PatrolPlanListPanel').getStore().reload();
  684. });
  685. }
  686. }
  687. }
  688. });
  689. }
  690. },this);
  691. }else{
  692. Ext.Msg.alert('请先选择','至少选择一条记录,再点击删除');
  693. }
  694. }
  695. }
  696. var clear_modify_form = function (){
  697. Ext.getCmp('fm_patrol_id').setValue("");
  698. Ext.getCmp('fm_patrol_plan_name').setValue("");
  699. Ext.getCmp('fm_patrol_team_id').setValue("");
  700. // Ext.getCmp('fm_cycle').setValue("");
  701. Ext.getCmp('fm_patrol_start_date').setValue("");
  702. Ext.getCmp('fm_patrol_end_date').setValue("");
  703. Ext.getCmp('fm_patrol_start_time').setValue("");
  704. Ext.getCmp('fm_patrol_end_time').setValue("");
  705. Ext.getCmp('fm_patrol_company_code').setValue("");
  706. Ext.getCmp('fm_patrol_cycle').setValue(false);
  707. AllSelectedRecords=[];
  708. // Ext.getCmp('fm_spot_id').setValue("");
  709. Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload();
  710. }
  711. $('#patrolPlan_title2_input').change(function(){
  712. var text = Ext.getCmp('fm_patrol_start_date').getValue();
  713. if(text.length >= 20){
  714. return Ext.getCmp('fa_patrolplan_name').setValue(text.substring(0,20));
  715. }
  716. })
  717. var show_page = function(){
  718. var maintenancePlan_title2_input = document.getElementById('patrolPlan_title2_input').value;
  719. var maintenancePlan_title3_input1 = document.getElementById('patrolPlan_title3_input1').value;
  720. var query = new Object();
  721. if(maintenancePlan_title2_input.length>0){
  722. query.plan_name = maintenancePlan_title2_input;
  723. $("#plan_name").val(maintenancePlan_title2_input);
  724. }
  725. if(maintenancePlan_title3_input1.length>0){
  726. query.person_liable_id = maintenancePlan_title3_input1;
  727. $("#person_liable_id").val(maintenancePlan_title3_input1);
  728. }
  729. // query.V_LOGINNAME = V_LOGINNAME;
  730. // query.V_PASSWORD = V_PASSWORD;
  731. var jsonstr = Ext.JSON.encode(query);
  732. myStore.getProxy().extraParams = {
  733. queryJson : jsonstr
  734. };
  735. Ext.getCmp('PatrolPlanListPageToolbar').moveFirst();
  736. }
  737. var reset1 = function(){
  738. document.getElementById('patrolPlan_title2_input').value = '';
  739. document.getElementById('patrolPlan_title3_input1').value = '';
  740. $("#plan_name").val('');
  741. $("#person_liable_id").val('');
  742. show_page();
  743. }
  744. mouseon = function(obj){
  745. var id = obj.id;
  746. $("#"+id).removeClass(id);
  747. $("#"+id).addClass(id+'_on');
  748. }
  749. mouseoff = function(obj){
  750. var mid = "patrolPlan_";
  751. for(var i=1;i<7;i++){
  752. var id = "patrolPlan_title"+i+"_div";
  753. $("#"+id).removeClass(id+'_on');
  754. $("#"+id).addClass(id);
  755. }
  756. if(menuidx=='m1'){
  757. mid += 'title1_div';
  758. $("#"+mid).removeClass(mid);
  759. $("#"+mid).addClass(mid+'_on');
  760. }
  761. else if(menuidx=='m2'){
  762. mid += 'title2_div';
  763. $("#"+mid).removeClass(mid);
  764. $("#"+mid).addClass(mid+'_on');
  765. }
  766. else if(menuidx=='m3'){
  767. mid += 'title3_div';
  768. $("#"+mid).removeClass(mid);
  769. $("#"+mid).addClass(mid+'_on');
  770. }
  771. else if(menuidx=='m4'){
  772. mid += 'title4_div';
  773. $("#"+mid).removeClass(mid);
  774. $("#"+mid).addClass(mid+'_on');
  775. }
  776. else if(menuidx=='m5'){
  777. mid += 'title5_div';
  778. $("#"+mid).removeClass(mid);
  779. $("#"+mid).addClass(mid+'_on');
  780. }
  781. else if(menuidx=='m6'){
  782. mid += 'title6_div';
  783. $("#"+mid).removeClass(mid);
  784. $("#"+mid).addClass(mid+'_on');
  785. }
  786. }
  787. menu_click = function(obj){
  788. var id = obj.id;
  789. if(id=='patrolPlan_title1_div'){
  790. menuidx = 'm1';
  791. show_page();
  792. }
  793. else if(id=='patrolPlan_title2_div'){
  794. menuidx = 'm2';
  795. reset1();
  796. }
  797. else if(id=='patrolPlan_title3_div'){
  798. menuidx = 'm3';
  799. exportbtn_click();
  800. }
  801. else if(id=='patrolPlan_title4_div'){
  802. menuidx = 'm4';
  803. del_sm();
  804. }
  805. else if(id=='patrolPlan_title5_div'){
  806. menuidx = 'm5';
  807. appendwin();
  808. }
  809. else if(id=='patrolPlan_title6_div'){
  810. menuidx = 'm6';
  811. chk_sm();
  812. }
  813. }
  814. var piedarHtml = function() {
  815. var maintenancePlanHtml = document.getElementById('patrolPlanHtml');
  816. var divhiddle = document.createElement('div');
  817. divhiddle.id='div26_id_patrolPlanPanel3';
  818. divhiddle.setAttribute('class','SpringHandleHtml3DivHiddle');
  819. maintenancePlanHtml.appendChild(divhiddle);
  820. var title = document.createElement('div');
  821. title.setAttribute('class','MaintenancePersonTitle');
  822. title.innerHTML='巡检计划';
  823. maintenancePlanHtml.appendChild(title);
  824. var title2 = document.createElement('div');
  825. title2.setAttribute('class','title2_div');
  826. title2.innerHTML='任务名称';
  827. maintenancePlanHtml.appendChild(title2);
  828. var input = document.createElement('input');
  829. input.setAttribute('class','input_class');
  830. input.setAttribute('id','patrolPlan_title2_input');
  831. input.setAttribute('type','text');
  832. input.setAttribute('value','');
  833. maintenancePlanHtml.appendChild(input);
  834. var title3 = document.createElement('div');
  835. title3.setAttribute('class','title3_div');
  836. title3.innerHTML='责任人';
  837. maintenancePlanHtml.appendChild(title3);
  838. // var input1 = document.createElement('input');
  839. // input1.setAttribute('class','input1_class');
  840. // input1.setAttribute('id','maintenancePlan_title3_input1');
  841. // input1.setAttribute('type','text');
  842. // input1.setAttribute('value','');
  843. // maintenancePlanHtml.appendChild(input1);
  844. var select = document.createElement('select');
  845. select.setAttribute('class','input1_class');
  846. select.setAttribute('id','patrolPlan_title3_input1');
  847. maintenancePlanHtml.appendChild(select);
  848. var option2 = document.createElement('option');
  849. option2.innerHTML='所有人';
  850. option2.setAttribute('value','0');
  851. select.appendChild(option2);
  852. for(var i=0;i<ConfirmStore.length;i++){
  853. var option3 = document.createElement('option');
  854. option3.innerHTML=ConfirmStore[i].name;
  855. option3.setAttribute('value',ConfirmStore[i].person_liable_id);
  856. select.appendChild(option3);
  857. }
  858. var title4 = document.createElement('div');
  859. title4.setAttribute('class','patrolPlan_title1_div');
  860. title4.setAttribute('id','patrolPlan_title1_div');
  861. title4.setAttribute('onmouseover',"mouseon(this)");
  862. title4.setAttribute('onmouseout',"mouseoff(this)");
  863. title4.setAttribute('onclick',"menu_click(this)");
  864. maintenancePlanHtml.appendChild(title4);
  865. var title5 = document.createElement('div');
  866. title5.setAttribute('class','patrolPlan_title2_div');
  867. title5.setAttribute('id','patrolPlan_title2_div');
  868. title5.setAttribute('onmouseover',"mouseon(this)");
  869. title5.setAttribute('onmouseout',"mouseoff(this)");
  870. title5.setAttribute('onclick',"menu_click(this)");
  871. maintenancePlanHtml.appendChild(title5);
  872. var title6 = document.createElement('div');
  873. title6.setAttribute('class','patrolPlan_title3_div');
  874. title6.setAttribute('id','patrolPlan_title3_div');
  875. title6.setAttribute('onmouseover',"mouseon(this)");
  876. title6.setAttribute('onmouseout',"mouseoff(this)");
  877. title6.setAttribute('onclick',"menu_click(this)");
  878. maintenancePlanHtml.appendChild(title6);
  879. var title7 = document.createElement('div');
  880. title7.setAttribute('class','patrolPlan_title4_div');
  881. title7.setAttribute('id','patrolPlan_title4_div');
  882. title7.setAttribute('onmouseover',"mouseon(this)");
  883. title7.setAttribute('onmouseout',"mouseoff(this)");
  884. title7.setAttribute('onclick',"menu_click(this)");
  885. maintenancePlanHtml.appendChild(title7);
  886. var title8 = document.createElement('div');
  887. title8.setAttribute('class','patrolPlan_title5_div');
  888. title8.setAttribute('id','patrolPlan_title5_div');
  889. title8.setAttribute('onmouseover',"mouseon(this)");
  890. title8.setAttribute('onmouseout',"mouseoff(this)");
  891. title8.setAttribute('onclick',"menu_click(this)");
  892. maintenancePlanHtml.appendChild(title8);
  893. var title9 = document.createElement('div');
  894. title9.setAttribute('class','patrolPlan_title6_div');
  895. title9.setAttribute('id','patrolPlan_title6_div');
  896. title9.setAttribute('onmouseover',"mouseon(this)");
  897. title9.setAttribute('onmouseout',"mouseoff(this)");
  898. title9.setAttribute('onclick',"menu_click(this)");
  899. maintenancePlanHtml.appendChild(title9);
  900. }
  901. var piedarHtml_fun = function(){
  902. var query = new Object();
  903. query.V_LOGINNAME = $("#V_LOGINNAME").val();
  904. $.ajax({
  905. type:'POST',
  906. url: baseUrl+"iot/planteam/getzrrList1",
  907. data: {
  908. queryJson : Ext.JSON.encode(query)
  909. },
  910. success: function(result){
  911. var json = eval('(' + result + ')');
  912. if(json.action=='getPlanTeamList'){
  913. ConfirmStore = json.RESULT;
  914. if(document.getElementById('div26_id_patrolPlanPanel3')==undefined)
  915. piedarHtml();
  916. }
  917. }
  918. });
  919. }
  920. var ModifyForm = Ext.create('Ext.form.Panel', {
  921. id: 'PatrolPlanEditForm',
  922. labelWidth: 55,
  923. url: baseUrl+'iot/planmaster/update',
  924. bodyPadding: 15,
  925. frame:true,
  926. labelAlign:'left',
  927. region:'north',
  928. enableDrop: true,
  929. ddGroup: 'treeID',
  930. height: 200,
  931. items: [{
  932. autoHeight:true,
  933. layout:'column',
  934. border:false,
  935. items: [{
  936. columnWidth:.50,
  937. xtype: 'fieldset',
  938. layout:'form',
  939. // defaults: {anchor: '95%'},
  940. style: 'margin-left: 5px;padding-left: 5px;border:0px solid #B5B8C8!important;',
  941. items:[
  942. {
  943. xtype:'textfield',
  944. fieldLabel:'任务名称',
  945. id: 'fm_patrol_plan_name',
  946. name:'plan_name',
  947. editable : false,
  948. width:230,
  949. readOnly:'true'
  950. },{
  951. xtype:'combo',
  952. fieldLabel:'建筑/项目',
  953. id: 'fm_patrol_company_code',
  954. name:'company_code',
  955. displayField : 'building_name',
  956. valueField : 'building_id',
  957. editable : false,
  958. width:283,
  959. store:CompanyStory,
  960. readOnly:'true'
  961. },{
  962. xtype:'timefield',
  963. fieldLabel:'巡检开始时间',
  964. id: 'fm_patrol_start_time',
  965. name:"start_time",
  966. minValue:'00:00',
  967. maxValue:'24:00',
  968. minText:'时间要大于{0}',
  969. maxText:'时间要小于{0}',
  970. format:'G:i',//时间格式G(24小时进制)、i、s(时分秒,g是12小时进制)
  971. increment:30,//跨度,默认是15分钟
  972. invalidText:'时间格式错误',
  973. anchor:'40%'
  974. },{
  975. xtype:'timefield',
  976. fieldLabel:'巡检结束时间',
  977. id: 'fm_patrol_end_time',
  978. name:"end_time",
  979. minValue:'00:00',
  980. maxValue:'24:00',
  981. minText:'时间要大于{0}',
  982. maxText:'时间要小于{0}',
  983. format:'G:i',//时间格式G(24小时进制)、i、s(时分秒,g是12小时进制)
  984. increment:30,//跨度,默认是15分钟
  985. invalidText:'时间格式错误',
  986. anchor:'80%'
  987. },{
  988. xtype:'combo',
  989. fieldLabel:'执行团队',
  990. id: 'fm_patrol_team_id',
  991. name:'team_id',
  992. displayField : 'team_name',
  993. valueField : 'id',
  994. editable : false,
  995. width:100,
  996. store:teamStory
  997. }
  998. ]
  999. },{
  1000. columnWidth:.50,
  1001. xtype: 'fieldset',
  1002. layout:'form',
  1003. // defaults: {anchor: '95%'},
  1004. style: 'margin-left: 5px;padding-left: 5px;border:0px solid #B5B8C8!important;',
  1005. items:[
  1006. {
  1007. xtype: 'checkboxgroup',
  1008. fieldLabel: '周期',
  1009. id:"fm_patrol_cycle",
  1010. columns: 3,
  1011. items: [
  1012. {boxLabel: '周一', name: 'monday',inputValue:"1",id:"fm_monday"},
  1013. {boxLabel: '周二', name: 'tuesday',inputValue:"2",id:"fm_tuesday"},
  1014. {boxLabel: '周三', name: 'wednesday',inputValue:"3",id:"fm_wednesday"},
  1015. {boxLabel: '周四', name: 'thursday',inputValue:"4",id:"fm_thursday"},
  1016. {boxLabel: '周五', name: 'friday',inputValue:"5",id:"fm_friday"},
  1017. {boxLabel: '周六', name: 'saturday',inputValue:"6",id:"fm_saturday"},
  1018. {boxLabel: '周日', name: 'sunday',inputValue:"7",id:"fm_sunday"}
  1019. ]},{
  1020. xtype:'datefield',
  1021. fieldLabel:"执行开始日期",
  1022. minValue:'07/07/2017',
  1023. minText:"当前日期选择应大于2017-07-07",
  1024. format:"Y-m-d",
  1025. columnWidth:0.5,
  1026. id: 'fm_patrol_start_date',
  1027. name:"start_data",
  1028. editable:false,//只读约束
  1029. anchor:'80%',
  1030. readOnly:'true'
  1031. },{
  1032. xtype:'datefield',
  1033. fieldLabel:"执行结束日期",
  1034. minValue:'07/07/2017',
  1035. minText:"当前日期选择应大于之前日期",
  1036. format:"Y-m-d",
  1037. columnWidth:0.5,
  1038. id: 'fm_patrol_end_date',
  1039. name:"end_date",
  1040. editable:false,//只读约束
  1041. anchor:'80%'
  1042. },{
  1043. xtype:'textfield',
  1044. id: 'fm_patrol_id',
  1045. name:'id',
  1046. hidden:true
  1047. },{
  1048. id:'fm_patrol_queryJson',
  1049. name:'queryJson',
  1050. hidden:true
  1051. }
  1052. ]
  1053. }
  1054. ]}]
  1055. });
  1056. var modifywin = function(){
  1057. Ext.create('Ext.window.Window', {
  1058. title: '修改',
  1059. height: 600,
  1060. width: 800,
  1061. modal: true,
  1062. layout:'border',
  1063. items: [ ModifyForm,PatrolPlanTab],
  1064. closeAction: 'hide',
  1065. buttons: [{
  1066. text: '修改',
  1067. iconCls:'ok_btn',
  1068. handler: function() {
  1069. if(AllSelectedRecords.length==1){
  1070. // var fm_cycle = ModifyForm.getForm().findField("fm_patrol_cycle").getGroupValue();
  1071. var InspectiontimeValue = Ext.getCmp('fm_patrol_cycle').getChecked();
  1072. var fm_cycle='';
  1073. Ext.Array.each(InspectiontimeValue, function(item){
  1074. fm_cycle +=item.inputValue+',';
  1075. });
  1076. var V_LOGINNAME = $("#V_LOGINNAME").val();
  1077. var V_PASSWORD = $("#V_PASSWORD").val();
  1078. var start_time = Ext.getCmp('fm_patrol_start_time').getValue();
  1079. 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());
  1080. var end_time = Ext.getCmp('fm_patrol_end_time').getValue();
  1081. 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());
  1082. // Ext.MessageBox.alert('提示', '您的兴趣是' + V_LOGINNAME);
  1083. var query = new Object();
  1084. var spot_id = null;
  1085. query.spot_id = AllSelectedRecords[0];
  1086. query.id = Ext.getCmp('fm_patrol_id').getValue();
  1087. query.plan_name = Ext.getCmp('fm_patrol_plan_name').getValue();
  1088. query.team_id = Ext.getCmp('fm_patrol_team_id').getValue();
  1089. query.company_code = Ext.getCmp('fm_patrol_company_code').getValue();
  1090. query.cycle = fm_cycle;
  1091. query.start_inspect_time = start_time1;
  1092. query.end_inspect_time = end_time1;
  1093. query.start_date = Ext.util.Format.date(Ext.getCmp('fm_patrol_start_date').getValue(), 'Y-m-d');
  1094. query.end_date = Ext.util.Format.date(Ext.getCmp('fm_patrol_end_date').getValue(), 'Y-m-d');
  1095. // query.V_LOGINNAME = V_LOGINNAME;
  1096. var jsonstr= Ext.JSON.encode(query);
  1097. Ext.Ajax.request( {
  1098. // timeout : 3000000,
  1099. url: baseUrl+'iot/planmaster/update',
  1100. params : 'queryJson='+ jsonstr,
  1101. success: function(resp,opts){
  1102. Ext.Msg.alert('操作成功', '计划已修改', function(btn,txt){
  1103. // myStore.reload();
  1104. clear_modify_form();
  1105. });
  1106. }
  1107. });
  1108. this.up('window').hide();
  1109. }else{
  1110. if(AllSelectedRecords.length>1){
  1111. // var fm_cycle = ModifyForm.getForm().findField("fm_patrol_cycle").getGroupValue();
  1112. var InspectiontimeValue = Ext.getCmp('fm_patrol_cycle').getChecked();
  1113. var fm_cycle='';
  1114. Ext.Array.each(InspectiontimeValue, function(item){
  1115. fm_cycle +=item.inputValue+',';
  1116. });
  1117. var V_LOGINNAME = $("#V_LOGINNAME").val();
  1118. var V_PASSWORD = $("#V_PASSWORD").val();
  1119. var start_time = Ext.getCmp('fm_patrol_start_time').getValue();
  1120. 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());
  1121. var end_time = Ext.getCmp('fm_patrol_end_time').getValue();
  1122. 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());
  1123. var query = new Object();
  1124. var spot_id = null;
  1125. // var selected = sm1.getSelection( );
  1126. for(var i=0;i<AllSelectedRecords.length;i++){
  1127. if(i==0)
  1128. spot_id = AllSelectedRecords[i];
  1129. else
  1130. spot_id += ","+AllSelectedRecords[i];
  1131. }
  1132. query.id = Ext.getCmp('fm_patrol_id').getValue();
  1133. query.spot_id = spot_id;
  1134. query.plan_name = Ext.getCmp('fm_patrol_plan_name').getValue();
  1135. query.team_id = Ext.getCmp('fm_patrol_team_id').getValue();
  1136. query.company_code = Ext.getCmp('fm_patrol_company_code').getValue();
  1137. query.cycle = fm_cycle;
  1138. query.start_inspect_time = start_time1;
  1139. query.end_inspect_time = end_time1;
  1140. query.start_date = Ext.util.Format.date(Ext.getCmp('fm_patrol_start_date').getValue(), 'Y-m-d');
  1141. query.end_date = Ext.util.Format.date(Ext.getCmp('fm_patrol_end_date').getValue(), 'Y-m-d');
  1142. // query.ID_LIST = list;
  1143. // query.V_LOGINNAME = V_LOGINNAME;
  1144. var jsonstr= Ext.JSON.encode(query);
  1145. Ext.Ajax.request( {
  1146. timeout : 3000000,
  1147. url: baseUrl+'iot/planmaster/update',
  1148. params : 'queryJson='+ jsonstr,
  1149. success: function(resp,opts){
  1150. Ext.Msg.alert('操作成功', '计划已修改', function(btn,txt){
  1151. clear_modify_form();
  1152. });
  1153. }
  1154. });
  1155. //
  1156. this.up('window').hide();
  1157. }else{
  1158. Ext.Msg.alert('请先选择','至少选择一条巡检点位,再点击提交');
  1159. }
  1160. }
  1161. }
  1162. },{
  1163. text: '关闭',
  1164. iconCls: 'cancel_btn',
  1165. handler: function() {
  1166. this.up('window').hide();
  1167. clear_modify_form();
  1168. }
  1169. }]
  1170. }).show();
  1171. }
  1172. var chk_sm = function() {
  1173. if(sm.getCount()==1){
  1174. AllSelectedRecords = [];
  1175. modifywin();
  1176. teamStory.reload();
  1177. CompanyStory.reload();
  1178. var selected = sm.getSelection( );
  1179. var label= selected[0].raw.id
  1180. // alert("主表ID"+label);
  1181. var query = new Object();
  1182. // if(label.length>0){
  1183. query.dwid = label;
  1184. // }
  1185. // alert("主表ID1"+query.dwid);
  1186. query.V_LOGINNAME = V_LOGINNAME;
  1187. // query.V_PASSWORD = V_PASSWORD;
  1188. var jsonstr = Ext.JSON.encode(query);
  1189. myStore1.getProxy().extraParams = {
  1190. queryJson : jsonstr
  1191. };
  1192. Ext.getCmp('PatrolPlanListPageToolbar1').moveFirst();
  1193. Ext.getCmp('fm_patrol_plan_name').setValue(selected[0].raw.plan_name);
  1194. Ext.getCmp('fm_patrol_team_id').setValue(selected[0].raw.team_id);
  1195. // Ext.getCmp('fm_cycle').setValue(selected[0].raw.cycle);
  1196. var a = selected[0].raw.cycle;
  1197. var arr = a.split(",");
  1198. for(var i = 0 ;i < arr.length;i++) {
  1199. switch(arr[i]) {
  1200. case "1":
  1201. Ext.getCmp('fm_monday').setValue(true);
  1202. break;
  1203. case "2":
  1204. Ext.getCmp('fm_tuesday').setValue(true);
  1205. break;
  1206. case "3":
  1207. Ext.getCmp('fm_wednesday').setValue(true);
  1208. break;
  1209. case "4":
  1210. Ext.getCmp('fm_thursday').setValue(true);
  1211. break;
  1212. case "5":
  1213. Ext.getCmp('fm_friday').setValue(true);
  1214. break;
  1215. case "6":
  1216. Ext.getCmp('fm_saturday').setValue(true);
  1217. break;
  1218. case "7":
  1219. Ext.getCmp('fm_sunday').setValue(true);
  1220. break;
  1221. }
  1222. }
  1223. Ext.getCmp('fm_patrol_start_time').setValue(selected[0].raw.start_inspect_time);
  1224. Ext.getCmp('fm_patrol_end_time').setValue(selected[0].raw.end_inspect_time);
  1225. Ext.getCmp('fm_patrol_start_date').setValue(selected[0].raw.start_date);
  1226. Ext.getCmp('fm_patrol_end_date').setValue(selected[0].raw.end_date);
  1227. Ext.getCmp('fm_patrol_end_date').setMinValue(selected[0].raw.end_date);
  1228. Ext.getCmp('fm_patrol_company_code').setValue(selected[0].raw.company_code);
  1229. var b = selected[0].raw.id;
  1230. // Ext.get('fm_id').set({ value: b });
  1231. Ext.getCmp('fm_patrol_id').setValue(b);
  1232. }else{
  1233. Ext.Msg.alert('请先选择','请先选择一条记录,再点击修改');
  1234. }
  1235. }
  1236. var maintenancedevice = function(){
  1237. var maintenance_look_device = document.getElementById('patrolplan_look_device');
  1238. var img = document.createElement('img');
  1239. img.width=400;
  1240. img.height=400;
  1241. img.src = baseUrl+ConfirmStore[0].picture_route;
  1242. img.setAttribute('class','maintenance_look_device_img');
  1243. maintenance_look_device.appendChild(img);
  1244. var div4 = document.createElement('div');
  1245. div4.style.textAlign='center';
  1246. div4.innerHTML=ConfirmStore[0].remarks;
  1247. maintenance_look_device.appendChild(div4);
  1248. }
  1249. var editMaintenance = function(spot_id){
  1250. var spot_id = spot_id;
  1251. Ext.create('Ext.window.Window', {
  1252. id:'patrolplan_data_win1',
  1253. height: 500,
  1254. width: 400,
  1255. layout: 'fit',
  1256. modal:true,
  1257. buttons:[
  1258. {
  1259. text:'关闭',
  1260. handler : function() {
  1261. Ext.getCmp('patrolplan_data_win1').destroy();
  1262. }
  1263. }
  1264. ],
  1265. closeAction:'destroy',
  1266. html:'<div id="patrolplan_look_device"></div>'
  1267. }).show();
  1268. var query = new Object();
  1269. query.V_LOGINNAME = $("#V_LOGINNAME").val();
  1270. // query.V_PASSWORD = $("#V_PASSWORD").val();
  1271. query.id = spot_id;
  1272. $.ajax({
  1273. type:'POST',
  1274. url: baseUrl+"iot/inspectionpoints/getList",
  1275. data: {
  1276. queryJson : Ext.JSON.encode(query)
  1277. },
  1278. success: function(result){
  1279. var json = eval('(' + result + ')');
  1280. if(json.action=='getInspectionPointsList'){
  1281. ConfirmStore = json.RESULT;
  1282. maintenancedevice(ConfirmStore);
  1283. }
  1284. }
  1285. });
  1286. }
  1287. var MaintenancePlanPanel1 =Ext.create('Ext.grid.Panel', {
  1288. header :{
  1289. height:0,
  1290. border:'0px solid #000000'
  1291. },
  1292. id: 'PatrolPlanListPanel1',
  1293. store: myStore1,
  1294. selModel: sm1,
  1295. columns: [
  1296. { header: 'ID', dataIndex: 'id',hidden:true, menuDisabled:true },
  1297. { header: '序号', dataIndex: 'xh',hidden:true, menuDisabled:true },
  1298. { header: '点位名称', dataIndex: 'spot_name', width:260,align:'center', menuDisabled:true },
  1299. { header: '点位地址', dataIndex: 'spot_address', width:260,align:'center', menuDisabled:true },
  1300. // { header: '巡检日期', dataIndex: 'planned_date', width:236,align:'center', menuDisabled:true },
  1301. {
  1302. text:'点位详情',
  1303. xtype : 'actioncolumn',
  1304. width:236,
  1305. sortable:false,
  1306. align:'center',
  1307. menuDisabled:true,
  1308. items:[{
  1309. icon: '../../res/img/common/tupianbtn.png',
  1310. tooltip: '点位详情',
  1311. handler: function(grid, rowIndex, colIndex) {
  1312. var rec = grid.getStore().getAt(rowIndex);
  1313. editMaintenance(rec.get("id"));
  1314. }
  1315. }]
  1316. }
  1317. ],
  1318. columnLines: true,
  1319. height: 300,
  1320. width: 780,
  1321. bbar: new Ext.PagingToolbar({
  1322. store: myStore1,
  1323. id:'PatrolPlanListPageToolbar1',
  1324. displayInfo: true,
  1325. pageSize: 5,
  1326. prependButtons: true,
  1327. displayMsg : '显示第 {0}条到 {1}条记录,总共 {2}条',
  1328. emptyMsg : "没有记录",
  1329. firstText: '第一页',
  1330. prevText: '前一页',
  1331. nextText: '后一页',
  1332. lastText: '最后一页',
  1333. refreshText: '刷新',
  1334. }),
  1335. // frame: true,
  1336. border:false,
  1337. iconCls: 'icon-grid'
  1338. // renderTo: Ext.getBody()
  1339. });
  1340. var MaintenancePlanPanel =Ext.create('Ext.grid.Panel', {
  1341. header :{
  1342. height:0,
  1343. border:'0px solid #000000'
  1344. },
  1345. id: 'PatrolPlanListPanel',
  1346. store: myStore,
  1347. selModel: sm,
  1348. columns: [
  1349. { header: 'ID', dataIndex: 'id',hidden:true, menuDisabled:true },
  1350. { header: '团队ID', dataIndex: 'team_id',hidden:true, menuDisabled:true },
  1351. { header: '周期值', dataIndex: 'cycle',hidden:true, menuDisabled:true },
  1352. { header: '建筑编号', dataIndex: 'company_code',hidden:true, menuDisabled:true },
  1353. { header: '开始日期', dataIndex: 'start_date',hidden:true, menuDisabled:true },
  1354. { header: '结束日期', dataIndex: 'end_date',hidden:true, menuDisabled:true },
  1355. { header: '开始时间', dataIndex: 'start_inspect_time',hidden:true, menuDisabled:true },
  1356. { header: '结束时间', dataIndex: 'end_inspect_time',hidden:true, menuDisabled:true },
  1357. { header: '序号', dataIndex: 'xh', width:77, menuDisabled:true },
  1358. { header: '任务名称', dataIndex: 'plan_name', width:250,align:'center', menuDisabled:true },
  1359. { header: '周期', dataIndex: 'cycle_name', width:300,align:'center', menuDisabled:true },
  1360. { header: '执行日期', dataIndex: 'zxsj', width:250,align:'center', menuDisabled:true },
  1361. { header: '执行团队', dataIndex: 'team_name',width:280, align:'center', menuDisabled:true },
  1362. { header: '责任人', dataIndex: 'name', width:280, align:'center', menuDisabled:true },
  1363. ],
  1364. columnLines: true,
  1365. height: maxHeight,
  1366. width: '100%',
  1367. bbar: new Ext.PagingToolbar({
  1368. store: myStore,
  1369. id:'PatrolPlanListPageToolbar',
  1370. displayInfo: true,
  1371. pageSize: countPerPage,
  1372. prependButtons: true,
  1373. displayMsg : '显示第 {0}条到 {1}条记录,总共 {2}条',
  1374. emptyMsg : "没有记录",
  1375. firstText: '第一页',
  1376. prevText: '前一页',
  1377. nextText: '后一页',
  1378. lastText: '最后一页',
  1379. refreshText: '刷新',
  1380. }),
  1381. // frame: true,
  1382. border:false,
  1383. iconCls: 'icon-grid'
  1384. // renderTo: Ext.getBody()
  1385. });
  1386. var piebar = Ext.create('Ext.panel.Panel',{
  1387. id:'patrolPlanHtml',
  1388. width:'100%',
  1389. height:188,
  1390. region:'north',
  1391. layout:'form',
  1392. defaults:{
  1393. border:false
  1394. }
  1395. // items: [childPanel1]
  1396. });
  1397. var PatrolPlanTab=Ext.create('Ext.tab.Panel', {
  1398. id: 'PatrolPlanTab',
  1399. activeTab: 0,
  1400. items: [
  1401. {
  1402. title: '巡检点位',
  1403. items : [MaintenancePlanPanel1]
  1404. }
  1405. ]
  1406. });
  1407. new Ext.create('Ext.panel.Panel',{
  1408. width:'100%',
  1409. id: 'PatrolPlanPiebar',
  1410. layout:'border',
  1411. items:[
  1412. piebar,MaintenancePlanPanel
  1413. ],
  1414. renderTo: Ext.getBody()
  1415. });
  1416. myStore.reload();
  1417. myStore.addListener('load',function(store,record,opts){
  1418. piedarHtml_fun();
  1419. });
  1420. $(window).resize(function(){
  1421. body_resize();
  1422. });
  1423. body_resize();
  1424. });