col_prefix.'custom_mark']; $custom_mark = kernel::single('ome_func')->format_memo($custom_mark); foreach ((array)$custom_mark as $k=>$v){ $html .= $v['op_content'].' '.$v['op_time'].' by '.$v['op_name']."
"; } $html = strip_tags(htmlspecialchars($html)); return "
".strip_tags(htmlspecialchars($custom_mark[$k]['op_content']))."
"; } var $column_customer_add='客服备注'; var $column_customer_add_width = "100"; function column_customer_add($row){ $mark_text = $row[$this->col_prefix.'mark_text']; $mark_text = kernel::single('ome_func')->format_memo($mark_text); foreach ((array)$mark_text as $k=>$v){ $html .= $v['op_content'].' '.$v['op_time'].' by '.$v['op_name']."
"; } $html = strip_tags(htmlspecialchars($html)); return "
".strip_tags(htmlspecialchars($mark_text[$k]['op_content']))."
"; } function detail_basic($order_id){ $render = app::get('archive')->render(); $oOrders = app::get('archive')->model('orders'); $order_detail = $oOrders->dump(array('order_id'=>$order_id),'*'); $order_detail['is_encrypt'] = kernel::single('ome_security_router',$order_detail['shop_type'])->show_encrypt($order_detail, 'order'); if($_POST) { if ($_POST['is_flag']) { //开票提交业务处理 $this->submit_invoice($_POST); } } $oRefund = app::get('ome')->model('refund_apply'); $render->pagedata['shop_name'] = ome_shop_type::shop_name($order_detail['shop_type']); $order_detail['mark_text'] = kernel::single('ome_func')->format_memo($order_detail['mark_text']); $order_detail['custom_mark'] = kernel::single('ome_func')->format_memo($order_detail['custom_mark']); $render->pagedata['total_amount'] = floatval($order_detail['total_amount']); $render->pagedata['payed'] = floatval($order_detail['payed']); $oMembers = app::get('ome')->model('members'); $member_id = $order_detail['member_id']; $member = $oMembers->dump($member_id); $member['is_encrypt'] = kernel::single('ome_security_router',$order_detail['shop_type'])->show_encrypt($member, 'member'); $render->pagedata['member'] = $member; if($order_detail['shipping']['is_cod'] == 'true'){ $orderExtendObj = app::get('ome')->model('order_extend'); $extendInfo = $orderExtendObj->dump($order_id); $order_detail['receivable'] = $extendInfo['receivable']; } $render->pagedata['invoice_app_install'] = false; if(app::get('invoice')->is_installed()){ $this->submit_invoice_show($order_detail); $render->pagedata['invoice_app_install'] = true; } $render->pagedata['order'] = $order_detail; $render->pagedata['is_show_button'] = app::get('ome')->getConf('archive_order_detail_show_button'); return $render->fetch('order/detail_basic.html'); } private function submit_invoice_show(&$order_detail){ //发票相关 获取是否有订单相关的发票信息 有的话取最新一条发票信息 $rs_invoice_info = kernel::single('invoice_common')->getInvoiceInfoByOrderId($order_detail['order_id']); if($rs_invoice_info){ //有过订单的发票信息 $order_detail['has_invoice'] = true; $order_detail['invoice_status_text'] = kernel::single('invoice_common')->getIsStatusText($rs_invoice_info[0]['is_status']); $order_detail['invoice_mode_text'] = kernel::single('invoice_common')->getModeText($rs_invoice_info[0]['mode']); }else{ //没有过订单的发票信息 $order_detail['has_invoice'] = false; } //没有过发票信息的 或者 有过发票信息的&&最新一条发票记录为已作废状态的 可以去选择纸质/电子生成新的此订单的发票信息 $order_detail['add_invoice'] = false; if( !$order_detail['has_invoice'] || ($order_detail['has_invoice'] && intval($rs_invoice_info[0]['is_status']) == 2) ){ $order_detail['add_invoice'] = true; } } //开票提交业务处理 private function submit_invoice($post_data){ $oOrders = app::get('archive')->model('orders'); $oOperation_log = app::get('ome')->model('operation_log'); //更新订单is_tax字段 并记下log $update_arr = array('order_id'=>$_POST['order_id'],"is_tax"=>$_POST['is_tax']); if($_POST['is_tax'] == 'true'){ $order_is_tax_part = "要开票"; $invoiceMdl = app::get('ome')->model('order_invoice'); $oldInvoice = $invoiceMdl->db_dump(array('order_id'=>$_POST['order_id'])); if(($_POST['tax_no']!=$oldInvoice['tax_no'])||($_POST['tax_title']!=$oldInvoice[0]['tax_company'])){ $order_is_tax_part .= ',录入及变更发票号或抬头'; } $upInvoice = array('order_id'=>$_POST['order_id']); if(isset($_POST['tax_title'])){ $upInvoice['tax_title'] = $_POST['tax_title']; } if(isset($_POST['tax_no'])){ $upInvoice['tax_no'] = $_POST['tax_no']; } if(isset($_POST['invoice_mode'])) { $upInvoice['invoice_kind'] = $_POST['invoice_mode']; } if($oldInvoice) { $invoiceMdl->update($upInvoice, array('id'=>$oldInvoice['id'])); } else { $upInvoice['create_time'] = time(); $invoiceMdl->insert($upInvoice); } }else{ $order_is_tax_part = "不要开票"; } $oOrders->save($update_arr); $rs_is_tax = $order_is_tax_log = "订单更新为".$order_is_tax_part; if($rs_is_tax){ $oOperation_log->write_log('order_modify@ome',$_POST['order_id'],$order_is_tax_log); $arr_create_invoice = array( 'order_id'=>$_POST['order_id'], 'is_tax' => $_POST['is_tax'], 'source_status' => 'TRADE_FINISHED' ); kernel::single('invoice_order_front_router', 'b2c')->operateTax($arr_create_invoice); } } function detail_goods($order_id){ $render = app::get('archive')->render(); $archive_ordObj = kernel::single('archive_interface_orders'); $item_list = $archive_ordObj->getItemList($order_id,true); //销售价权限验证 $showSalePrice = true; if (!kernel::single('desktop_user')->has_permission('sale_price')) { $showSalePrice = false; } $configlist = array(); if ($servicelist = kernel::servicelist('ome.service.order.products')) foreach ($servicelist as $object => $instance){ if (method_exists($instance, 'view_list')){ $list = $instance->view_list(); $configlist = array_merge($configlist, is_array($list) ? $list : array()); } } $render->pagedata['show_sale_price'] = $showSalePrice; $render->pagedata['configlist'] = $configlist; $render->pagedata['item_list'] = $item_list; return $render->fetch('order/detail_goods.html'); } function detail_pmt($order_id){ $render = app::get('archive')->render(); $oOrder_pmt = app::get('ome')->model('order_pmt'); $ordersObj = app::get('archive')->model('orders'); //订单信息 $orderInfo = $ordersObj->dump(array('order_id'=>$order_id), 'order_bn,shop_type'); $render->pagedata['orderInfo'] = $orderInfo; //优惠券信息 $pmts = $oOrder_pmt->getList('*',array('order_id'=>$order_id)); $render->pagedata['pmts'] = $pmts; if(in_array($orderInfo['shop_type'], ['taobao','360buy'])) { $couponOrder = app::get('ome')->model('order_coupon')->getList('type,type_name as pmt_describe,total_amount as pmt_amount, oid,material_bn', array('order_id'=>$order_id)); $title = ['oid'=>'子单号','material_bn'=>'物料编号']; $pmts = []; foreach($couponOrder as $v) { $index = $v['oid'].$v['material_bn']; $pmtIndex = $v['pmt_describe'] . ($v['type'] ? '('.$v['type'].')' : ''); $pmts[$index]['oid'] = $v['oid']; $pmts[$index]['material_bn'] = $v['material_bn']; $pmts[$index][$pmtIndex] = $v['pmt_amount']; $title[$pmtIndex] = $pmtIndex; } $render->pagedata['title'] = $title; $render->pagedata['pmts'] = $pmts; return $render->fetch('order/tmjd/detail_pmt.html'); } return $render->fetch('order/detail_pmt.html'); } function detail_delivery($order_id){ $render = app::get('archive')->render(); $oDelivery =kernel::single('archive_interface_delivery'); $delivery_detail = $oDelivery->get_delivery($order_id); $status_text = array ('succ' => '已发货','failed' => '发货失败','cancel' => '已取消','progress' => '等待配货','timeout' => '超时','ready' => '等待配货','stop' => '暂停','back' => '打回','return_back'=>'追回'); foreach ($delivery_detail as &$delivery ) { $delivery['status_text'] = $status_text[$delivery['status']]; } $render->pagedata['delivery_detail'] = $delivery_detail; $oReship = app::get('ome')->model('reship'); $reship = $oReship->getList('t_begin,reship_id,reship_bn,return_logi_no,ship_name,delivery',array('order_id'=>$order_id)); $arReshipMdl = app::get('archive')->model('reship'); $arreship = $arReshipMdl->getList('t_begin,reship_id,reship_bn,return_logi_no,ship_name,delivery',array('order_id'=>$order_id)); if($arreship){ foreach($arreship as $v){ $reship[] = $v; } } $render->pagedata['reship'] = $reship; return $render->fetch('order/detail_delivery.html'); } function detail_abnormal($order_id){ $render = app::get('archive')->render(); $oAbnormal = app::get('ome')->model('abnormal'); $abnormal = $oAbnormal->getList("*",array("order_id"=>$order_id),0,-1,'abnormal_id desc'); if($abnormal){ $oAbnormal_type = app::get('ome')->model('abnormal_type'); $abnormal_type = $oAbnormal_type->getList("*"); $abnormal[0]['abnormal_memo'] = unserialize($abnormal[0]['abnormal_memo']); $render->pagedata['abnormal'] = $abnormal[0]; $render->pagedata['abnormal_type'] = $abnormal_type; $render->pagedata['order_id'] = $order_id; }else{ $render->pagedata['set_abnormal'] = false; } return $render->fetch('order/detail_abnormal.html'); } function detail_bill() { $render = app::get('ome')->render(); $oPayments = app::get('ome')->model('payments'); $oRefunds = app::get('ome')->model('refunds'); $payments = $oPayments->getList('payment_id,payment_bn,t_begin,download_time,money,paymethod',array('order_id'=>$order_id)); $refunds = $oRefunds->getList('refund_bn,t_ready,download_time,money,paymethod,payment',array('order_id'=>$order_id)); $paymentCfgModel = app::get('ome')->model('payment_cfg'); foreach ($refunds as $key=>$refund) { if ($refund['paymethod']) { $paymentCfg = $paymentCfgModel->getList('custom_name',array('id'=>$refund['payment']),0,1); $refunds[$key]['paymethod'] = $paymentCfg[0]['custom_name'] ? $paymentCfg[0]['custom_name'] : ''; } } foreach($payments as $k=>$v){ $payments[$k]['t_begin'] = date('Y-m-d H:i:s',$v['t_begin']); if($v['download_time']) $payments[$k]['download_time'] = date('Y-m-d H:i:s',$v['download_time']); } $render->pagedata['payments'] = $payments; $render->pagedata['refunds'] = $refunds; return $render->fetch('admin/order/detail_bill.html'); } function detail_refund_apply($order_id){ $render = app::get('ome')->render(); $oRefund_apply = app::get('ome')->model('refund_apply'); $refund_apply = $oRefund_apply->getList('create_time,status,money,refund_apply_bn,refunded',array('order_id'=>$order_id)); if($refund_apply){ foreach($refund_apply as $k=>$v){ $refund_apply[$k]['status_text'] = ome_refund_func::refund_apply_status_name($v['status']); } } $render->pagedata['refund_apply'] = $refund_apply; return $render->fetch('admin/order/detail_refund_apply.html'); } } ?>