test
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1 lines
20 KiB

define(["underscore","district","raty"],function(a,b){var c={editAdminRemark:function(a,b){},selectExpress:function(a,b){},editPayment:function(a,b){},adminClose:function(a,b){},send:function(a,b){},editAddress:function(a,b){},rank:function(a){}};return c.editAdminRemark=function(a,b){var c=$("#order-remark-container");return 0==c.length&&($(document.body).append('<div class="modal" id="order-remark-container">loading</div>'),c=$("#order-remark-container")),$.get("./index.php?c=order&a=order&do=get_info",{id:a},function(d){if(console.log(d),d.errno)return void util.tips(d.message);var e=d,f=' <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title">卖家备注</h4> </div> <div class="modal-body"> <textarea name="admin_remark" class="form-control" rows="5" oninput="$(this).parent().next().find(\'.js-count\').text(255 - $(this).val().length);;" onpropertychange="$(this).parent().next().find(\'.js-count\').text(255 - $(this).val().length);;" maxlength="255" placeholder="最多填写 255 字">'+e.admin_remark+'</textarea> </div> <div class="modal-footer" style="padding: 5px 15px;"> <span class="help-block pull-left"> 您还可以输入:<storng><span style="color:red; font-size:18px;" name="count" class="js-count">'+(255-e.admin_remark.length)+'</span></storng> 个字符 </span> <a class="btn btn-default js-cancel" data-dismiss="modal">取消</a> <a class="btn btn-primary js-order-remark-post">确定</a> </div> </div> </div>';c.html(f),c.find(".js-order-remark-post").off("click"),c.find(".js-order-remark-post").click(function(){var d=c.find('[name="admin_remark"]').val();$.post("./index.php?c=order&a=order&do=admin_remark",{id:a,admin_remark:d},function(a){console.log("admin-remark: ",a),a.errno?util.tips(a.message):(c.modal("hide"),$.isFunction(b)&&b(a),util.tips("订单修改备注操作成功!"))},"json")}),c.modal("show")},"json"),c},c.selectExpress=function(a,b){var c=$("#order-express-select-container");return 0==c.length&&($(document.body).append('<div class="modal fade" id="order-express-select-container" tabindex="-1" role="dialog" aria-hidden="true">loading</div>'),c=$("#order-express-select-container")),$.get("./index.php?c=order&a=order&do=select_express",{id:a.id},function(d){if(d.errno)return void util.tips(d.message);var e=d,f=' <div class="modal-dialog modal-sm"> <div class="modal-content"> <div class="modal-header" style="padding: 8px;"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <p class="modal-title">选择快递</p> </div> <div class="modal-body table-responsive" style="padding: 0; margin: 0;"> <table class="table table-hover mb0">';for(i in e){var g=e[i];f+=' <tr class="js-express-row"> <td class="text-center"><input type="radio" name="express" '+(0==i?'checked="checked"':"")+'/></td> <td class="text-center js-express-cell">'+g.name+'</td> <td class="text-center js-fee-cell">'+g.post_fee+"</td> </tr>"}f+=' </tbody> </table> </div> <div class="modal-footer"> <p class="text-left pull-left mb0" style="max-width: 210px;">重量:'+a.total_weight+" 千克<br/>地址:"+a.province+","+a.city+","+a.district+'</p> <div class="pull-right"><a class="btn btn-primary js-express-submit">确定</a></div> </div> </div> </div>',c.html(f),c.find(".js-express-row").off("click"),c.find(".js-express-row").click(function(){$(this).find(":radio").get(0).checked=!0}),c.find(".js-express-submit").off("click"),c.find(".js-express-submit").on("click",function(){if(0==c.find("input[type='radio']:checked").length)return void util.tips("请选择快递公司.");var a=c.find("input[type='radio']:checked").parent().parent(),d={express:a.find(".js-express-cell").html(),post_fee:a.find(".js-fee-cell").html()};$.isFunction(b)&&b(d),c.modal("hide")}),c.modal("show")},"json"),c},c.editPayment=function(a,b){var d=$("#order-edit-payment-container");return 0==d.length&&($(document.body).append('<div class="modal" id="order-edit-payment-container">loading</div>'),d=$("#order-edit-payment-container")),d.empty(),$.get("./index.php?c=order&a=order&do=get_info",{id:a,items:!0},function(a){if(a.errno)return void util.tips(a.message);var e=a,f='<style>#order-edit-payment-container .modal-body {max-height: 500px; overflow-y:auto;}#order-edit-payment-container .modal-body table {margin-bottom: 0; border-top:1px solid #ddd;}#order-edit-payment-container .modal-body .js-order-fee {text-align:center;}#order-edit-payment-container p {margin-bottom: 0;}#order-edit-payment-container .modal-footer button.cancel {margin-right: 5px;}</style> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title">订单:<span class="js-order-no">'+e.order_no+'</span></h4> <input type="hidden" name="id" value="'+e.id+'" /> <input type="hidden" name="express" value="'+e.express+'" /> </div> <div class="modal-body table-responsive"> <table class="table table-condensed js-order-items table-bordered"> </table> </div> <div class="modal-footer clearfix"> <button type="button" class="btn btn-primary pull-right js-order-edit-payment-submit">确定</button> <button type="button" class="btn btn-default pull-right cancel" data-dismiss="modal" >取消</button> <div class="text-left"> <p>收货地址:'+e.province+e.city+e.district+e.address+'</p> <p>买家实付:<span class="js-order-total-fee">'+e.total_fee+'</span> + <span class="js-order-post-fee" style="color:green;">'+e.post_fee+'</span> + <span class="js-order-adjust-fee" style="color:red;">'+e.adjust_fee+'</span> = <span class="js-order-payment">'+e.payment+'</span></p> <p>买家实付 = 货价 + <span style="color: green;">运费</span> + <span style="color: red;">涨价或减价</span></p> </div> </div> </div> </div>';d.html(f),f='<tr> <th class="name-cell" style="text-align:center;" colspan="2">商品</th> <th class="price-cell" style="width:120px; text-align:center;">单价/数量</th> <th class="amount-cell" style="width:120px; text-align:center;">小计(元)</th> <th class="adjust-fee-cell" style="width:120px; text-align:center;">涨价或减价</th> <th class="post-fee-cell" style="width:130px; text-align:center;">运费</th></tr>',$.each(e.items,function(a,b){f+='<tr class="goods-info">',f+=' <td class="name-cell" style="white-space:normal;"><img src="'+util.tomedia(b.thumb)+'" style="width: 50px; height:50x; "></td>',f+=' <td class="name-cell" style="white-space:normal;"><p>'+b.name+"</p><p>"+b.specification+"</p></td>",f+=' <td class="price-cell" style="text-align:center;"><p>¥'+b.price+"</p><p>x"+b.num+"</p></td>",f+=' <td class="amount-cell" style="text-align:center;">¥'+b.amount+"</td>",1>a&&(f+=' <td class="adjust-fee-cell" rowspan="'+e.items.length+'" style="text-align:center;"><input type="number" class="form-control js-order-fee js-order-adjust-fee" name="adjust_fee" value="'+e.adjust_fee+'" onkeypress="if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 || event.keyCode>57)) event.returnValue=false"/><p>&nbsp;</p><span class="hidden"><label class="checkbox-inline"><input name="discount" value="2" type="checkbox">允许买家再使用其他优惠</label></span></td>',f+=' <td class="post-fee-cell" rowspan="'+e.items.length+'" style="text-align:center;"><input type="number" class="form-control js-order-fee js-order-post-fee" name="post_fee" value="'+e.post_fee+'" onkeypress="if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 || event.keyCode>57)) event.returnValue=false"><a href="javascript:;" class="js-post-fee-free">免运费</a> | <a href="javascript:;" class="js-order-select-express">选择快递</a></td>'),f+="</tr>"}),$(".js-order-items").append(f);var g=0,h=function(){var a=$("input.js-order-post-fee").val(),b=$("input.js-order-adjust-fee").val(),c=parseFloat(e.total_fee),f=parseFloat(a),h=parseFloat(b);return g=f+h+c,0>f?($("input.js-order-post-fee").val("0.00"),valid=!1,void util.tips("快递费不能小于 0")):0>g?(valid=!1,g=0,h=0-c-f,$("input.js-order-adjust-fee").val(h),void util.tips("付款金额不能小于 0")):(d.find("span.js-order-post-fee").html(parseFloat(a).toFixed(2)),d.find("span.js-order-adjust-fee").html(parseFloat(h).toFixed(2)),void d.find("span.js-order-payment").html(parseFloat(g).toFixed(2)))};d.find(".js-post-fee-free").off("click"),d.find(".js-post-fee-free").on("click",function(){$("input.js-order-post-fee").val("0.00"),h()}),d.find(".js-order-fee").off("change"),d.find(".js-order-fee").change(function(){h()}),d.find(".js-order-select-express").off("change"),d.find(".js-order-select-express").click(function(){$modalobj=d,c.selectExpress(e,function(a){$modalobj.find("input.js-order-post-fee").val(parseFloat(a.post_fee).toFixed(2)),$modalobj.find('input[name="express"]').val(a.express),h()})}),d.find(".js-order-edit-payment-submit").off("click"),d.find(".js-order-edit-payment-submit").click(function(){!isNaN(g)&&g>=0?(postdata=util.serialize(d.find("input")),postdata.id=e.id,$.post("./index.php?c=order&a=order&do=edit_payment",postdata,function(a){a.errno?util.tips(a.message):($.isFunction(b)&&b(a),d.modal("hide"),util.tips("订单价格修改成功."))},"json")):util.tips("订单价格无法保存,请检查金额.")}),d.modal("show")},"json"),d},c.adminClose=function(a,b){var c=$("#order-cancel-container");if(0==c.length){var d='<div class="modal fade" id="order-cancel-container" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog modal-sm"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title">取消订单</h4> </div> <div class="modal-body"> <div class="input-group"> <input type="text" name="cancel-reason" class="form-control" placeholder="请填写/选择一个取消订单理由"> <div class="input-group-btn"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><span class="caret"></span></button> <ul class="dropdown-menu dropdown-menu-right js-cancel-reason" role="menu"> <li><a href="javascript:;">无法联系上买家</a></li> <li><a href="javascript:;">买家误拍或重拍了</a></li> <li><a href="javascript:;">买家无诚意完成交易</a></li> <li><a href="javascript:;">已通过银行线下汇款</a></li> <li><a href="javascript:;">已通过同城见面交易</a></li> <li><a href="javascript:;">已通过货到付款交易</a></li> <li><a href="javascript:;">已通过网上银行直接汇款</a></li> <li><a href="javascript:;">已经缺货无法交易</a></li> </ul> </div> </div> </div> <div class="modal-footer text-center"> <a class="btn btn-primary js-order-submit">确定</a>&nbsp;&nbsp;<a class="btn btn-default js-order-cancel">取消</a> </div> </div> </div></div>';$(document.body).append(d),c=$("#order-cancel-container")}c.find('input[name="cancel-reason"]').val(""),$.get("./index.php?c=order&a=order&do=get_info",{id:a},function(d){d.errno?util.tips(d.message):(c.find(".js-cancel-reason li a").off("click"),c.find(".js-cancel-reason li a").click(function(){var a=$(this).html();c.find('input[name="cancel-reason"]').val(a)}),c.find(".js-order-submit").off("click"),c.find(".js-order-submit").click(function(){var d=c.find('input[name="cancel-reason"]').val();null!=d&&d.length>0&&$.post("./index.php?c=order&a=order&do=admin_close",{id:a,cancel_reason:d},function(a){console.log(a),c.modal("hide"),a.errno?util.tips(a.message):($.isFunction(b)&&b(a),util.tips("取消订单成功."))},"json")}),c.find(".js-order-cancel").off("click"),c.find(".js-order-cancel").click(function(){c.modal("hide")}),c.modal("show"))},"json")},c.send=function(b,c){var d=$("#order-send-container");0==d.length&&($(document.body).append('<div class="modal fade" id="order-send-container" tabindex="-1" role="dialog" aria-hidden="false">loading</div>'),d=$("#order-send-container")),$.get("./index.php?c=order&a=order&do=get_info",{id:b,items:!0,logistics:!0,exclude_refund:!0,present:!0},function(e){if(e.errno)util.tips(e.message);else{console.log(e);var f=e;for(var g in f.items)f.items[g].url=util.tomedia(f.items[g].thumb);var h="";h+='<select class="form-control" name="express">';for(var g in f.logistics)h+='<option value="'+g+'" '+(g==f.express?'selected="selected"':"")+">"+f.logistics[g]+"</option>";h+="</select>";var i=' <form class="form-horizontal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title">商品发货</h4> </div> <div class="modal-body " > <div class="table-responsive" style="max-height: 300px; overflow-y:auto; border: 1px solid #ddd;"> <table class="table table-condensed table-bordered " style="margin-bottom: 0;"> <thead> <tr> <th style="width:50px;">&nbsp;</th> <th style="width:290px;">商品</th> <th style="width:120px; text-align:center;">规格</th> <th style="width:100px; text-align:center;">数量</th> </tr> </thead> <tbody> <%_.each(order.items, function(item) {%> <tr> <td><img src="<%=item.url %>" width="50" height="50"></td> <td style="white-space: normal;"><%=item.name %></td> <td class="text-center" style="white-space: normal;"><%=item.specification %></td> <td class="text-center"><%=item.num %></td> </tr> <%});%> </tbody> </table> </div> <div class="form-group mb0"> <label class="col-md-2 control-label">订单号</label> <div class="col-md-8 form-control-static"> <%=order.order_no %> </div> </div> <div class="form-group mb0"> <label class="col-md-2 control-label">收货人</label> <div class="col-md-8 form-control-static"> <%=order.realname %>, <%=order.mobile %> </div> </div> <div class="form-group mb0"> <label class="col-md-2 control-label">收货地址</label> <div class="col-md-8 form-control-static"> <%=order.province%> <%=order.city%> <%=order.district%> <%=order.address%> <%=order.zip%> </div> </div> <div class="form-group mb0"> <label class="col-md-2 control-label">物流公司</label> <div class="col-md-8 form-control-static"> '+h+' </div> </div> <div class="form-group mb0"> <label class="col-md-2 control-label">快递单号</label> <div class="col-md-8 form-control-static"> <input type="text" class="form-control" name="express_no"> </div> </div> </div> <div class="modal-footer text-right"> <button type="button" class="btn btn-default js-order-send-cancel">取消</button> <button type="button" class="btn btn-primary js-order-send-submit" order-id="'+e.id+'">确定</button> </div> </div> </div> </form>';d.html(a.template(i)({order:f})),d.find(".js-order-send-cancel").off("click"),d.find(".js-order-send-cancel").click(function(){d.modal("hide")}),d.find(".js-order-send-submit").off("click"),d.find(".js-order-send-submit").click(function(){var a=d.find('input[name="express_no"]').val(),e=d.find('select[name="express"]').val();null!=a&&a.length>0?$.post("./index.php?c=order&a=order&do=send",{id:b,express_no:a,express:e},function(a){console.log(a),d.modal("hide"),a.errno?util.tips(a.message):($.isFunction(c)&&c(a),util.tips("订单发货成功."))},"json"):util.tips("快递单号不能为空")}),d.modal("show")}},"json")},c.editAddress=function(c,d){var e=$("#js-order-address-container");return 0==e.length&&($(document.body).append('<div id="js-order-address-container" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true"></div>'),e=$("#js-order-address-container")),$.get("./index.php?c=order&a=order&do=get_info",{id:c},function(c){if(console.log("order.editAddress: ",c),c.errno)util.tips(c.message);else{var f=c,g='<style>#js-order-address-container .form-group {margin-bottom: 0;}</style> <div class="modal-dialog"> <div class="modal-content"> <form class="form-horizontal" role="form" onsubmit="return false;"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><i class="fa fa-x fa-times"></i></button> <h4 class="modal-title">修改收货信息</h4> </div> <div class="modal-body"> <div class="form-group"> <label class="col-md-3 control-label">联系地址</label> <div class="col-md-8 form-control-static"> <div class="row row-fix js-order-address"> <div class="col-md-4"> <select name="province" data-value="<%= province %>" class="form-control js-province"></select> </div> <div class="col-md-4"> <select name="city" data-value="<%= city %>" class="form-control js-city"></select> </div> <div class="col-md-4"> <select name="district" data-value="<%= district %>" class="form-control js-district"></select> </div> </div> </div> </div> <div class="form-group"> <label class="col-md-3 control-label">邮政编码</label> <div class="col-md-8 form-control-static"> <input class="form-control" type="text" value="<%= zip %>" name="zip" /> </div> </div> <div class="form-group"> <label class="col-md-3 control-label">街道地址</label> <div class="col-md-8 form-control-static"> <textarea class="form-control" rows="3" name="address"><%= address %></textarea> </div> </div> <div class="form-group"> <label class="col-md-3 control-label">收件人姓名</label> <div class="col-md-8 form-control-static"> <input class="form-control" type="text" value="<%= realname %>" name="realname" /> </div> </div> <div class="form-group"> <label class="col-md-3 control-label">手机号码</label> <div class="col-md-8 form-control-static"> <input class="form-control" type="text" value="<%= mobile %>" name="mobile" /> </div> </div> </div> <div class="modal-footer" style="text-align:center;"> <input type="submit" name="submit" value="确定" class="btn btn-primary js-submit">&nbsp;&nbsp;<a data-dismiss="modal" class="btn btn-default">取消</a> </div> </form> </div> </div>';e.html(a.template(g)(f)),e.find(".js-order-address").each(function(){var a={};a.province=$(this).find(".js-province")[0],a.city=$(this).find(".js-city")[0],a.district=$(this).find(".js-district")[0];var c={};c.province=$(a.province).attr("data-value"),c.city=$(a.city).attr("data-value"),c.district=$(a.district).attr("data-value"),b.render(a,c,{withTitle:!0})}),e.find(".js-submit").click(function(){if(postdata=util.serialize(e.find("input, select, textarea")),""==postdata.realname)return util.tips("请填写收货人"),!1;if(""==postdata.mobile)return util.tips("请填写手机号"),!1;var a=/^1\d{10}$/;return a.test(postdata.mobile)?""==postdata.province?(util.tips("请选择省"),!1):""==postdata.city?(util.tips("请选择市"),!1):""==postdata.address?(util.tips("请填写详细地址"),!1):(postdata.id=f.id,void $.post("./index.php?c=order&a=order&do=edit_address",postdata,function(a){a.errno?util.tips(a.message):(e.modal("hide"),$.isFunction(d)&&d(a),util.tips("订单地址修改成功."))},"json")):(util.tips("填写手机号有误"),!1)}),e.modal("show")}},"json"),e},c.rank=function(a){$this=$(a);var b=$this.data("order-id"),c=$this.data("rank");$this.raty({cancel:!0,cancelOn:"cancel-custom-on.png",cancelOff:"cancel-custom-off.png",cancelPlace:"left",cancelHint:"重置",hints:["1","2","3","4","5"],number:6,path:"./resource/images/",starOff:"star-off-big.png",starOn:"star-on-big.png",starType:"img",size:16,score:c,targetKeep:!0,click:function(a){b&&$.post("./index.php?c=order&a=order&do=rank",{id:b,rank:a?a:0},function(a){a.errno||util.tips("修改成功!")},"json")}})},c});