patrolplan.js 44 KB

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