| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- /**
- * 报修平台
- * */
- 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<res.data.length;i++){
- delete res.data[i].sendlosecount
- len=res.data.length
- }
- hzdata =res.data
- var hzallcount = hzdata.reduce((sum, e) => 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);
- }
-
|