column_edit); } } public $column_edit = "操作"; public $column_edit_width = "80"; public $column_edit_order = "-1"; function column_edit($row) { $ret = ' 操作'; return $ret; } var $addon_cols = "skuNum,itemNum,bnsContent,delivery_id,status,process_status,print_status,order_createtime,outer_delivery_bn"; //单据状态 var $column_status = "单据状态"; var $column_status_width = "80"; function column_status($row){ $status = $row[$this->col_prefix.'status']; switch($status){ case 0: return '处理中'; break; case 1: return '取消'; break; case 2: return '暂停'; break; case 3: return '已完成'; break; } } //处理状态 var $column_process_status = "处理状态"; var $column_process_status_width = "80"; function column_process_status($row){ $process_status = $row[$this->col_prefix.'process_status']; $tmp_status = '未打印'; if(($process_status & 1) == 1){ $tmp_status = '已打印'; } if(($process_status & 2) == 2){ $tmp_status = '已校验'; } if(($process_status & 4) == 4){ $tmp_status = '已称重打包'; } if(($process_status & 8) == 8){ $tmp_status = '已物流交接'; } return $tmp_status; } //打印状态 var $column_print_status = "打印状态"; var $column_print_status_width = "80"; function column_print_status($row){ $print_status = $row[$this->col_prefix.'print_status']; $stock = false; $deliv = false; $expre = false; if(($print_status & 1) == 1){ $stock = true; } if(($print_status & 2) == 2){ $deliv = true; } if(($print_status & 4) == 4){ $expre = true; } $stockColor = ($stock == 'true') ? 'green' : '#eeeeee'; $delivColor = ($deliv == 'true') ? 'red' : '#eeeeee'; $expreColor = ($expre == 'true') ? '#9a6913' : '#eeeeee'; $ret = $this->getViewPanel('备货单', $stockColor); $ret .= $this->getViewPanel('发货单', $delivColor); $ret .= $this->getViewPanel('快递单', $expreColor); return $ret; } private function getViewPanel($caption, $color) { if ($color == '#eeeeee') $caption .= '未打印'; else $caption .= '已打印'; return sprintf("
 %s 
