/** * patrolplan.js * 巡检任务管理界面 * emial: yaoqiang@chinausky.com * create: 2018-12-08 */ Ext.Loader.setConfig({ enabled: true }); Ext.Loader.setPath('Ext.ux', '../../res/extjs/examples/ux'); Ext.require([ 'Ext.grid.*', 'Ext.data.*', 'Ext.ux.RowExpander', 'Ext.selection.CheckboxModel' ]); var sm = Ext.create('Ext.selection.CheckboxModel'); //var sm1 = Ext.create('Ext.selection.CheckboxModel'); var menuidx = ''; var mouseon; var mouseoff; var menu_click; var AllSelectedRecords = []; var sm1; var initflag = false; Ext.define('MaintenancePlan', { extend: 'Ext.data.Model', fields: [ { name: 'id', type: 'string' }, { name: 'xh', type: 'int' }, { name: 'plan_name', type: 'string' }, { name: 'cycle', type: 'string' }, { name: 'cycle_name', type: 'string' }, { name: 'zxsj', type: 'string' }, { name: 'team_id', type: 'string' }, { name: 'team_name', type: 'string' }, { name: 'name', type: 'string' }, { name: 'company_code', type: 'string' }, { name: 'start_date', type: 'string' }, { name: 'end_date', type: 'string' }, { name: 'start_inspect_time', type: 'string' }, { name: 'end_inspect_time', type: 'string' }, ] }); Ext.define('MaintenancePlan1', { extend: 'Ext.data.Model', fields: [ { name: 'id', type: 'string' }, { name: 'spot_name', type: 'string' }, { name: 'spot_address', type: 'string' }, { name: 'pd', type: 'string' }, ] }); function public_emptyInput() { Ext.getCmp('fa_patrolplan_name').setValue(""); Ext.getCmp('fa_patrol_team_id').setValue(""); // Ext.getCmp('fa_cycle').setValue(""); Ext.getCmp('fa_patrol_start_date').setValue(""); Ext.getCmp('fa_patrol_end_date').setValue(""); Ext.getCmp('fa_patrol_start_time').setValue(""); Ext.getCmp('fa_patrol_end_time').setValue(""); Ext.getCmp('fa_patrol_company_code').setValue(""); // Ext.getCmp('fa_spot_id').setValue(""); } function exportbtn_click() { baseUrl = document.getElementById('basePath').value; V_LOGINNAME = $("#V_LOGINNAME").val(); plan_name = document.getElementById('plan_name').value; person_liable_id = document.getElementById('person_liable_id').value; var fields = ''; var array = ['xh', 'plan_name', 'cycle_name', 'zxsj', 'team_name', 'name']; var name = ['序号', '任务名称', '周期', '执行日期', '执行团队', '责任人']; for (var i = 0; i < 6; i++) { if (i > 0) fields += ','; fields += '{id:"' + array[i] + '",title:"' + name[i] + '",shown:"' + true + '"}'; } var query = new Object(); // query.V_LOGINNAME = V_LOGINNAME; query.plan_name = plan_name; query.person_liable_id = person_liable_id; query.EXPORT_FILE = '巡检计划列表'; query.fields = '[' + fields + ']'; $.ajax({ type: 'POST', url: baseUrl + "iot/excel/view/XjPlanMasterExcel1", data: { queryJson: Ext.JSON.encode(query) }, success: function (result) { var json = eval('(' + result + ')'); if (json.action == 'dormExport') { ConfirmStore = json.RESULT; var elemIF = document.createElement("iframe"); elemIF.src = baseUrl + json.filename; elemIF.style.display = "none"; document.body.appendChild(elemIF); } } }); } var body_resize = function () { maxHeight = document.documentElement.clientHeight; maxWidth = document.documentElement.clientWidth; Ext.getCmp('PatrolPlanPiebar').setHeight(maxHeight); Ext.getCmp('PatrolPlanPiebar').setWidth(maxWidth); } Ext.onReady(function () { var baseUrl = document.getElementById('basePath').value; var theme = document.getElementById('theme').value; company_code = document.getElementById('company_code').value; $("#V_LOGINNAME").val(sessionStorage.getItem('V_LOGINNAME')); $("#V_PASSWORD").val(sessionStorage.getItem('V_PASSWORD')); var V_LOGINNAME = $("#V_LOGINNAME").val(); var V_PASSWORD = $("#V_PASSWORD").val(); var chkIcon = '' var unchkIcon = '' var countPerPage = 15; var maxHeight = 10000; var chkBoolean = function (flag) { if (flag) return chkIcon; return unchkIcon; } var states1 = Ext.create('Ext.data.Store', { fields: ['status', 'name'], data: [ // {"status":-1, "name":"全选"}, { "status": "待开通", "name": "待开通" }, { "status": "已开通", "name": "已开通" }, { "status": "已锁定", "name": "已锁定" }, { "status": "注销", "name": "注销" }, ] }); var deselect_fun = function (record) { var index = AllSelectedRecords.indexOf(record.get("id")); if (index > -1) { AllSelectedRecords.splice(index, 1); return AllSelectedRecords; } } sm1 = Ext.create('Ext.selection.CheckboxModel', { mode: "MULTI", listeners: { deselect: function (me, record, index, opts) { if (initflag) { // alert("初始化"); } else { deselect_fun(record); } }, select: function (me, record, index, opts) { var index = AllSelectedRecords.indexOf(record.get("id")); if (index > -1) { return AllSelectedRecords; } else { AllSelectedRecords.push(record.get("id")); return AllSelectedRecords; } } } }); var clear_append_form = function () { public_emptyInput(); AllSelectedRecords = []; Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload(); } var queryJson = new Object(); queryJson.V_LOGINNAME = V_LOGINNAME; // queryJson.V_PASSWORD = V_PASSWORD; queryJson.COMMSTATUS = 'NO'; if ((company_code != null) && (company_code != 'null') && (company_code.length > 0)) queryJson.company_code = company_code; var myStore = Ext.create('Ext.data.Store', { model: 'MaintenancePlan', pageSize: countPerPage, proxy: { type: 'ajax', url: baseUrl + 'iot/planmaster/getList1', reader: { type: 'json', root: 'RESULT', totalProperty: 'totalCount' }, extraParams: { queryJson: Ext.JSON.encode(queryJson) } }, remoteSort: true }); var myStore1 = Ext.create('Ext.data.Store', { model: 'MaintenancePlan1', pageSize: 5, listeners: { beforeload: function (me, store, operation, eOpts) { // Ext.apply(myStore1.proxy.extraParams, me.getQueryParameters()); // sm1.removeListener('deselect',deselect_fun); initflag = true; }, load: function (me, records, success, opts) { if (!success || !records || records.length == 0) return; //根据全局的选择,初始化选中的列 var selModel = Ext.getCmp('PatrolPlanListPanel1').getSelectionModel(); Ext.Array.forEach(AllSelectedRecords, function (item) { for (var i = 0; i < records.length; i++) { var record = records[i]; if (record.get("id") == item && record.get('pd') != 1) { // alert(record.get("id")+" - "+this.get("id")+"("+this.data.id+")"); selModel.select(record, true, true); //选中record,并且保持现有的选择,不触发选中事件 } } }); // sm1.addListener('deselect',deselect_fun); initflag = false; } }, proxy: { type: 'ajax', url: baseUrl + 'iot/inspectionpoints/getList1', reader: { type: 'json', root: 'RESULT', totalProperty: 'totalCount' }, extraParams: { queryJson: Ext.JSON.encode(queryJson) } }, remoteSort: true }); myStore1.on('load', function (myStore1, record) { for (var i = 0; i < record.length; i++) { var records = record[i]; if (records.get('pd') == 1) { Ext.getCmp('PatrolPlanListPanel1').getSelectionModel().select(records, true); } }; }); Ext.define('CompanyComboStore', { extend: 'Ext.data.Model', fields: [ { name: 'building_name', type: 'string' }, { name: 'building_id', type: 'string' } ] }); Ext.define('teamStore', { extend: 'Ext.data.Model', fields: [ { name: 'team_name', type: 'string' }, { name: 'id', type: 'string' } ] }); var CompanyStory = Ext.create('Ext.data.Store', { model: 'CompanyComboStore', proxy: { type: 'ajax', actionMethods: { create: 'POST', read: 'POST', // by default GET update: 'POST', destroy: 'POST' }, url: baseUrl + 'iot/company/view/getBuildingNameList', reader: { type: 'json', root: 'RESULT', totalProperty: 'totalCount' }, extraParams: { queryJson: Ext.JSON.encode(queryJson) } } }); var teamStory = Ext.create('Ext.data.Store', { model: 'teamStore', proxy: { type: 'ajax', actionMethods: { create: 'POST', read: 'POST', // by default GET update: 'POST', destroy: 'POST' }, url: baseUrl + 'iot/planteam/getList1', reader: { type: 'json', root: 'RESULT', totalProperty: 'totalCount' }, extraParams: { queryJson: Ext.JSON.encode(queryJson) } } }); var data = Ext.Date.format(new Date(), 'm/d/Y'); var AppendForm = Ext.create('Ext.form.Panel', { id: 'PatrolPlanAppendForm', labelWidth: 55, url: baseUrl + 'iot/planmaster/append1', bodyPadding: 15, frame: true, labelAlign: 'left', region: 'north', enableDrop: true, ddGroup: 'treeID', height: 200, items: [{ autoHeight: true, layout: 'column', border: false, items: [{ columnWidth: .50, xtype: 'fieldset', layout: 'form', // defaults: {anchor: '95%'}, style: 'margin-left: 5px;padding-left: 5px;border:0px solid #B5B8C8!important;', items: [ { xtype: 'textfield', fieldLabel: '任务名称', id: 'fa_patrolplan_name', name: 'plan_name', editable: false, width: 283, listeners: { change: function (o, e) { if (e.length >= 20) { return Ext.getCmp('fa_patrolplan_name').setValue(e.substring(0, 20)); } } } // store:InspectorsStory }, { xtype: 'combo', fieldLabel: '建筑/项目', id: 'fa_patrol_company_code', name: 'company_code', displayField: 'building_name', valueField: 'building_id', editable: false, width: 283, store: CompanyStory, listeners: { select: function (combo, record, index) { try { var label = this.value; var query = new Object(); query.company_code = label; query.V_LOGINNAME = V_LOGINNAME; // query.V_PASSWORD = V_PASSWORD; var jsonstr = Ext.JSON.encode(query); myStore1.getProxy().extraParams = { queryJson: jsonstr }; Ext.getCmp('PatrolPlanListPageToolbar1').moveFirst(); } catch (ex) { Ext.MessageBox.alert("错误", "数据加载失败。"); } } } }, { xtype: 'timefield', fieldLabel: '巡检开始时间', id: 'fa_patrol_start_time', name: "start_time", minValue: '00:00', maxValue: '24:00', editable: false,//只读约束 minText: '时间要大于{0}', maxText: '时间要小于{0}', format: 'G:i',//时间格式G(24小时进制)、i、s(时分秒,g是12小时进制) increment: 30,//跨度,默认是15分钟 invalidText: '时间格式错误', anchor: '40%' }, { xtype: 'timefield', fieldLabel: '巡检结束时间', id: 'fa_patrol_end_time', name: "end_time", minValue: '00:00', maxValue: '24:00', editable: false,//只读约束 minText: '时间要大于{0}', maxText: '时间要小于{0}', format: 'G:i',//时间格式G(24小时进制)、i、s(时分秒,g是12小时进制) increment: 30,//跨度,默认是15分钟 invalidText: '时间格式错误', anchor: '80%' }, { xtype: 'combo', fieldLabel: '执行团队', id: 'fa_patrol_team_id', name: 'team_id', displayField: 'team_name', valueField: 'id', editable: false, width: 100, store: teamStory } ] }, { columnWidth: .50, xtype: 'fieldset', layout: 'form', // defaults: {anchor: '95%'}, style: 'margin-left: 5px;padding-left: 5px;border:0px solid #B5B8C8!important;', items: [ { xtype: 'checkboxgroup', fieldLabel: '周期', id: "fa_patrol_cycle", listeners: { change: function (gp, nv, ov, eOpts) { var i = 0; if (nv.all && !ov.all) { // return gp.eachBox(function(box,idx){ // box.setRawValue(true); // }); Ext.getCmp('fa_all_checkbox').setValue(true); Ext.getCmp('fa_monday_checkbox').setValue(true); Ext.getCmp('fa_tuesday_checkbox').setValue(true); Ext.getCmp('fa_wednesday_checkbox').setValue(true); Ext.getCmp('fa_thursday_checkbox').setValue(true); Ext.getCmp('fa_friday_checkbox').setValue(true); Ext.getCmp('fa_saturday_checkbox').setValue(true); Ext.getCmp('fa_sunday_checkbox').setValue(true); return true; } if (ov.all && !nv.all && nv.monday && nv.tuesday && nv.wednesday && nv.thursday && nv.friday && nv.saturday && nv.sunday) { // return gp.eachBox(function(box,idx){ // box.setRawValue(false); // }); Ext.getCmp('fa_all_checkbox').setValue(false); Ext.getCmp('fa_monday_checkbox').setValue(false); Ext.getCmp('fa_tuesday_checkbox').setValue(false); Ext.getCmp('fa_wednesday_checkbox').setValue(false); Ext.getCmp('fa_thursday_checkbox').setValue(false); Ext.getCmp('fa_friday_checkbox').setValue(false); Ext.getCmp('fa_saturday_checkbox').setValue(false); Ext.getCmp('fa_sunday_checkbox').setValue(false); return true; } if (nv.monday && nv.tuesday && nv.wednesday && nv.thursday && nv.friday && nv.saturday && nv.sunday) { Ext.getCmp('fa_all_checkbox').setValue(true); return true; } else { Ext.getCmp('fa_all_checkbox').setValue(false); return true; } } }, columns: 3, items: [ { boxLabel: '全选', name: 'all', inputValue: "0", id: "fa_all_checkbox" }, { boxLabel: '周一', name: 'monday', inputValue: "1", id: "fa_monday_checkbox" }, { boxLabel: '周二', name: 'tuesday', inputValue: "2", id: "fa_tuesday_checkbox" }, { boxLabel: '周三', name: 'wednesday', inputValue: "3", id: "fa_wednesday_checkbox" }, { boxLabel: '周四', name: 'thursday', inputValue: "4", id: "fa_thursday_checkbox" }, { boxLabel: '周五', name: 'friday', inputValue: "5", id: "fa_friday_checkbox" }, { boxLabel: '周六', name: 'saturday', inputValue: "6", id: "fa_saturday_checkbox" }, { boxLabel: '周日', name: 'sunday', inputValue: "7", id: "fa_sunday_checkbox" } ] }, { xtype: 'datefield', fieldLabel: "执行开始日期", minValue: data, minText: "当前日期选择应大于当天日期", format: "Y-m-d", id: 'fa_patrol_start_date', name: "start_date", editable: false,//只读约束 anchor: '80%' }, { xtype: 'datefield', fieldLabel: "执行结束日期", minValue: data, // '07/07/2017', minText: "当前日期选择应大于当天日期", format: "Y-m-d", id: 'fa_patrol_end_date', name: "end_date", editable: false,//只读约束 anchor: '80%' }, { id: 'fa_patrol_queryJson', name: 'queryJson', hidden: true } ] } ] }] }); function updatetijiao() { var query = new Object(); var spot_id = null; var InspectiontimeValue = Ext.getCmp('fm_patrol_cycle').getChecked(); var fa_cycle = ''; Ext.Array.each(InspectiontimeValue, function (item) { fa_cycle += item.inputValue + ','; }); var V_LOGINNAME = $("#V_LOGINNAME").val(); var V_PASSWORD = $("#V_PASSWORD").val(); var start_time = Ext.getCmp('fm_patrol_start_time').getValue(); if (start_time == '' || start_time == null) { Ext.Msg.alert('提示', '请选择巡检开始时间!', function (btn, txt) { }) return; } else { 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()); } var end_time = Ext.getCmp('fm_patrol_end_time').getValue(); if (end_time == '' || end_time == null) { Ext.Msg.alert('提示', '请选择巡检结束时间!', function (btn, txt) { }) return; } else { 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()); } query.team_id = Ext.getCmp('fm_patrol_team_id').getValue(); if (query.team_id == '' || query.team_id == null) { Ext.Msg.alert('提示', '请选择执行团队!', function (btn, txt) { }) return; } // Ext.MessageBox.alert('提示', '您的兴趣是' + V_LOGINNAME); // var selected = sm1.getSelection( ); // query.spot_id = selected[0].raw.id; // var selected = sm1.getSelection( ); // alert(sm1.getCount()); if (AllSelectedRecords.length == 1) { query.spot_id = AllSelectedRecords[0]; } else { if (AllSelectedRecords.length > 1) { for (var i = 0; i < AllSelectedRecords.length; i++) { if (i == 0) spot_id = AllSelectedRecords[i]; else spot_id += "," + AllSelectedRecords[i]; } query.spot_id = spot_id; } else { Ext.Msg.alert('请先选择', '至少选择一条巡检点位,再点击提交'); return; } } query.company_code = Ext.getCmp('fm_patrol_company_code').getValue();//建筑/项目 query.cycle = fa_cycle; query.start_inspect_time = start_time1; query.end_inspect_time = end_time1; query.start_date = Ext.util.Format.date(Ext.getCmp('fm_patrol_start_date').getValue(), 'Y-m-d'); if (query.start_date == '') { Ext.Msg.alert('提示', '请选择执行开始日期!', function (btn, txt) { }) return; } query.end_date = Ext.util.Format.date(Ext.getCmp('fm_patrol_end_date').getValue(), 'Y-m-d'); if (query.end_date == '') { Ext.Msg.alert('提示', '请选择执行结束日期!', function (btn, txt) { }) return; } // query.ID_LIST = list; // query.V_LOGINNAME = V_LOGINNAME; var jsonstr = Ext.JSON.encode(query); Ext.Ajax.request({ timeout: 1000, url: baseUrl + 'iot/planmaster/append1', params: 'queryJson=' + jsonstr, success: function (resp, opts) { Ext.Msg.alert('操作成功', '计划已添加', function (btn, txt) { // myStore.reload(); clear_append_form(); }); } }); } function addtijiao() { var query = new Object(); var spot_id = null; var InspectiontimeValue = Ext.getCmp('fa_patrol_cycle').getChecked(); var fa_cycle = ''; Ext.Array.each(InspectiontimeValue, function (item) { fa_cycle += item.inputValue + ','; }); var V_LOGINNAME = $("#V_LOGINNAME").val(); var V_PASSWORD = $("#V_PASSWORD").val(); var start_time = Ext.getCmp('fa_patrolplan_name').getValue(); if (start_time == '' || start_time == null) { Ext.Msg.alert('提示', '任务名称不能为空!', function (btn, txt) { }) return; } var start_time = Ext.getCmp('fa_patrol_start_time').getValue(); if (start_time == '' || start_time == null) { Ext.Msg.alert('提示', '请选择巡检开始时间!', function (btn, txt) { }) return; } else { 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()); } var start_time = Ext.getCmp('fa_patrol_start_time').getValue(); if (start_time == '' || start_time == null) { Ext.Msg.alert('提示', '请选择巡检开始时间!', function (btn, txt) { }) return; } else { 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()); } var end_time = Ext.getCmp('fa_patrol_end_time').getValue(); if (end_time == '' || end_time == null) { Ext.Msg.alert('提示', '请选择巡检结束时间!', function (btn, txt) { }) return; } else { 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()); } query.team_id = Ext.getCmp('fa_patrol_team_id').getValue(); if (query.team_id == '' || query.team_id == null) { Ext.Msg.alert('提示', '请选择执行团队!', function (btn, txt) { }) return; } // Ext.MessageBox.alert('提示', '您的兴趣是' + V_LOGINNAME); // var selected = sm1.getSelection( ); // query.spot_id = selected[0].raw.id; // var selected = sm1.getSelection( ); // alert(sm1.getCount()); if (AllSelectedRecords.length == 1) { query.spot_id = AllSelectedRecords[0]; } else { if (AllSelectedRecords.length > 1) { for (var i = 0; i < AllSelectedRecords.length; i++) { if (i == 0) spot_id = AllSelectedRecords[i]; else spot_id += "," + AllSelectedRecords[i]; } query.spot_id = spot_id; } else { Ext.Msg.alert('请先选择', '至少选择一条巡检点位,再点击提交'); return; } } query.company_code = Ext.getCmp('fa_patrol_company_code').getValue();//建筑/项目 query.cycle = fa_cycle; query.start_inspect_time = start_time1; query.end_inspect_time = end_time1; query.start_date = Ext.util.Format.date(Ext.getCmp('fa_patrol_start_date').getValue(), 'Y-m-d'); if (query.start_date == '') { Ext.Msg.alert('提示', '请选择执行开始日期!', function (btn, txt) { }) return; } query.end_date = Ext.util.Format.date(Ext.getCmp('fa_patrol_end_date').getValue(), 'Y-m-d'); if (query.end_date == '') { Ext.Msg.alert('提示', '请选择执行结束日期!', function (btn, txt) { }) return; } // query.ID_LIST = list; // query.V_LOGINNAME = V_LOGINNAME; var jsonstr = Ext.JSON.encode(query); Ext.Ajax.request({ timeout: 1000, url: baseUrl + 'iot/planmaster/append1', params: 'queryJson=' + jsonstr, success: function (resp, opts) { Ext.Msg.alert('操作成功', '计划已添加', function (btn, txt) { // myStore.reload(); clear_append_form(); }); } }); } var appendwin = function () { AllSelectedRecords.length = 0; var query = new Object(); query.V_LOGINNAME = V_LOGINNAME; // query.V_PASSWORD=V_PASSWORD; var jsonstr = Ext.JSON.encode(query); myStore1.getProxy().extraParams = { queryJson: jsonstr }; Ext.getCmp('PatrolPlanListPageToolbar1').moveFirst(); Ext.create('Ext.window.Window', { title: '新增巡检计划', height: 600, width: 800, modal: true, layout: 'border', items: [AppendForm, PatrolPlanTab], closeAction: 'hide', buttons: [{ text: '提交', iconCls: 'ok_btn', handler: function () { addtijiao(); } }, { text: '关闭', iconCls: 'cancel_btn', handler: function () { this.up('window').hide(); public_emptyInput(); } }] }).show(); Ext.getCmp('fa_all_checkbox').setValue(true); Ext.getCmp('fa_monday_checkbox').setValue(true); Ext.getCmp('fa_tuesday_checkbox').setValue(true); Ext.getCmp('fa_wednesday_checkbox').setValue(true); Ext.getCmp('fa_thursday_checkbox').setValue(true); Ext.getCmp('fa_friday_checkbox').setValue(true); Ext.getCmp('fa_saturday_checkbox').setValue(true); Ext.getCmp('fa_sunday_checkbox').setValue(true); } var del_sm = function () { if (sm.getCount() == 1) { var selected = sm.getSelection(); var query = new Object(); var list = new Array(); var o = new Object(); o.id = selected[0].raw.id; list.push(o); query.ID_LIST = list; var jsonstr = Ext.JSON.encode(query); Ext.MessageBox.confirm('删除任务信息', '是否删除' + selected[0].raw.name + ' 巡检任务?', function (btn) { public_delete(btn, jsonstr); }, this); } else { if (sm.getCount() > 1) { var query = new Object(); var list = new Array(); for (var i = 0; i < sm.getCount(); i++) { var selected = sm.getSelection(); var o = new Object(); o.id = selected[i].raw.id; list.push(o); } query.ID_LIST = list; var jsonstr = Ext.JSON.encode(query); Ext.MessageBox.confirm('删除任务信息', '是否删除选中的' + sm.getCount() + ' 个巡检任务?', function (btn) { public_delete(btn, jsonstr); }, this); } else { Ext.Msg.alert('请先选择', '至少选择一条记录,再点击删除'); } } } function public_delete(btn, jsonstr) { if (btn == 'yes') { $.ajax({ type: 'POST', url: baseUrl + "iot/planmaster/del", data: { queryJson: jsonstr }, success: function (result) { var json = eval('(' + result + ')'); if (json.action == 'deletePlanMaster') { if (json.success == true) { Ext.Msg.alert('操作成功', json.MSG, function (btn, txt) { Ext.getCmp('PatrolPlanListPanel').getStore().reload(); }); } else { Ext.Msg.alert('操作失败', json.MSG, function (btn, txt) { Ext.getCmp('PatrolPlanListPanel').getStore().reload(); }); } } } }); } } var clear_modify_form = function () { Ext.getCmp('fm_patrol_id').setValue(""); Ext.getCmp('fm_patrol_plan_name').setValue(""); Ext.getCmp('fm_patrol_team_id').setValue(""); // Ext.getCmp('fm_cycle').setValue(""); Ext.getCmp('fm_patrol_start_date').setValue(""); Ext.getCmp('fm_patrol_end_date').setValue(""); Ext.getCmp('fm_patrol_start_time').setValue(""); Ext.getCmp('fm_patrol_end_time').setValue(""); Ext.getCmp('fm_patrol_company_code').setValue(""); Ext.getCmp('fm_patrol_cycle').setValue(false); AllSelectedRecords = []; // Ext.getCmp('fm_spot_id').setValue(""); Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload(); } $('#patrolPlan_title2_input').change(function () { var text = Ext.getCmp('fm_patrol_start_date').getValue(); if (text.length >= 20) { return Ext.getCmp('fa_patrolplan_name').setValue(text.substring(0, 20)); } }) var show_page = function () { var maintenancePlan_title2_input = document.getElementById('patrolPlan_title2_input').value; var maintenancePlan_title3_input1 = document.getElementById('patrolPlan_title3_input1').value; var query = new Object(); if (maintenancePlan_title2_input.length > 0) { query.plan_name = maintenancePlan_title2_input; $("#plan_name").val(maintenancePlan_title2_input); } if (maintenancePlan_title3_input1.length > 0) { query.person_liable_id = maintenancePlan_title3_input1; $("#person_liable_id").val(maintenancePlan_title3_input1); } // query.V_LOGINNAME = V_LOGINNAME; // query.V_PASSWORD = V_PASSWORD; var jsonstr = Ext.JSON.encode(query); myStore.getProxy().extraParams = { queryJson: jsonstr }; Ext.getCmp('PatrolPlanListPageToolbar').moveFirst(); } var reset1 = function () { document.getElementById('patrolPlan_title2_input').value = ''; document.getElementById('patrolPlan_title3_input1').value = '0'; $("#plan_name").val(''); $("#person_liable_id").val(''); show_page(); } mouseon = function (obj) { var id = obj.id; $("#" + id).removeClass(id); $("#" + id).addClass(id + '_on'); } mouseoff = function (obj) { var mid = "patrolPlan_"; for (var i = 1; i < 7; i++) { var id = "patrolPlan_title" + i + "_div"; $("#" + id).removeClass(id + '_on'); $("#" + id).addClass(id); } if (menuidx == 'm1') { mid += 'title1_div'; $("#" + mid).removeClass(mid); $("#" + mid).addClass(mid + '_on'); } else if (menuidx == 'm2') { mid += 'title2_div'; $("#" + mid).removeClass(mid); $("#" + mid).addClass(mid + '_on'); } else if (menuidx == 'm3') { mid += 'title3_div'; $("#" + mid).removeClass(mid); $("#" + mid).addClass(mid + '_on'); } else if (menuidx == 'm4') { mid += 'title4_div'; $("#" + mid).removeClass(mid); $("#" + mid).addClass(mid + '_on'); } else if (menuidx == 'm5') { mid += 'title5_div'; $("#" + mid).removeClass(mid); $("#" + mid).addClass(mid + '_on'); } else if (menuidx == 'm6') { mid += 'title6_div'; $("#" + mid).removeClass(mid); $("#" + mid).addClass(mid + '_on'); } } menu_click = function (obj) { var id = obj.id; if (id == 'patrolPlan_title1_div') { menuidx = 'm1'; show_page(); } else if (id == 'patrolPlan_title2_div') { menuidx = 'm2'; reset1(); } else if (id == 'patrolPlan_title3_div') { menuidx = 'm3'; exportbtn_click(); } else if (id == 'patrolPlan_title4_div') { menuidx = 'm4'; del_sm(); } else if (id == 'patrolPlan_title5_div') { menuidx = 'm5'; appendwin(); } else if (id == 'patrolPlan_title6_div') { menuidx = 'm6'; chk_sm(); } } var piedarHtml = function () { var maintenancePlanHtml = document.getElementById('patrolPlanHtml'); var divhiddle = document.createElement('div'); divhiddle.id = 'div26_id_patrolPlanPanel3'; divhiddle.setAttribute('class', 'SpringHandleHtml3DivHiddle'); maintenancePlanHtml.appendChild(divhiddle); var title = document.createElement('div'); title.setAttribute('class', 'MaintenancePersonTitle'); title.innerHTML = '巡检计划'; maintenancePlanHtml.appendChild(title); var title2 = document.createElement('div'); title2.setAttribute('class', 'title2_div'); title2.innerHTML = '任务名称'; maintenancePlanHtml.appendChild(title2); var input = document.createElement('input'); input.setAttribute('class', 'input_class'); input.setAttribute('id', 'patrolPlan_title2_input'); input.setAttribute('type', 'text'); input.setAttribute('value', ''); maintenancePlanHtml.appendChild(input); var title3 = document.createElement('div'); title3.setAttribute('class', 'title3_div'); title3.innerHTML = '责任人'; maintenancePlanHtml.appendChild(title3); // var input1 = document.createElement('input'); // input1.setAttribute('class','input1_class'); // input1.setAttribute('id','maintenancePlan_title3_input1'); // input1.setAttribute('type','text'); // input1.setAttribute('value',''); // maintenancePlanHtml.appendChild(input1); var select = document.createElement('select'); select.setAttribute('class', 'input1_class'); select.setAttribute('id', 'patrolPlan_title3_input1'); maintenancePlanHtml.appendChild(select); var option2 = document.createElement('option'); option2.innerHTML = '所有人'; option2.setAttribute('value', '0'); select.appendChild(option2); for (var i = 0; i < ConfirmStore.length; i++) { var option3 = document.createElement('option'); option3.innerHTML = ConfirmStore[i].name; option3.setAttribute('value', ConfirmStore[i].person_liable_id); select.appendChild(option3); } for (let i = 1; i <= 6; i++) { var title = document.createElement('div'); title.setAttribute('class', `patrolPlan_title${i}_div`); title.setAttribute('id', `patrolPlan_title${i}_div`); title.setAttribute('onmouseover', "mouseon(this)"); title.setAttribute('onmouseout', "mouseoff(this)"); title.setAttribute('onclick', "menu_click(this)"); maintenancePlanHtml.appendChild(title); } } var piedarHtml_fun = function () { var query = new Object(); query.V_LOGINNAME = $("#V_LOGINNAME").val(); $.ajax({ type: 'POST', url: baseUrl + "iot/planteam/getzrrList1", data: { queryJson: Ext.JSON.encode(query) }, success: function (result) { var json = eval('(' + result + ')'); if (json.action == 'getPlanTeamList') { ConfirmStore = json.RESULT; if (document.getElementById('div26_id_patrolPlanPanel3') == undefined) piedarHtml(); } } }); } var ModifyForm = Ext.create('Ext.form.Panel', { id: 'PatrolPlanEditForm', labelWidth: 55, url: baseUrl + 'iot/planmaster/update', bodyPadding: 15, frame: true, labelAlign: 'left', region: 'north', enableDrop: true, ddGroup: 'treeID', height: 200, items: [{ autoHeight: true, layout: 'column', border: false, items: [{ columnWidth: .50, xtype: 'fieldset', layout: 'form', // defaults: {anchor: '95%'}, style: 'margin-left: 5px;padding-left: 5px;border:0px solid #B5B8C8!important;', items: [ { xtype: 'textfield', fieldLabel: '任务名称', id: 'fm_patrol_plan_name', name: 'plan_name', editable: false, width: 230, readOnly: 'true' }, { xtype: 'combo', fieldLabel: '建筑/项目', id: 'fm_patrol_company_code', name: 'company_code', displayField: 'building_name', valueField: 'building_id', editable: false, width: 283, store: CompanyStory, readOnly: 'true' }, { xtype: 'timefield', fieldLabel: '巡检开始时间', id: 'fm_patrol_start_time', name: "start_time", minValue: '00:00', maxValue: '24:00', minText: '时间要大于{0}', maxText: '时间要小于{0}', editable: false, format: 'G:i',//时间格式G(24小时进制)、i、s(时分秒,g是12小时进制) increment: 30,//跨度,默认是15分钟 invalidText: '时间格式错误', anchor: '40%' }, { xtype: 'timefield', fieldLabel: '巡检结束时间', id: 'fm_patrol_end_time', name: "end_time", minValue: '00:00', maxValue: '24:00', minText: '时间要大于{0}', maxText: '时间要小于{0}', editable: false, format: 'G:i',//时间格式G(24小时进制)、i、s(时分秒,g是12小时进制) increment: 30,//跨度,默认是15分钟 invalidText: '时间格式错误', anchor: '80%' }, { xtype: 'combo', fieldLabel: '执行团队', id: 'fm_patrol_team_id', name: 'team_id', displayField: 'team_name', valueField: 'id', editable: false, width: 100, store: teamStory } ] }, { columnWidth: .50, xtype: 'fieldset', layout: 'form', // defaults: {anchor: '95%'}, style: 'margin-left: 5px;padding-left: 5px;border:0px solid #B5B8C8!important;', items: [ { xtype: 'checkboxgroup', fieldLabel: '周期', id: "fm_patrol_cycle", columns: 3, items: [ { boxLabel: '周一', name: 'monday', inputValue: "1", id: "fm_monday" }, { boxLabel: '周二', name: 'tuesday', inputValue: "2", id: "fm_tuesday" }, { boxLabel: '周三', name: 'wednesday', inputValue: "3", id: "fm_wednesday" }, { boxLabel: '周四', name: 'thursday', inputValue: "4", id: "fm_thursday" }, { boxLabel: '周五', name: 'friday', inputValue: "5", id: "fm_friday" }, { boxLabel: '周六', name: 'saturday', inputValue: "6", id: "fm_saturday" }, { boxLabel: '周日', name: 'sunday', inputValue: "7", id: "fm_sunday" } ] }, { xtype: 'datefield', fieldLabel: "执行开始日期", minValue: '07/07/2017', minText: "当前日期选择应大于2017-07-07", format: "Y-m-d", columnWidth: 0.5, id: 'fm_patrol_start_date', name: "start_data", editable: false,//只读约束 anchor: '80%', readOnly: 'true' }, { xtype: 'datefield', fieldLabel: "执行结束日期", minValue: '07/07/2017', minText: "当前日期选择应大于之前日期", format: "Y-m-d", columnWidth: 0.5, id: 'fm_patrol_end_date', name: "end_date", editable: false,//只读约束 anchor: '80%' }, { xtype: 'textfield', id: 'fm_patrol_id', name: 'id', hidden: true }, { id: 'fm_patrol_queryJson', name: 'queryJson', hidden: true } ] } ] }] }); var modifywin = function () { Ext.create('Ext.window.Window', { title: '修改', height: 600, width: 800, modal: true, layout: 'border', items: [ModifyForm, PatrolPlanTab], closeAction: 'hide', buttons: [{ text: '修改', iconCls: 'ok_btn', handler: function () { updatetijiao(); } }, { text: '关闭', iconCls: 'cancel_btn', handler: function () { this.up('window').hide(); clear_modify_form(); } }] }).show(); } var chk_sm = function () { if (sm.getCount() == 1) { AllSelectedRecords = []; modifywin(); teamStory.reload(); CompanyStory.reload(); var selected = sm.getSelection(); var label = selected[0].raw.id // alert("主表ID"+label); var query = new Object(); // if(label.length>0){ query.dwid = label; // } // alert("主表ID1"+query.dwid); query.V_LOGINNAME = V_LOGINNAME; // query.V_PASSWORD = V_PASSWORD; var jsonstr = Ext.JSON.encode(query); myStore1.getProxy().extraParams = { queryJson: jsonstr }; Ext.getCmp('PatrolPlanListPageToolbar1').moveFirst(); Ext.getCmp('fm_patrol_plan_name').setValue(selected[0].raw.plan_name); Ext.getCmp('fm_patrol_team_id').setValue(selected[0].raw.team_id); // Ext.getCmp('fm_cycle').setValue(selected[0].raw.cycle); var a = selected[0].raw.cycle; var arr = a.split(","); for (var i = 0; i < arr.length; i++) { switch (arr[i]) { case "1": Ext.getCmp('fm_monday').setValue(true); break; case "2": Ext.getCmp('fm_tuesday').setValue(true); break; case "3": Ext.getCmp('fm_wednesday').setValue(true); break; case "4": Ext.getCmp('fm_thursday').setValue(true); break; case "5": Ext.getCmp('fm_friday').setValue(true); break; case "6": Ext.getCmp('fm_saturday').setValue(true); break; case "7": Ext.getCmp('fm_sunday').setValue(true); break; } } Ext.getCmp('fm_patrol_start_time').setValue(selected[0].raw.start_inspect_time); Ext.getCmp('fm_patrol_end_time').setValue(selected[0].raw.end_inspect_time); Ext.getCmp('fm_patrol_start_date').setValue(selected[0].raw.start_date); Ext.getCmp('fm_patrol_end_date').setValue(selected[0].raw.end_date); Ext.getCmp('fm_patrol_end_date').setMinValue(selected[0].raw.end_date); Ext.getCmp('fm_patrol_company_code').setValue(selected[0].raw.company_code); var b = selected[0].raw.id; // Ext.get('fm_id').set({ value: b }); Ext.getCmp('fm_patrol_id').setValue(b); } else { Ext.Msg.alert('请先选择', '请先选择一条记录,再点击修改'); } } var maintenancedevice = function () { var maintenance_look_device = document.getElementById('patrolplan_look_device'); var img = document.createElement('img'); img.width = 400; img.height = 400; img.src = baseUrl + ConfirmStore[0].picture_route; img.setAttribute('class', 'maintenance_look_device_img'); maintenance_look_device.appendChild(img); var div4 = document.createElement('div'); div4.style.textAlign = 'center'; div4.innerHTML = ConfirmStore[0].remarks; maintenance_look_device.appendChild(div4); } var editMaintenance = function (spot_id) { var spot_id = spot_id; Ext.create('Ext.window.Window', { id: 'patrolplan_data_win1', height: 500, width: 400, layout: 'fit', modal: true, buttons: [ { text: '关闭', handler: function () { Ext.getCmp('patrolplan_data_win1').destroy(); } } ], closeAction: 'destroy', html: '
' }).show(); var query = new Object(); query.V_LOGINNAME = $("#V_LOGINNAME").val(); // query.V_PASSWORD = $("#V_PASSWORD").val(); query.id = spot_id; $.ajax({ type: 'POST', url: baseUrl + "iot/inspectionpoints/getList", data: { queryJson: Ext.JSON.encode(query) }, success: function (result) { var json = eval('(' + result + ')'); if (json.action == 'getInspectionPointsList') { ConfirmStore = json.RESULT; maintenancedevice(ConfirmStore); } } }); } var MaintenancePlanPanel1 = Ext.create('Ext.grid.Panel', { header: { height: 0, border: '0px solid #000000' }, id: 'PatrolPlanListPanel1', store: myStore1, selModel: sm1, columns: [ { header: 'ID', dataIndex: 'id', hidden: true, menuDisabled: true }, { header: '序号', dataIndex: 'xh', hidden: true, menuDisabled: true }, { header: '点位名称', dataIndex: 'spot_name', width: 260, align: 'center', menuDisabled: true }, { header: '点位地址', dataIndex: 'spot_address', width: 260, align: 'center', menuDisabled: true }, // { header: '巡检日期', dataIndex: 'planned_date', width:236,align:'center', menuDisabled:true }, { text: '点位详情', xtype: 'actioncolumn', width: 236, sortable: false, align: 'center', menuDisabled: true, items: [{ icon: '../../res/img/common/tupianbtn.png', tooltip: '点位详情', handler: function (grid, rowIndex, colIndex) { var rec = grid.getStore().getAt(rowIndex); editMaintenance(rec.get("id")); } }] } ], columnLines: true, height: 300, width: 780, bbar: new Ext.PagingToolbar({ store: myStore1, id: 'PatrolPlanListPageToolbar1', displayInfo: true, pageSize: 5, prependButtons: true, displayMsg: '显示第 {0}条到 {1}条记录,总共 {2}条', emptyMsg: "没有记录", firstText: '第一页', prevText: '前一页', nextText: '后一页', lastText: '最后一页', refreshText: '刷新', }), // frame: true, border: false, iconCls: 'icon-grid' // renderTo: Ext.getBody() }); var MaintenancePlanPanel = Ext.create('Ext.grid.Panel', { header: { height: 0, border: '0px solid #000000' }, id: 'PatrolPlanListPanel', store: myStore, selModel: sm, columns: [ { header: 'ID', dataIndex: 'id', hidden: true, menuDisabled: true }, { header: '团队ID', dataIndex: 'team_id', hidden: true, menuDisabled: true }, { header: '周期值', dataIndex: 'cycle', hidden: true, menuDisabled: true }, { header: '建筑编号', dataIndex: 'company_code', hidden: true, menuDisabled: true }, { header: '开始日期', dataIndex: 'start_date', hidden: true, menuDisabled: true }, { header: '结束日期', dataIndex: 'end_date', hidden: true, menuDisabled: true }, { header: '开始时间', dataIndex: 'start_inspect_time', hidden: true, menuDisabled: true }, { header: '结束时间', dataIndex: 'end_inspect_time', hidden: true, menuDisabled: true }, { header: '序号', dataIndex: 'xh', width: 77, menuDisabled: true }, { header: '任务名称', dataIndex: 'plan_name', width: 250, align: 'center', menuDisabled: true }, { header: '周期', dataIndex: 'cycle_name', width: 300, align: 'center', menuDisabled: true }, { header: '执行日期', dataIndex: 'zxsj', width: 250, align: 'center', menuDisabled: true }, { header: '执行团队', dataIndex: 'team_name', width: 280, align: 'center', menuDisabled: true }, { header: '责任人', dataIndex: 'name', width: 280, align: 'center', menuDisabled: true }, ], columnLines: true, height: maxHeight, width: '100%', bbar: new Ext.PagingToolbar({ store: myStore, id: 'PatrolPlanListPageToolbar', displayInfo: true, pageSize: countPerPage, prependButtons: true, displayMsg: '显示第 {0}条到 {1}条记录,总共 {2}条', emptyMsg: "没有记录", firstText: '第一页', prevText: '前一页', nextText: '后一页', lastText: '最后一页', refreshText: '刷新', }), // frame: true, border: false, iconCls: 'icon-grid' // renderTo: Ext.getBody() }); var piebar = Ext.create('Ext.panel.Panel', { id: 'patrolPlanHtml', width: '100%', height: 188, region: 'north', layout: 'form', defaults: { border: false } // items: [childPanel1] }); var PatrolPlanTab = Ext.create('Ext.tab.Panel', { id: 'PatrolPlanTab', activeTab: 0, items: [ { title: '巡检点位', items: [MaintenancePlanPanel1] } ] }); new Ext.create('Ext.panel.Panel', { width: '100%', id: 'PatrolPlanPiebar', layout: 'border', items: [ piebar, MaintenancePlanPanel ], renderTo: Ext.getBody() }); myStore.reload(); myStore.addListener('load', function (store, record, opts) { piedarHtml_fun(); }); $(window).resize(function () { body_resize(); }); body_resize(); });