/** * 设备保养工单 * */ var timeRules = ''; //超时时长规则 $(function() { laydate.render({ elem: '#sc_times', range: '~', theme: '#249fea', }); //获取超时时长的规则 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; 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) $('#sc_times').val(lastmonth+" ~ "+current) initTable(); } }); //系统名称 // helper.getDropList.getlistDropByDic($('#sc_sysname'), 'XTMC'); //设备名称 // helper.getDropList.getEqplistDrop($('#sc_euqpname')); //搜索 $("#sc_btns").click(function() { initTable(); }) }); function initTable() { //先销毁表格 $('#table_all').bootstrapTable('destroy'); //初始化表格,动态从服务器加载数据 $('#table_all').bootstrapTable({ method: "get", //使用get请求到服务器获取数据 url: huayi.config.callcenter_url + "equipmentapi/api/womaintainbase/getlistbypage", //获取数据的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 条数 stime: $('#sc_times').val() && $('#sc_times').val().split(' ~ ')[0], //开始时间 etime: $('#sc_times').val() && $('#sc_times').val().split(' ~ ')[1], //结束时间 // sysname: $('#sc_sysname').val(), //string 系统名称 // equipname: $('#sc_euqpname').val(), //string 设备名称 maintainman: $('#sc_maintainman').val(), //string 保养人 state: $('#sc_taskstate').val(), //否 int (0创建工单,1已转派,2已接收,3已处理,6挂起,11待处理(包含已接收和已转派)) }; return param; }, onLoadSuccess: function(res) { //加载成功时执行 //layer.msg("加载成功"); var newDataL = {}; newDataL.state = res.state; newDataL.message = res.message; newDataL.rows = res.data.rows; newDataL.total = res.data.total; $('#table_all').bootstrapTable('load', newDataL); $('.tool_down').authorizeOperateButton(); }, onLoadError: function() { //加载失败时执行 //layer.msg("加载数据失败", { time: 1500, icon: 2 }); } }); } //查看保养工单详情 function btn_details(edit_id) { layer.open({ type: 2, content: "template/seeEqupMaintainOrders.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/dealMaintainOrder.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/transferMaintainOrder.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/womaintainbase/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) { var str = ''; str = '
' + '' + '
' return str; } //格式化工单状态 function formatterWState(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 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 formatterMaintainTime(val) { if(val == "0001-01-01 00:00:00" || val == "" || val == null || val == undefined) { return "-"; } else { return val; } } //格式化保养人 function formatterCheckby(val, row){ var toUserStr = ''; var touser = row.maintainuser === null ? [] : row.maintainuser; var tousername = row.maintainusername === null ? [] : row.maintainusername; // var touser = ["AA000", "AA001", "AA002"]; // var tousername = ["张山", "李四", "王五"]; if(touser.length < 1) { toUserStr = '-'; } else { var toUsers = touser.concat(tousername); var toUsersLength = toUsers.length; if(toUsersLength === 2) { toUserStr = toUsers[0] + '-' + toUsers[1]; } else{ for(var i = 0; i < toUsersLength; i++) { if(i < toUsersLength / 2) { toUserStr += toUsers[i] + '-' + toUsers[toUsersLength / 2 + i] + ',' toUserStr.substring(0, toUserStr.length - 1); } else { break; } } } } return toUserStr; } //格式化处理人 function formatterDealby(val, row) { var toUserStr = ''; var touser = row.dealuser === null ? [] : row.dealuser; var tousername = row.dealusername === null ? [] : row.dealusername; // var touser = ["AA000", "AA001", "AA002"]; // var tousername = ["张山", "李四", "王五"]; if(touser.length < 1) { toUserStr = '-'; } else { var toUsers = touser.concat(tousername); var toUsersLength = toUsers.length; if(toUsersLength === 2) { toUserStr = toUsers[0] + '-' + toUsers[1]; } else{ for(var i = 0; i < toUsersLength; i++) { if(i < toUsersLength / 2) { toUserStr += toUsers[i] + '-' + toUsers[toUsersLength / 2 + i] + ',' toUserStr.substring(0, toUserStr.length - 1); } else { break; } } } } return toUserStr; } //格式化创建人 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对象 } //格式化超时时长 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) + ''; }