var weekOfday = Number(moment().format('E'));//计算今天是这周第几天 var clicknum = 0;//定义上下周点击次数 var startDate, endDate; var weekNum = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']; var fun = { init: function () { // 初始化 fun.refreshQueryTime(); //收费员下拉框 fun.initChargerSelect(); // domStr,isNeedAll, plFilterFun, isIncludeRechargePlNo, plBusiType commSelect.plName_select("#parkIds",null,null,null,3); $('#scheduType').selectpicker('render'); // 获取今天时间 var todaytime = moment().subtract('days', 0).format('YYYY/MM/DD'); // $('#time-opr-nowtime').text(todaytime); fun.queryDutyRosterser(); }, //更新查询时间 refreshQueryTime: function () { var start = weekOfday - 7 * clicknum - 1; var end = weekOfday - clicknum * 7 - 7; startDate = moment().subtract('days', start).format('YYYY-MM-DD'); endDate = moment().subtract('days', end).format('YYYY-MM-DD'); //console.log(startDate,endDate); }, timeoprprevbtn: function () { $('#time-opr-nextbtn').removeClass('weekActive'); $('#time-opr-prevbtn').addClass('weekActive'); clicknum--; // if (clicknum == 0) { // $('#time-opr-prevbtn').addClass('display-none'); // } else { // // } fun.refreshQueryTime(); fun.queryDutyRosterser(); }, timeoprnextbtn: function () { $('#time-opr-prevbtn').removeClass('weekActive'); $('#time-opr-nextbtn').addClass('weekActive'); if (clicknum == 4) { return false; } else { clicknum++; console.log(clicknum) fun.refreshQueryTime(); fun.queryDutyRosterser(); } }, breakOperFun: function () { $('#schplan-oper-add').selectpicker('render'); fun.queryNoRestCharger(); }, //调班操作 exchangeOperFun: function () { fun.queryWorkChargerForDateList(); }, //永久调班操作 exchangeForeverOperFun: function () { fun.queryChargerInfoForDutyRosterBase(); }, getQueryParam: function () { var chargeCodes = JSON.parse($('#scheduType').val()); var plNos = JSON.parse($('#parkIds').val()); var req = { startDate: new Date(startDate + ' 00:00:00'.replace(new RegExp(/-/gm), "/")), endDate: new Date(endDate + ' 23:59:59'.replace(new RegExp(/-/gm), "/")), sysCode: sysComm.sysCode, } // 视图类型 10:收费员视图 20:停车场视图 if (fun.isChargerView()) { req.chargeCodes = chargeCodes; req.viewType = 10; req.workState = [10, 20, 30, 40]; //$('#scheduType').val(); } else { req.chargeCodes = []; req.plNo = plNos; req.viewType = 20; req.workState = [10, 40];//停车场视图只需要查询上班的记录 } return req; }, //根据停车场编号查询收费员信息 initChargerSelect: function () { var data = fun.getChargerMsg(); var htmls = ''; var html = ''; var chargerCodes = []; for (var i = 0; i < data.length; i++) { chargerCodes.push(data[i].chargerCode); html += ""; } var chargerCodesStr = JSON.stringify(chargerCodes); htmls = '' + html; $("#scheduType").empty(); $("#scheduType").append(htmls); $('#scheduType').selectpicker('refresh'); }, getChargerMsg: function () { var plNo = ""; var chargers = ""; var req = { baseRequest: {pageNum: 1, pageSize: 0}, plNo: plNo, parkAreaCode: "", groupCode: "", onduty: "", status: "", nameOrNo: "", // chargerCodes:fn.getChargerCodes(), orgId:fn.getOrgId(), sysCode: sysComm.sysCode }; var opt = { async: false, data: JSON.stringify(req), method: "POST", url: dataUrl.util.queryCashierListInfo(), success: function (res) { if (res.code == '8888') { chargers = JSON.stringify(res.data.rows); } } } sysAjax(opt); return JSON.parse(chargers); }, //判断是否收费员视图 isChargerView: function () { return $('#schtolltype').hasClass('ITD-graynav-topbaractive'); }, /*查询排班计划*/ queryDutyRosterser: function () { var req = fun.getQueryParam(); var opt = { method: 'post', url: dataUrl.util.queryDutyRoster(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { //console.log(res.data); if (req.viewType == 10) { //收费员视图 fun.handelChargerViewDutyRosterData(req, res.data); } else { //停车场视图 fun.handelParkViewDutyRosterData(req, res.data); } } } }; sysAjax(opt); }, /*查询临时调班收费员*/ queryWorkChargerForDateList: function () { $("#schplan-tboper-add").empty(); $('#schplan-tboper-add').selectpicker('refresh'); var chargerCodeSource = $.trim($('#chargerCodeExchange').val()); var req = { dutyDay: $("#dutyDayExchange").val(), sysCode: sysComm.sysCode } var opt = { method: 'post', url: dataUrl.util.queryWorkChargerForDateList(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { //console.log(res.data); var data = res.data; var html = ''; var chargerCodes = []; for (var i = 0; i < data.length; i++) { if(chargerCodeSource != data[i].chargerCode){ chargerCodes.push(data[i].chargerCode); html += ""; } } $("#schplan-tboper-add").empty(); $("#schplan-tboper-add").append(html); $('#schplan-tboper-add').selectpicker('refresh'); $('#achplan_tibanmodel').modal('show'); } } }; sysAjax(opt); }, /*查询永久调班收费员*/ queryChargerInfoForDutyRosterBase: function () { $("#schplan-ftboper-add").empty(); $('#schplan-ftboper-add').selectpicker('refresh'); var chargerCodeSource =$.trim($('#chargerCodeExchangeForever').val()); var req = { sysCode: sysComm.sysCode } var opt = { method: 'post', url: dataUrl.util.queryChargerInfoForDutyRosterBase(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { var data = res.data; var html = ''; var chargerCodes = []; for (var i = 0; i < data.length; i++) { debugger if(chargerCodeSource != data[i].chargerCode){ chargerCodes.push(data[i].chargerCode); html += ""; } } $("#schplan-ftboper-add").empty(); $("#schplan-ftboper-add").append(html); $('#schplan-ftboper-add').selectpicker('refresh'); $('#achplan_tipeForever').modal('show'); } } }; sysAjax(opt); }, /*查询永久调班收费员数据*/ queryChargerInfoForDutyRosterBaseOfData: function () { var req = { sysCode: sysComm.sysCode } var chargerCodes = []; var opt = { method: 'post', url: dataUrl.util.queryChargerInfoForDutyRosterBase(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', async:false, success: function (res) { if (res.code == '8888') { var data = res.data; for (var i = 0; i < data.length; i++) { chargerCodes.push(data[i].chargerCode); } } } }; sysAjax(opt); return chargerCodes; }, //调班处理 exchangeDutyRoster:function(souceChargerCode,targetChargerCode,dutyDay,exchangeType){ var req = { sysCode: sysComm.sysCode, souceChargerCode:souceChargerCode, targetChargerCode:targetChargerCode, dutyDay:dutyDay, exchangeType:exchangeType } var opt = { method: 'post', url: dataUrl.util.exchangeDutyRoster(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { //1-临时调换 2-永久调换 if(exchangeType == 1){ // $('#achplan_tibanmodel').modal('hide'); }else{ $('#achplan_tipeForever').modal('hide'); } fun.queryDutyRosterser(); }else { alert('调班失败'); } } }; sysAjax(opt); }, /*处理停车场视图排班计划数据*/ handelParkViewDutyRosterData: function (req, data) { var dateFilterArray = []; //表头数据初始化 $("#park-wrap").empty(); var html = ''; $("#park-wrap").html(html); if (data.length == 0) { $("#park-wrap").append('
暂无数据
'); } else { //数据格式整理 var resData = data; var parkData = {}; var berthData = {}; var groupData = {}; var dutyDayData = {}; var data = {}; $.each(resData, function (index, item) { var plNo = item.plNo; var berthNo = item.berthRangeNo; var groupId = item.groupId; var dutyDay = item.dutyDay; if (parkData[plNo] == undefined || parkData[plNo] == null) { parkData[plNo] = item.plName; data[plNo] = {}; } if (data[plNo][berthNo] == undefined || data[plNo][berthNo] == null) { berthData[berthNo] = item.berthRangeName; data[plNo][berthNo] = {}; } if (data[plNo][berthNo][groupId] == undefined || data[plNo][berthNo][groupId] == null) { groupData[groupId] = {}; groupData[groupId].groupName = item.groupName; groupData[groupId].groupStartTime = item.groupStartTime; groupData[groupId].groupEndTime = item.groupEndTime; data[plNo][berthNo][groupId] = {}; } if (data[plNo][berthNo][groupId][dutyDay] == undefined || data[plNo][berthNo][groupId][dutyDay] == null) { dutyDayData[dutyDay] = {}; dutyDayData[dutyDay].dutyDay = item.dutyDay; data[plNo][berthNo][groupId][dutyDay] = []; } data[plNo][berthNo][groupId][dutyDay].push(item); }); //console.log('data:'); //console.log(data); html = '
'; for (var plNo in data) { html += ''; } html += '
'; $("#park-wrap").append(html); } }, /*处理收费员视图排班计划数据*/ handelChargerViewDutyRosterData: function (req, data) { //数据初始化 var dateFilterArray = []; $("#toll-wrap").empty(); var html = ''; $("#toll-wrap").html(html); if (data.length == 0) { $("#toll-wrap").append('
暂无数据
'); } else { //数据格式整理 var resData = data; var chargerData = {}; var data = {}; $.each(resData, function (index, item) { var chargerCode = item.chargerCode; if (data[chargerCode] == undefined || data[chargerCode] == null) { chargerData[chargerCode] = {}; chargerData[chargerCode] = item.chargerName; data[chargerCode] = []; } data[chargerCode].push(item); }); var foreverChargerCodeArray = fun.queryChargerInfoForDutyRosterBaseOfData(); //填充内容 html = '
'; for (var chargerCode in data) { html += ''; } $("#toll-wrap").append(html); } }, strFormatter: function (value) { if (value == undefined || value == null || value == "") { return '-'; } return value; }, /** * todo 查询组织下排班计划中的收费员 */ /*查询对应日期休息的收费员*/ queryNoRestCharger: function () { $("#schplan-oper-add").empty(); $('#schplan-oper-add').selectpicker('refresh'); var req = { planId: $("#planId").val(), dutyDay: $("#dutyDay").val(), sysCode: sysComm.sysCode } var opt = { method: 'post', url: dataUrl.util.queryRelaxChargerList(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { //console.log(res.data); var data = res.data; var html = ''; var chargerCodes = []; if (data.length == 0) { $('#achplan_notipe').modal('show'); } else { for (var i = 0; i < data.length; i++) { chargerCodes.push(data[i].chargerCode); html += ""; } $("#schplan-oper-add").empty(); $("#schplan-oper-add").append(html); $('#schplan-oper-add').selectpicker('refresh'); console.log(data.length) $('#achplan_tipe').modal('show'); } } } }; sysAjax(opt); }, /*保存调休记录*/ saveTakeRestRecord: function () { if ($("#schplan-oper-add").val() == undefined || $("#schplan-oper-add").val() == null || $("#schplan-oper-add").val() == '') { return; } var option = $("#schplan-oper-add").find("option:selected"); var req = { dutyDay: $("#dutyDay").val(), chargerCode: $("#chargerCode").val(), dutyType: option.data('dutytype'), chargeCodeRep: JSON.parse(option.val())[0], chargeCodeRepName: option.text(), sysCode: sysComm.sysCode } var opt = { method: 'post', url: dataUrl.util.saveTakeRestRecord(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { console.log(res.data); $('#achplan_tipe').modal('hide'); fun.queryDutyRosterser(); } } }; sysAjax(opt); } }; fun.init(); //切换 搜索部分 是否生效 documentBindFunc.on('click', "#schplan-toptab-ser div.ITD-graynav-topbar", function () { $(this).addClass('ITD-graynav-topbaractive').siblings('div').removeClass('ITD-graynav-topbaractive'); $("#park-wrap").empty(); fun.queryDutyRosterser(); }); documentBindFunc.on('click', '#schparktype', function () { $('#parkingtype').removeClass('display-none'); $('#park-wrap').removeClass('display-none'); $('#tolltype').addClass('display-none'); $('#toll-wrap').addClass('display-none'); $('#queryType').attr('data-value', '1'); //切换完后,调用查询表格 // fun.createTableData(); }); documentBindFunc.on('click', '#schtolltype', function () { $('#tolltype').removeClass('display-none'); $('#toll-wrap').removeClass('display-none'); $('#parkingtype').addClass('display-none'); $('#park-wrap').addClass('display-none'); $('#queryType').attr('data-value', '2'); //切换完后,调用查询表格 // fun.createTableData(); }); // 查询按钮 documentBindFunc.on('click', '#chargegroup-queryBtnser', function () { fun.queryDutyRosterser(); }); // 上一周点击time-opr-prevbtn documentBindFunc.on('click', '#time-opr-prevbtn', function () { fun.timeoprprevbtn(); }); // 下一周点击time-opr-nextbtn documentBindFunc.on('click', '#time-opr-nextbtn', function () { fun.timeoprnextbtn(); }); // 调休弹窗 documentBindFunc.on('click', '.schedulingplan-tipex', function () { $("#dutyDay").val(''); $("#chargerCode").val(''); $("#planId").val(''); $("#dutyDay").val($(this).attr('dutyDay')); $("#chargerCode").val($(this).attr('chargerCode')); $("#planId").val($(this).attr('planId')); fun.breakOperFun(); }); // 调休保存按钮 documentBindFunc.on('click', '#planbreak-submit', function () { fun.saveTakeRestRecord(); }); //调班弹窗 schedulingplan-tipebanx documentBindFunc.on('click', '.schedulingplan-tipebanx', function () { $("#dutyDayExchange").val(''); $("#chargerCodeExchange").val(''); $("#planIdExchange").val(''); $("#dutyDayExchange").val($(this).attr('dutyDay')); $("#chargerCodeExchange").val($(this).attr('chargerCode')); $("#planIdExchange").val($(this).attr('planId')); console.log($(this).attr('dutyDay') + 'dutyDay'); fun.exchangeOperFun(); $('#schplan-tboper-add').selectpicker('render'); $('#achplan_tibanmodel').modal('show'); }); //永久调班弹窗 documentBindFunc.on('click', '.schedulingplan-forfalls', function () { $("#dutyDayExchangeForever").val(''); $("#chargerCodeExchangeForever").val(''); $("#planIdExchangeForever").val(''); // $("#dutyDayExchangeForever").val($(this).attr('dutyDay')); $("#chargerCodeExchangeForever").val($(this).attr('chargerCode')); $("#planIdExchangeForever").val($(this).attr('planId')); fun.exchangeForeverOperFun(); //x下拉框初始化 $('#schplan-ftboper-add').selectpicker('render'); //时间初始化 $('#schefdaterange-btnsta').val(moment().subtract('days', -1).format('YYYY-MM-DD')); //开始日期 $("#schefdaterange-btnsta").datetimepicker({ startDate: moment().subtract('days', -1).format('YYYY-MM-DD'), format: 'yyyy-mm-dd', autoclose: true, startView: 2, //maxDate:moment().subtract('months', 3), minView: 2, forceParse: false, locale: "zh-CN", language: 'zh-CN', pickerPosition: "bottom-right" }); $('#achplan_tipeForever').modal('show'); }); // 调班保存按钮 documentBindFunc.on('click', '#planbreak-tbsubmit', function () { var souceChargerCode = $.trim($('#chargerCodeExchange').val()); var targetChargerCode = JSON.parse($('#schplan-tboper-add').val())[0]; var dutyDay = $('#dutyDayExchange').val(); var exchangeType = 1; fun.exchangeDutyRoster(souceChargerCode,targetChargerCode,dutyDay,exchangeType); }); // 永久调班保存按钮 documentBindFunc.on('click', '#planbreak-ftbsubmit', function () { var souceChargerCode = $.trim($('#chargerCodeExchangeForever').val()); var targetChargerCode = JSON.parse($('#schplan-ftboper-add').val())[0]; var dutyDay = new Date($('#schefdaterange-btnsta').val().replace(/-/g,"/")); var exchangeType = 2; fun.exchangeDutyRoster(souceChargerCode,targetChargerCode,dutyDay,exchangeType); }); //导出 var InterValObj; //timer变量,控制时间 var count = 8; //间隔函数,1秒执行 var curCount;//当前剩余秒数 function sendMessage() { curCount = count; //设置button效果,开始计时 $("#sch_exportBtn").attr("disabled", "true"); $(".ITD-export-btn").css("width", "138px"); $("#sch_exportBtn").val(curCount + "秒后可再次导出"); InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次 } //timer处理函数 function SetRemainTime() { if (curCount == 0) { window.clearInterval(InterValObj);//停止计时器 $("#sch_exportBtn").removeAttr("disabled");//启用按钮 $(".ITD-export-btn").css("width", "72px"); $("#sch_exportBtn").val("导出"); } else { curCount--; $("#sch_exportBtn").val(curCount + "秒后可再次导出"); } } //导出excle documentBindFunc.on('click', '#sch_exportBtn', function () { //获取table所有行数据 // var parkLot = $("#recordtable").bootstrapTable('getData'); var parkLot = "保证有数据导出"; //获取table总条数 // var numTotal = $("#recordtable").bootstrapTable('getOptions').totalRows; var numTotal = 100; if (parkLot.length < 1) { $('.ITD-alertmodel-contentmsg').text('无数据可导出!'); $('#ITD-tipsmodel').modal('show'); setTimeout(function () { $('.ITD-alertmodel-contentmsg').text(''); $('#ITD-tipsmodel').modal('hide'); }, 3000); return false; } if (numTotal > 10000) { $('.ITD-alertmodel-contentmsg').text('数据量过大,请缩小查询范围!'); $('#ITD-tipsmodel').modal('show'); setTimeout(function () { $('.ITD-alertmodel-contentmsg').text(''); $('#ITD-tipsmodel').modal('hide'); }, 3000); return false; } //执行倒计时函数 sendMessage(); var params = fun.getQueryParam(); var url = dataUrl.util.excleDutyRosterList(); url += '?sysCode=' + params.sysCode; if (null != params.startDate && "" != params.startDate) { var tempDate = params.startDate; var startDate = DateUtils.date2String(tempDate, 7); url += '&startDate=' + startDate; tempDate.setDate(tempDate.getDate() + 27); var endDate = DateUtils.date2String(tempDate, 7); url += '&endDate=' + endDate; } var orgId = fn.getOrgId(); if (orgId != null) { url += '&orgId=' + orgId; } url = encodeURI(url); window.downloadFile(url); }); //导出功能 window.downloadFile = function (sUrl) { //iOS devices do not support downloading. We have to inform user about this. if (/(iP)/g.test(navigator.userAgent)) { alert('Your device does not support files downloading. Please try again in desktop browser.'); return false; } //If in Chrome or Safari - download via virtual link click if (window.downloadFile.isChrome || window.downloadFile.isSafari) { //Creating new link node. var link = document.createElement('a'); link.href = sUrl; if (link.download !== undefined) { //Set HTML5 download attribute. This will prevent file from opening if supported. var fileName = sUrl.substring(sUrl.lastIndexOf('/') + 1, sUrl.length); link.download = fileName; } //Dispatching click event. if (document.createEvent) { var e = document.createEvent('MouseEvents'); e.initEvent('click', true, true); link.dispatchEvent(e); return true; } } // Force file download (whether supported by server). if (sUrl.indexOf('?') === -1) { sUrl += '?download'; } window.open(sUrl, '_self'); return true; } window.downloadFile.isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; window.downloadFile.isSafari = navigator.userAgent.toLowerCase().indexOf('safari') > -1;