| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803 |
- @extends('layouts.base')
- @section('content')
- @section('title', trans('单个打印'))
- <style>
- .mask {
- display: none;
- width: 100%;
- height: 100%;
- z-index: 1000;
- position: fixed;
- background-color: rgba(0, 0, 0, 0.6);
- top: 0;
- left: 0;
- }
- .mask .addDataNode {
- display: none;
- position: relative;
- left: 50%;
- top: 50%;
- color: white;
- }
- </style>
- <div class="rightlist">
- <div class="mask">
- <div class="addDataNode">正在推送打印任务...</div>
- {{-- <div class="addDataNode" onclick="cancel()">取消</div>--}}
- </div>
- <div class="panel panel-default">
- <div class="panel-heading">查找订单</div>
- <div style="padding: 10px; padding-bottom: 0px;" class="panel-body">
- <div class="alert alert-info">数据量大可能会引起卡顿,请在搜索前根据需要选择您的搜索条件。</div>
- <form id="form1" role="form" class="form-horizontal" method="post" action="">
- <div class="form-group">
- <div class="col-sm-8 col-lg-12 col-xs-12">
- <div class="input-group">
- <div class="input-group-addon">订单号</div>
- <input type="text" placeholder="订单号" value="" name="search[order_sn]" class="form-control">
- <div class="input-group-addon">快递单号</div>
- <input type="text" placeholder="快递单号" value="" name="search[express_sn]" class="form-control">
- <div class="input-group-addon">用户信息</div>
- <input type="text" placeholder="用户手机号/姓名/昵称" value="" name="search[member]" class="form-control">
- </div>
- </div>
- </div>
- <div class="form-group">
- <div class="col-sm-12 col-lg-12 col-xs-12">
- <div class="input-group">
- <div class="input-group-addon">订单状态</div>
- <select class="form-control" name="search[order_status]">
- <option value="">全部</option>
- <option value="0">待付款</option>
- <option value="1" selected="">待发货</option>
- <option value="2">已发货</option>
- <option value="3">已完成</option>
- <option value="-1">已关闭</option>
- </select>
- <div class="input-group-addon">快递单打印状态</div>
- <select class="form-control" name="search[express_print_status]">
- <option value="">全部</option>
- <option value="no">未打印</option>
- {{--<option value="1">部分打印</option>--}}
- <option value="end">打印完成</option>
- </select>
- <div class="input-group-addon">发货单打印状态</div>
- <select class="form-control" name="search[send_print_status]">
- <option selected="" value="">全部</option>
- <option value="no" >未打印</option>
- {{--<option value="1">部分打印</option>--}}
- <option value="end">打印完成</option>
- </select>
- <div class="input-group-addon">电子面单打印状态</div>
- <select class="form-control" name="search[panel_print_status]">
- <option selected="" value="">全部</option>
- <option value="no" >未打印</option>
- {{--<option value="1">部分打印</option>--}}
- <option value="end">打印完成</option>
- </select>
- </div>
- </div>
- </div>
- <div class="form-group">
- <div class="col-sm-8 col-lg-12 col-xs-12">
- <div class="input-group">
- @if($package_deliver)
- <div class="input-group-addon">自提点</div>
- <select class="form-control" name="search[deliver_name]" id="deliver_name">
- <option value="">请选择自提点</option>
- @foreach($deliver as $item)
- <option value="{{$item['id']}}">{{$item['deliver_name']}}</option>
- @endforeach
- </select>
- @endif
- <div class="input-group-addon">下单时间</div>
- <div class="col-sm-3">
- <label class="radio-inline">
- <input type="radio" name="search[create_order_time]" value="0" checked="checked">不搜索
- </label>
- <label class="radio-inline">
- <input type="radio" name="search[create_order_time]" value="1">搜索
- </label>
- </div>
- <div style="height: 34px; float: left;">
- <script type="text/javascript">
- require(["daterangepicker"], function($) {
- $(function() {
- $(".daterange.daterange-time").each(function() {
- var elm = this;
- $(this).daterangepicker({
- startDate: $(elm).prev().prev().val(),
- endDate: $(elm).prev().val(),
- format: "YYYY-MM-DD HH:mm",
- timePicker: true,
- timePicker12Hour: false,
- timePickerIncrement: 1,
- minuteStep: 1
- }, function(start, end) {
- $(elm).find(".date-title").html(start.toDateTimeStr() + " 至 " + end.toDateTimeStr());
- $(elm).prev().prev().val(start.toDateTimeStr());
- $(elm).prev().val(end.toDateTimeStr());
- });
- });
- });
- });
- </script>
- <input type="hidden" value="{!! date('Y-m-d H:m', strtotime('-1 month')) !!}" name="time[start]">
- <input type="hidden" value="{!! date('Y-m-d H:m') !!}" name="time[end]">
- <button type="button" class="btn btn-default daterange daterange-time" data-original-title="" title=""><span class="date-title"><?php echo date('Y-m-d H:i:s', strtotime("-1 month"))?> 至 <?php echo date('Y-m-d H:i:s',time())?></span> <i class="fa fa-calendar"></i></button>
- </div>
- <div style="height: 34px; width: 150px; float: left; padding-left: 5px;">
- <button id="search-btn" onclick="search()" class="btn btn-primary" type="button" data-original-title="" title=""><i class="fa fa-search"></i> 搜索</button>
- </div>
- </div>
- </div>
- </div>
- </form>
- </div>
- </div>
- <div id="orderresult" style="height: auto; overflow: hidden;"></div>
- </div>
- <div class="modal fade" id="errorModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
- <h4 class="modal-title" id="myModalLabel">未打印订单</h4>
- </div>
- <div class="modal-body">
- <table class="table table-bordered">
- <thead>
- <tr>
- <th>订单编号</th>
- <th>错误原因</th>
- </tr>
- </thead>
- <tbody id="errorMsg">
- {{--js填充--}}
- </tbody>
- </table>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
- </div>
- </div><!-- /.modal-content -->
- </div><!-- /.modal -->
- </div>
- <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width="0"
- height="0">
- <embed id="LODOP_EM" type="application/x-print-lodop" width="0" height="0" pluginspage="{{resource_get('plugins/exhelper/src/common/lodop/install_lodop32.exe', 1)}}"></embed>
- </object>
- <script language='javascript' src="{{resource_get('plugins/exhelper/src/common/static/js/LodopFuncs.js', 1)}}"></script>
- </div>
- <!-- -->
- <script language='javascript'>
- $("#deliver_name").change(function () {
- var sel = $(this).find("option:selected").text();
- // var sel = $(this).find("option:selected").attr("data-name");
- $("#deliver_name").val(sel);
- });
- $('#deliver_name').select2();
- </script>
- <script language="javascript">
- var LODOP=getCLodop();
- // 执行搜索
- function search(){
- var data = {
- order_sn: $.trim($(":input[name='search[order_sn]']").val()),
- express_sn: $.trim($(":input[name='search[express_sn]']").val()),
- member: $.trim($(":input[name='search[member]']").val()),
- order_status: $.trim($("select[name='search[order_status]']").val()),
- express_print_status: $.trim($("select[name='search[express_print_status]']").val()),
- send_print_status: $.trim($("select[name='search[send_print_status]']").val()),
- panel_print_status: $.trim($("select[name='search[panel_print_status]']").val()),
- create_order_time: $(":input[name='search[create_order_time]']:checked").val(),
- time: {start: $(":input[name='time[start]']").val(),end: $(":input[name='time[end]']").val()},
- deliver_name: $.trim($("select[name='search[deliver_name]']").val()),
- };
- $('#search-btn').html("<i class='fa fa-spinner fa-spin'></i> 正在搜索...");
- $.ajax({
- url: "{!! yzWebUrl('plugin.exhelper.admin.print-once.search') !!}",
- data: {search:data},
- success:function(html){
- $('#search-btn').html("<i class='fa fa-search'></i> 搜索")
- $('#orderresult').html(html);
- setallPrintBtnState(false);
- $('.order_item').click(function(){
- setalldoprintDivIsShow(false)
- ordersDivIsShow(true)
- clearCheckBoxChange()
- $('#orders').find('.panel-body').html("<i class='fa fa-spinner fa-spin'></i> 正在加载...")
- $.ajax({
- url: "{!! yzWebUrl('plugin.exhelper.admin.print-once.detail') !!}",
- data: {orderids: $(this).data('orderids')},
- success:function(html){
- $('#orders').html(html);
- }
- });
- })
- //全选
- $("#allChange").click(function (){
- var oneChangeLen = $(".oneChange").length;
- if(oneChangeLen == 0){
- alert('暂无订单!');
- return false;
- }
- var _thisState = $(this).is(":checked");
- $(".oneChange").prop("checked",_thisState)
- setallPrintBtnState(_thisState);
- })
- //单选
- $(".oneChange").click(function () {
- setAllChangeState();
- var oneChangeState = $(".oneChange").is(":checked");
- setallPrintBtnState(oneChangeState);
- })
- //开始打印
- $('.alldoprint').click(function () {
- if($(this).attr('disabled')){
- return false;
- }else{
- var thisCate = $(this).data("cate");
- printAll(thisCate)
- }
- })
- }
- });
- }
- /**
- * 根据checkbox设置是否勾选全选按钮
- */
- function setAllChangeState()
- {
- var stateNum = 0;
- var oneChangeLen = $('.oneChange').length;
- $('.oneChange').each(function () {
- if( $(this).is(":checked")){
- stateNum++
- }else{
- stateNum--
- }
- });
- if(stateNum == oneChangeLen){
- $("#allChange").prop("checked",true)
- }else{
- $("#allChange").prop("checked",false)
- setallPrintBtnState(false);
- }
- }
- /**
- * 打开了详细信息就取消全部checkBox勾选
- */
- function clearCheckBoxChange()
- {
- $("#allChange").prop("checked",false)
- $(".oneChange").prop("checked",false)
- }
- /**
- * 多选打印显示控制
- * @param bool
- */
- function setalldoprintDivIsShow(bool)
- {
- if(bool){
- $('#alldoprintDiv').show();
- }else{
- $('#alldoprintDiv').hide();
- }
- }
- /**
- * 订单详情DIV展示控制
- * @param bool
- */
- function ordersDivIsShow(bool)
- {
- if(bool){
- $('#orders').show()
- }else{
- $('#orders').hide()
- }
- }
- /**
- * 控制打印按钮
- * @param _thisState
- */
- function setallPrintBtnState(_thisState){
- if(_thisState){
- // 正常
- console.log('ddddddddd')
- $("#alldoprint1").data("state",0).removeClass("btn-disabled").addClass("btn-primary").attr('disabled', false);
- $("#alldoprint2").data("state",0).removeClass("btn-disabled").addClass("btn-warning").attr('disabled', false);
- $("#alldoprint3").data("state",0).removeClass("btn-disabled").addClass("btn-default").attr('disabled', false);
- $("#alldosend").data("state",0).removeClass("btn-disabled").addClass("btn-success").attr('disabled', false);
- ordersDivIsShow(false)
- setalldoprintDivIsShow(true)
- }else{
- $("#alldoprint1").data("state",1).removeClass("btn-primary").addClass("btn-disabled").attr('disabled', true);
- $("#alldoprint2").data("state",1).removeClass("btn-warning").addClass("btn-disabled").attr('disabled', true);
- $("#alldoprint3").data("state",1).removeClass("btn-default").addClass("btn-disabled").attr('disabled', true);
- ordersDivIsShow(true)
- setalldoprintDivIsShow(false)
- }
- }
- /**
- * 全选打印
- * @param type
- * @returns {boolean}
- */
- function printAll(type)
- {
- if(confirm("多张单打印无预览效果,直接打印!确定吗?")){
- $('.mask,.addDataNode').show();
- }else{
- return false;
- }
- //打印快递单或发货单
- var url = "{!! yzWebUrl('plugin.exhelper.admin.print-once.print-all') !!}";
- var printDatasTemp;
- var printUser;
- var printTemp;
- var response;
- var orders;
- var ordersNum;
- var orderIds = getOrderIds();
- var printNum = 0; //打印次数
- if(type == 3){
- printElectronics();
- return;
- }
- var data = {
- type:type,
- order_ids:orderIds,
- };
- // 执行ajax获取打印模版
- $.ajax({
- type: 'POST',
- url: url,
- data: data,
- dataType:'json',
- async:false,
- success: function(data){
- response = data.data;
- if(data.result==1){
- // console.log('datadata',response);
- // return;
- printDatasTemp = response.temp.respDatas;
- printUser = response.temp.respUser;
- printTemp = response.temp.respTemp;
- orders = response.orders;
- ordersNum = orders.length;
- }else{
- cancel(data.msg);
- return;
- }
- }
- });
- //需要打印同地址的订单
- console.log('orders',orders);
- orders.forEach((order, orderIndex) => {
- /*打印的模板数据*/
- var rep_sendInfo = order.address.sendinfo;
- var rep_realName = order.address.realname;
- var rep_nickName = order.address.realname;
- var rep_mobile = order.address.mobile;
- var rep_province = order.addressInfo.province;
- var rep_city = order.addressInfo.city;
- var rep_area = order.address.district;
- var rep_address = order.address.address;
- var rep_ordersn = '';
- let price=0;
- let dispatchprice = 0;
- var info = [];
- //克隆对象
- var printDatas = $.extend(true, {}, printDatasTemp);
- /*打印的模板数据*/
- order.list.forEach(_order => {
- if(rep_ordersn){
- rep_ordersn += ", ";
- }
- rep_ordersn += _order.order_sn;
- price += Number(_order.price);
- dispatchprice += Number(_order.dispatch_price);
- _order.has_many_order_goods.forEach(goods => {
- info.push(setOrderInfos(_order, goods))
- });
- })
- saveSenderAll({rep_realName, rep_mobile, rep_province, rep_city, rep_area, rep_address, rep_ordersn})
- /*打印模板的初始化*/
- $.each(printDatas,function(tempIndex){
- this.items = this.items.replace("sendinfo",rep_sendInfo);
- this.items = this.items.replace("realname",rep_realName);
- this.items = this.items.replace("nickname",rep_nickName);
- this.items = this.items.replace("mobile",rep_mobile);
- this.items = this.items.replace("province",rep_province);
- this.items = this.items.replace("city",rep_city);
- this.items = this.items.replace("area",rep_area);
- this.items = this.items.replace("address",rep_address);
- this.items = this.items.replace("ordersn",rep_ordersn);
- this.items = this.items.replace("shopname",printTemp.shopname);
- });
- LODOP.PRINT_INITA(0,0,printTemp.width+"mm",printTemp.height+"mm","单据打印");
- LODOP.NewPageA();
- LODOP.SET_PRINT_PAGESIZE(1,printTemp.width+"mm",printTemp.height+"mm", "");
- if(printTemp.bg){
- // LODOP.ADD_PRINT_IMAGE(0,0,printTemp.width,printTemp.height,"<img border='0' src='"+printTemp.bg+"'>");
- LODOP.ADD_PRINT_SETUP_BKIMG("<img border='0' src='"+printTemp.bg+"'>");
- LODOP.SET_SHOW_MODE("BKIMG_IN_PREVIEW",true);//设置预览包含背景图
- LODOP.SET_SHOW_MODE("BKIMG_PRINT",true);//设置打印背景图
- LODOP.SET_SHOW_MODE("BKIMG_IN_PREVIEW",1);
- }
- LODOP.SET_PRINT_MODE("AUTO_CLOSE_PREWINDOW",true);
- /*打印模板的初始化*/
- let isMerge=false;
- let dispatchIsMerge=false;
- $.each(printDatas,function(i,d){
- //打印准备
- if(d.cate==1){
- LODOP.ADD_PRINT_TEXTA('"t_'+i+'"',d.top+"px",d.left+"px",d.width+"px",d.height+"px",d.pre+d.items+d.last);
- if(d.color){
- LODOP.SET_PRINT_STYLEA('"t_'+i+'"',"FontColor",d.color); // 文字颜色
- }
- if(d.bold){
- LODOP.SET_PRINT_STYLEA('"t_'+i+'"',"Bold",1); // 文字加粗
- }
- if(d.align){
- LODOP.SET_PRINT_STYLEA('"t_'+i+'"',"Alignment",d.align); // 对齐方式
- }
- var FontSize = !d.size?"12":d.size;
- LODOP.SET_PRINT_STYLEA('"t_'+i+'"',"FontSize",FontSize); //文字大小
- var FontName = !d.font?"微软雅黑":d.font;
- LODOP.SET_PRINT_STYLEA('"t_'+i+'"',"FontName",FontName); // 文字字体
- }
- if(d.cate==2){
- var strings = d.string.split(',');
- var values = d.items.split(',');
- var _html = '<table border style="width: '+d.width+'; display:table-fixed; border-collapse:collapse;border-spacing:0;border-left:1px solid '+d.color+';border-top:1px solid '+d.color+'; corlor:'+d.color+'; ';
- if(d.align==1){
- _html += "text-align:left;"
- }
- if(d.align==2){
- _html += "text-align:center;"
- }
- if(d.align==3){
- _html += "text-align:right;"
- }
- _html += '">';
- _html += '<tr>';
- $.each(strings, function(ii,s) {
- _html += '<td style="border-right:1px solid '+d.color+'; border-bottom:1px solid '+d.color+'; font-size:'+d.size+'pt; font-family:'+d.font+'; color:'+d.color+';">'+s;
- _html += '</td>';
- });
- order.list.forEach((_order, index) => {
- _html += '</tr>';
- $.each(values, function(iii,val) {
- str = '';
- dispatchStr='';
- if (val == 'price'){
- if(isMerge===false){
- str = 'rowspan='+rowLength+' style="text-align:center;"';
- _html += '<td '+str+' style="border-right:1px solid '+d.color+'; border-bottom:1px solid '+d.color+'; font-size:'+d.size+'pt; font-family:'+d.font+'; color:'+d.color+';">';
- _html += (price).toFixed(2);
- isMerge=true;
- }
- }else if (val == 'dispatchprice') {
- if (dispatchIsMerge ===false){
- dispatchStr = 'rowspan='+rowLength+' style="text-align:center;"';
- _html += '<td '+dispatchStr+' style="border-right:1px solid '+d.color+'; border-bottom:1px solid '+d.color+'; font-size:'+d.size+'pt; font-family:'+d.font+'; color:'+d.color+';">';
- _html += (dispatchprice).toFixed(2);
- dispatchIsMerge=true;
- }
- }else{
- _html += '<td style="border-right:1px solid '+d.color+'; border-bottom:1px solid '+d.color+'; font-size:'+d.size+'pt; font-family:'+d.font+'; color:'+d.color+';">';
- }
- // _html += '<td '+str+' style="border-right:1px solid '+d.color+'; border-bottom:1px solid '+d.color+'; font-size:'+d.size+'pt; font-family:'+d.font+'; color:'+d.color+';">';
- if(val=="printsn"){
- _html += index+1;
- }else{
- if (val == 'price'&&isMerge==true) {
- _html += '';
- }else if (val == 'dispatchprice'&&dispatchIsMerge==true){
- _html += '';
- }
- else {
- _html += info[index][val];
- }
- }
- _html += '</td>';
- });
- _html += '</tr>';
- })
- _html += '</table>';
- LODOP.ADD_PRINT_HTM(d.top+"px", d.left+"px", d.width+"px", d.height+"px", _html);
- }
- });
- //选择默认的打印机
- LODOP.SET_PRINTER_INDEX(-1)
- // 获取打印状态
- if (LODOP.CVERSION) {
- printNum++
- if(LODOP.PRINT()){
- console.log("打印次数", printNum)
- if(printNum == ordersNum){
- console.log('打印完成!')
- successHander();
- }
- }else{
- alert("打印已取消");
- return;
- }
- };
- });
- console.log('orderIdsorderIds', orderIds)
- }
- /**
- * 全部打印成功回调
- */
- function successHander()
- {
- setTimeout(function () {
- cancel("推送完成!");
- }, 1000); // 延时1秒
- }
- /**
- * 关闭loading
- */
- function cancel(msg)
- {
- $('.mask,.addDataNode').hide();
- alert(msg);
- }
- /**
- * 订单的详细信息
- * @param order
- * @param goods
- * @returns {*|{note: string, odsn: (*|string), goodname: *, productsn: *, changedispatchprice: *, goodssn: *, goodoption: string, goodshortname: (*|string), deductprice: *, deductenough: (*|string), discountprice: *, goodweight: string, goodunit: methods.form.goods.sku, dispatchprice: (*|number), total: number, goodsprice: *, allprice: string, price: (*|string), realprice: string, vipdiscount: (*|string), productprice: string, marketprice: string, couponprice: number}}
- */
- function setOrderInfos(order, goods)
- {
- var _ordersn = order.order_sn // 订单编号
- var _goodname = goods.title; // 商品名称
- if(goods.has_one_short){
- var _goodshortname = goods.has_one_short.short_title; // 商品简称
- }else{
- var _goodshortname = '-';
- }
- var _goodssn = goods.goods_sn; // 商品编码
- var _productsn = goods.product_sn; //商品条码
- var _marketprice = (goods.goods_price / Number(goods.total)).toFixed(2); //商品原价
- var _productprice = (goods.price / Number(goods.total)).toFixed(2); //商品原价
- var _allprice = _productprice * Number(goods.total); // 商品总价
- _allprice = _allprice.toFixed(2);
- var _total = Number(goods.total); // 商品数量
- var _note = ' '; //备注栏
- var _goodoption = '-'
- if(goods.goods_option_title != ''){
- _goodoption = goods.goods_option_title; // 商品规格
- }
- var _goodunit = goods.goods.sku; // 商品单位
- var _goodweight = '-'; // 商品重量
- if(goods.goods.weight != ''){
- _goodweight = goods.goods.weight; // 商品规格
- }
- var _realprice = _productprice; // 商品折后价格
- //订单信息
- var _goodsprice = goods.goods_price; // 商品小计
- var _dispatchprice = order.dispatch_price; // 运费
- var _deductprice = goods.deduction_amount; // 抵扣金额
- var _discountprice = order.discount_price; // 优惠券金额
- var _vipdiscount = goods.price; // 会员折扣
- if(Number(goods.vip_price) > 0 ){
- _vipdiscount = goods.price - goods.vip_price
- }
- var _changeprice = order.change_price; // 改价优惠
- var _changedispatchprice = order.change_dispatch_price; // 运费改价
- var _couponprice = 0; // 优惠券优惠
- var _price = order.price; // 实付费
- info = {
- 'odsn':_ordersn,'goodname':_goodname,'goodshortname':_goodshortname,'goodssn':_goodssn,'productsn':_productsn,
- 'marketprice':_marketprice,
- 'productprice':_productprice,
- 'allprice':_allprice,
- 'total':_total,
- 'note':_note,
- 'goodoption':_goodoption,
- 'goodunit':_goodunit,
- 'goodweight':_goodweight,
- 'realprice':_realprice,
- 'goodsprice':_goodsprice,
- 'dispatchprice':_dispatchprice,
- 'discountprice':_discountprice,
- 'deductprice':_deductprice,
- 'vipdiscount':_vipdiscount,
- 'deductenough':_changeprice,'changedispatchprice':_changedispatchprice,'couponprice':_couponprice,
- 'price':_price
- };
- return info;
- }
- function getOrderIds()
- {
- let orderIds = [];
- $('.oneChange').each(function () {
- var _thisState = $(this).is(":checked");
- var _orderIds = $(this).data('orderids');
- if(_thisState){
- orderIds.push(_orderIds);
- }
- });
- return orderIds;
- }
- function saveSenderAll(data){
- // ajax 执行写入数据库
- $.ajax({
- type: 'POST',
- url: "{!! yzWebUrl('plugin.exhelper.admin.print-once.saveAddress') !!}",
- data: {
- realname:data.rep_realName,
- mobile:data.rep_mobile,
- province:data.rep_province,
- city:data.rep_city,
- area:data.rep_area,
- address:data.rep_address,
- ordersns:data.rep_ordersn.split(','),
- },
- dataType:'json',
- success: function (result){
- if(result.result=='error'){
- alert(result.resp);
- }
- }
- });
- }
- function printElectronics() {
- var orderIds = getOrderIds();
- var htmtList;
- var errors;
- var zipCode = prompt("发件地邮编(快递是EMS、邮政的必填否则报错,不是可不填)");
- $.ajax({
- type: 'POST',
- url: "{!! yzWebUrl('plugin.exhelper.admin.panel.print-electronics') !!}",
- data: {
- order_ids: orderIds,
- zip_code: zipCode,
- },
- dataType: 'json',
- success: function (result) {
- var data = result.data;
- if (result.result == 1) {
- htmtList = data.html_list;
- errors = data.errors;
- printStart(htmtList);
- alertError(errors);
- } else {
- cancel('推送失败。错误原因:' + result.msg);
- return;
- }
- }
- });
- }
- /**
- * 开始打印电子面单
- * @param htmtList
- */
- function printStart(htmtList)
- {
- var htmlListCount = htmtList.length;
- htmtList.forEach((html, htmlIdx) => {
- LODOP.PRINT_INITA(0, 0, "100mm", "150mm", "单据打印");
- LODOP.NewPageA();
- LODOP.SET_PRINT_PAGESIZE(1, "80mm", "130mm", "");
- LODOP.SET_PRINT_MODE("AUTO_CLOSE_PREWINDOW", true);
- LODOP.ADD_PRINT_HTM('0mm', '0mm', '150mm', '150mm', html);
- //选择默认的打印机
- LODOP.SET_PRINTER_INDEX(-1)
- //获取打印状态
- if (LODOP.CVERSION) {
- if(LODOP.PRINT()){
- if(htmlListCount == (htmlIdx + 1)){
- console.log('打印完成!')
- successHander();
- }
- }else{
- alert("打印已取消");
- return;
- }
- }
- })
- }
- /**
- * 打印错误的电子面单返回数据
- * @param alertError
- */
- function alertError(alertError)
- {
- var html = '';
- $("#errorMsg").html('');
- if(alertError.length > 0){
- alertError.forEach(error => {
- html += `
- <tr>
- <td>${error.order_sn}</td>
- <td style="width:50%;white-space:normal;word-wrap:break-word;word-break:break-all;">${error.msg}</td>
- </tr>
- `
- })
- $("#errorMsg").append(html);
- $('#errorModal').modal('show')
- }
- }
- </script>
- @endsection
|