/** * 报修平台 * */ var state = ''; // state tab页的 data-index(工单状态参数); var stateVal = ''; //默认为所有,”day”今天,”week”本周,”month”本月,”year”本年 var hzdata=[] var showdatas = [] var len='' $(document).ready(function() { $('.tool_bars').authorizeButton(); //搜索 $('#sc_btns').click(function() { initTable1(); }) $('#HY_seeMore').click(function() { $('.moreCondition').toggleClass('show'); }) $('#sc_statebtn').find('input[type="radio"]').on('change', function() { stateVal = $(this).val(); initTable1(); }); //时间 laydate.render({ elem: '#startTime', theme: '#249fea', range: '~', }); function getPreDatetime(pdate) { var start = new Date() start.setTime(start.getTime() - pdate) start.getYear(); // 获取当前年份(2位) var YY = start.getFullYear() // 获取完整的年份(4位,1970-????) var MM = start.getMonth() + 1 // 获取当前月份(0-11,0代表1月) MM = MM > 9 ? MM : ('0' + MM); var DD = start.getDate() // 获取当前日(1-31) DD = DD > 9 ? DD : ('0' + DD) var lastmonth = YY + '-' + MM + '-' + DD; return lastmonth; } if ($('#startTime').val() == "") { function p(s) { return s < 10 ? '0' + s : s; } var currentYear = new Date().getFullYear(); var currentMonth = new Date().getMonth() + 1; var currentDate = new Date().getDate(); var prevCurrentYear = 0; var prevCurrentMonth = 0; if (currentMonth == 1) { prevCurrentYear = currentYear - 1; prevCurrentMonth = 12; } else { prevCurrentYear = currentYear; prevCurrentMonth = currentMonth - 1; } var current = currentYear + "-" + p(currentMonth) + "-" + p(currentDate); // var lastmonth = prevCurrentYear + "-" + p(prevCurrentMonth) + "-" + p(currentDate) var a = getPreDatetime(3600 * 1000 * 24 * 30); $('#startTime').val(getPreDatetime(3600 * 1000 * 24 * 30) + " ~ " + current) initTable1(); } }); function initTable1() { //先销毁表格 $('#table1').bootstrapTable('destroy'); //初始化表格,动态从服务器加载数据 $('#table1').bootstrapTable({ method: "get", //使用get请求到服务器获取数据 url: huayi.config.callcenter_url + "testusertypeapi/api/Test/getzysfallbbinfolists", //获取数据的Servlet地址 //url:"./js/jsonFollData.js", contentType: "application/x-www-form-urlencoded", striped: true, //表格显示条纹 smartDisplay:false, pagination: false, //启动分页 pageSize: 10, //每页显示的记录数 pageNumber: 1, //当前第几页 // pageList: [10, 20, 50, 100], //记录数可选列表 search: false, //是否启用查询 showColumns: false, //显示下拉框勾选要显示的列 showRefresh: false, //显示刷新按钮 sidePagination: "server", //表示服务端请求 //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder //设置为limit可以获取limit, offset, search, sort, order queryParamsType: "undefined", queryParams: function queryParams(params) { //设置查询参数 var param = { stime: $('#startTime').val() && $('#startTime').val().split(' ~ ')[0], //开始时间 etime: $('#startTime').val() && $('#startTime').val().split(' ~ ')[1], //结束时间 }; return param; }, responseHandler: function(res) { //格式化数据 for(var i=0;i sum + parseInt(e.hzallcount), 0) //患者人数 var sfallcount = hzdata.reduce((sum, e) => sum + parseInt(e.sfallcount), 0)//随访总数 var yhfcount = hzdata.reduce((sum, e) => sum + parseInt(e.yhfcount), 0)//已回复 var whfcount = hzdata.reduce((sum, e) => sum + parseInt(e.whfcount), 0)//未回复 var mycount = hzdata.reduce((sum, e) => sum + parseInt(e.mycount), 0) //满意数 var mycountbl = hzdata.reduce((sum, e) => sum + parseInt(e.mycountbl), 0) var bycount = hzdata.reduce((sum, e) => sum + parseInt(e.bycount), 0) //表扬数 var bycountbl = hzdata.reduce((sum, e) => sum + parseInt(e.bycountbl), 0) var nomycount = hzdata.reduce((sum, e) => sum + parseInt(e.nomycount), 0)//不满意数 var nomycountbl = hzdata.reduce((sum, e) => sum + parseInt(e.nomycountbl), 0)//不满意度 var othercount = hzdata.reduce((sum, e) => sum + parseInt(e.othercount), 0) //其它 var hfmydbl = hzdata.reduce((sum, e) => sum + parseFloat(e.hfmydbl), 0)//回复满意度 var zhmydbfb = hzdata.reduce((sum, e) => sum + parseInt(e.zhmydbfb), 0)//综合满意度 var sendsuccesscount = hzdata.reduce((sum, e) => sum + parseInt(e.sendsuccesscount), 0)//成功数 var sendlv = hzdata.reduce((sum, e) => sum + parseInt(e.sendlv), 0)//成功率 var newhzdata = [{ deptname: '合计', hzallcount:hzallcount, //随访总数 sfallcount: sfallcount, yhfcount: yhfcount, whfcount: whfcount, mycount: mycount, //满意数 mycountbl: (mycountbl/len).toFixed(2) + '%', bycount: bycount,//表扬数 bycountbl: (bycountbl/len).toFixed(2) + '%', nomycount: nomycount, nomycountbl: (nomycountbl/len).toFixed(2) + '%', othercount: othercount,//其它 hfmydbl: (hfmydbl/len).toFixed(2) + '%', sendsuccesscount:sendsuccesscount,//成功数 // sendlv: (sendlv/len).toFixed(2) + '%', sendlv: ((sendsuccesscount/ sfallcount)*100).toFixed(2) + "%", zhmydbfb: ((mycount+bycount)/(sendsuccesscount-othercount)*100).toFixed(2) + '%', //zhmydbfb: (zhmydbfb/len).toFixed(2) + '%', }] if(hzdata.length>0){ showdatas = hzdata.concat(newhzdata) console.log(newhzdata) }else{ showdatas=[] } return { "rows": showdatas //数据 }; }, onLoadSuccess: function(res) { //加载成功时执行 }, onLoadError: function() { //加载失败时执行 //layer.msg("加载数据失败", { time: 1500, icon: 2 }); } }); } //导出 function btn_export() { // var stime = $('#startTime').val() && $('#startTime').val().split(' ~ ')[0] //开始时间 // var etime = $('#startTime').val() && $('#startTime').val().split(' ~ ')[1] //结束时间 // window.location.href = huayi.config.callcenter_url + "testusertypeapi/api/Test/exportexcelsfbb?stime=" + stime + "&etime=" + etime //要导出的json数据 const jsonData = showdatas //列标题,逗号隔开,每一个逗号就是隔开一个单元格 var str = `科室,患者人数,随访总数,已回复,未回复,满意,满意度,表扬,表扬度,不满意,不满意度,其他,回复满意度,成功数,成功率,综合满意度\n`; //增加\t为了不让表格显示科学计数法或者其他格式 for (let i = 0; i < jsonData.length; i++) { for (let item in jsonData[i]) { str += `${jsonData[i][item] + '\t'},`; } str += '\n'; } //encodeURIComponent解决中文乱码 let uri = 'data:text/csv/xls;charset=utf-8,\ufeff' + encodeURIComponent(str); //通过创建a标签实现 let link = document.createElement("a"); link.href = uri; //对下载的文件命名 link.download = "随访报表.xls"; document.body.appendChild(link); link.click(); document.body.removeChild(link); }