| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504 |
- /**
- * 查看配送工单详情
- * */
- $(function() {
- var edit_id = helper.request.queryString("edit_id");
- getDetail(edit_id);
- });
- //获取详情
- function getDetail(ids) {
- $.getJSON(huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrder/getsingle", {
- id: ids,
- }, function(data) {
- if (data.state == "success") {
- var res = data.data.model;//工单内容
- var evaluate = data.data.evaluate;//评价
- var offence = data.data.offence;//违规申诉列表
- var transferLines = data.data.items;//转派流程
- var exception = data.data.exception;//送达异常
- $('#order_code').text('工单编号:' + res.wocode); //工单编号
- $('#order_pro').text(res.projectname); //项目名称
- $('#order_state').html(formatterwostate(res.wostate)); //工单状态
- $('#order_wosorts').html(res.wosorts === 1 ? '随机工单' : '分送工单'); //工单类型
- if(res.wosorts === 2){
- $('#order_plan').html(res.planname); //计划名称
- $('#order_plan').parent().show();
- }
-
- $('#order_emergency').html(formatterEmergencyid(res.emergencyid)); //紧急程度
- $('#order_channel').text(formatterChannel(res.channel)); //渠道来源
- $('#order_touser').text(res.touser); //接单人
- // $('#order_tousertel').text(data.data.tousertel); //接单人电话
- $('#order_assigtime').text(formatterCheckTime(res.assigtime)); //接单时间
- $('#order_islast').text(formatterIsNot(res.islast)); //是否最后一步
- $('#order_sended').text(formatterIsNot(res.sended)); //是否送达
- $('#userCode').text(formatterName(res.createtby, res)); //创建人
- $('#createTime').text(res.createtime); //创建时间
- //发货地址
- if (res.deliverylist && res.deliverylist.length > 0) {
- $('#delivery_address').show();
- $('#order_delivery_name').text(res.deliveryname);
- $('#order_delivery_tel').text(res.deliverytel);
- // $('#order_delivery_name').text(res.deliverylist[0].fullname);
- // $('#order_delivery_tel').text(res.deliverylist[0].mobile);
- $('#order_delivery_address').text(res.deliverylist[0].building_name + ' ' + res.deliverylist[0].floor_name + ' ' +
- res.deliverylist[0].department_name);
- }
- //收货地址
- if (res.receiverlist && res.receiverlist.length > 0) {
- $('#receiver_address').show();
- $('#order_receiver_name').text(res.receiverlist[0].fullname);
- $('#order_receiver_tel').text(res.receiverlist[0].mobile);
- $('#order_receiver_address').text(res.receiverlist[0].building_name + ' ' + res.receiverlist[0].floor_name + ' ' +
- res.receiverlist[0].department_name);
- }
- //配送物品
- if (res.goodslist && res.goodslist.length > 0) {
- for (var i = 0, len = res.goodslist.length; i < len; i++) {
- var stext = '<div class="clearfix goods_list">' +
- '<li>物品名称:<span>' + res.goodslist[i].goodsname + '</span></li>' +
- '<li>数量:<span>' + res.goodslist[i].num + '</span></li>' +
- '<li>是否提醒:<span>' + formatterIsNot(res.goodslist[i].isremind) + '</span></li>' +
- '<li style="width: 100%;">提醒备注:<span>' + helper.filter.content(res.goodslist[i].remark) + '</span></li>' +
- '</div>';
- $('#goodsLists').append(stext);
- }
- }
- //货物异常情况
- // $('#order_equipstate').text(res.isexceptions === 0 ? '正常' : '异常');
- // $('#order_exceptions').html(helper.filter.content(res.exceptions));
- //处理情况
- if(res.dealby && res.dealby.length > 0){
- $('#dealBys').show();
- $('#order_dealby').text(res.dealby.join(','));
- $('#order_dealtime').text(formatterCheckTime(res.dealtime));
- // $('#order_detail').html(helper.filter.content(res.detail));
- }
- //收货人签字
- if (res.signbypic && res.signbypic.length > 0) {
- $('#signbypic').parent().parent().show();
- $('#signbypic').attr('src', res.signbypic[0].fileurl);
- }
-
- //分送工单拍照
- if (res.planwopic && res.planwopic.length > 0) {
- getPlanwopic(res.planwopic, 'order_planwopic');
- }
-
- //评价信息
- if (evaluate && evaluate.length > 0) {
- $('#evaluate').show();
- $.each(evaluate, function(i, v) {
- var str = '<ul class="clearfix goods_list">' +
- '<li>星级:' +
- '<ul id="ratingScores_' + v.id + '" class="rating clearfix">' +
- '<li class="rating-item" title="差"></li>' +
- '<li class="rating-item" title="不满意"></li>' +
- '<li class="rating-item" title="一般"></li>' +
- '<li class="rating-item" title="满意"></li>' +
- '<li class="rating-item" title="很满意 "></li>' +
- '<span id="ratingTips_' + v.id + '" class="ratingTips"></span>' +
- '</ul>' +
- '</li>' +
- '<li>评价人: <span>' + v.createusername + '(' + v.createuser + ')</span></li>' +
- '<li>评价时间:<span>' + v.createtime + '</span></li>' +
- '<li style="width: 100%;">' +
- '评价内容:<span>' + helper.filter.content(v.evaluate) + '</span>' +
- '</li>' +
- '<li style="width: 100%;">' +
- '评价标签:<span id="greetingRemark_' + v.id + '"></span>' +
- '</li>' +
- '</ul>';
- $('#evaluate_lists').append(str);
- if (v.starnum) {
- //1 差、2 不满意、3 一般、4 满意、5 很满意
- rating.init('#ratingScores_' + v.id, {
- mode: 'LightEntire',
- num: v.starnum,
- readOnly: true,
- });
- $('#ratingTips_' + v.id).text(formatterSatisfied(v.starnum));
- }
- //评价关键词
- if (v.label) {
- $(v.label).each(function(i, n) {
- $('<span class="btn-label">' + n + '</span>').appendTo('#greetingRemark_' + v.id);
- })
- } else {
- $('#greetingRemark').html('暂无信息。。');
- }
- });
- }
- //违规申诉列表
- if (offence && offence.length > 0) {
- $('#offence').show();
- $.each(offence, function(i, v) {
- var str = '<ul class="clearfix goods_list">' +
- '<li>是否审核通过:<span>' + formatterAudit(v.isaudit) + '</span></li>' +
- '<li style="width: 100%;">' +
- '违规原因:<span>' + helper.filter.content(v.content) + '</span>' +
- '</li>' +
- '<li style="width: 100%;">' +
- '驳回原因:<span>' + helper.filter.content(v.content_rejectreason) + '</span>' +
- '</li>' +
- '</ul>';
- $('#offence_lists').append(str);
- });
- }
- //转派流程
- if (transferLines && transferLines.length > 0) {
- transferLines.sort(helper.methods.compare('createtime', -1));
- $('#transferLines').empty();
- $.each(transferLines, function(i, v) {
- //配送工单状态:0创建工单,1转派或者接收(待取货),2已取货(配送中),3货物异常(异常),4已完结/待评价,5已取消,7取货异常退单 ,9已评价
- var timelineHtml = '';
- if (i === 0) {
- timelineHtml = creatTimeLineHtml(v, 'layui-item_active');
- } else {
- timelineHtml = creatTimeLineHtml(v, 'layui-item_default');
- }
- $('#transferLines').append(timelineHtml);
- });
- }
- //货物异常情况
- if(exception && exception.length > 0){
- //货物异常情况
- getException(exception);
- }
-
- }
- });
- }
- //货物异常情况
- function getException(exception){
- $('#exception_lists').parent().show();
- $.each(exception, function(i, v){
- var str = '<ul class="clearfix goods_list">'+
- '<li>异常类型:<span>'+ (v.type === 1 ? '完结配送异常' : '取货异常') +'</span></li>'+
- '<li>是否送达/是否退单:<span>'+ (v.isback_sended ? '是' : '否') +'</span></li>'+
- '<li style="width: 100%;">'+
- '异常内容:<span>'+ helper.filter.content(v.content) +'</span>'+
- '</li>'+
- '<li style="width: 100%;">'+
- '异常附件:'+
- '<ul id="order_exceptionFile_'+ v.id + '" class="file_imgs clearfix">'+
- '</ul>'+
- '</li>'+
- '</ul>';
- $('#exception_lists').append(str);
- //获取异常附件
- getPlanwopic(v.files, 'order_exceptionFile_' + v.id);
- });
-
- };
- /**
- * 获取分送工单拍照 获取异常附件
- * @planwopics 数据
- * @el 元素
- */
- function getPlanwopic(planwopics, el){
- if(el === 'order_planwopic'){
- //分送工单拍照
- $('#' + el).parent().parent().show();
- }
- var $list = $('#' + el);
- if(planwopics && planwopics.length > 0){
- $.each(planwopics, function(i, v) {
- if (v.filesmallurl) {
- //原来的图片
- var $li = $(
- '<li><span class="img_mask"><a href="' + v.fileurl +
- '" download="filename" title="点击下载"><i class="glyphicon glyphicon-download-alt" aria-hidden="true"></i></a></span>' +
- '<img layer-src="' + v.fileurl + '" src="' + v.filesmallurl + '" title="图片" alt="' + v.filename + '"/>' +
- '<span class="file_name">' + v.filename + '</span>' +
- '</li>'
- );
- $list.append($li);
- } else {
- var $liFile = $(
- '<li><span class="img_mask"><a href="' + v.fileurl +
- '" download="filename" title="点击下载"><i class="glyphicon glyphicon-download-alt" aria-hidden="true"></i></a></span>' +
- '<div class="noThumb" title="文件"><i class="glyphicon glyphicon-paperclip"></i><p>无法预览</p></div>' +
- '<span class="file_name">' + v.filename + '</span>' +
- '</li>'
- );
- $list.append($liFile);
- }
- });
-
- layer.photos({
- photos: '#' + el,
- anim: 5, //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
- title: '查看图片',
- move: '.layui-layer-title',
- shadeClose: false,
- closeBtn: 1,
- area: ['80%', '90%'],
- tab: function(pic, layero) {
- $('.layui-layer-content').on("mousewheel", function(e, d) {
- helper.methods.zoomImg($('#layui-layer-photos').find('img[alt="' + pic.alt + '"]'), d);
- $('#layui-layer-photos').find('img[alt="' + pic.alt + '"]').dragging({
- move: "both", //拖动方向,x y both
- randomPosition: false //初始位置是否随机
- });
- return false;
- });
- helper.methods.initLayerPhotos('#layui-layer-photos', pic, layero);
- },
- });
- }
- };
- /**
- * 创建时间线 内容
- * v 数据
- * vC class名
- * */
- function creatTimeLineHtml(v, vC) {
- var timelineHtml = '';
- if (v.wostate === 0) {
- timelineHtml += '<li class="layui-timeline-item ' + vC + '">' +
- '<i class="layui-icon layui-timeline-axis"></i>' +
- '<div class="layui-timeline-content layui-text">' +
- '<h3 class="layui-timeline-title">创建工单</h3>' +
- '<p>' + v.createtime + '</p>' +
- '<p>' + v.detail + '</p>' +
- '</div>' +
- '</li>';
- } else {
- timelineHtml += '<li class="layui-timeline-item ' + vC + '">' +
- '<i class="layui-icon layui-timeline-axis"></i>' +
- '<div class="layui-timeline-content layui-text">' +
- '<h3 class="layui-timeline-title">' + getWostate(v.wostate).stateName + '</h3>' +
- '<p>' + v.createtime + '</p>' +
- '<p>' + v.detail + '</p>' +
- '</div>' +
- '</li>';
- }
- return timelineHtml;
- }
- //获取工单状态
- function getWostate(wostate) {
- //配送工单状态:0创建工单,1转派或者接收(待取货),2已取货(配送中),3货物异常(异常),4已完结/待评价,5已取消,7取货异常退单 ,9已评价
- var stateClass, stateName;
- switch (wostate) {
- 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:
- 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 {
- 'stateClass': stateClass,
- 'stateName': stateName
- };
- }
- //格式化是否
- function formatterIsNot(val) {
- var str = '是';
- if (!val) {
- str = '否';
- }
- return str;
- }
- //格式化审核是否通过
- function formatterAudit(val) {
- var str = '-';
- //是否审核通过 0无操作 1不通过 2通过
- switch (val) {
- case 0:
- str = '无操作';
- break;
- case 1:
- str = '不通过';
- break;
- case 2:
- str = '通过';
- break;
- default:
- break;
- }
- return str;
- }
- //格式化工单状态
- function formatterwostate(val) {
- //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:
- 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 '<a class="state_audit ' + stateClass + '" href="javascript:;">' + stateName + '</a>';
- }
- //格式化紧急程度
- function formatterEmergencyid(val) {
- 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 '<span class="' + stateClass + '">' + stateTxt + '</span>';
- }
- //格式化渠道来源
- 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 formatterSatisfied(score) {
- var scoreTips = '';
- switch (score) {
- case 1:
- scoreTips = '差'
- break;
- case 2:
- scoreTips = '不满意'
- break;
- case 3:
- scoreTips = '一般'
- break;
- case 4:
- scoreTips = '满意'
- break;
- case 5:
- scoreTips = '很满意'
- break;
- default:
- break;
- }
- return scoreTips;
- }
|