| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400 |
- /**
- * 设备巡检工单
- * */
- 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('<option value="">请选择巡检人</option>');
- //巡检人
- 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 = '<div class="task_tools" onclick = helper.methods.taskTools(this)>' +
- '<a title="操作"><i class="fa fa-cogs" aria-hidden="true"></i></a>' +
- '<ul class="tool_down">' +
- '<li><a class="aBtn" authorize="yes" id="HY_details_' + row.id + '" onclick="btn_details(\'' + row.id + '\')"><i class="fa icon-detail tub"></i>详情</a><li>'
- if(row.wostate != 3) {
- str += '<li><a class="aBtn" authorize="yes" id="HY_deal_' + row.id + '" onclick="btn_deal(\'' + row.id + ',' + row.projectid + '\')"><i class="fa icon-msnui-audit tub"></i>处理</a><li>' +
- '<li><a class="aBtn" authorize="yes" id="HY_transfer_' + row.id + '" onclick="btn_transfer(\'' + row.id + ',' + row.projectid + ',' + row.wocode + '\')"><i class="fa icon-transfer tub"></i>转派</a><li>'
- }
- str += '<li><a class="aBtn" authorize="yes" id="HY_delete_' + row.id + '" onclick="btn_delete(\'' + row.id + '\')"><i class="fa icon-delete tub"></i>删除</a><li>' +
- '</ul></div>'
- 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 '<span class="' + stateClass + '">' + stateTxt + '</span>';
- }
- //格式化工单状态
- 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 '<a class="state_audit ' + stateClass + '" href="javascript:;">' + stateName + '</a>';
- }
- //格式化设备名称
- 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 '<span class="' + stateClass + '" href="javascript:;">' + helper.DateFormat.getDuring(val) + '</span>';
- }
|