patrolplan.js 55 KB

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