", $color, $caption, $caption, substr($caption, 0, 3)); } var $column_create = "下单距今"; var $column_create_width = "100"; var $column_create_order_field= 'order_createtime'; function column_create($row) { $time = $row[$this->col_prefix . 'order_createtime']; $difftime = kernel::single('ome_func')->toTimeDiff(time(), $time); $status = $row[$this->col_prefix . 'status']; $days = $difftime['d']; $html .= $difftime['d']?$difftime['d']. '天':''; $html .= $difftime['h']?$difftime['h'] . '小时':''; $html .= $difftime['m']?$difftime['m'] . '分':''; if ($status != 3) { if ($days >= 7) { $ret = "
超过一周
"; } elseif ($days >= 1) { $ret = "
" . $html . "
"; } else { $ret = "
" . $html . "
"; } } else { $ret = "
完成
"; } return $ret; } var $column_beartime = "成单时间"; var $column_beartime_width = '140'; var $column_beartime_order_field= 'order_createtime'; public function column_beartime($row) { return $row[$this->col_prefix . 'order_createtime'] ? date('Y-m-d H:i:s',$row[$this->col_prefix . 'order_createtime']) : '-'; } var $column_content = "订单内容"; var $column_content_width = "160"; function column_content($row) { $skuNum = $row[$this->col_prefix . 'skuNum']; $itemNum = $row[$this->col_prefix . 'itemNum']; $content = $row[$this->col_prefix . 'bnsContent']; $cnts = unserialize($content); $cnt = sprintf("共有 %d 种商品,总共数量为 %d 件, 具体 SKU 为: %s", $skuNum, $itemNum, @implode(', ', $cnts)); @reset($cnts); $content = $cnts[@key($cnts)]; if ($skuNum >1) { $content .= ' 等'; } return sprintf("(%d / %d) %s",$cnt, $cnt, $skuNum, $itemNum, $content); } var $column_product_name = "货品名称"; var $column_product_name_width = "160"; function column_product_name($row,$list) { $skuNum = $row[$this->col_prefix . 'skuNum']; $itemNum = $row[$this->col_prefix . 'itemNum']; $content = $row[$this->col_prefix . 'bnsContent']; $productName = $this->_getMaterialNames($list); $cnts = unserialize($content); $product_id = array_keys($cnts); foreach ($product_id as $pid) { $names[] = $productName[$pid]; } $cnt = sprintf("共有 %d 种商品,总共数量为 %d 件, 具体 名称 为: %s", $skuNum, $itemNum, @implode(', ', $names)); @reset($names); $content = $names[@key($names)]; if ($skuNum >1) { $content .= ' 等'; } return sprintf(" %s",$cnt, $cnt, $content); } /* * 获取商品名称 */ public function _getMaterialNames($list) { static $newData; if (isset($newData)) { return $newData; } $bm_id = array(); foreach ($list as $key => $value) { $cnts = unserialize($value[$this->col_prefix .'bnsContent']); $bm_id = array_unique(array_merge($bm_id,array_keys($cnts))); } $filter['bm_id'] = $bm_id; $productList = app::get('material')->model('basic_material')->getList('bm_id,material_name',$filter); foreach ($productList as $v) { $newData[$v['bm_id']] = $v['material_name']; } return $newData; } var $column_deliveryNumInfo = "物流单号"; var $column_deliveryNumInfo_width = "160"; function column_deliveryNumInfo($row){ $deliveryBillObj = app::get('wap')->model('delivery_bill'); $deliveryBillInfo = $deliveryBillObj->dump(array('delivery_id'=>$row['delivery_id'],'type'=>1),'logi_no'); return isset($deliveryBillInfo['logi_no']) ? $deliveryBillInfo['logi_no'] : ''; } function row_style($row){ $style=''; if($row[$this->col_prefix.'is_cod'] == 'true'){ $style .= " list-even "; } return $style; } function detail_basic($dly_id){ $render = app::get('o2o')->render(); $dlyObj = app::get('wap')->model('delivery'); $deliveryBillObj = app::get('wap')->model('delivery_bill'); $orderObj = app::get('ome')->model('orders'); $braObj = app::get('ome')->model('branch'); $opObj = app::get('ome')->model('operation_log'); $omeExtOrdLib = kernel::single('ome_extint_order'); $memberObj = app::get('ome')->model('members'); $finder_id = $_GET['_finder']['finder_id']; $render->pagedata['finder_id'] = $finder_id; $dly = $dlyObj->dump($dly_id); // 加密 $dly['is_encrypt'] = kernel::single('ome_security_router',$dly['shop_type'])->show_encrypt($dly, 'delivery'); $tmp = $memberObj->dump($dly['member_id']); $dly['member_name'] = $tmp['account']['uname']; $dly['members'] = "手机:".$tmp['contact']['phone']['mobile']."
"; $dly['members'] .= "电话:".$tmp['contact']['phone']['telephone']."
"; empty($dly['branch_id'])?$branch_id=0:$branch_id=$dly['branch_id']; //获取主物流单号 $deliveryBillInfo = $deliveryBillObj->dump(array('delivery_id'=>$dly_id,'type'=>1),'logi_no'); $dly['logi_no'] = $deliveryBillInfo['logi_no']; //发货单日志 $logdata = $opObj->read_log(array('obj_id'=>$dly_id,'obj_type'=>'delivery@o2o'), 0, -1); foreach($logdata as $k=>$v){ $logdata[$k]['operate_time'] = date('Y-m-d H:i:s',$v['operate_time']); } $render->pagedata['log'] = $logdata; //发货单关联订单号 $order_bns = $omeExtOrdLib->getOrderBns($dly['outer_delivery_bn']); $render->pagedata['order_bn'] = $order_bns; //买家备注、商家备注要走接口查询?还是wms冗余 $res = $omeExtOrdLib->getMemoByDlyId($dly['outer_delivery_bn']); $render->pagedata['custom_mark'] = $res['custom_mark'];#会员备注与订单备注信息 $render->pagedata['mark_text'] = $res['mark_text'];#会员备注与订单备注信息 $dly['create_time'] = date('Y-m-d H:i:s',$dly['create_time']); //根据原始发货单获取配送方式 $shipping_type = kernel::single('ome_interface_delivery')->getOmeDlyShipType($dly['outer_delivery_bn']); $dly['delivery'] = $shipping_type; $render->pagedata['dly'] = $dly; return $render->fetch('admin/delivery/delivery_detail.html'); } function detail_item($dly_id){ $render = app::get('o2o')->render(); $dlyObj = app::get('wap')->model('delivery'); $dly_itemObj = app::get('wap')->model('delivery_items'); $items = $dly_itemObj->getList('*', array('delivery_id' => $dly_id),0,-1); $delivery = $dlyObj->dump($dly_id); #商品品牌 $brandList = array(); $oBrand = app::get('ome')->model('brand'); $tempData = $oBrand->getList('brand_id, brand_name', '', 0, -1); foreach ($tempData as $key => $val) { $brandList[$val['brand_id']] = $val['brand_name']; } unset($tempData, $oBrand); #基础物料扩展数据 $basicMaterialExtObj = app::get('material')->model('basic_material_ext'); if($items) { foreach ($items as $key => $val) { $material_ext = $basicMaterialExtObj->dump(array('bm_id'=>$val['product_id']), 'bm_id, specifications, brand_id, cat_id'); $items[$key]['specifications'] = $material_ext['specifications']; if($material_ext['brand_id']) { $items[$key]['brand_name'] = $brandList[$material_ext['brand_id']]; } } } $render->pagedata['items'] = $items; $render->pagedata['dly'] = $delivery; return $render->fetch('admin/delivery/delivery_item.html'); } }