$(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: 'userName', index: 'user_name', 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: ''
};
},
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 = "
";
//小票头
content += "
";
content += ticket.ticketHead.title;
content += "
";
// content += "
";
// content += "会员:" + ticket.ticketHead.memberId;
// content += "
";
content += "
";
content += "订单号:" + ticket.ticketHead.orderId;
content += "
";
content += "
";
content += "交易时间:" + ticket.ticketHead.tradeTime;
content += "
";
content += "
--------------------------------------------------
";
//商品信息
content += "
";
content += "";
content += "商品名称 | ";
content += "单价 | ";
content += "数量 | ";
content += "小计 | ";
content += "
";
content += "
";
content += "
--------------------------------------------------
";
content += "
";
for (var i=0;i< ticket.goods.length;i++){
content += "";
content += "";
content += "";
content += "";
content += "# | ";
content += "" + ticket.goods[i].gname + " | ";
content += " ";
content += " ";
content += " | ";
content += "" + ticket.goods[i].uprice + " | ";
content += "" + ticket.goods[i].num + " | ";
content += "" + ticket.goods[i].subtotal + "元 | ";
content += "
";
}
content += "
";
content += "
--------------------------------------------------
";
//收银信息
content += "
";
content += "商品合计:";
content += "" + ticket.cashInfo.goodsTotal + "件";
content += "" + ticket.cashInfo.total + "元";
content += "
";
content += "
";
content += "实收:";
content += "" + ticket.cashInfo.receipts + "元";
content += "
";
content += "
";
content += "找零:";
content += "" + ticket.cashInfo.oddChange + "元";
content += "
";
content += "
";
content += "优惠券:";
content += "" + ticket.cashInfo.coupon + "元";
content += "
";
content += "
";
content += "运费:";
content += "" + ticket.cashInfo.freight + "元";
content += "
";
content += "
";
content += "支付渠道:";
content += "" + ticket.cashInfo.paymentMode + "";
content += "
";
content += "
--------------------------------------------------
";
//海关清单信息
content += "
";
content += "订单号:" + ticket.cusListing.orderId;
content += "
";
// content += "
";
// content += "始发地:" + ticket.cusListing.originAddress;
// content += "
";
// content += "
";
// content += "交货地:" + ticket.cusListing.deliveryAddress;
// content += "
";
content += "
--------------------------------------------------
";
content += "
";
content += ticket.ticketFoot.summary;
content += "
";
content += "
";
content += "客服电话:" + ticket.ticketFoot.serviceTel;
content += "
";
content += "
";
content += "网址:" + ticket.ticketFoot.url1;
content += "
";
content += "
";
content += ticket.ticketFoot.welcome;
content += "
";
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('
');
//});
doc.write('
' + content
+ '
');
doc.close();
var frameWindow = iframe.contentWindow;
frameWindow.close();
frameWindow.focus();
frameWindow.print();
}
var removePrintArea = function (id) {
$("iframe#" + id).remove();
};