/** * 设备巡检工单 * */ var timeRules = ''; //超时时长规则 暂时定5、10、 15 (分钟)三个阶段;展示不同的颜色 var stateVal = ''; //默认为所有,”day”今天,”week”本周,”month”本月,”year”本年 $(function() { //项目下拉 helper.getDropList.getProlistDrop($('#sc_pro')); //系统名称 // helper.getDropList.getlistDropByDic($('#sc_sysname'), 'XTMC'); //设备名称 // helper.getDropList.getEqplistDrop($('#sc_euqpname')); //巡检人 helper.getDropList.getProUser('', $('#sc_checkby')); laydate.render({ elem: '#sc_times', range: '~', theme: '#249fea', }); // function getPreDatetime(pdate = 3600 * 1000 * 24 * 30) { // const start = new Date() // start.setTime(start.getTime() - pdate) // start.getYear() // 获取当前年份(2位) // const YY = start.getFullYear() // 获取完整的年份(4位,1970-????) // let MM = start.getMonth() + 1 // 获取当前月份(0-11,0代表1月) // MM = MM > 9 ? MM : ('0' + MM) // let DD = start.getDate() // 获取当前日(1-31) // DD = DD > 9 ? DD : ('0' + DD) // var lastmonth=YY + '-' + MM + '-' + DD // return lastmonth // } //获取超时时长的规则 timeoutRules().then(function() { if ($('#sc_times').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; // console.log(currentMonth); // 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) initTable(); // $('#sc_times').val(getPreDatetime()+" ~ "+current) } }); //搜索 $("#sc_btns").click(function() { initTable(); }); $('#sc_statebtn').find('input[type="radio"]').on('change', function() { stateVal = $(this).val(); initTable(); }); $('#sc_pro').on('change', function() { $('#sc_checkby').empty(); $('#sc_checkby').append(''); //巡检人 helper.getDropList.getProUser($(this).val(), $('#sc_checkby')); }); }); function initTable() { //先销毁表格 $('#table_all').bootstrapTable('destroy'); //初始化表格,动态从服务器加载数据 $('#table_all').bootstrapTable({ method: "get", //使用get请求到服务器获取数据 url: huayi.config.callcenter_url + "equipmentapi/api/WoEquipmentRunning/getlistsbypage", //获取数据的Servlet地址 contentType: "application/x-www-form-urlencoded", striped: true, //表格显示条纹 pagination: true, //启动分页 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 = { pageindex: params.pageNumber, //否 int 页码 pagesize: params.pageSize, //否 int 条数 daytype: stateVal, //否 string 默认为所有,”day”今天,”week”本周,”month”本月,”year”本年 projectid: $('#sc_pro').val(), // 否 string 项目id // sysnameid: $('#sc_sysname').val(), //否 string 系统名称id // equipmentid: $('#sc_euqpname').val(), //否 string 设备名称id checkby: $('#sc_checkby').val(), //否 string 巡检人code state: $('#sc_orderstate').val(), //否 int (0创建工单,1已转派,3已处理,6挂起) stime: $('#sc_times').val() && $('#sc_times').val().split(' ~ ')[0], //string 开始时间,对报修时间的检索,“2018-03-27” etime: $('#sc_times').val() && $('#sc_times').val().split(' ~ ')[1], //否 string 结束时间,对报修时间的检索,“2018-03-27” wocode: $('#sc_wecode').val(), //否 string 工单号(模糊查询) }; return param; }, responseHandler: function(res) { return { "total": res.data && res.data.total, //总页数 "rows": res.data && res.data.rows, } }, onLoadSuccess: function() { //加载成功时执行 //layer.msg("加载成功"); $('.tool_down').authorizeOperateButton(); }, onLoadError: function() { //加载失败时执行 //layer.msg("加载数据失败", { time: 1500, icon: 2 }); } }); } //查看详情 function btn_details(edit_id) { layer.open({ type: 2, content: "template/seeEqupRunOrderDetails.html?edit_id=" + edit_id, //iframe的url,no代表不显示滚动条 title: '查看设备巡检工单', resize: false, area: ['80%', '90%'], //宽高 }); } //处理 function btn_deal(edit_id) { layer.open({ type: 2, content: "template/dealRunOrder.html?edit_id=" + edit_id, //iframe的url,no代表不显示滚动条 title: '处理设备巡检工单', resize: false, area: ['80%', '90%'], //宽高 }); } //批量转派 function btn_transfers() { var ids = $.map($('#table_all').bootstrapTable('getSelections'), function(row) { return row.id + ',' + row.projectid + '|'; }); /*判断长度*/ if(ids.length <= 0) { layer.confirm('请选择要转派的工单', { icon: 7, btn: ['确定'] //按钮 }); return; } if(ids.length >= 100) { layer.confirm('批量转派一次最多转派100个工单。', { icon: 7, btn: ['确定'] //按钮 }); return; } btn_transfer(ids); } //转派 function btn_transfer(edit_id) { layer.open({ type: 2, content: "template/transferRunOrder.html?edit_id=" + encodeURIComponent(edit_id), //iframe的url,no代表不显示滚动条 title: '转派设备巡检工单', resize: false, area: ['80%', '90%'], //宽高 }); } //批量删除 function btn_deletes() { var ids = $.map($('#table_all').bootstrapTable('getSelections'), function(row) { return row.id; }); /*判断长度*/ if(ids.length <= 0) { layer.confirm('请选择要删除的选项', { icon: 7, btn: ['确定'] //按钮 }); return; } btn_delete(ids); } //删除 function btn_delete(del_id) { /*发送请求*/ layer.confirm('您确定要删除当前设备巡检工单吗?', { icon: 7, btn: ['确定', '取消'], yes: function(index, layero) { $.post(huayi.config.callcenter_url + "equipmentapi/api/WoEquipmentRunning/delete", { ids: del_id, }, function(result) { result = JSON.parse(result); if(result.state.toLowerCase() == "success") { layer.msg("删除成功"); $('#table_all').bootstrapTable('refresh'); } }) }, }); } //格式化操作 function formatterOperate(val, row) { //0新工单,1已转派,2已接收,3已处理,4已评价,5已取消,6挂起 var str = '
' return str; } //格式化上次巡检结果 function formatterlastcheckresultid(val, row){ if(row.lastchecktime === "0001-01-01 00:00:00"){ return '-'; }else{ return ftype(val); } } ////格式化设备状态 //function formatterquipmenttype(val, row) { // if(row.equipmentname && row.equipmentname.length > 0 && row.equipmentname != ''){ // return ftype(val); // }else{ // return '-'; // } //} //格式化状态 function ftype(val) { //1正常,0异常 var stateClass = 'timeout_default'; var stateTxt = '-'; if(val === 1) { stateClass = 'timeout_success'; stateTxt = '正常'; } else { stateClass = 'timeout_termination'; stateTxt = '异常'; } return '' + stateTxt + ''; } //格式化工单状态 function formatterwostate(val) { //int (0创建工单,1已转派,2已接收,3已处理,6挂起,11待处理(包含已接收和已转派)) var stateClass, stateName; switch(val) { case 0: stateClass = 'state_audit_wait'; stateName = '新工单'; break; case 1: stateClass = 'state_audit_refuse'; stateName = '已转派'; break; case 2: stateClass = 'state_audit_doned'; stateName = '已接收'; break; case 3: stateClass = 'state_audit_done'; stateName = '已处理'; break; case 11: stateClass = 'state_audit_revoke'; stateName = '待处理'; break; default: stateClass = 'text-block'; stateName = '-'; break; } return '' + stateName + ''; } //格式化设备名称 function formatterEquipname(val, row) { if(val && val.length > 1) { return val[0] + '...'; } else if(val && val.length === 1 && val[0] != "") { return val; } else { return '-'; } } //格式化 时间 function formatterCheckTime(val) { if(val == "0001-01-01 00:00:00" || val == "" || val == null || val == undefined) { return "-"; } else { return val; } } //格式化巡检人 function formatterCheckby(val, row){ if(val == "" || val == null || val == undefined) { return "-"; } else { return val + '-' + row.checkbyuser; } } //格式化处理人 function formatterDealby(val, row) { if(val == "" || val == null || val == undefined) { return "-"; } else { return val + '-' + row.dealbyuser; } } //格式化创建人 function formatterCreateby(val, row) { if(val == "" || val == null || val == undefined) { return "-"; } else { return val + '-' + row.createbyuser; } } //获取超时时长的规则 function timeoutRules() { var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象 $.ajax({ type: "get", url: huayi.config.callcenter_url + "configurationapi/api/dictionary/getdicvaluelistdrop", dataType: 'json', async: true, data: { code: 'GDCSSC', }, success: function(data) { if(data.state.toLowerCase() === 'success') { data = data.data; if(data && data.length > 0) { timeRules = data[0].name; } } dtd.resolve(); // 改变Deferred对象的执行状态 } }); return dtd.promise(); // 返回promise对象 } //格式化超时时长 暂时定5、10、 15 (分钟)三个阶段;展示不同的颜色 function formatterTimeoutlong(val) { if(val < 0){ return val; } var stateClass = 'timeout_default'; if(timeRules) { var rule1 = (timeRules.split('|')[0] - 0) * 60; var rule2 = (timeRules.split('|')[1] - 0) * 60; var rule3 = (timeRules.split('|')[2] - 0) * 60; if(val === 0) { stateClass = 'timeout_default'; } else if((val > 0) && (val <= rule1)) { stateClass = 'timeout_wait'; } else if((val > rule1) && (val <= rule2)) { stateClass = 'timeout_refuse'; } else if((val > rule2) && (val <= rule3)) { stateClass = 'timeout_revoke'; } else { stateClass = 'timeout_termination'; } } return '' + helper.DateFormat.getDuring(val) + ''; }