| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- /**
- * 报修平台
- * */
- var state = ''; // state tab页的 data-index(工单状态参数);
- var stateVal = ''; //默认为所有,”day”今天,”week”本周,”month”本月,”year”本年
- var showdatas = [];
- $(document).ready(function() {
- stateVal = 'week';
- initTable1();
- $('.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',
- range: '~',
- theme: '#249fea'
- });
- // 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)
- // $('#startTime').val(getPreDatetime(3600 * 1000 * 24 * 6) + " ~ " + current)
- // initTable1();
- // }
- });
- //前一周
- 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;
- }
- function initTable1() {
- //先销毁表格
- $('#table1').bootstrapTable('destroy');
- //初始化表格,动态从服务器加载数据
- $('#table1').bootstrapTable({
- method: "get", //使用get请求到服务器获取数据
- url: huayi.config.callcenter_url + "equipmentapi/api/WoRepairBase/gettjlist", //获取数据的Servlet地址
- contentType: "application/x-www-form-urlencoded",
- striped: true, //表格显示条纹
- smartDisplay: 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 = {
- daytype: stateVal,
- isdjtype: $("#isdjtype").val(),
- Jwocode: $('#teamName').val(), //班组名称
- stime: $('#startTime').val() && $('#startTime').val().split(' ~ ')[0], //开始时间
- etime: $('#startTime').val() && $('#startTime').val().split(' ~ ')[1], //结束时间
- };
- return param;
- },
- responseHandler: function(res) {
- //格式化数据
- let len = res.data.lists.length
- let newData = res.data.lists
- // console.log'
- var changecount = newData.reduce((sum, e) => sum + parseInt(e.changecount), 0) //改派量
- var comfrom = newData.reduce((sum, e) => sum + parseInt(e.comfrom), 0) //本院量
- var daycounts = newData.reduce((sum, e) => sum + parseInt(e.daycounts), 0) //总接单量
- var finishcount = newData.reduce((sum, e) => sum + parseInt(e.finishcount), 0) //已处理量
- var wfinishcount= newData.reduce((sum, e) => sum + parseInt(e.wfinishcount), 0) //已完结量
- var jsfinishcount = newData.reduce((sum, e) => sum + parseInt(e.jsfinishcount), 0) //及时完成
- var csfinishcount = newData.reduce((sum, e) => sum + parseInt(e.csfinishcount), 0) //超时完成
- var nfinishcount = newData.reduce((sum, e) => sum + parseInt(e.nfinishcount), 0) //未完结单量
- var finishlv; //完成率
- var nofinnishlv ;//未完成率
- var mywocode = newData.reduce((sum, e) => sum + parseInt(e.mywocode), 0) //满意
- var cwocode = newData.reduce((sum, e) => sum + parseInt(e.cwocode), 0) //差
- var ybwocode = newData.reduce((sum, e) => sum + parseInt(e.ybwocode), 0) //满意
- var wfinishcount = newData.reduce((sum, e) => sum + parseInt(e.wfinishcount), 0) //评价总数
- var mydinfo; //满意度
- var comfrombl;//本院量率
- var comfroms = newData.reduce((sum, e) => sum + parseInt(e.comfroms), 0) //第三方量
- var comfromsbl; //第三方量率
- if(finishcount==0||daycounts==0){
- finishlv=0
- }else{
- finishlv=((finishcount / daycounts)*100).toFixed(2) + '%'
- }
- if(nfinishcount==0||daycounts==0){
- nofinnishlv=0
- }else{
- nofinnishlv=((nfinishcount / daycounts)*100).toFixed(2) + '%'
- }
- if(mywocode==0||daycounts==0){
- mydinfo=0
- }else{
- mydinfo=(((mywocode)/(wfinishcount))*100).toFixed(2) + '%'
- }
- if(comfrom==0||daycounts==0){
- comfrombl=0
- }else{
- comfrombl=((comfrom / finishcount)*100).toFixed(2) + '%'
- }if(comfroms==0||finishcount==0){
- comfromsbl=0
- }else{
- comfromsbl=((comfroms / finishcount)*100).toFixed(2) + '%'
- }
- var newhzdata = [{
- deptname: '合计',
- daycounts: daycounts, //随访总数
- finishcount: finishcount,
- jsfinishcount: jsfinishcount,
- csfinishcount: csfinishcount,
- nfinishcount: nfinishcount, //满意数
- finishlv:finishlv ,//完成率
- nofinnishlv: nofinnishlv,
- mywocode: mywocode,//+ybwocode,
- ybwocode:ybwocode,
- cwocode: cwocode,
- mydinfo: mydinfo,
- comfrom: comfrom,
- comfrombl:comfrombl ,
- comfroms: comfroms,
- comfromsbl:comfromsbl,
- changecount: changecount
- }]
- if(newData.length > 0) {
- showdatas = newData.concat(newhzdata)
- } else {
- showdatas = []
- }
- return {
- "rows": showdatas //数据
- };
- // return {
- // "rows": res.data && res.data.lists, //数据
- // };
- },
- onLoadSuccess: function(res) { //加载成功时执行
- },
- onLoadError: function() { //加载失败时执行
- //layer.msg("加载数据失败", { time: 1500, icon: 2 });
- }
- });
- }
- // //操作
- // function formatterOperate(val, row) {
- // var str = '<ul class="tool_downs">' +
- // '<li><a class="aBtn" authorize="yes" id="HY_detail_' + row.deptname + '" onclick="btn_detail(\'' + row.deptname + '\')">详情</a><li>' +
- // '</ul>';
- // return str;
- // }
- //添加
- function btn_add() {
- layer.open({
- type: 2,
- content: "template/addEquipmentRepair.html",
- title: '添加故障维修',
- area: ['70%', '80%'], //宽高
- });
- }
- //处理
- function btn_handle(code, floorId, sysId) {
- layer.open({
- type: 2,
- content: "template/HandleEquipmentRepair.html?code=" + code + "&floorId=" + floorId,
- title: '故障维修处理',
- area: ['70%', '80%'], //宽高
- });
- }
- //详情
- function btn_details(ids) {
- layer.open({
- type: 2,
- content: "template/seeEquipmentRepair.html?ids=" + ids,
- title: '故障维修详情',
- area: ['70%', '80%'], //宽高
- });
- }
- //派单
- function btn_assign(proId, wocode) {
- layer.open({
- type: 2,
- content: "template/assignEquipmentRepair.html?&proId=" + proId + "&code=" + wocode,
- title: '故障维修派单',
- area: ['70%', '80%'], //宽高
- });
- }
- //导出
- function btn_export() {
- // var Jwocode = $('#teamName').val() //班组名称
- // var isdjtype=$("#isdjtype").val()
- // var stime = $('#startTime').val() && $('#startTime').val().split(' ~ ')[0] //开始时间
- // var etime = $('#startTime').val() && $('#startTime').val().split(' ~ ')[1] //结束时间
- // window.location.href = huayi.config.callcenter_url + "equipmentapi/api/WoRepairBase/exportexcel?Jwocode=" + Jwocode + "&stime=" + stime + "&etime=" + etime+"&isdjtype=" + isdjtype
- //要导出的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);
- }
- //详情
- function btn_detail(deptname) {
- layer.open({
- type: 2,
- content: "template/warrantyWorkOrderDetail.html?deptname=" + encodeURIComponent(deptname),
- title: '报修工单详情',
- area: ['70%', '80%'], //宽高
- });
- }
|