123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542 |
- $(function () {
- let shippingStatus = getQueryString("shippingStatus");
- let payStatus = getQueryString("payStatus");
- let orderStatus = getQueryString("orderStatus");
- let orderType = getQueryString("orderType");
- let url = '../order/offilineOrderList?1';
- if (shippingStatus) {
- url += '&shippingStatus=' + shippingStatus;
- }
- if (payStatus) {
- url += '&payStatus=' + payStatus;
- }
- if (orderStatus) {
- url += '&orderStatus=' + orderStatus;
- }
- if (orderType) {
- url += '&orderType=' + orderType;
- }
- $("#jqGrid").jqGrid({
- url: url,
- datatype: "json",
- colModel: [
- {label: 'id', name: 'id', index: 'id', key: true, hidden: true},
- {label: '小票号', name: 'orderSn', index: 'order_sn', align: 'center',width: 120},
- {label: '订单号', name: 'orderSn', index: 'order_sn', align: 'center',width: 120},
- {label: '门店地址', name: 'storeName', index: 'storeName', align: 'center',width: 150},
- {label: '操作店员', name: 'userName', index: 'userName', align: 'center',width: 80},
- {
- label: '订单状态', name: 'orderStatus', index: 'order_status', align: 'center',width: 180,
- formatter: function (value) {
- if (value == '0') {
- return '订单创建成功等待付款';
- } else if (value == '100') {
- return '订单付款中';
- } else if (value == '101') {
- return '订单已取消';
- } else if (value == '102') {
- return '订单已删除';
- } else if (value == '201') {
- return '订单已付款';
- } else if (value == '300') {
- return '订单已发货';
- } else if (value == '301') {
- return '用户确认收货';
- } else if (value == '401') {
- return '没有发货,退款';
- } else if (value == '402') {
- return '已收货,退款退货';
- }
- return value;
- }
- },
- {label: '订单总价', name: 'orderPrice', index: 'order_price',align: 'center', width: 80},
- {
- label: '下单时间', name: 'addTime', index: 'add_time', width: 140,align: 'center',
- formatter: function (value) {
- return transDate(value, 'yyyy-MM-dd hh:mm:ss');
- }
- },
- {
- label: '付款时间', name: 'payTime', index: 'pay_time', width: 140, align: 'center',
- formatter: function (value) {
- return transDate(value, 'yyyy-MM-dd hh:mm:ss');
- }
- }
- ],
- viewrecords: true,
- height: 675,
- rowNum: 10,
- rowList: [10, 30, 50],
- rownumbers: true,
- rownumWidth: 25,
- autowidth: true,
- shrinkToFit: false,
- autoScroll: true, //开启水平滚动条
- width: 1500,
- pager: "#jqGridPager",
- jsonReader: {
- root: "page.list",
- page: "page.currPage",
- total: "page.totalPage",
- records: "page.totalCount"
- },
- prmNames: {
- page: "page",
- rows: "limit",
- order: "order"
- },
- gridComplete: function () {
- $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "scroll"});
- }
- });
- });
- let vm = new Vue({
- el: '#rrapp',
- data: {
- showDiv: 1, // 1查询 2编辑 3发货 4选择骑手 5退款
- title: null,
- order: {},
- shippings: [],
- q: {
- orderSn: '',
- orderStatus: '',
- orderType: ''
- },
- refundMoney: 0,
- shipping: {},
- logisticsInfo: {
- tracesList: [],
- logisticCode: '',
- shipperCode: ''
- },
- macros: [],
- orderProcessRecordEntity: {},
- orderGoodsList: [],
- payRecordList:[]
- },
- methods: {
- query: function () {
- vm.reload(1);
- },
- getMacro: function () {
- $.get("../sys/macro/queryMacrosByValue?value=goodsBizType", function (r) {
- vm.macros = r.list;
- });
- },
- shippingChange: function (opt) {
- vm.order.shippingName = opt.label;
- vm.order.shippingCode = opt.value;
- },
- saveOrUpdate: function (event) {
- $.ajax({
- type: "POST",
- url: '../order/sendGoods',
- contentType: "application/json",
- data: JSON.stringify(vm.order),
- success: function (r) {
- if (r.code === 0) {
- alert('操作成功', function (index) {
- vm.reload();
- });
- } else {
- alert(r.msg);
- }
- }
- });
- },
- reload: function (event) {
- vm.showDiv = 1;
- let page = event;
- if (event != 1) {
- page = $("#jqGrid").jqGrid('getGridParam', 'page');
- }
- $("#jqGrid").jqGrid('setGridParam', {
- postData: {
- 'orderSn': vm.q.orderSn,
- 'orderStatus': vm.q.orderStatus,
- 'orderType': vm.q.orderType
- },
- page: page
- }).trigger("reloadGrid");
- },
- reloadSearch: function () {
- vm.q = {
- orderSn: '',
- orderStatus: '',
- orderType: ''
- };
- vm.reload(1);
- },
- lookDetail: function (rowId) { //第三步:定义编辑操作
- vm.showDiv = 2;
- vm.title = "订单详情";
- $.get("../order/offlineInfos/" + rowId, function (r) {
- vm.order = r.order;
- vm.orderGoodsList = r.order.orderGoodsEntityList;
- vm.payRecordList = r.order.payRecordList;
- });
- vm.getMacro();
- },
- printDetail: function (rowId) {
- confirm('确定连接打票机打印出票?', function () {
- $.ajax({
- type: "POST",
- url: "../order/printMsg",
- contentType: "application/json",
- data: JSON.stringify(rowId),
- success: function (r) {
- if (r.ticket != null) {
- // printArea(r.ticket);
- var content = getPrintContent(r.ticket);
- printArea(content);
- alert('打印小票完成');
- }else{
- alert("打印小票失败");
- }
- }
- });
- })
- },
- confirm: function (event) {
- let id = getSelectedRow();
- if (id == null) {
- return;
- }
- var rowData = $("#jqGrid").jqGrid('getRowData', id);
- if(rowData.orderStatus == '订单已付款'){
- alert('该订单已支付');
- }else if(rowData.orderStatus == '订单已取消'){
- alert('该订单已取消');
- }else if(rowData.orderStatus == '订单已删除'){
- alert('该订单已删除');
- }else {
- confirm('确定付款?', function () {
- $.ajax({
- type: "POST",
- url: "../order/confirmPay",
- contentType: "application/json",
- data: JSON.stringify(id),
- dataType: "json",
- success: function (r) {
- if (r.code == 0) {
- alert('操作成功', function (index) {
- $("#jqGrid").trigger("reloadGrid");
- });
- } else {
- alert(r.msg);
- }
- }
- });
- });
- }
- },
- showInputAuthCode: function (event) {
- let id = getSelectedRow();
- if (id == null) {
- return;
- }
- var rowData = $("#jqGrid").jqGrid('getRowData', id);
- if(rowData.orderStatus == '订单已付款'){
- alert('该订单已支付');
- }else if(rowData.orderStatus == '订单已取消'){
- alert('该订单已取消');
- }else if(rowData.orderStatus == '订单已删除'){
- alert('该订单已删除');
- }else{
- var layer_index = layer.prompt({title: '请输入微信付款码',
- formType: 3, //隐藏用户输入内容
- // 这个是确定按钮的事件
- "success":function(layero,index){
- // 键盘事件,判断回车
- $("input.layui-layer-input").on('keydown',function(e){
- if (e.which == 13) {
- var authCode = $(this).val();
- if (authCode == null || authCode == "") {
- iview.Message.error("请输入微信付款码");
- return;
- }
- layer.close(layer_index);
- var msg_index = layer.msg('支付中', {
- icon: 16
- ,shade: 0.01
- });
- wxPay(authCode,id,msg_index);
- }
- });
- },
- // 点击确定按钮事件
- yes : function(index,layero){
- // 取输入框数据
- var authCode =$(document.getElementsByClassName('layui-layer-input')[0]).val();
- if (authCode == null || authCode == "") {
- iview.Message.error("请输入微信付款码");
- return;
- }
- layer.close(layer_index);
- var msg_index = layer.msg('支付中', {
- icon: 16,
- shade: 0.01
- });
- wxPay(authCode,id,msg_index);
- }
- });
- }
- // layer.prompt({title: '请输入微信付款码', formType: 3}, function(pass, index){
- // var authCode= pass;
- // if (authCode == null || authCode == "") {
- // iview.Message.error("请输入微信付款码");
- // return;
- // }
- //
- // $.ajax({
- // type: "POST",
- // url: '../order/wxMicropayPay',
- // data: {auth_code: authCode, id: id},
- // success: function (r) {
- // if (r.code === 0) {
- // alert('支付成功', function (index) {
- // vm.reload();
- // });
- // } else {
- // alert(r.msg);
- // }
- // }
- // });
- //
- // layer.close(index);
- // });
- },
- refundUpdate: function (rowId) {
- let params = {};
- params.orderId = rowId;
- confirm("确认退款吗?",function () {
- $.ajax({
- type: "POST",
- url: '../order/offilineRefund',
- data: params,
- success: function (r) {
- if (r.code === 0) {
- alert('退款成功', function (index) {
- vm.reload();
- });
- } else {
- alert(r.msg);
- }
- }
- });
- })
- },
- shippingBind: function (event) {
- let orderId = vm.order.id;
- $.ajax({
- type: "POST",
- url: '../order/shippingBind',
- data: {orderId: orderId, shippingCode: vm.shipping},
- success: function (r) {
- if (r.code === 0) {
- alert('操作成功', function (index) {
- vm.reload();
- });
- } else {
- alert(r.msg);
- }
- }
- });
- },
- refund: function (rowId) {
- vm.showDiv = 5;
- vm.refundMoney = 0;
- Ajax.request({
- url: "../order/info/" + rowId,
- async: true,
- successCallback: function (r) {
- vm.order = r.order;
- vm.refundMoney = r.order.actualPrice;
- }
- });
- },
- cancelUpdate: function (rowId) {
- let params = {};
- params.orderId = rowId;
- confirm("是否取消订单?",function(){
- $.ajax({
- type: "POST",
- url: '../order/cancel',
- data: params,
- success: function (r) {
- if (r.code === 0) {
- alert('取消成功', function (index) {
- vm.reload();
- });
- } else {
- alert(r.msg);
- }
- }
- });
- });
- }
- },
- created: function () {
- $.get("../shipping/queryAll", function (r) {
- vm.shippings = r.list;
- });
- }
- });
- function getPrintContent(ticket) {
- var content = "<div style=\"width: 250px;font-family: 微软雅黑;font-size: 8px;\">";
- //小票头
- content += "<div style=\"text-align: center;width: 100%;font-weight:bold;font-size: 13px;\">";
- content += ticket.ticketHead.title;
- content += "</div>";
- // content += "<div style=\"width: 100%;\">";
- // content += "会员:" + ticket.ticketHead.memberId;
- // content += "</div>";
- content += "<div style=\"width: 100%;\">";
- content += "订单号:" + ticket.ticketHead.orderId;
- content += "</div>";
- content += "<div style=\"width: 100%;\">";
- content += "交易时间:" + ticket.ticketHead.tradeTime;
- content += "</div>";
- content += "<div style=\"width: 100%;overflow:hidden;white-space: nowrap;\">--------------------------------------------------</div>";
- //商品信息
- content += "<table style=\"width: 100%;\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
- content += "<tr>";
- content += "<td style=\"width: 50%;text-align: left;font-size: 10px;font-weight: bold;\">商品名称</td>";
- content += "<td style=\"width: 17%;text-align: right;font-size: 10px;font-weight: bold;\">单价</td>";
- content += "<td style=\"width: 15%;text-align: right;font-size: 10px;font-weight: bold;\">数量</td>";
- content += "<td style=\"width: 18%;text-align: right;font-size: 10px;font-weight: bold;\">小计</td>";
- content += "</tr>";
- content += "</table>";
- content += "<div style=\"width: 100%;overflow:hidden;white-space: nowrap;\">--------------------------------------------------</div>";
- content += "<table style=\"width: 100%;\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
- for (var i=0;i< ticket.goods.length;i++){
- content += "<tr>";
- content += "<td style=\"width: 50%;text-align: left;font-size: 8px;padding-top: 8px;\">";
- content += "<table style=\"width: 100%;\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
- content += "<tr>";
- content += "<td style=\"text-align: left;font-size: 8px;vertical-align:top;\">#</td>";
- content += "<td style=\"text-align: left;font-size: 8px;\">" + ticket.goods[i].gname + "</td>";
- content += "</tr>";
- content += "</table>";
- content += "</td>";
- content += "<td style=\"width: 17%;text-align: right;font-size: 8px;vertical-align:bottom;padding-top: 8px;\">" + ticket.goods[i].uprice + "</td>";
- content += "<td style=\"width: 15%;text-align: right;font-size: 8px;vertical-align:bottom;padding-top: 8px;\">" + ticket.goods[i].num + "</td>";
- content += "<td style=\"width: 18%;text-align: right;font-size: 8px;vertical-align:bottom;padding-top: 8px;\">" + ticket.goods[i].subtotal + "元</td>";
- content += "</tr>";
- }
- content += "</table>";
- content += "<div style=\"width: 100%;overflow:hidden;white-space: nowrap;\">--------------------------------------------------</div>";
- //收银信息
- content += "<div style=\"width: 100%;\">";
- content += "<span style=\"float: left;width: 50%;text-align: left;\">商品合计:</span>";
- content += "<span style=\"float: left;width: 17%;text-align: left;\">" + ticket.cashInfo.goodsTotal + "件</span>";
- content += "<span style=\"float: right;width: 33%;text-align: right;\">" + ticket.cashInfo.total + "元</span>";
- content += "</div>";
- content += "<div style=\"width: 100%;\">";
- content += "<span style=\"float: left;width: 50%;text-align: left;\">实收:</span>";
- content += "<span style=\"float: right;width: 50%;text-align: right;\">" + ticket.cashInfo.receipts + "元</span>";
- content += "</div>";
- content += "<div style=\"width: 100%;\">";
- content += "<span style=\"float: left;width: 50%;text-align: left;\">找零:</span>";
- content += "<span style=\"float: right;width: 50%;text-align: right;\">" + ticket.cashInfo.oddChange + "元</span>";
- content += "</div>";
- content += "<div style=\"width: 100%;\">";
- content += "<span style=\"float: left;width: 50%;text-align: left;\">优惠券:</span>";
- content += "<span style=\"float: right;width: 50%;text-align: right;\">" + ticket.cashInfo.coupon + "元</span>";
- content += "</div>";
- content += "<div style=\"width: 100%;\">";
- content += "<span style=\"float: left;width: 50%;text-align: left;\">运费:</span>";
- content += "<span style=\"float: right;width: 50%;text-align: right;\">" + ticket.cashInfo.freight + "元</span>";
- content += "</div>";
- content += "<div style=\"width: 100%;\">";
- content += "<span style=\"float: left;width: 50%;text-align: left;\">支付渠道:</span>";
- content += "<span style=\"float: right;width: 50%;text-align: right;\">" + ticket.cashInfo.paymentMode + "</span>";
- content += "</div>";
- content += "<div style=\"width: 100%;overflow:hidden;white-space: nowrap;\">--------------------------------------------------</div>";
- //海关清单信息
- content += "<div style=\"width: 100%;\">";
- content += "订单号:" + ticket.cusListing.orderId;
- content += "</div>";
- // content += "<div style=\"width: 100%;\">";
- // content += "始发地:" + ticket.cusListing.originAddress;
- // content += "</div>";
- // content += "<div style=\"width: 100%;\">";
- // content += "交货地:" + ticket.cusListing.deliveryAddress;
- // content += "</div>";
- content += "<div style=\"width: 100%;overflow:hidden;white-space: nowrap;\">--------------------------------------------------</div>";
- content += "<div style=\"width: 100%;\">";
- content += ticket.ticketFoot.summary;
- content += "</div>";
- content += "<div style=\"width: 100%;\">";
- content += "客服电话:" + ticket.ticketFoot.serviceTel;
- content += "</div>";
- content += "<div style=\"width: 100%;\">";
- content += "网址:" + ticket.ticketFoot.url1;
- content += "</div>";
- content += "<div style=\"width: 100%;\">";
- content += ticket.ticketFoot.welcome;
- content += "</div>";
- return content;
- }
- function wxPay(authCode,id,msg_index){
- $.ajax({
- type: "POST",
- url: '../order/wxMicropayPay',
- data: {auth_code: authCode, id: id},
- success: function (r) {
- layer.close(msg_index);
- if (r.code === 0) {
- alert('支付成功', function (index) {
- vm.reload();
- });
- } else {
- alert(r.msg);
- }
- }
- });
- }
- var printAreaCount = 0;
- function printArea(content) {
- var idPrefix = "printArea_";
- removePrintArea(idPrefix + printAreaCount);
- printAreaCount++;
- var iframeId = idPrefix + printAreaCount;
- var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
- iframe = document.createElement('IFRAME');
- $(iframe).attr({
- style: iframeStyle,
- id: iframeId
- });
- document.body.appendChild(iframe);
- var doc = iframe.contentWindow.document;
- doc.open();
- //$(document).find("link").filter(function () {
- //return $(this).attr("rel").toLowerCase() == "stylesheet";
- //}).each(
- //function () {
- //doc.write('<link type="text/css" rel="stylesheet" href="'
- //+ $(this).attr("href") + '" >');
- //});
- doc.write('<div class="">' + content
- + '</div>');
- doc.close();
- var frameWindow = iframe.contentWindow;
- frameWindow.close();
- frameWindow.focus();
- frameWindow.print();
- }
- var removePrintArea = function (id) {
- $("iframe#" + id).remove();
- };
|