| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331 |
- /**
- * 渲染订单列表
- */
- Order = function () {
- };
- /**
- * 设置数据集
- */
- Order.prototype.setData = function (data) {
- Order.prototype.data = data;
- };
- /**
- * 列名数据
- */
- Order.prototype.cols = [
- {
- type: 'checkbox',
- fixed: 'left',
- width: '3%',
- merge: true,
- template: function (orderitem, order) {
- var json = {}
- json.order_id = order.order_id;
- json.order_no = order.order_no;
- json.full_address = order.full_address;
- if(order.order_type == 4 && order.order_data_status == 3){
- var h = '<div class="sub-selected-checkbox" data-json='+ JSON.stringify(json) +' data-id='+ order.order_id +' disabled>';
- h += '<input type="checkbox" lay-skin="primary" lay-filter="subCheckbox" name="" disabled>';
- h += '</div>';
- }else{
- var h = '<div class="sub-selected-checkbox" data-json='+ JSON.stringify(json) +' data-id='+ order.order_id +' >';
- h += '<input type="checkbox" lay-skin="primary" lay-filter="subCheckbox" name="" >';
- h += '</div>';
- }
- return h;
- }
- },
- {
- title: '<span>商品</span>',
- width: "33%",
- className: "product-info",
- template: function (orderitem, order) {
- var h = '<div class="img-block">';
- h += '<img layer-src="' + ns.img(orderitem.sku_image,'big') + '" src="' + ns.img(orderitem.sku_image,'small') + '">';
- h += '</div>';
- h += '<div class="info">';
- h += '<a href="' + ns.url("shop/order/detail", {order_id: orderitem.order_id}) + '" target="_blank" title="' + orderitem.sku_name + '" class="multi-line-hiding text-color-sub">' + orderitem.sku_name + '</a>';
- if(orderitem.sku_no){
- h += '<span class="text-tile" title="' + orderitem.sku_no + '" >' + orderitem.sku_no + '</span>';
- }
- h += '</div>';
- return h;
- }
- },
- {
- title: "单价(元) / 数量",
- width: "9%",
- align: "right",
- className: "order-price",
- template: function (orderitem, order) {
- var h = '<div style="padding-right: 15px;">';
- h += '<div>';
- h += '<span>' + orderitem.price + '</span>';
- h += '</div>';
- h += '<div>';
- h += '<span>' + orderitem.num + '件</span>';
- h += '</div>';
- h += '</div>';
- return h;
- }
- },
- {
- title: "实付金额(元)",
- width: "9%",
- align: "right",
- className: "order-money",
- merge: true,
- template: function (orderitem, order) {
- var h = '<div style="padding-right: 15px;">';
- h += '<span>' + order.order_money + '</span>';
- h += '</div>';
- return h;
- }
- },
- {
- title: "提货门店",
- width: "15%",
- align: "left",
- className: "order-money",
- merge: true,
- template: function (orderitem, order) {
- var h = '<div>';
- h += '<span>' + order.delivery_store_name + '</span>';
- h += '</div>';
- return h;
- }
- },
- {
- title: "买家/收货人",
- width: "15%",
- align: "left",
- className: "buyers",
- merge: true,
- template: function (orderitem, order) {
- var h = '';
- h += '<p>';
- h += '<a class="text-color" target="_blank" href="' + ns.url("shop/member/editmember?member_id=") + order.member_id + '">' + order.nickname + '</a>';
- h += '</p>';
- h += '<p>';
- h += '<span style="margin-left:22px;">' + order.mobile + '</span>';
- h += '</p>';
- h += '<span class="line-hiding address_box" title="' + order.full_address + ' ' + order.address + '">' + order.full_address + " " + order.address + '</span>';
- h += '<input type="text" class="address_input" id="'+ order.order_id +'_address" value="'+ order.full_address +'-'+ order.address +',收货人:'+ order.name +',手机号:'+ order.mobile +'">'
- h += '<a style="vertical-align: top" href="javascript:ns.copy(\''+ order.order_id +'_address\');" class="iconfont iconfuzhi"></a>'
- return h;
- }
- },
- {
- title: "操作",
- align: "right",
- className: "operation",
- width:"11%",
- merge: true,
- template: function (orderitem, order) {
- var url = "shop/order/detail";
- var html = '';
- var action_json = order.order_status_action;
- var action_arr = JSON.parse(action_json);
- var action = action_arr.action;
- html += '<div class="table-btn operation-type">';
- for (var k = 0; k < action.length; k++) {
- //视频号订单不能改价
- if(order.is_video_number == 1){
- if(action[k].action != "orderAdjustMoney"){
- html += '<a class="layui-btn text-color" href="javascript:orderAction(\'' + action[k].action + '\', ' + order.order_id + ')">' + action[k].title + '</a>';
- }
- }else{
- html += '<a class="layui-btn text-color" href="javascript:orderAction(\'' + action[k].action + '\', ' + order.order_id + ')">' + action[k].title + '</a>';
- }
- }
- if(order.order_type == 2 && order.order_status == 2){
- html += '<a class="layui-btn" href="javascript:storeOrderTakedelivery(' + order.order_id + ')">提货</a>';
- }
- html += '</div>';
- return html;
- }
- }
- ];
- /**
- * 渲染表头
- */
- Order.prototype.header = function (hasThead) {
- var colgroup = '<colgroup>';
- var thead = '';
- if (hasThead) thead = '<thead><tr>';
-
- for (var i = 0; i < this.cols.length; i++) {
- var align = this.cols[i].align ? "text-align:" + this.cols[i].align : "";
-
- colgroup += '<col width="' + this.cols[i].width + '">';
- if (hasThead) {
- thead += '<th style="' + align + '" class="' + (this.cols[i].className || "") + '">';
- thead += '<div class="layui-table-cell">';
- if(this.cols[i].type){
- thead += '<div class="all-selected-checkbox">';
- thead += '<input type="checkbox" lay-skin="primary" lay-filter="allCheckbox" name="">';
- thead += '</div>';
- }else{
- thead += this.cols[i].title;
- }
- thead += '</div>';
- thead += '</th>';
- }
- }
- colgroup += '</colgroup>';
- if (hasThead) thead += '</tr></thead>';
- return colgroup + thead;
- };
- /**
- * 渲染内容
- */
- Order.prototype.tbody = function () {
- var tbody = '<tbody>';
- for (var i = 0; i < this.data.list.length; i++) {
- var order = this.data.list[i];
- var orderitemList = order.order_goods;
- var pay_type_name = order.pay_type_name != '' ? order.pay_type_name : "";
- var buyer_ask_delivery_time = order.buyer_ask_delivery_time != '' ? order.buyer_ask_delivery_time : "";
- var order_type = order.order_type;
- if (i > 0) {
- //分割行
- tbody += '<tr class="separation-row">';
- tbody += '<td colspan="' + this.cols.length + '"></td>';
- tbody += '</tr>';
- }
- //订单项头部
- tbody += '<tr class="header-row">';
- tbody += '<td colspan="6">';
- tbody += '<span class="order-item-header" style="margin-right:10px;">订单号:' + order.order_no + '</span>';
- tbody += '<span class="order-item-header text-color more" style="margin-right:50px;" onclick="showMore(' + order.order_id + ')">更多';
- tbody += '<div class="more-operation" data-order-id="' + order.order_id + '">';
- tbody += '<span>支付流水号:' + order.out_trade_no + '</span>';
- tbody += '</div></span>';
- tbody += '<span class="order-item-header" style="margin-right:50px;">下单时间:' + ns.time_to_date(order.create_time) + '</span>';
-
- tbody += '<span class="order-item-header" style="margin-right:50px;">订单来源:'+ order.order_from_name + (order.is_video_number ? '(视频号)' : '') +'</span>';
- // tbody += '<span class="order-item-header" style="margin-right:50px;">订单类型:' + order.order_type_name + '</span>';
- if (pay_type_name) tbody += '<span class="order-item-header">支付方式:' + pay_type_name +'</span>';
- if (order_type == 2) {
- if (order.buyer_ask_delivery_time != '' && order.buyer_ask_delivery_time != 0) tbody += '<span class="order-item-header" style="margin-left:50px;">要求自提时间:' + (order.buyer_ask_delivery_time.indexOf('-') != -1 ? order.buyer_ask_delivery_time : ns.time_to_date(order.buyer_ask_delivery_time) ) + '</span>';
- else tbody += '<span class="order-item-header" style="margin-left:50px;">要求自提时间:立即自提</span>';
- }
- if (order_type == 3) {
- if (order.buyer_ask_delivery_time != '' && order.buyer_ask_delivery_time != 0) tbody += '<span class="order-item-header" style="margin-left:50px;">要求送达时间:' + (order.buyer_ask_delivery_time.indexOf('-') != -1 ? order.buyer_ask_delivery_time : ns.time_to_date(order.buyer_ask_delivery_time) ) + '</span>';
- else tbody += '<span class="order-item-header" style="margin-left:50px;">要求送达时间:立即送达</span>';
- }
- tbody += '</td>';
- tbody += '<td>';
- tbody += '<div class="table-btn order-list-top-line">';
- if (order.order_type == 1 && (order.order_status == 1 || order.order_status == 3 || order.order_status == 10)) {
- tbody += '<a class="layui-btn" href="javascript:printDeliverOrder(' + order.order_id + ');" >打印发货单</a>';
- // tbody += '<a href="'+ ns.url('shop/order/printOrder',{order_id:order.order_id}) +'" target="_blank" class="layui-btn">打印发货单</a>';
- }
- if (order.order_status == 0) {
- tbody += '<a class="layui-btn" href="javascript:offlinePay(' + order.order_id + ');">线下支付</a> ';
- }
- tbody += '<a class="layui-btn" href="' + ns.url("shop/order/detail", {order_id: order.order_id}) + '" target="_blank">详情</a>';
- if (order.order_status == -1) {
- tbody += '<a class="layui-btn" href="javascript:orderDelete(' + order.order_id + ');" >删除</a>';
- }
- tbody += '<a class="layui-btn" href="javascript:orderRemark(' + order.order_id + ');">备注</a> ';
- tbody += '</div>';
- tbody += '</td>';
- tbody += '</tr>';
- // tbody += '<tr class="separation-row"><td colspan="6"><hr /></td></tr>';
- var orderitemHtml = '';
- loadImgMagnify();
- for (var j = 0; j < orderitemList.length; j++) {
- var orderitem = orderitemList[j];
- orderitemHtml += '<tr class="content-row">';
- for (var k = 0; k < this.cols.length; k++) {
- if (j == 0 && this.cols[k].merge && this.cols[k].template) {
- orderitemHtml += '<td class="' + (this.cols[k].className || "") + '" align="' + (this.cols[k].align || "") + '" style="' + (this.cols[k].style || "") + '" rowspan="' + orderitemList.length + '">';
- orderitemHtml += this.cols[k].template(orderitem, order);
- orderitemHtml += '</td>';
- } else if (this.cols[k].template && !this.cols[k].merge) {
- orderitemHtml += '<td class="' + (this.cols[k].className || "") + '" align="' + (this.cols[k].align || "") + '" style="' + (this.cols[k].style || "") + '">';
- orderitemHtml += this.cols[k].template(orderitem, order);
- orderitemHtml += '</td>';
- }
- }
- orderitemHtml += '</tr>';
- }
- tbody += orderitemHtml;
- if(order.buyer_message != '') {
- //订单项底部
- tbody += '<tr class="bottom-row">';
- tbody += '<td colspan="6">';
- tbody += '<span class="order-item-header" style="margin-right:10px;">买家备注:' + order.buyer_message + '</span>';
- tbody += '</td>';
- tbody += '</tr>';
- }
- if (order.remark != '') {
- tbody += '<tr class="remark-row">';
- tbody += '<td colspan="' + this.cols.length + '">卖家备注:' + order.remark + '</td>';
- tbody += '</tr>';
- }
- }
- tbody += '</tbody>';
- return tbody;
- };
- /**
- * 渲染表格
- */
- Order.prototype.fetch = function () {
- if (this.data.list.length > 0) {
- return '<table class="layui-table layui-form">' + this.header(true) + '</table><table class="layui-table order-list-table layui-form">' + this.header(false) + this.tbody() + '</table>';
- } else {
- return '<table class="layui-table order-list-table layui-form">' + this.header(true) + '</table>' + '<div class="order-no-data-block"><ul><li><i class="layui-icon layui-icon-tabs"></i> </li><li>暂无订单</li></ul></div>';
- }
- };
- function showMore(order_id) {
- $(".more-operation[data-order-id]").hide();
- $(".more-operation[data-order-id='" + order_id + "']").show();
- $("body").click(function (e) {
- if (!$(e.target).closest(".order-item-header.more").length) {
- $(".more-operation[data-order-id='" + order_id + "']").hide();
- }
- });
- }
- $(".layui-colla-title").on("click", function(){
- if($(".layui-colla-title>i").hasClass("layui-icon-down") === false && $(".layui-colla-title>i").hasClass("layui-icon-up") === false){
- $(".layui-colla-title .put-open").html("展开");
- }else if($(".layui-colla-title>i").hasClass("layui-icon-down") === true){
- $(".layui-colla-title .put-open").html("展开");
- }else if($(".layui-colla-title>i").hasClass("layui-icon-up") === true){
- $(".layui-colla-title .put-open").html("收起");
- }
- })
|