+(function($){ $.lie = $.lie || {version: "v1.0.0"}; $.extend($.lie, { order:{ index:function(){ var self = this; $.lie.droplist($('.droplist')); $('#search').on('submit', function(e){ e.stopPropagation(); $(this).find('input.time').each(function(){ var val = $(this).val(); $(this).val(Date.parse(val) ? Date.parse(val) / 1000 : ''); }); return true; }); self.orderTrack(); // 明细跟踪 // 特殊字符编码 function specialCode(chr) { switch (chr) { case '!': return '%21'; break; case '"': return '%22'; break; case '#': return '%23'; break; case '$': return '%24'; break; case '%': return '%25'; break; case '&': return '%26'; break; case '\'': return '%27'; break; case '(': return '%28'; break; case ')': return '%29'; break; case '*': return '%2A'; break; case '+': return '%2B'; break; case ',': return '%2C'; break; case '/': return '%2F'; break; case ':': return '%3A'; break; case ';': return '%3B'; break; case '<': return '%3C'; break; case '=': return '%3D'; break; case '>': return '%3E'; break; case '?': return '%3F'; break; case '@': return '%40'; break; case '[': return '%5B'; break; case ']': return '%5D'; break; case '\\': return '%5C'; break; case '|': return '%7C'; break; default: return ''; break; } } // 查找特殊字符 function specialStr(str) { var reg = new RegExp("[!\"#$%&'()*+,/:;<=>?@\\[\\]\\|]"); var len = str.length; var rs = ''; for (var i = 0; i < len; i++) { var val = str.substr(i, 1); if (reg.test(val)) { rs = rs + specialCode(val);; } else { rs = rs + val; } } return rs; } // 搜索、导出条件 function orderListCommon(url, type) { // type-订单类型 var order_type = $('#order_type').data('default'), order_contain = $('input[name=order_contain]').val(), order_sn = $('input[name=order_sn]').val(), erp_sn = $('input[name=erp_sn]').val(), goods_name = $('input[name=goods_name]').val(), select_time_type = $('#select_time_type').data('default'), time_start = $('input[name="time_start"]').val(), time_end = $('input[name="time_end"]').val(), // order_type_a = $('#order_type_a').data('default'), order_pay_type = $('#order_pay_type').val() ? $('#order_pay_type').val() : '', order_status = $('#order_status').val() ? $('#order_status').val() : '', sale_type = $('#sale_type').val() ? $('#sale_type').val() : '', shipping_name = $('#shipping_name').val() ? $('#shipping_name').val() : '', order_send = $('#order_send').val(), order_source_pf = $('#order_source_pf').val() ? $('#order_source_pf').val() : '', order_invoice_status = $('#order_invoice_status').val() ? $('#order_invoice_status').val() : '', order_source_adtag = $('input[name="order_source_adtag"]').val(), order_source_ptag = $('input[name="order_source_ptag"]').val(), erp_order_id = $('#erp_order_id').val() ? $('#erp_order_id').val() : '', test_order = $('input[name=test_order]'), is_new = $('#is_new').val() ? $('#is_new').val() : ''; order_payment_mode = $('#order_payment_mode').val() ? $('#order_payment_mode').val() : '', is_new_order = $('#is_new_order').val() ? $('#is_new_order').val() : ''; business_type = $('#business_type').val() ? $('#business_type').val() : '', order_type_extend = $('#order_type_extend').val() ? $('#order_type_extend').val() : '', status_extend = $('#status_extend').val() ? $('#status_extend').val() : ''; if (url == '/export') { if (type == 1) { // 联营 if (test_order.length) { if (!order_contain && !order_sn && !erp_sn && !goods_name && !time_start && !time_end && !order_pay_type && !order_status && !shipping_name && !order_send && !order_source_pf && !order_source_adtag && !order_source_ptag && !erp_order_id && !is_new && !is_new_order && !order_payment_mode && !test_order.is(':checked')) { layer.msg('请选择筛选条件,再导出!'); return false; } } else { if (!order_contain && !order_sn && !erp_sn && !goods_name && !time_start && !time_end && !order_pay_type && !order_status && !shipping_name && !order_send && !order_source_pf && !order_source_adtag && !order_source_ptag && !erp_order_id && !is_new && !is_new_order && !order_payment_mode) { layer.msg('请选择筛选条件,再导出!'); return false; } } } else { // 自营 if (test_order.length) { if (!order_contain && !order_sn && !erp_sn && !goods_name && !time_start && !time_end && !order_pay_type && !order_payment_mode && !order_status && !sale_type && !order_invoice_status && !order_source_pf && !order_source_adtag && !order_source_ptag && !is_new && !business_type && !order_type_extend && !status_extend && !test_order.is(':checked')) { layer.msg('请选择筛选条件,再导出!'); return false; } } else { if (!order_contain && !order_sn && !erp_sn && !goods_name && !time_start && !time_end && !order_pay_type && !order_payment_mode && !order_status && !sale_type && !order_invoice_status && !order_source_pf && !order_source_adtag && !order_source_ptag && !is_new && !business_type && !order_type_extend && !status_extend) { layer.msg('请选择筛选条件,再导出!'); return false; } } } } var listUrl = url; listUrl += '?order_type=' + order_type; if (order_contain) { listUrl += '&order_contain=' + specialStr(order_contain); } if (order_sn) { listUrl += '&order_sn=' + order_sn; } if (erp_sn) { listUrl += '&erp_sn=' + erp_sn; } if (goods_name) { listUrl += '&goods_name=' + specialStr(goods_name); } if (select_time_type) { listUrl += '&select_time_type=' + select_time_type; } if(time_start){ time_start = Date.parse(time_start) / 1000; listUrl += '&time_start='+time_start; } if(time_end){ time_end = Date.parse(time_end) / 1000 + (24*60*60-1); listUrl += '&time_end='+time_end; } // if (order_type_a) { // listUrl += '&order_type_a=' + order_type_a; // } if (order_pay_type) { listUrl += '&order_pay_type=' + order_pay_type; } if (order_status) { listUrl += '&order_status=' + order_status; } if (sale_type) { listUrl += '&sale_type=' + sale_type; } if (shipping_name) { listUrl += '&shipping_name=' + shipping_name; } if (order_send) { listUrl += '&order_send=' + order_send; } if (order_source_pf) { listUrl += '&order_source_pf=' + order_source_pf; } if (order_invoice_status) { listUrl += '&order_invoice_status=' + order_invoice_status; } if (order_source_adtag) { listUrl += '&order_source_adtag=' + order_source_adtag; } if (order_source_ptag) { listUrl += '&order_source_ptag=' + order_source_ptag; } if (erp_order_id) { listUrl += '&erp_order_id=' + erp_order_id; } if (is_new) { listUrl += '&is_new=' + is_new; } if (is_new_order) { listUrl += '&is_new_order=' + is_new_order; } if (order_payment_mode) { listUrl += '&order_payment_mode=' + order_payment_mode; } if (business_type) { listUrl += '&business_type=' + business_type; } if (order_type_extend) { listUrl += '&order_type_extend=' + order_type_extend; } if (status_extend) { listUrl += '&status_extend=' + status_extend; } if (test_order.is(':checked')) { listUrl += '&test_order=' + 1; } if (url == '/export') { listUrl += '&order_goods_type='+type; } return listUrl; } // 联营搜索 $('.searchOrder').click(function(){ var listUrl = orderListCommon('/list', 1); location.href = listUrl; }) // 自营搜索 $('.search_self_order').click(function(){ var listUrl = orderListCommon('/self_order', 2); location.href = listUrl; }) // 联营导出订单 $('.exportExcel').click(function() { var listUrl = orderListCommon('/export', 1); $.get(listUrl, function(resp) { if (resp.err_code != 0) { layer.msg(resp.err_msg); return false; } window.open(resp.data, '_blank'); }) layer.msg('推入导出系统中...', {icon: 16, time: 1000, shade: 0.3}); // 阻止重复提交 }) // 自营导出订单 $('.self_export').click(function() { var listUrl = orderListCommon('/export', 2); $.get(listUrl, function(resp) { if (resp.err_code != 0) { layer.msg(resp.err_msg); return false; } window.open(resp.data, '_blank'); }) layer.msg('推入导出系统中...', {icon: 16, time: 1000, shade: 0.3}); // 阻止重复提交 }) // 选择查看测试订单 $('input[name=test_order]').click(function(){ if ($(this).is(':checked')) { $(this).val(1); } else { $(this).val(''); } }) // 下载合同 $('.download-contract').click(function(){ var order_id = $(this).data('id'); $.ajax({ url: '/ajaxDownloadContract', type: 'post', data: {order_id:order_id}, dataType: 'json', success: function(resp) { if (resp.errcode != 0) { layer.msg(resp.msg); return false; } location.href = resp.data; }, error: function(err) { console.log(err) } }) }) // 切换类型时,清空输入框内容 $('.dropdown-menu>li').click(function(){ var val = $(this).data('val'); // 当前值 var def = $(this).parents('.droplist').data('default'); // 默认值 if (val !== def) { if ($(this).parents('.droplist').attr('name') == 'order_type') { $('input[name=order_contain]').val(''); // 清空 } $(this).parents('.droplist').data('default', val); // 赋值 } }) // 展示列表下的内容 $('.show-list').click(function(){ var self = $(this); var nextTr = self.parent('tr').next('.show-other-content'); var order_id = self.parent('tr').data('oid'); var order_goods_type = self.parent('tr').data('type'); if (nextTr.css('display') == 'none') { self.parent('tr').siblings('.show-other-content').hide(); nextTr.show(); // 请求api接口,获取明细 $.ajax({ url: '/api/getOrderItems', type: 'post', data: {order_id:order_id}, dataType: 'json', success: function(resp) { if (resp.errcode == 0) { var data = resp.data; var len = data.length; var html = ''; for (var i = 0; i < len; i++) { if (i < 2) { html += '<tr>\ <td>'+data[i].goods_name+'</td>\ <td>'+data[i].brand_name+'</td>\ <td>'+data[i].goods_number+'</td>\ <td>'+data[i].goods_price_format+'</td>\ <td>'+data[i].single_pre_price_format+'</td>\ <td>'+data[i].single_pre_price_amount+'</td>'; if (order_goods_type == 1) { html += '<td>'+data[i].supplier_name+'</td>'; } html += '<td>'+data[i].delivery_time+'</td>'; if (order_goods_type == 1) { var rec_id = data[i].rec_id; $.ajax({ url: '/api/getOrderItemsTrack', type: 'post', data: {rec_id: rec_id}, dataType: 'json', async: false, success: function(relt) { if (relt.errcode == 0) { html += '<td colspan="5"><a class="order-track" data-rid="'+rec_id+'">'+relt.data+'</a></td>'; } else { html += '<td colspan="5"></td>'; } } }) } html += '</tr>'; } } if (len > 2) { var details_url = order_goods_type == 1 ? '/details/'+order_id : '/details/'+order_id+'?tags=self'; html += '<tr>\ <td colspan="14" style="text-align: center;"><a href="'+details_url+'" target="_blank">查看更多明细...</a></td>\ </tr>'; } // 插入到tbody self.parent('tr').next('.show-other-content').find('.list-item-table>tbody').empty().append(html); return false; } layer.msg(resp.msg); }, error: function(err) { console.log(err) } }) } else { nextTr.hide(); } }) // ERP订单列表 $('.searchErpOrder').click(function(){ var order_type = $('#order_type').data('default'), order_contain = $('input[name=order_contain]').val(), time_start = $('input[name="time_start"]').val(), time_end = $('input[name="time_end"]').val(), order_status = $('#order_status').val(), order_send = $('#order_send').val(), order_source = $('#order_source').val(), listUrl = '/erp_order'; listUrl += '?order_type=' + order_type; if (order_contain) { listUrl += '&order_contain=' + specialStr(order_contain); } if(time_start){ time_start = Date.parse(time_start) / 1000; listUrl += '&time_start='+time_start; } if(time_end){ time_end = Date.parse(time_end) / 1000 + (24*60*60-1); listUrl += '&time_end='+time_end; } if (order_status) { listUrl += '&order_status=' + order_status; } if (order_send) { listUrl += '&order_send=' + order_send; } if (order_source) { listUrl += '&order_source=' + order_source; } location.href = listUrl; }) // 点击获取订单其他信息 $('.order-other-info').click(function(){ var page_type = $('#page_type').val(); // 区分页面 1-联营,2-自营,3-ERP orderOtherInfo(page_type); }) // 管理账户直接显示订单其他信息 if (manager == 1) { var page_type = $('#page_type').val(); orderOtherInfo(page_type, 1); } // 订单其他信息:已付款, 下单用户数, 付款用户数, 金额 function orderOtherInfo(pid, is_manager=0) { var order_contain = $('input[name=order_contain]').val(), time_start = $('input[name="time_start"]').val(), time_end = $('input[name="time_end"]').val(); if(time_start){ time_start = Date.parse(time_start) / 1000; } if(time_end){ time_end = Date.parse(time_end) / 1000 + (24*60*60-1); } var datax = { order_type : $('#order_type').data('default'), order_contain : specialStr(order_contain), order_sn : $('input[name=order_sn]').val(), erp_sn : $('input[name=erp_sn]').val(), goods_name : $('input[name=goods_name]').val(), time_start : time_start, time_end : time_end, order_pay_type : $('#order_pay_type').val() ? $('#order_pay_type').val() : '', order_status : $('#order_status').val() ? $('#order_status').val() : '', sale_type : $('#sale_type').val() ? $('#sale_type').val() : '', shipping_name : $('#shipping_name').val() ? $('#shipping_name').val() : '', order_send : $('#order_send').val(), order_source_pf : $('#order_source_pf').val() ? $('#order_source_pf').val() : '', order_invoice_status : $('#order_invoice_status').val() ? $('#order_invoice_status').val() : '', order_source_adtag : $('input[name="order_source_adtag"]').val(), order_source_ptag : $('input[name="order_source_ptag"]').val(), erp_order_id : $('#erp_order_id').val() ? $('#erp_order_id').val() : '', test_order : $('input[name=test_order]').is(':checked') ? 1 : 0, is_new : $('#is_new').val() ? $('#is_new').val() : '', order_payment_mode : $('#order_payment_mode').val() ? $('#order_payment_mode').val() : '', is_new_order : $('#is_new_order').val() ? $('#is_new_order').val() : '', business_type : $('#business_type').val() ? $('#business_type').val() : '', pid : pid, is_manager : is_manager, }; $.ajax({ type: "POST", url: '/ajax/orderOtherInfoLoading', data: datax, dataType: "json", success: function(resp){ if (resp.err_code != 0) { layer.msg(resp.err_msg); return false; } var data = resp.data; var html = ''; if (pid != 3) { html += ',<span class="paid_order_count">'+data.paid_order_count+'单已付款(包含预付款),</span><span class="user_count">下单用户数为'+data.user_count+'人,</span><span class="paid_user_count">付款用户数为'+data.paid_user_count+'人,</span>'; } html += '<span class="rmb_count">应付金额 ¥'+data.pay_count.rmb_count+',</span><span class="usd_count">$'+data.pay_count.usd_count+',</span><span class="rmb_pay">实收金额 ¥'+data.pay_count.rmb_pay+',</span><span class="usd_pay">$'+data.pay_count.usd_pay+',</span>'; if (pid != 3 && data.noreason_count) { html += '<span class="error">共有'+data.noreason_count+'单已取消订单未填写取消原因</span>'; } $('.show-other-info').append(html); $('.order-other-info').hide(); }, }) } // 填写取消原因 this.cancelorder(); }, // 取消订单弹框 cancelorder:function () { // 填写订单取消原因 $('.input-cancel-reason').click(function(){ var self = $(this); var order_id = self.data('oid'); var type = self.data('type'); var title = ''; switch (type) { case 2: title = '取消订单'; break; case 3: title = '订单审核不通过'; break; case 4: title = '填写订单取消原因'; break; case 5: title = '填写退货退款原因'; break; default: title = '填写订单取消原因'; break; } var content = '<div class="form-group">'+ '<label>网站数据不准: </label>'+ '<div class="input-radio">'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="价格不准">价格不准</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="库存数量不准">库存数量不准</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="批次不准(或者没有)">批次不准(或者没有)</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="货期不准">货期不准</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="起订量不准">起订量不准</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="品牌不准">品牌不准</label>'+ '</div>'+ '</div>'+ '<div class="form-group">'+ '<label>更改订单信息: </label>'+ '<div class="input-radio">'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="更改发票信息">更改发票信息</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="更改收票地址">更改收票地址</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="更改收货地址">更改收货地址</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="增删改型号/数量">增删改型号/数量</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="需使用或更改优惠券">需使用或更改优惠券</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="更改付款方式">更改付款方式</label>'+ '</div>'+ '</div>'+ '<div class="form-group">'+ '<label>额外附加费: </label>'+ '<div class="input-radio">'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="产地税">产地税</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="关税">关税</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="3C商检">3C商检</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="运费">运费</label>'+ '</div>'+ '</div>'+ '<div class="form-group">'+ '<label>客户需求变动: </label>'+ '<div class="input-radio">'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="客户找到更优渠道">客户找到更优渠道</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="客户上游取消需求">客户上游取消需求</label>'+ '</div>'+ '</div>'+ '<div class="form-group">'+ '<label>其他问题: </label>'+ '<div class="input-radio">'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="采购漏下单">采购漏下单</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="订单处理时间较长,供应商库存不足">订单处理时间较长,供应商库存不足</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="管制、禁运物料">管制、禁运物料</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="商品报关无法归类">商品报关无法归类</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="客户测试下单">客户测试下单</label>'+ '<label class="radio-inline"><input type="radio" name="cancel_reason" value="1">其他</label>'+ '</div>'+ '<div class="input-other-reason" style="display:none;">'+ '<textarea class="form-control" name="input-other-reason" placeholder="请填写其他原因"></textarea>'+ '</div>'+ '</div>'; layer.open({ area: ['800px'], title: title, content: content, btn:['确认', '取消'], btn1:function(index){ var cancel_reason = $('input[name=cancel_reason]:checked').val(); // $select = new Array(); // $('input[name=cancel_reason]:checked').each(function(data,select_check){ // $select[data] = ($(select_check).val()); // }) // cancel_reason = $select.join(', '); var other_reason = $('textarea[name=input-other-reason]').val(); if (cancel_reason == null) { layer.tips('请选择取消原因', $('.input-radio')); return false; } else if (cancel_reason == 1) { if (other_reason == '') { layer.tips('请填写其他原因', $('.input-other-reason')); return false; } else { cancel_reason = other_reason; } } // 退货退款弹出层 if (type == 5) { self.siblings('.refund_reason').val(cancel_reason); self.siblings('.refund_reason_val').empty().text(cancel_reason); layer.close(index); return false; // 阻止继续执行 } $.ajax({ url:'/ajaxCancel', data: {order_id: order_id, cancel_reason: cancel_reason, type: type}, type:'post', dataType: 'json', success:function(resp){ if(resp.errcode == 0){ // self.remove(); layer.msg(resp.errmsg); location.reload(); // layer.close(); } else { layer.alert(resp.errmsg || '网络异常'); } }, error:function(){ layer.alert('网络异常'); } }); }, btn2:function(index){ layer.close(index); } }) }) // 显示或隐藏 其他输入框 $(document).delegate('input[name=cancel_reason]', 'click', function() { var cancel_reason = $('input[name=cancel_reason]:checked').val(); if (cancel_reason == 1) { $('.input-other-reason').show(); $('.layui-layer-content').css('height', 'auto'); } else { $('.input-other-reason').hide(); $('.layui-layer-content').css('height', 'auto'); } }) }, orderTrack:function() { // 查看订单明细跟踪 $('.list-item-table').off().delegate('.order-track', 'click', function () { var rid = $(this).data('rid'); $.ajax({ url : '/ajax/getOrderItemsTrack', type: 'post', data: {rec_id : rid}, success: function(resp) { if (resp.errcode == 0) { var data = resp.data; var content = '<table class="table">\ <tr>\ <th width="30%">时间</th>\ <th>说明</th>\ <th width="13%">负责人</th>\ </tr>'; for (var i = 0; i < data.length; i++) { content += '<tr><td>'+data[i].create_time+'</td><td>'+data[i].track_content+',数量:'+data[i].track_num+'</td><td>'+data[i].create_name+'</td></tr>'; } content += '</table>'; layer.open({ title: '订单明细跟踪', area: ['600px', '400px'], content: content, btn: [], }) } else { layer.alert(resp.errmsg || '网络异常'); } }, error: function(err) { console.log(err); } }) }) }, details:function(){ var self = this; var action_type=$('.action_type').val(); if(action_type=='changeShipping'){ self.changeShipping(); } if(action_type=='changeInvoice'){ self.changeInvoice(); } if(action_type=='cancelPay'){ self.cancelPay(); } if(action_type=='send'){ self.send(); } if(action_type=='account'){ self.account(); } if(action_type=='sendSales'){ self.sendSales(); } if(action_type=='changeOrder'){ self.changeOrder(); } if(action_type=='refund'){ self.refund(); } self.selfOrder(); self.cancelorder(); self.orderTrack(); $.lie.droplist($('.droplist')); var order_sn = $('.order-save').attr('ordersn'); //附加款修改 $('#edit_other_money').on('click', function () { $('#other_money_input').show(); }); //附加款保存 $('.edit-save').on('click', function() { var other_money = parseFloat($('#other_money_input').val()); $('#other_money').html(other_money); $('#other_money_input').hide(); $('.real-total').html( parseFloat($('#order-total').html()) + other_money ); }); // ajax提交 $('form.ajaxSubmit').on('submit', function(){ $(this).ajaxSubmit(function(resp){ // resp = $.parseJSON(resp); if(resp.errcode === 0){ layer.msg(resp.errmsg || '操作成功'); setTimeout(function(){ location.reload(); }, 1000); } else { layer.alert(resp.errmsg || '网络异常'); } }) return false; }); // 临时确认收款 $('.sure-pay-all').click(function(){ var order_id = $('#order_id').val(); var cid = $(this).data('cid'); var serial_number = $('input[name="serial_number"]').val(); if (serial_number.length == 0) { layer.alert('请输入流水号'); return false; } var layer_win = layer.open({ title:'收款确认', content: '请仔细核对订单金额后确认', btn:['确认', '取消'], btn1:function(){ $.ajax({ url:'/checkPay/'+order_id, data: {order_id : order_id, cid : cid, serial_number : serial_number}, type:'post', dataType: 'json', success:function(resp){ if(resp.errcode == 0){ location.reload(); return false; } else { layer.alert(resp.errmsg || '网络异常'); } }, error:function(){ layer.alert('网络异常'); } }); }, btn2:function(){ return true; } }) }) // 尾款对账 $('.last-check').click(function(){ var order_id = $(this).data('id'); $.ajax({ url:'/checkPay/'+order_id, data: {order_id : order_id, last_check : 1}, type:'post', dataType: 'json', success:function(resp){ console.log() location.href = '/checkPay/'+order_id; }, error:function(){ layer.alert('网络异常'); } }); }) //确认收款 $('.sure-pay').click(function(){ var param = {}; param.order_id = $('#order_id').val(); var no = $(this).parent().parent().find('input[name="out_trace_no"]'); var no_val = no.val(); if(no.length > 0){ if(no_val){ param.out_trace_no = no_val; } else { // 流水号不存在 layer.alert('请输入流水号'); return false; } } //弹窗 var layer_win = layer.open({ title:'收款确认', content:$('#sure-pay').html(), btn:['确认', '取消'], //提交事件 btn1:function(){ param.status = $('.layui-layer-content input[name="status"]:checked').val(); var info = $('.layui-layer-content textarea[name="info"]').val(); param.pay_error_info = info; if(param.status == 2){ if(!info){ layer.tips('请输入异常原因', $('.layui-layer-content textarea[name="info"]')); return false; } else { param.pay_error_info = info; } } $.ajax({ url:'/checkPay/'+param.order_id, data: param, type:'post', dataType: 'json', success:function(resp){ if(resp.errcode == 0){ location.reload(); return false; } else { layer.alert(resp.errmsg || '网络异常'); } }, error:function(){ layer.alert('网络异常'); } }); }, btn2:function(){ return true; } }); }); // 查看物流轨迹 $('.view-shipping').click(function () { var order_id = $('#order_id').val(); var user_id = $('#user_id').val(); var type = $(this).data('type'); $.ajax({ url : '/ajax/shipping', type: 'post', data: {order_id : order_id, user_id : user_id, type : type}, success: function(resp) { if (resp.errcode == 0) { var data = resp.data; var content = ''; if (data.constructor == Array) { // 判断返回结果是否为数组 for (var i = 0; i < data.length; i++) { content += '<p><span style="margin-right:10px;">'+data[i]['AcceptTime']+'</span>'+data[i]['AcceptStation']+'<span></span></p>' } } else { content = data; } layer.open({ title: '物流轨迹', area: ['800px', '600px'], content: content, btn: [], }) } else { layer.alert(resp.errmsg || '网络异常'); } }, error: function(err) { console.log(err); } }) }) // 点击物流展开 $('.click-down').click(function() { $(this).parents('tbody').find('.other-infos').show(); $(this).hide(); $(this).parents('tbody').find('.click-up').show(); }) // 点击物流收起 $('.click-up').click(function() { $(this).parents('tbody').find('.other-infos').hide(); $(this).hide(); $(this).parents('tbody').find('.click-down').show(); }) // 线下转账 $('.offline-paid').click(function() { var order_id = $(this).data('id'); var order_sn = $(this).data('sn'); var content = '<div>确定要使用“线下转账”的付款方式吗?</div><div style="margin-top:5px; color:red;">选择“线下转账”,订单会立即同步至ERP,但必须由财务在“出库前”完成付款确认,否则无法出库。</div>'; layer.open({ title:'提示信息', content: content, btn:['确认', '取消'], //提交事件 btn1:function(){ $.ajax({ url: '/ajax/offlinePaid', data: {order_id: order_id, order_sn: order_sn}, type:'post', dataType: 'json', success:function(resp){ if(resp.errcode == 0){ layer.msg(resp.errmsg || '操作成功'); setTimeout(function(){ location.reload(); }, 1000); return false; } else { layer.alert(resp.errmsg || '网络异常'); } }, error:function(){ layer.alert('网络异常'); } }); }, btn2:function(index){ layer.close(index); } }); }) // 编辑合同信息 $('.contract_info_edit').click(function(){ var order_id = $('input[name=order_id]').val(); var content = $('.contract_info:hidden').html(); layer.open({ area:['500px'], title: '编辑合同信息', content: content, btn: ['确认', '取消'], btn1: function () { var contract_com_name = $('.layui-layer-content').find('.contract_com_name').val(); var contract_com_addr = $('.layui-layer-content').find('.contract_com_addr').val(); var contract_link_name = $('.layui-layer-content').find('.contract_link_name').val(); var contract_link_tel = $('.layui-layer-content').find('.contract_link_tel').val(); if (!contract_com_name) { layer.tips('请填写公司名称', $('.layui-layer-content').find('.contract_com_name')); return false; } if (!contract_com_addr) { layer.tips('请填写公司地址', $('.layui-layer-content').find('.contract_com_addr')); return false; } if (!contract_link_name) { layer.tips('请填写联系人', $('.layui-layer-content').find('.contract_link_name')); return false; } if (!contract_link_tel) { layer.tips('请填写联系电话', $('.layui-layer-content').find('.contract_link_tel')); return false; } var datax = { order_id: order_id, contract_com_name : contract_com_name, contract_com_addr : contract_com_addr, contract_link_name : contract_link_name, contract_link_tel : contract_link_tel, }; $.ajax({ url: '/ajax/editContract', data: datax, type:'post', dataType: 'json', success:function(resp){ if(resp.errcode == 0){ layer.msg(resp.errmsg || '操作成功'); setTimeout(function(){ location.reload(); }, 1000); return false; } else { layer.alert(resp.errmsg || '网络异常'); } }, error:function(){ layer.alert('网络异常'); } }); }, btn2: function (index) { layer.close(index); } }) }) //上传图片按扭事件 $(document).on('click', '#upload-contract', function(){ var order_id = $(this).data('id'); var form = $('<form id="formUpload" enctype="multipart/form-data">\ <input type="file" name="upload" accept="application/pdf">\ </form>'); form.appendTo('body'); form.find('input').change(function(){ // 预览图片 var file = this; var formData = new FormData(); formData.append('upload', this.files[0]); formData.append('source', 1); formData.append('k1', k1); formData.append('k2', k2); $.ajax({ url : UploadImgUrl+'oss/upload', type : 'post', data : formData, dataType : 'json', cache : false, processData: false, contentType: false, xhrFields: {withCredentials: true}, success : function(res){ if(res.code == 200){ layer.msg(res.message); var data = res.data; $.ajax({ url: '/ajax/uploadContract', type: 'post', data: {order_id: order_id, url: data[0]}, dataType: 'json', success: function(res) { if (res.errcode == 0) { location.reload(); return false; } layer.msg(res.errmsg); }, error : function(err){ console.log(err); } }) return false; } layer.msg(res.message); }, error : function(err){ console.log(err); } }) }); form.find('input[type="file"]').trigger('click'); }) // 编辑商品明细 $('.edit-item').click(function() { var order_goods_type = $('#order_goods_type').val(); var rec_id = $(this).data('id'); var item_batch = $(this).data('batch'); var item_remarks = $(this).data('remarks'); if (order_goods_type == 1) { var item_buyer_id = $(this).data('bid'); var buyer_count = buyers.length; var html = ''; for (var i = 0; i < buyer_count; i++) { if (item_buyer_id && item_buyer_id == buyers[i].userId) { html += '<option value="'+buyers[i].userId+'" selected>'+buyers[i].name+'</option>'; } else { html += '<option value="'+buyers[i].userId+'">'+buyers[i].name+'</option>'; } } } var content = ''; content = '<div class="form-horizontal">\ <div class="form-group">'; if (order_goods_type == 1) { content += '<label class="col-sm-3 control-label"><i class="error">*</i> 批次</label>'; } else { content += '<label class="col-sm-3 control-label"> 批次</label>'; } content += '<div class="col-sm-9">\ <input type="text" class="form-control" name="batch" value="'+item_batch+'" placeholder="请填写批次" style="width:200px;">\ </div>\ </div>'; if (order_goods_type == 1) { content += '<div class="form-group">\ <label class="col-sm-3 control-label">采购员</label>\ <div class="col-sm-9" style="width:230px;">\ <select class="form-control buyer_id selectpicker" name="buyer_id" data-live-search="true" data-size="7">\ <option value="">请选择采购员</option>\ '+html+'\ </select>\ </div>\ </div>'; } content += '<div class="form-group">'; content += '<label class="col-sm-3 control-label">备注</label>'; content += '<div class="col-sm-9">\ <textarea class="form-control" name="remarks" placeholder="请填写备注" style="width:200px;">'+item_remarks+'</textarea>\ </div>\ </div>\ </div>'; layer.open({ area: ['400px'], title:'编辑明细', content: content, btn:['确认', '取消'], //提交事件 btn1:function(){ var batch = $('input[name=batch]').val(); var buyer_id = $('select[name=buyer_id]').val() || 0; var remarks = $('textarea[name=remarks]').val(); if (order_goods_type == 1 && !batch) { layer.tips('请填写批次', $('input[name=batch]')); return false; } $.ajax({ url: '/api/update_order_items', data: {id: rec_id, batch: batch, buyer_id: buyer_id, remarks: remarks}, type:'post', dataType: 'json', success:function(resp){ if(resp.errcode == 0){ layer.msg(resp.errmsg || '操作成功'); setTimeout(function(){ location.reload(); }, 1000); return false; } else { layer.alert(resp.errmsg || '网络异常'); } }, error:function(){ layer.alert('网络异常'); } }); }, btn2:function(index){ layer.close(index); } }); $(".buyer_id").selectpicker(); $('.layui-layer-content').css('overflow', 'visible'); }) }, //物流信息 changeShipping:function() { region.init('.address-info', $('.address-info .s_province').attr('default') || 0, $('.address-info .s_city').attr('default') || 0, $('.address-info .s_county').attr('default') || 0); $('select.shipping').on('change', function() { var v = $(this).val(); var name = $(this).find('option[value="'+v+'"]').html(); $(this).siblings('input').val(name); }); var order_id = $('input[name=order_id]').val(); if (tags) { var url = '/details/'+order_id+'?tags='+tags; } else { var url = '/details/'+order_id; } $('form').on('submit', function(){ $(this).ajaxSubmit({ data: {order_id: order_id}, dataType:'json', success:function(resp){ if(resp.errcode == 0){ location.href = url; } else { layer.alert(resp.errmsg || '网络异常'); } } }); return false; }); }, //物流信息 changeInvoice:function() { var order_id = $('input[name=order_id]').val(); $('#inv_type').click(function(){ var val = $(this).val(); if (val == 1) { // 不开票 $('.tax_title_section').hide(); $('.add_tax').hide(); $('input[name=tax_title]').val(''); $('input[name=tax_no]').val(''); $('input[name=bank_name]').val(''); $('input[name=bank_account]').val(''); $('input[name=company_phone]').val(''); $('textarea[name=company_address]').val(''); } else if (val == 2) { // 普票 $('.tax_title_section').show(); $('.add_tax').hide(); $('.invoice_title').attr('colspan', 3); $('input[name=tax_no]').val(''); $('input[name=bank_name]').val(''); $('input[name=bank_account]').val(''); $('input[name=company_phone]').val(''); $('textarea[name=company_address]').val(''); } else { // 增票 $('.tax_title_section').show(); $('.add_tax').show(); $('.invoice_title').attr('colspan', 0); } }) if (tags) { var url = '/details/'+order_id+'?tags='+tags; } else { var url = '/details/'+order_id; } $('form').on('submit', function(){ $(this).ajaxSubmit({ data: {order_id: order_id}, dataType:'json', success:function(resp){ if(resp.errcode == 0){ location.href = url; } else { layer.alert(resp.errmsg || '网络异常'); } } }); return false; }); }, //发货 send:function(){ //发货方式改变事件 $('select[name="shipping_id"]').change(function(){ var shipping_id = $(this).val(); $(this).parents('tr').find('input[name="shipping_name"]').val($(this).find('option:selected').html()); if(shipping_id > 0){ $(this).parents('tr').find('.shipping_no').show(); } else { $(this).parents('tr').find('.shipping_no').hide(); } }); $('select[name="shipping_id"]').each(function(){ $(this).trigger('change'); }); //修改发货信息 $('.tabs-box.send a.btn.modify').click(function(){ var rec_id = $(this).attr('rec_id'); $(this).parents('tr').hide(); $(this).parents('table').find('tr[rec_id="'+rec_id+'"]').show(); }); //全选事件 $('input.send-all-selected').click(function(){ var checked = $(this).is(':checked'); $('input[name="rec_id[]"]').each(function(){ this.checked = checked; }); }); //批量发货 $('.btn.batch-send').click(function(){ var param = {}; if($('input.batch-shipping-no').val()) { param.shipping_no = $('input.batch-shipping-no').val(); } else { $('input.batch-shipping-no').focus(); layer.tips('请输入快递单号', $('input.batch-shipping-no')); return false; } if($('select.batch-shipping-code').val()) { param.shipping_id = $('select.batch-shipping-code').val(); param.shipping_name = $('select.batch-shipping-code option:selected').html(); } else { $('input.batch-shipping-code').focus(); layer.tips('请选择快递公司', $('input.batch-shipping-code')); return false; } param.order_id = $('#order_id').val(); $.ajax({ url: '/send/'+param.order_id, data: param, type:'post', dataType:'json', error:function(){ layer.alert('网络异常'); }, success:function(resp){ if(resp.errcode == 0){ location.reload(); } else { layer.alert(resp.errmsg || '网络异常'); } } }) }); //发货事件 $('.tabs-box.send .goods-send').click(function(){ var tr = $(this).parents('tr'); var param = {}; param.order_id = $('#order_id').val(); param.shipping_id = tr.find('select[name="shipping_id"]').val(); param.shipping_name = tr.find('input[name="shipping_name"]').val(); param.shipping_no = tr.find('input[name="shipping_no"]').val(); if($('select.batch-shipping-code').val()) { param.shipping_id = $('select.batch-shipping-code').val(); param.shipping_name = $('select.batch-shipping-code option:selected').html(); } if(!param.order_id){ layer.alert('订单号不存在'); return false; } if(param.shipping_id > 0 && !param.shipping_name){ layer.tips('请输入快递单号', tr.find('input[name="shipping_no"]')); return false; } /*$.ajax({ url:sysConfig.siteUrl + '/Admin/Order/send', data: param, type:'post', dataType:'json', error:function(){ layer.alert('网络异常'); }, success:function(resp){ if(resp.errcode == 0){ location.reload(); } else { layer.msg(resp.errmsg || '网络异常'); } } })*/ }); }, //取消订单(支付前) cancelPay: function(){ //提交事件 $('.cancelPay-order .submit').click(function(){ var param = {}; param.order_id = $('#order_id').val(); reason = $('.cancelPay-order #cancel-reason').val(); if(!reason){ layer.tips('请输入取消原因', $('.cancelPay-order #cancel-reason')); return false; } param.cancel_reason = reason; $.ajax({ url:'/cancelPay/'+param.order_id, data:param, type:'post', dataType:'json', error:function(){ layer.alert('网络异常'); }, success:function(resp){ if(resp.errcode == 0){ location.reload(); return false; } else { layer.alert(resp.errmsg || '网络异常'); } } }); }); }, // 推送业务员 sendSales: function() { $('.send_sales').click(function(){ var sale_id = $('input[name=sale_id]:checked').val(); var sale_name = $('input[name=sale_id]:checked').next('span').text(); if (sale_id == null) { layer.msg('请选择业务员!'); return false; } // 弹出提示 layer.open({ title: '提醒', content: '<div>确定推送到 <i class="error">'+sale_name+'</i> 吗?</div>', btn:['确定', '取消'], yes: function(index, layero){ $.ajax({ url : '/sendSales', type: 'post', data: $('#sendSalesForm').serialize(), dataType: 'json', success: function (resp) { if(resp.errcode === 0){ layer.msg(resp.errmsg || '操作成功'); setTimeout(function(){ location.reload(); }, 1000); } else { layer.alert(resp.errmsg || '网络异常'); } }, error: function (res) { console.log(res); } }) layer.msg('订单推送中...', {icon: 16, time: 0, shade: 0.3}); // 阻止重复提交 }, btn2: function(index, layero){ layer.close(index); } }); return false; }) }, //人工审单 changeOrder: function(){ $('.deletegoods').click(function(){ var thisobj=$(this); var new_client_price = $('#new_client_price').val(); var order_type_extend = $('#order_type_extend').val(); var content = ''; var msg_text = ''; if (new_client_price) { switch (order_type_extend) { case '1': msg_text = '团购'; break; case '2': msg_text = '秒杀'; break; default: msg_text = '新客价'; break; } content = '<i class="error">* 该单为'+msg_text+'订单,如修改涉及订单金额部分,则删除整笔订单的优惠,确认改单吗</i>'; } content += '<div><textarea type="text" class="reason" style="width:300px;height: 100px"></textarea></div><span class="error">请填写删除商品原因,100字以内</span>'; layer.open({ title: '删除商品' ,content: content ,btn:['确定', '取消'] ,yes: function(index, layero){ if(!$('.reason').val()){ layer.tips('请填写删除商品原因',$('.reason')); return false; } deletegoods(thisobj); } ,btn2: function(index, layero){ layer.close(index); } }); }) function deletegoods(thisobj){ $.ajax({ type: 'post', url:'/ajaxdeletegoods', data:{ rec_id:thisobj.attr('data-id'), reason:$('.reason').val() }, dataType: 'json', success: function(resp) { if(!resp){ layer.msg('网络错误'); return false; } if(resp.errcode>100 && resp.errcode<200){ layer.tips(resp.errmsg,$('.'+resp.obj)); return false; } if(resp.errcode>0 && resp.errcode<99){ layer.msg(resp.errmsg); return false; } if(resp.errcode==0){ location.reload();//刷新本页 return false; } return false; } }); } // 根据币种和订单金额判断付款类型 // function checkPayType(orderAmount, orderPayType, min_price, max_price) // { // if (orderAmount < min_price) { // $('.order_all_pay').attr('checked', true); // $('.order_advance_pay').parent('label').hide(); // } else if (orderAmount >= min_price && orderAmount < max_price) { // // 判断付款类型 // if (orderPayType == 1) { // $('.order_all_pay').attr('checked', true); // $('.order_advance_pay').parent('label').show(); // } else if (orderPayType == 2) { // $('.order_advance_pay').attr('checked', true); // $('.order_advance_pay').parent('label').show(); // $('.show-advance-pay').show(); // 定金模块 // } // } else { // $('.order_all_pay').attr('checked', true); // $('.order_advance_pay').parent('label').show(); // } // } // if (currency == 1) { // 人民币 // checkPayType(order_amount, order_pay_type, 10000, 50000); // } else { // checkPayType(order_amount, order_pay_type, 1500, 7800); // } // 判断付款类型 if (order_pay_type == 1 || order_pay_type == 4) { // 全款和货到猎芯付款 $('.order_all_pay').attr('checked', true); $('.order_advance_pay').parent('label').show(); } else if (order_pay_type == 2) { // 预付款 $('.order_advance_pay').attr('checked', true); $('.order_advance_pay').parent('label').show(); $('.show-advance-pay').show(); // 定金模块 } else if (order_pay_type == 3) { // 账期 $('.order_account_period').attr('checked', true); $('.show-pay-time').hide(); } // 选择付款类型 $('input[name=order_pay_type]').click(function(){ var val = $(this).val(); if (val == 2) { $('.show-advance-pay').show(); // 定金 $('.show-pay-time').show(); // 付款时间 } else if (val == 3) { $('.show-advance-pay').hide(); $('.show-pay-time').hide(); } else { $('.show-advance-pay').hide(); $('.show-pay-time').show(); } }) //文本框输入事件,任何非正整数的输入都重置为1 $('.only_positive_nubme').off().on('keyup', function(){ if(!$(this).val()){ return false; } if(!(/^\d{0,7}(\.\d{0,4})?$/g.test( $(this).val()))){//判断输入是否合法,不合法强制转换 if(isNaN(parseFloat($(this).val()))){ layer.msg('只能是正整数'); $(this).val(''); }else{ $(this).val(parseFloat($(this).val()).toFixed(0)); } } if($(this).val()>999999999){ $(this).val(999999999); } if($(this).val().length>11){ $(this).val($(this).val().slice(0,11)); } }); $('.order-change-table').delegate('.only_number', 'keyup', function(){ if(!$(this).val()){ return false; } if(!(/^\d{0,7}(\.\d{0,4})?$/g.test( $(this).val()))){//判断输入是否合法,不合法强制转换 if(isNaN(parseFloat($(this).val()))){ layer.msg('只能是数字和小数组成'); $(this).val(''); }else{ $(this).val(parseFloat($(this).val()).toFixed(4)); } } if ($(this).val() < 0) { layer.msg('只能是正整数'); $(this).val(''); return false; } if($(this).val()>999999.9999){ $(this).val(999999.9999); } if($(this).val().length>11){ $(this).val($(this).val().slice(0,11)); } ///$('.total').html('¥'+($(this).val()*$('.num').html()).toFixed(4)); }); // 调整价格 $('.order-change-table input').off().on('keyup', function(e){ e.preventDefault(); var table = $('.order-change-table'); var goods_total = 0; var supplier = []; $(table).find('tbody tr').each(function(){ var num = parseInt($(this).find('.num').val()) || 0; var price = parseFloat($(this).find('.price').val()) || 0; goods_total += parseFloat(num * price); var sup = $(this).data('sup'); if (supplier.hasOwnProperty(sup)) { // 判断当前key是否存在于数组中 supplier[sup] += parseFloat(num * price); } else { supplier[sup] = parseFloat(num * price); } }); // 附加费商品金额设置 $('.extend-fee-table').find('tbody tr').each(function(){ var sup = $(this).data('sup'); $(this).find('.sup_amount').val(supplier[sup]); $(this).find('.sup_amount_val').text(supplier[sup]); }) var extra_fee = $('input[name="extra_fee"]').val() ? parseFloat($('input[name="extra_fee"]').val()) : 0; var freight_fee = $('input[name="freight_fee"]').val() ? parseFloat($('input[name="freight_fee"]').val()) : 0; // 运费 var total = parseFloat(goods_total + freight_fee + extra_fee).toFixed(2); goods_total = goods_total.toFixed(2); $('.goods_total').html(goods_total); $('input[name="goods_amount"]').val(goods_total); $('input[name="order_amount"]').val(total); $('.total').html(total); $('.advance').val((total*0.3).toFixed(2)); // 价格调整后,付款类型显示或隐藏 // var orderPayType = $('input[name=order_pay_type]').val(); // if (currency == 1) { // 人民币 // checkPayType(total, orderPayType, 10000, 49999); // } else { // checkPayType(total, orderPayType, 1500, 7800); // } return false; }) // 根据供应商调整附加费 $('.extend-fee-table input').on('keyup', function(){ var table = $('.extend-fee-table'); var goods_total = parseFloat($('.goods_total').text()); var freight_fee = $('input[name="freight_fee"]').val() ? parseFloat($('input[name="freight_fee"]').val()) : 0; // 运费 var extend_fee_total = 0; $(table).find('tbody tr').each(function(){ var extend_fee = parseInt($(this).find('.adjust_extend_fee').val()) || 0; extend_fee_total += extend_fee; }); var total = parseFloat(goods_total + freight_fee + extend_fee_total).toFixed(2); $('.extra_fee').html(extend_fee_total); $('input[name="extra_fee"]').val(extend_fee_total); $('input[name="order_amount"]').val(total); $('.total').html(total); }) // 调整运费 $('.freight_fee').on('keyup', function() { var freight_fee = parseFloat($(this).val()); if (!freight_fee) freight_fee = 0; $(this).val(freight_fee); var goods_total = parseFloat($('.goods_total').text()); var total = parseFloat(goods_total + freight_fee).toFixed(2); $('.total').html(total); }) // 定金调整 // $('.advance').on('blur',function(){ // if($(this).val()<($('.total').html()*0.2)){ // $(this).val(parseFloat($('.total').html()*0.2).toFixed(2)); // layer.tips('预付款金额不能小于'+$('.total').html()*0.2,$(this)); // } // if($(this).val()>($('.total').html()*0.5)){ // $(this).val(parseFloat($('.total').html()*0.5).toFixed(2)); // layer.tips('预付款金额不能大于'+$('.total').html()*0.5,$(this)); // } // // 价格调整后,付款类型显示或隐藏 // // var orderPayType = $('input[name=order_pay_type]').val(); // // var total = $('input[name=order_amount]').val(); // // if (currency == 1) { // 人民币 // // checkPayType(total, orderPayType, 10000, 49999); // // } else { // // checkPayType(total, orderPayType, 1500, 7800); // // } // }) $('.advance').on('blur',function(){ var val = $(this).val(); if (val == '') { layer.tips('预付定金不能为空', $(this)); return false; } else if (val == 0) { layer.tips('预付定金为0,请更换付款方式:货到深圳仓付款', $(this)); } }) // 用户来源 -- 其他 $('input[name="client_source"]').on('click', function(){ if($(this).val() == 1){ $('.client-input-other').show(); } else { $('.client-input-other').hide(); } }); // 订单审核---通过or不通过 // $('input[name="order_status"]').parent().on('click', function(){ // if($(this).find('input').val() == 2){ // $('.cancle_reason').hide(); // } else { // $('.cancle_reason').show(); // } // }); // // 订单审核 -- 其他 // $('input[name="reason"]').on('click', function(){ // if($(this).val() == 1){ // $('.other-reason').show(); // } else { // $('.other-reason').hide(); // } // }); // $('.cancle_reason label').click(function(){ // if($(this).find('input').val() == 1){ // var reason = $('textarea[name="reason"]').val(); // } else { // var reason = $(this).text(); // } // $('input[name="cancel_reason"]').val(reason); // }); // $('textarea[name="reason"]').on('blur', function(){ // if($('.cancle_reason input[name="reason"]:checked').val() == 1){ // $('input[name="cancel_reason"]').val($(this).val()); // } // }); // 附加费 // $('input[name="extra_fee"]').on('blur', function(){ // var fee = parseFloat($(this).val()); // var goods_total = parseFloat($('.goods_total').html()); // if (isNaN(fee)) { // fee = 0.0000; // } // var total = parseFloat(goods_total + fee).toFixed(2); // $('input[name="goods_amount"]').val(goods_total); // $('input[name="order_amount"]').val(total); // $('.total').html(total); // $('.advance').val((total*0.3).toFixed(2)); // // 价格调整后,付款类型显示或隐藏 // // var orderPayType = $('input[name=order_pay_type]').val(); // // if (currency == 1) { // 人民币 // // checkPayType(total, orderPayType, 10000, 49999); // // } else { // // checkPayType(total, orderPayType, 1500, 7800); // // } // }) // 设置折扣 $('.set_goods_price').off().on('keyup', function(){ var val = $(this).val(); if (!val) { layer.msg('折扣值不能为空'); val = 1; } if (isNaN(parseFloat(val))) { layer.msg('折扣值只能是数字和小数组成'); val = 1; } if (val <= 0 || val > 1) { layer.msg('折扣值只能大于0且小于等于1'); val = 1; } var discount = parseFloat(val).toFixed(2); $(this).val(discount); $('.order-change-table').find('tbody tr').each(function(){ var price = $(this).find('.price').val(); var discount_price = parseFloat(price * discount).toFixed(4); $(this).find('.price').val(discount_price); }) $('.order-change-table input').triggerHandler('blur'); // 自动触发 }) // 选择付款时间 $('.payTime').change(function(){ var val = $(this).val(); if (val == 'other') { $('.customArea').show(); } else { $('.customArea').hide(); } }) // 提交表单 $('.checkOrder').click(function(){ var is_newClient = $('input[name=is_newClient]:checked').val(); var client_source = $('input[name=client_source]:checked').val(); var order_status = $('input[name=order_status]:checked').val(); var pay_type = $('input[name=order_pay_type]:checked').val(); // 订单付款类型 var reason = $('input[name=reason]:checked').val(); var payTime = $('.payTime').val(); var payTimeOther = $('.payTimeOther').val(); var sale_id = $('input[name=sale_id]').val(); var order_goods_type = $('input[name=order_goods_type]').val(); var order_id = $('input[name=order_id]').val(); var business_type = $('input[name=business_type]').val(); // 联营订单需要先指派业务员 if (order_goods_type == 1 && sale_id == 0) { layer.alert('请先将订单推送给客服', function(){ location.href = '/sendSales/'+order_id; }); return false; } if (isNewClient) { if (client_source == null) { layer.msg('请选择用户来源渠道!'); return false; } else if (client_source == 1) { if ($('#input-other-source').val() == '') { layer.msg('请填写其他来源'); return false; } } } // 审核不通过 if (order_status == -1) { $('.input-cancel-reason').click(); return false; } // 正常订单校验数量、单价 if (business_type == 0) { var change_price = false; var change_goods_number = false; var change_str = ''; $('.order-change-table').find('tbody tr').each(function(){ var goods_number = $(this).find('.change_goods_number').val(); var price = $(this).find('.price').val(); var goods_name = $(this).find('.change_goods_name').val(); if (goods_number == '' || goods_number == 0) { change_goods_number = true; change_str += goods_name+'数量不能为0或空 '; } if (price == '' || price == 0) { change_price = true; change_str += goods_name+'单价不能为0或空 '; } }) if (change_price || change_goods_number) { layer.alert(change_str) return false; } } // 预付款 if (pay_type == 2) { var deposit_amount = $('input[name=deposit_amount]').val(); if (deposit_amount == '') { layer.msg('请填写定金金额'); return false; }else if (deposit_amount == 0) { layer.msg('定金金额不能为0'); return false; } } // 非账期订单选择付款时间 if (pay_type != 3) { if (payTime == '') { layer.msg('请选择付款时间'); return false; } if (payTime == 'other' && payTimeOther == '') { layer.msg('请填写自定义时间'); return false; } if (payTimeOther) { var reg = /\d/; if (!reg.test(payTimeOther)) { layer.msg('格式错误'); return false; } if (payTimeOther < 1 || payTimeOther > 30) { layer.msg('自定义时间限制在1-30天'); return false; } } } if (!is_manager && order_goods_type != 1) { // 非管理员或经理权限和非联营订单需要判断商品价格是否低于80%以下 // 设置默认值false $('input[name=check_failed]').val(0); $('input[name=change_pay_type]').val(0); var check_failed_info = ''; // 检查商品单价 $('.order-change-table').find('tbody tr').each(function(){ var origin_price = parseFloat($(this).find('.price').data('origin')); var price = parseFloat($(this).find('.price').val()) || 0; var goods_name = $(this).find('.change_goods_name').val(); limit_price = (origin_price * 0.8).toFixed(4); // 若商品单价降价幅度小于或等于20%则赋值 if (price <= limit_price) { check_failed_info += '型号:'+goods_name+',单价:'+origin_price+' -> '+price+' | '; $('input[name=check_failed]').val(1); $('input[name=check_failed_info]').val(check_failed_info); } }); // 预付款时设置 if (pay_type == 2) { $('input[name=change_pay_type]').val(1); } } var currencySign = currency == 1 ? '¥' : '$'; var goods_amount = parseFloat($('.goods_total').text()); var order_amount = parseFloat($('.total').text()); var extra_fee = $('input[name=extra_fee]').val() ? $('input[name=extra_fee]').val() : 0; var freight_fee = $('input[name=freight_fee]').val() ? $('input[name=freight_fee]').val() : 0; var last_paid = parseFloat(order_amount + parseFloat(pay_preferential)).toFixed(2); // 实际支付金额 var order_type_extend = $('#order_type_extend').val(); var msg_text = ''; switch (order_type_extend) { case '1': msg_text = '团购'; break; case '2': msg_text = '秒杀'; break; default: msg_text = '新客价'; break; } var content = '<div class="submit-check">'; if (new_client_price) { content += '<p class="error">该单为'+msg_text+'订单,如修改涉及订单金额部分,则删除整笔订单的优惠,确认改单吗</p>'; } else { content += '<p class="error">请核对订单金额,谨慎操作!</p>'; } content += '<p><label>商品总金额:</label>'+currencySign + goods_amount+'</p>'; if (new_client_price) { content += '<p><label>'+msg_text+'金额:</label>'+new_client_price+'</p>'; } content += '<p><label>优惠金额:</label>'+discount_amount+'</p>'+ '<p><label>附加费金额:</label>'+extra_fee+'</p>'+ '<p><label>运费金额:</label>'+freight_fee+'</p>'+ '<p><label>订单总金额:</label><span class="error">'+currencySign + order_amount+'</span></p>'; if (order_goods_type == 1) { content += '</div>'; var url = '/details/'+order_id; } else { content += '<p><label>支付优惠:</label>'+pay_preferential+'</p>'+ '<p><label>实际支付金额:</label><span class="error">'+currencySign + last_paid +'</span></p>'+ '</div>'; var url = '/details/'+order_id+'?tags=self'; } // 弹出提示 layer.open({ area: ['360px'], title: '提示信息', content: content, btn:['确定', '取消'], yes: function(index, layero){ $.ajax({ url : '/ajaxSaveChange', type: 'post', data: $('#checkOrderForm').serialize(), dataType: 'json', success: function (resp) { if(resp.errcode === 0){ layer.msg(resp.errmsg || '操作成功'); setTimeout(function(){ // location.reload(); location.href = url; }, 1000); } else { layer.alert(resp.errmsg || '网络异常', function() { location.reload(); }); } }, error: function (res) { console.log(res); } }) layer.msg('审核提交中...', {icon: 16, time: 0, shade: 0.3}); // 阻止重复提交 }, btn2: function(index, layero){ layer.close(index); } }); }) // 弹出已调价的订单信息 $('.checkAdjusted').click(function(){ var adjusted_info = $('.adjusted_order').html(); var order_id = $('input[name=order_id]').val(); var order_goods_type = $('input[name=order_goods_type]').val(); var layer_btn = is_manager ? ['通过', '驳回'] : []; var url = order_goods_type == 1 ? '/details/'+order_id : '/details/'+order_id+'?tags=self'; // 弹出提示 layer.open({ title: '调价后的订单信息', content: adjusted_info, area: ['700px', '400px'], btn: layer_btn, yes: function(index, layero){ $.ajax({ url : '/ajaxSaveChange', type: 'post', data: $('#adjustedOrderForm').serialize()+'&order_status=2', dataType: 'json', success: function (resp) { if(resp.errcode === 0){ layer.msg(resp.errmsg || '操作成功'); setTimeout(function(){ location.href = url; }, 1000); } else { layer.alert(resp.errmsg || '网络异常'); } }, error: function (res) { console.log(res); } }) }, btn2: function(index, layero){ $.ajax({ url : '/ajaxRejected', type: 'post', data: $('#adjustedOrderForm').serialize()+'&order_status=1', dataType: 'json', success: function (resp) { if(resp.errcode === 0){ layer.msg(resp.errmsg || '操作成功'); setTimeout(function(){ // location.reload(); location.href = url; }, 1000); } else { layer.alert(resp.errmsg || '网络异常'); } }, error: function (res) { console.log(res); } }) } }); }) }, // 自营操作 selfOrder: function() { // 填写快递单 $('.self_express').click(function(){ var order_id = $(this).data('id'); inputExpress(order_id, '填写快递单号', '/ajaxSelfExpress', 1); }) // 填写发票快递单 $('.self_invoice_express').click(function(){ var order_id = $(this).data('id'); inputExpress(order_id, '填写发票快递单', '/ajaxSelfExpress', 2); }) /** * [inputExpress description] * @param {[order_id]} order_id [order_id] * @param {[type]} title [标题] * @param {[type]} url [url] * @param {[type]} type [1.订单快递单 2. 发票快递单] * @return {[type]} [description] */ function inputExpress(order_id, title, url, type) { var shipping_section = ''; shipping_section += '<div class="form-group">'+ '<select name="shipping_id" class="shipping_id" style="width: 100%;margin-bottom: 20px;">'+ '<option value="">请选择快递公司</option>'; for(var i in shippings_info) { shipping_section += '<option value="'+i+'">'+shippings_info[i]+'</option>'; } shipping_section += '<input type="text" class="express_no" name="express_no" value="" style="width:100%;" placeholder="请填写快递单号" />'+ '</select>'+ '</div>'; layer.open({ title: title ,content: shipping_section ,btn:['确定', '取消'] ,yes: function(index, layero){ var shipping_id = $('.shipping_id').val(); var express_no = $('.express_no').val(); if(!shipping_id){ layer.tips('请选择快递公司',$('.shipping_id')); return false; } if(!express_no){ layer.tips('快递单号不能为空',$('.express_no')); return false; } $.ajax({ url: url, type: 'post', data: {order_id:order_id, shipping_id:shipping_id, express_no:express_no, type:type}, dataType:'json', success: function(resp) { if(resp.errcode === 0){ layer.msg(resp.errmsg || '操作成功'); setTimeout(function(){ location.reload(); }, 1000); } else { layer.alert(resp.errmsg || '网络异常'); } }, error: function(err) { console.log(err) } }) } ,btn2: function(index, layero){ layer.close(index); } }); } // 自营审单 $('.self-check').click(function(){ var order_id = $(this).data('id'); layer.open({ title: '审核自营线下订单', content: '确定审核通过吗?', btn:['通过', '不通过'], yes: function(index, layero){ $.ajax({ url: '/ajax/selfCheck', type: 'post', data: {order_id: order_id, status: 4}, dataType:'json', success: function(resp) { if(resp.errcode === 0){ layer.msg(resp.errmsg || '操作成功'); setTimeout(function(){ location.reload(); }, 1000); } else { layer.alert(resp.errmsg || '网络异常'); } }, error: function(err) { console.log(err) } }) }, btn2: function(index, layero){ // 不通过--取消订单 $.ajax({ url: '/ajax/selfCheck', type: 'post', data: {order_id: order_id, status: -1}, dataType:'json', success: function(resp) { if(resp.errcode === 0){ layer.msg(resp.errmsg || '操作成功'); setTimeout(function(){ location.reload(); }, 1000); } else { layer.alert(resp.errmsg || '网络异常'); } }, error: function(err) { console.log(err) } }) } }); }) // 自营对账 $('.self-sure-pay').click(function(){ var order_id = $('#order_id').val(); // var serial_number = $('input[name="serial_number"]').val(); // if (serial_number.length == 0) { // layer.alert('请输入流水号'); // return false; // } var content = ''; var trans_amount = 0; // 财务对账 if (role == 9) { var trans_amount = $('input[name=trans_amount]').val(); if (!trans_amount) { layer.msg('请输入客户线下转账金额'); return false; } content += '<div>'; if (parseFloat(trans_amount) == parseFloat(order_amount)) { content += '<p><i class="fa fa-check-circle" style="color:green;"></i> 应付金额和对账金额一致</p>'; } else { content += '<p><i class="fa fa-warning error"></i> 应付金额和对账金额不一致,请谨慎核对!</p>'; } content += '<p>应付金额:<span class="error">'+order_amount+'</span></p>'; content += '<p>对账金额:<span class="error">'+trans_amount+'</span></p>'; content += '</div>'; } else { content = '请仔细核对订单金额后确认'; } layer.open({ title: '确认提示', area: ['360px', '240px'], content: content, btn:['确认', '取消'], btn1:function(){ $.ajax({ url:'/self_check_pay/'+order_id, // data: {order_id : order_id, serial_number : serial_number}, data: {order_id: order_id, trans_amount: trans_amount}, type:'post', dataType: 'json', success:function(resp){ if(resp.errcode == 0){ layer.msg(resp.errmsg); location.reload(); return false; } else { layer.alert(resp.errmsg || '网络异常'); } }, error:function(){ layer.alert('网络异常'); } }); layer.msg('订单对账中...', {icon: 16, time: 0, shade: 0.3}); }, btn2:function(){ return true; } }) }) }, // 退货退款 refund: function() { // 正整数输入框限制 $('.int_num').off().on('keyup', function(){ var val = $(this).val(); if(!val) return false; if (!(/^[1-9]\d*$/g.test(val))) { layer.msg('只能是正整数'); $(this).val(''); } if($(this).val().length > 9){ $(this).val($(this).val().slice(0, 9)); } }); // 浮点数输入框限制 $('.float_num').off().on('keyup', function(){ var val = $(this).val(); if(!val) return false; if(!(/^\d{0,7}(\.\d{0,4})?$/g.test(val))){//判断输入是否合法,不合法强制转换 if(isNaN(parseFloat(val))){ layer.msg('只能是数字'); $(this).val(''); }else{ $(this).val(parseFloat(val).toFixed(4)); } } if(val > 999999.9999){ $(this).val(999999.9999); } if(val.length > 11){ $(this).val(val.slice(0,11)); } }); // 填写退货数量 $('.refund_num').keyup(function() { var unshipped_num = parseInt($(this).parents('tr').find('.unshipped_num').val()); // 未发货数量 var single_pre_price = parseFloat($(this).parents('tr').find('.single_pre_price').val()); // 均摊单价 var val = $(this).val(); // 退货数量 if (val > unshipped_num) { layer.msg('不能超过未发货数量'); $(this).val(''); } // 退款小计 var single_amount = parseFloat(single_pre_price * val).toFixed(4); $(this).parents('tr').find('.single_refund_amount').text(currency_sign + single_amount); // 退款总额 var refund_total = 0; $('.refund-table').find('tbody tr').each(function(){ var num = parseInt($(this).find('.refund_num').val()) || 0; var price = parseFloat($(this).find('.single_pre_price').val()) || 0; refund_total += parseFloat(num * price); }); // 差价 var price_fall = $('.price_fall').val(); refund_amount = parseFloat(refund_total - price_fall).toFixed(2); refund_total = refund_total.toFixed(2); $('.all_refund_amount').val(refund_total); $('.all_refund_amount_val').text(currency_sign + refund_total); $('.refund_amount').text(currency_sign + refund_amount); }) // 调整差价 $('.price_fall').keyup(function() { var val = $(this).val(); var all_refund_amount = $('.all_refund_amount').val(); var refund_total = parseFloat(all_refund_amount - val).toFixed(2); // 退款总额不存在,则差价设置为0 if (!all_refund_amount) { $(this).val(0); return false; } // 若差价大于或等于退款总额,则差价设置为0 if (parseFloat(val) >= parseFloat(all_refund_amount)) { $(this).val(0); $('.refund_amount').text(currency_sign + all_refund_amount); return false; } $('.refund_amount').text(currency_sign + refund_total); }) // 提交表单 $('.refundApply').click(function() { var goods_count = 0; // 商品数量 var refund_eq_true = []; // 退货数量与未发货数量相等 var refund_empty = []; // 退货数量为空 // 表单退货数量 $('.refund-table').find('tbody tr').each(function(){ var num = parseInt($(this).find('.refund_num').val()); var unshipped_num = parseInt($(this).find('.unshipped_num').val()); // 为空标记 if (!num) refund_empty.push(0); // 数量等于未发货数量标记 if (num == unshipped_num) refund_eq_true.push(1); goods_count++; }); if (refund_empty.length == goods_count) { layer.msg('请填写退货数量'); return false; } if (refund_eq_true.length == goods_count) { layer.msg('不能选择全部退货数量,请检查数量'); return false; } var order_id = $('input[name=order_id]').val(); var refund_reason = $('.refund_reason').val(); if (!refund_reason) { layer.msg('请选择退货原因'); return false; } layer.open({ title: '提示信息', content: '确认提交退货申请?', btn: ['确认', '取消'], yes: function(index, layero){ $.ajax({ url : '/refund/' + order_id, type: 'post', data: $('#refundForm').serialize(), dataType: 'json', success: function (resp) { if(resp.errcode === 0){ layer.msg(resp.errmsg || '操作成功'); setTimeout(function(){ location.href = '/details/' + order_id; // 退款列表 }, 1000); } else { layer.alert(resp.errmsg || '网络异常'); } }, error: function (res) { console.log(res); } }) }, btn2: function(index, layero){ layer.close(index); } }); }) } } }); })(jQuery)