patrolplan.js 56 KB

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