patrolplan.js 44 KB

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