/** * 配送工单 * */ var stateVal = ''; //0-当天;1-本周;2-本月;3-本年;4-累计 $(function() { //项目下拉 helper.getDropList.getProlistDrop($('#sc_pro')); laydate.render({ elem: '#sc_times', range: '~', theme: '#249fea', }); initTable(); //搜索 $("#sc_btns").click(function() { initTable(); }); $('#sc_statebtn').find('input[type="radio"]').on('change', function() { stateVal = $(this).val(); initTable(); }); }); function initTable() { //先销毁表格 $('#table_all').bootstrapTable('destroy'); //初始化表格,动态从服务器加载数据 $('#table_all').bootstrapTable({ method: "get", //使用get请求到服务器获取数据 url: huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrder/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 条数 projectid: $('#sc_pro').val(), // 否 string 项目id keyword: $('#sc_key').val(), // 否 string 模糊查询 wosorts: $('#sc_wosorts').val(), // 否 int 工单分类(1随机工单,2计划工单,-1所有 ) wostate: $('#sc_wostate').val(), // 否 int 配送工单状态:0创建工单,1转派或者接收(待取货),2已取货(配送中),3货物异常(异常),4已完结/待评价,5已取消,6挂起 ,9已评价 -1所有 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” datetype: stateVal, // 否 int 0-当天;1-本周;2-本月;3-本年;4-累计 }; 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 formatterOperate(val, row) { //int 0新工单,1转派或者接收(待取货),2已取货(配送中),3货物异常(异常) 4已完结/待评价,5已取消,6挂起 ,9已评价 var str = '
' + '' + '
' return str; } //格式化 工单状态 function formatterwostate(val, row) { //int 0新工单,1转派或者接收(待取货),2已取货(配送中),3货物异常(异常) 4已完结/待评价,5已取消,6挂起 ,9已评价 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_refuse'; stateName = '货物异常'; break; case 4: if (row.sended === 1) { stateClass = 'state_audit_termination'; stateName = '异常完结'; } else { stateClass = 'state_audit_done'; stateName = '已完结'; } break; case 5: stateClass = 'state_audit_revoke'; stateName = '已取消'; break; case 6: stateClass = 'state_audit_hang'; stateName = '已挂起'; break; case 9: stateClass = 'state_audit_other'; stateName = '已评价'; break; default: stateClass = 'text-block'; stateName = '-'; break; } return '' + stateName + ''; } //格式化 工单类型 function formatterwosorts(val, row) { var stateTxt = '-'; switch (val) { case 1: stateTxt = '随机'; break; case 2: stateTxt = '分送'; break; default: break; } return '' + stateTxt + ''; } //格式化 紧急程度 function formatterEmergencyid(val, row) { var stateClass = 'timeout_default'; var stateTxt = '-'; switch (val) { case 1: stateClass = 'timeout_success'; stateTxt = '一般'; break; case 2: stateClass = 'timeout_termination'; stateTxt = '紧急'; break; default: break; } return '' + stateTxt + ''; } //格式化 工单编号 function formatterWocode(val, row) { var str = '-'; var etext = ''; if (row.isoffence === 1) { etext = '违规'; //isaudit_offence int 违规是否审核通过 0无操作 1不通过 2通过 if (row.content_offence != '' && row.isaudit_offence <= 0) { etext = '违规(已申诉)'; //需要审核 } if (row.content_offence != '' && row.isaudit_offence === 1) { etext = '违规(未通过)'; //已审核 未通过 } } // if (row.sended === 1) { // etext = '异常'; // } str = '' + val + '' + etext + '' + ''; return str; } //格式化 物品名称 function formatterGoodslist(val, row) { if (val && val.length > 1) { return val[0].goodsname + '(' + val[0].num + ')...'; } else if (val && val.length === 1 && val[0] != "") { return val[0].goodsname + '(' + val[0].num + ')'; } else { return '-'; } } //格式化 内容 function formatterContent(val, row) { if (val) { var codeContent = decodeURIComponent(val); codeContent = helper.filter.delHtmlTag(codeContent); codeContent = $.trim(codeContent); var cc = codeContent.length > 20 ? codeContent.substr(0, 20) + '...' : codeContent; return '
' + cc + '
'; } else { return '-'; } } //格式化 地址 function formatterAddress(val, row) { if (val && val.length > 0) { return val[0].building_name + val[0].floor_name + val[0].department_name; } else { return '-'; } } //格式化 渠道来源 function formatterChannel(val, row) { //1表示PC 2表示安卓 3表示IOS 4表示微信 var str = '-'; switch (val) { case 1: str = 'PC'; break; case 2: str = '安卓'; break; case 3: str = 'IOS'; break; case 4: str = '微信'; break; default: break; } return str; } //格式化 时间 function formatterCheckTime(val) { if (val == "0001-01-01 00:00:00" || val == "" || val == null || val == undefined) { return "-"; } else { return val; } } //格式化创建人 function formatterName(val, row){ var str = ''; if(row.channel === 4){ str = row.createname; }else{ str = val + '-' + row.createname; } return str; } //查看 详情 function btn_details(edit_id) { layer.open({ type: 2, content: "template/seeDeliveryOrderDetails.html?edit_id=" + edit_id, //iframe的url,no代表不显示滚动条 title: '查看配送工单', resize: false, area: ['80%', '90%'], //宽高 }); } //取消 function btn_cancel(edit_id) { layer.confirm('您确定要将当前配送工单取消吗?', { icon: 7, btn: ['确定', '取消'] //按钮 }, function() { $.ajax({ type: "post", url: huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrder/cancel", dataType: 'json', data: { id: edit_id, // 是 string 配送工单id channel: 1 // 是 int 渠道来源 1表示PC 2表示安卓 3表示IOS 4表示微信 默认1 }, async: true, success: function(data) { layer.msg("取消成功!"); $('#table_all').bootstrapTable('refresh'); } }); }); } //挂起 function btn_hangup(edit_id) { layer.confirm('您确定要将当前配送工单挂起吗?', { icon: 7, btn: ['确定', '取消'] //按钮 }, function() { $.ajax({ type: "post", url: huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrder/hangup", dataType: 'json', data: { id: edit_id, // 是 string 配送工单id channel: 1 // 是 int 渠道来源 1表示PC 2表示安卓 3表示IOS 4表示微信 默认1 }, async: true, success: function(data) { layer.msg("挂起成功!"); $('#table_all').bootstrapTable('refresh'); } }); }); } //评价 function btn_evaluate(edit_id, code) { layer.open({ type: 2, content: "template/evaluateDeliveryOrder.html?edit_id=" + edit_id + "&code=" + code, //iframe的url,no代表不显示滚动条 title: '评价配送工单', resize: false, area: ['80%', '90%'], //宽高 }); } //添加 function btn_add() { isEvaluation().then(function(res) { if (res.state.toLowerCase() === "success") { layer.open({ type: 2, content: "template/addOrEditDeliveryOrder.html", //iframe的url,no代表不显示滚动条 title: '添加配送工单', resize: false, area: ['80%', '90%'], //宽高 }); } }); } //编辑 function btn_edit(edit_id) { layer.open({ type: 2, content: "template/addOrEditDeliveryOrder.html?edit_id=" + 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 + "distributionapi/api/DistriWorkOrder/delete", { ids: del_id, channel: 1, }, function(result) { result = JSON.parse(result); if (result.state.toLowerCase() == "success") { layer.msg("删除成功"); $('#table_all').bootstrapTable('refresh'); } }) }, }); } //是否有未完成的评价 function isEvaluation() { var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象 $.post(huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrder/isevaluation", {}, function(result) { result = JSON.parse(result); dtd.resolve(result); // 改变Deferred对象的执行状态 }); return dtd.promise(); // 返回promise对象 } //批量转派 function btn_transfers() { var wostates = $.map($('#table_all').bootstrapTable('getSelections'), function(row) { return row.wostate; }); if (wostates.length <= 0) { layer.confirm('请选择要转派的工单', { icon: 7, btn: ['确定'] //按钮 }); return; } if (wostates.length >= 100) { layer.confirm('批量转派一次最多转派100个工单。', { icon: 7, btn: ['确定'] //按钮 }); return; } for (var i = 0; i < wostates.length; i++) { if (wostates[i] != 0) { console.count(); layer.confirm('请确认您选择的工单是否是新工单,只有新工单可以转派!', { icon: 7, btn: ['确定'] //按钮 }); return; } } var ids = $.map($('#table_all').bootstrapTable('getSelections'), function(row) { return row.id + ',' + row.projectid + '|'; }); btn_transfer(ids); } //转派 function btn_transfer(edit_id) { layer.open({ type: 2, content: "template/transferDeliveryOrder.html?edit_id=" + encodeURIComponent(edit_id), //iframe的url,no代表不显示滚动条 title: '转派配送工单', resize: false, area: ['50%', '60%'], //宽高 }); } //审核违规申诉 function btn_audit(ids, content_offence) { var IsAudit = 1; //1不通过 2通过 默认不通过1 layer.confirm('违规原因:
' + content_offence, { title: '是否通过审核?', btn: ['通过', '拒绝'], }, function(index, layero) { //通过 var value = ''; IsAudit = 2; auditProject(ids, IsAudit, value); }, function(index) { //拒绝 IsAudit = 1; layer.prompt({ formType: 2, //value: '初始值', title: '请输入拒绝的原因', area: ['600px', '200px'] //自定义文本域宽高 }, function(value, index, elem) { auditProject(ids, IsAudit, value); layer.close(index); }); }); } //审核 function auditProject(ids, IsAudit, IsAuditNote) { $.post(huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrder/auditoffence", { id: ids, // 是 string 配送工单id isaudit: IsAudit, // 是 int 是否审核通过 1不通过 2通过 默认不通过1 content: IsAuditNote, // 是 string 驳回原因 channel: 1, // 是 int 渠道来源 1表示PC 2表示安卓 3表示IOS 4表示微信 默认1 }, function(data) { data = JSON.parse(data); if (data.state.toLowerCase() === "success") { $('#table_all').bootstrapTable('refresh'); layer.msg("审核成功"); } }); }