diff --git a/hyhproject/admin/model/Orders.php b/hyhproject/admin/model/Orders.php index a35d505..c11979d 100755 --- a/hyhproject/admin/model/Orders.php +++ b/hyhproject/admin/model/Orders.php @@ -1,488 +1,515 @@ 1]; - if($orderStatus!=10000){ - $where['orderStatus'] = $orderStatus; - } - $startDate = input('startDate'); - $endDate = input('endDate'); - $orderNo = input('orderNo'); - $shopName = input('shopName'); - $userPhone = input('userPhone'); - $userId = (int)input('userId'); - $payType = (int)input('payType',-1); - $deliverType = (int)input('deliverType',-1); - $sort = input('sort'); - $investmentStaff =htmlspecialchars(input('investmentStaff')); // mark - if($isAppraise!=-1)$where['isAppraise'] = $isAppraise; - if($orderNo!='')$where['orderNo'] = ['like','%'.$orderNo.'%']; - if($shopName!='')$where['shopName|shopSn'] = ['like','%'.$shopName.'%']; - if($userPhone!='')$where['o.userPhone'] = ['like','%'.$userPhone.'%']; - if($userId>0)$where['o.userId'] = $userId; - - if($startDate!='' && $endDate!=''){ - $where['o.createTime'] = ['between',[$startDate.' 00:00:00',$endDate.' 23:59:59']]; - }else if($startDate!=''){ - $where['o.createTime'] = ['>=',$startDate.' 00:00:00']; - }else if($endDate!=''){ - $where['o.createTime'] = ['<=',$endDate.' 23:59:59']; - } - $areaId1 = (int)input('areaId1'); - - if($areaId1>0){ - $where['s.areaIdPath'] = ['like',"$areaId1%"]; - $areaId2 = (int)input("areaId1_".$areaId1); - if($areaId2>0)$where['s.areaIdPath'] = ['like',$areaId1."_"."$areaId2%"]; - $areaId3 = (int)input("areaId1_".$areaId1."_".$areaId2); - if($areaId3>0)$where['s.areaId'] = $areaId3; - } - - if($deliverType!=-1)$where['o.deliverType'] = $deliverType; - if($payType!=-1)$where['o.payType'] = $payType; - $order = 'o.createTime desc'; - if($sort){ - $sort = str_replace('.',' ',$sort); - $order = $sort; - } - //mark - if($investmentStaff !=""){ - $where['se.investmentStaff'] = ['like',"%".$investmentStaff."%"]; - $where['orderStatus'] = 2; - } - // $page = $this->alias('o')->join('__USERS__ u','o.userId=u.userId','left')->join('__SHOPS__ s','o.shopId=s.shopId','left')->where($where) - // ->field('o.orderId,o.orderNo,u.loginName,s.shopName,s.shopId,s.shopQQ,s.shopWangWang,o.goodsMoney,o.totalMoney,o.realTotalMoney, - // o.orderStatus,o.userName,o.deliverType,payType,payFrom,o.orderStatus,orderSrc,o.createTime,o.orderCode') - // ->order($order) - // ->paginate(input('limit/d'))->toArray(); - //添加对接人员查询 mark 20180514 - $page = $this->alias('o')->join('__USERS__ u','o.userId=u.userId','left')->join('__SHOPS__ s','o.shopId=s.shopId','left')->join('__SHOP_EXTRAS__ se','o.shopId=se.shopId','left')->where($where) - ->field('o.orderId,o.orderNo,u.loginName,s.shopName,s.shopId,s.userId shopUserId,s.shopQQ,s.shopWangWang,o.goodsMoney,o.totalMoney,o.realTotalMoney, - o.orderStatus,o.userName,o.payable,o.deliverType,o.goodsType,o.helpUserId,o.productNum,o.couponsNum,o.wangNum,o.moneyNum,o.productHandlingFee,o.productTaxFee,o.couponsHandlingFee,o.couponsTaxFee,payType,payFrom,o.orderStatus,orderSrc,o.createTime,o.orderCode,se.investmentStaff') - ->order($order) - ->paginate(input('limit/d'))->toArray(); - if(count($page['Rows'])>0){ - foreach ($page['Rows'] as $key => $v){ - $page['Rows'][$key]['loginName'] = "【".$v['loginName']."】"; - $page['Rows'][$key]['userName'] = $v['userName']; - $shopUserInfo = getUserInfo(['userId'=>$v['shopUserId']],'loginName'); - $page['Rows'][$key]['shopLoginName'] = "【".$shopUserInfo['loginName']."】"; - $page['Rows'][$key]['payType'] = WSTLangPayType($v['payType']); - $page['Rows'][$key]['deliverType'] = WSTLangDeliverType($v['deliverType']==1); - if($v["helpUserId"]!=0){ - $page['Rows'][$key]['helpUser']=Db::name('users')->where('userId','=',$v["helpUserId"]) - ->field("userName")->find(); - }else{ - $page['Rows'][$key]['helpUser']=["userName"=>'']; - } - $page['Rows'][$key]['status'] = WSTLangOrderStatus($v['orderStatus']); - $page['Rows'][$key]['orderCodeTitle'] = WSTOrderCodeTitle($v['orderCode']); - } - } - return $page; - } - /** - * 获取凭证 - * @return [type] [description] - */ - public function getCertificate(){ - $certificateStatus = (int)input('post.certificateStatus'); - $shopName = input('post.shopName'); - $data = []; - $m = Db::name('orders'); - $tm = Model('common/Table'); - $tm->setTable('shops'); - // $certificateStatus = 2; - if($certificateStatus <=1){//未上传和不需上传的订单 - $where = ['certificateStatus'=>$certificateStatus,'orderStatus'=>2,'dataFlag'=>1]; - if($shopName){ - $shopIds = $tm->getColumn(['shopName'=>['LIKE','%'.$shopName.'%']],'shopId'); - $where = array_merge($where,['shopId'=>['IN',$shopIds]]); - } - $data = $m->where($where)->group('shopId')->field('shopId,sum(payable) payNum')->paginate(input('limit/d'))->toArray(); - foreach ($data['Rows'] as &$v) { - $v['status'] = $certificateStatus; - $v['list'] = $m->where($where)->where(['shopId'=>$v['shopId']])->field('orderId,orderNo,payable')->select(); - } - }else{ - $where = ['status'=>$certificateStatus]; - if($shopName){ - $shopIds = $tm->getColumn(['shopName'=>['LIKE','%'.$shopName.'%']],'shopId'); - $where = array_merge($where,['shopId'=>['IN',$shopIds]]); - } - $data = Db::name('order_shop_certificate')->where($where)->field('*')->paginate(input('limit/d'))->toArray(); - foreach ($data['Rows'] as &$v) { - $v['payNum'] = $m->where(['orderId'=>['IN',$v['orderIds']]])->sum('payable'); - $v['list'] = $m->where(['orderId'=>['IN',$v['orderIds']]])->field('orderId,orderNo,payable')->select(); - } - } - foreach ($data['Rows'] as &$val) { - $val['shop'] = $tm->getInfo(['shopId'=>$val['shopId']],'shopName,phone'); - } - return $data; - } - //凭证设置 - public function certificateSet(){ - $id = input('post.id'); - $status = input('post.status') + 2; - $data['status'] = $status; - $data['reasonsForRefusal'] = (string)input('post.reasonsForRefusal'); - $m = Model('common/Table'); - $m->setTable('order_shop_certificate'); - $orderIds = $m->getField(['id'=>$id],'orderIds'); - Db::startTrans(); - try{ - $m->setTable('order_shop_certificate'); - if(false !== $m->updateInfo(['id'=>$id],$data)){ - $m->setTable('orders'); - $m->updateInfo(['orderId'=>['IN',$orderIds]],['certificateStatus'=>$status]); - } - Db::commit(); - return WSTReturn("操作成功",1); - }catch (\Exception $e) { - - Db::rollback();errLog($e); - } - return WSTReturn("操作失败"); - } +class Orders extends Base +{ /** - * 获取用户退款订单列表 - */ - public function refundPageQuery(){ - $where = ['o.dataFlag'=>1]; - $where['orderStatus'] = ['in',[-1,-4]]; - $where['o.payType'] = 1; - $orderNo = input('orderNo'); - $shopName = input('shopName'); - $deliverType = (int)input('deliverType',-1); - $areaId1 = (int)input('areaId1'); - $areaId2 = (int)input('areaId2'); - $areaId3 = (int)input('areaId3'); - $isRefund = (int)input('isRefund',-1); - if($orderNo!='')$where['orderNo'] = ['like','%'.$orderNo.'%']; - if($shopName!='')$where['shopName|shopSn'] = ['like','%'.$shopName.'%']; - if($areaId1>0)$where['s.areaId1'] = $areaId1; - if($areaId2>0)$where['s.areaId2'] = $areaId2; - if($areaId3>0)$where['s.areaId3'] = $areaId3; - if($deliverType!=-1)$where['o.deliverType'] = $deliverType; - if($isRefund!=-1)$where['o.isRefund'] = $isRefund; - $page = $this->alias('o')->join('__SHOPS__ s','o.shopId=s.shopId','left') - ->join('__ORDER_REFUNDS__ orf ','o.orderId=orf.orderId','left') - ->where($where) - ->field('o.orderId,o.orderNo,s.shopName,s.shopId,s.shopQQ,s.shopWangWang,o.goodsMoney,o.totalMoney,o.realTotalMoney, - o.orderStatus,o.userName,o.deliverType,payType,payFrom,o.orderStatus,orderSrc,orf.refundRemark,isRefund,o.createTime') - ->order('o.createTime', 'desc') - ->paginate(input('pagesize/d'))->toArray(); - if(count($page['Rows'])>0){ - foreach ($page['Rows'] as $key => $v){ - $page['Rows'][$key]['payType'] = WSTLangPayType($v['payType']); - $page['Rows'][$key]['deliverType'] = WSTLangDeliverType($v['deliverType']==1); - $page['Rows'][$key]['status'] = WSTLangOrderStatus($v['orderStatus']); - } - } - return $page; - } - /** - * 获取退款资料 - */ - public function getInfoByRefund(){ - return $this->where(['orderId'=>(int)input('get.id'),'isRefund'=>0,'orderStatus'=>['in',[-1,-4]]]) - ->field('orderNo,orderId,goodsMoney,totalMoney,realTotalMoney,deliverMoney,payType,payFrom,tradeNo') - ->find(); - } - /** - * 退款 - */ - public function orderRefund(){ - $id = (int)input('post.id'); - $content = input('post.content'); - if($id==0)return WSTReturn("操作失败!"); - $order = $this->where(['orderId'=>(int)input('post.id'),'payType'=>1,'isRefund'=>0,'orderStatus'=>['in',[-1,-4]]]) - ->field('userId,orderNo,orderId,goodsMoney,totalMoney,realTotalMoney,deliverMoney,payType,payFrom,tradeNo') - ->find(); - if(empty($order))return WSTReturn("该订单不存在或已退款!"); - Db::startTrans(); - try{ - $order->isRefund = 1; - $order->save(); - //修改用户账户金额 - Db::name('users')->where('userId',$order->userId)->setInc('userMoney',$order->realTotalMoney); - //创建资金流水记录 - $lm = []; - $lm['targetType'] = 0; - $lm['targetId'] = $order->userId; - $lm['dataId'] = $order->orderId; - $lm['dataSrc'] = 1; - $lm['remark'] = '订单【'.$order->orderNo.'】退款¥'.$order->realTotalMoney."。".(($content!='')?"【退款备注】:".$content:''); - $lm['moneyType'] = 1; - $lm['money'] = $order->realTotalMoney; - $lm['payType'] = 0; - $lm['createTime'] = date('Y-m-d H:i:s'); - model('LogMoneys')->save($lm); - //创建退款记录 - $data = []; - $data['orderId'] = $id; - $data['refundRemark'] = $content; - $data['refundTime'] = date('Y-m-d H:i:s'); - $rs = Db::name('order_refunds')->insert($data); - if(false !== $rs){ - //发送一条用户信息 - WSTSendMsg($order['userId'],"您的退款订单【".$order['orderNo']."】已处理,请留意账户到账情况。".(($content!='')?"【退款备注:".$content."】":""),['from'=>1,'dataId'=>$id]); - Db::commit(); - return WSTReturn("操作成功",1); - } - }catch (\Exception $e) { + * 获取用户订单列表 + */ + public function pageQuery($orderStatus = 10000, $isAppraise = -1) + { + $where = ['o.dataFlag' => 1]; + if ($orderStatus != 10000) { + $where['orderStatus'] = $orderStatus; + } + $startDate = input('startDate'); + $endDate = input('endDate'); + $orderNo = input('orderNo'); + $shopName = input('shopName'); + $userPhone = input('userPhone'); + $userId = (int)input('userId'); + $payType = (int)input('payType', -1); + $deliverType = (int)input('deliverType', -1); + $sort = input('sort'); + $investmentStaff = htmlspecialchars(input('investmentStaff')); // mark + if ($isAppraise != -1) $where['isAppraise'] = $isAppraise; + if ($orderNo != '') $where['orderNo'] = ['like', '%' . $orderNo . '%']; + if ($shopName != '') $where['shopName|shopSn'] = ['like', '%' . $shopName . '%']; + if ($userPhone != '') $where['o.userPhone'] = ['like', '%' . $userPhone . '%']; + if ($userId > 0) $where['o.userId'] = $userId; - Db::rollback();errLog($e); + if ($startDate != '' && $endDate != '') { + $where['o.createTime'] = ['between', [$startDate . ' 00:00:00', $endDate . ' 23:59:59']]; + } else if ($startDate != '') { + $where['o.createTime'] = ['>=', $startDate . ' 00:00:00']; + } else if ($endDate != '') { + $where['o.createTime'] = ['<=', $endDate . ' 23:59:59']; } - return WSTReturn("操作失败,请刷新后再重试"); - } - - - /** - * 获取订单详情 - */ - public function getByView($orderId){ - $orders = $this->alias('o')->join('__EXPRESS__ e','o.expressId=e.expressId','left') - ->join('__ORDER_REFUNDS__ orf ','o.orderId=orf.orderId','left') - ->join('__SHOPS__ s','o.shopId=s.shopId','left') - ->join('__USERS__ u','o.userId=u.userId','left') - ->where('o.dataFlag=1 and o.orderId='.$orderId) - ->field('o.*,e.expressName,u.loginName,s.shopName,s.shopQQ,s.shopWangWang,orf.refundRemark,orf.refundTime,orf.backProductNum,orf.backCouponsNum,orf.backWangNum')->find(); - if(empty($orders))return WSTReturn("无效的订单信息"); - //获取订单信息 - $orders['log'] = Db::name('log_orders')->where('orderId',$orderId)->order('logId asc')->select(); - //获取订单商品 - if($orders["helpUserId"]!=0){ - $orders["helpUser"]=Db::name('users')->where('userId','=',$orders["helpUserId"]) - ->field("userName")->find(); + $areaId1 = (int)input('areaId1'); + + if ($areaId1 > 0) { + $where['s.areaIdPath'] = ['like', "$areaId1%"]; + $areaId2 = (int)input("areaId1_" . $areaId1); + if ($areaId2 > 0) $where['s.areaIdPath'] = ['like', $areaId1 . "_" . "$areaId2%"]; + $areaId3 = (int)input("areaId1_" . $areaId1 . "_" . $areaId2); + if ($areaId3 > 0) $where['s.areaId'] = $areaId3; } - $orders['goods'] = Db::name('order_goods')->where('orderId',$orderId)->order('id asc')->select(); - $orders['userCertificate'] = Db::name('order_certificate')->where(['orderId'=>$orderId,'isShop'=>0])->order('id desc')->select(); - //$orders['shopCertificate'] = Db::name('order_certificate')->where(['orderId'=>$orderId,'isShop'=>1])->order('id desc')->select(); - return $orders; - } - - /** - * 导出订单 - */ - public function toExport(){ - $name='订单表'; - $where = ['o.dataFlag'=>1]; - $orderStatus = (int)input('orderStatus',0); - if($orderStatus==0){ - $name='待发货订单表'; - }else if($orderStatus==-2){ - $name='待付款订单表'; - }else if($orderStatus==1){ - $name='配送中订单表'; - }else if($orderStatus==10000){ - $name='订单列表'; - }else if($orderStatus==-1){ - $name='取消订单表'; - }else if($orderStatus==-3){ - $name='拒收订单表'; - }else if($orderStatus==2){ - $name='已收货订单表'; - } - if($orderStatus!=10000){ - $where['o.orderStatus'] = $orderStatus; - } - $startDate = input('startDate'); - $endDate = input('endDate'); - $orderNo = input('orderNo'); - $shopName = input('shopName'); - $userPhone = input('userPhone'); - $userId = (int)input('userId'); - $payType = (int)input('payType',-1); - $deliverType = (int)input('deliverType',-1); - if($startDate!='' && $endDate!=''){ - $where['o.createTime'] = ['between',[$startDate.' 00:00:00',$endDate.' 23:59:59']]; - }else if($startDate!=''){ - $where['o.createTime'] = ['>=',$startDate.' 00:00:00']; - }else if($endDate!=''){ - $where['o.createTime'] = ['<=',$endDate.' 23:59:59']; - } - if($orderNo!='')$where['orderNo'] = ['like','%'.$orderNo.'%']; - if($shopName!='')$where['shopName|shopSn'] = ['like','%'.$shopName.'%']; - if($userPhone!='')$where['o.userPhone'] = ['like','%'.$userPhone.'%']; - if($userId>0){ - $where['o.userId'] = $userId; - $user = Db::name('users')->where('userId',$userId)->field('userName')->find(); - $name = $user['userName'].'的订单表'; - } - $areaId1 = (int)input('areaId1'); - if($areaId1>0){ - $where['s.areaIdPath'] = ['like',"$areaId1%"]; - $areaId2 = (int)input("areaId1_".$areaId1); - if($areaId2>0)$where['s.areaIdPath'] = ['like',$areaId1."_"."$areaId2%"]; - $areaId3 = (int)input("areaId1_".$areaId1."_".$areaId2); - if($areaId3>0)$where['s.areaId'] = $areaId3; - } - - if($deliverType!=-1)$where['o.deliverType'] = $deliverType; - if($payType!=-1)$where['o.payType'] = $payType; - $page = $this->alias('o')->where($where) - ->join('__USERS__ u','o.userId=u.userId','left') - ->join('__SHOPS__ s','o.shopId=s.shopId','left') - ->join('__LOG_ORDERS__ lo','lo.orderId=o.orderId and lo.orderStatus in (-1,-3) ','left') - ->field('o.orderId,o.orderNo,u.loginName,s.shopName,s.shopId,s.shopQQ,s.shopWangWang,o.goodsMoney,o.totalMoney,o.realTotalMoney,o.deliverMoney,lo.logContent,o.orderStatus,o.userName,o.userAddress,o.userPhone,o.orderRemarks,o.invoiceClient,o.receiveTime, + + if ($deliverType != -1) $where['o.deliverType'] = $deliverType; + if ($payType != -1) $where['o.payType'] = $payType; + $order = 'o.createTime desc'; + if ($sort) { + $sort = str_replace('.', ' ', $sort); + $order = $sort; + } + //mark + if ($investmentStaff != "") { + $where['se.investmentStaff'] = ['like', "%" . $investmentStaff . "%"]; + $where['orderStatus'] = 2; + } + // $page = $this->alias('o')->join('__USERS__ u','o.userId=u.userId','left')->join('__SHOPS__ s','o.shopId=s.shopId','left')->where($where) + // ->field('o.orderId,o.orderNo,u.loginName,s.shopName,s.shopId,s.shopQQ,s.shopWangWang,o.goodsMoney,o.totalMoney,o.realTotalMoney, + // o.orderStatus,o.userName,o.deliverType,payType,payFrom,o.orderStatus,orderSrc,o.createTime,o.orderCode') + // ->order($order) + // ->paginate(input('limit/d'))->toArray(); + //添加对接人员查询 mark 20180514 + $page = $this->alias('o')->join('__USERS__ u', 'o.userId=u.userId', 'left')->join('__SHOPS__ s', 'o.shopId=s.shopId', 'left')->join('__SHOP_EXTRAS__ se', 'o.shopId=se.shopId', 'left')->where($where) + ->field('o.orderId,o.orderNo,u.loginName,s.shopName,s.shopId,s.userId shopUserId,s.shopQQ,s.shopWangWang,o.goodsMoney,o.totalMoney,o.realTotalMoney, + o.orderStatus,o.userName,o.payable,o.deliverType,o.goodsType,o.helpUserId,o.productNum,o.couponsNum,o.wangNum,o.moneyNum,o.productHandlingFee,o.productTaxFee,o.couponsHandlingFee,o.couponsTaxFee,payType,payFrom,o.orderStatus,orderSrc,o.createTime,o.orderCode,se.investmentStaff') + ->order($order) + ->paginate(input('limit/d'))->toArray(); + $m = Model('common/Table'); + if (count($page['Rows']) > 0) { + foreach ($page['Rows'] as $key => $v) { + $m->setTable('order_goods'); + $orderGoodsList = $m->getList(['orderId' => $v['orderId']], 'goodsPrice,goodsNum,freight,discountRate'); + $discountMoney = 0;//优惠款 + foreach ($orderGoodsList as &$val) { + $discountMoney += ($val['goodsPrice'] * $val['goodsNum'] + $val['freight']) * ($val['discountRate'] * 0.01);//优惠款 + } + $page['Rows'][$key]['coupons'] = round($discountMoney,2); + $page['Rows'][$key]['loginName'] = "【" . $v['loginName'] . "】"; + $page['Rows'][$key]['userName'] = $v['userName']; + $shopUserInfo = getUserInfo(['userId' => $v['shopUserId']], 'loginName'); + $page['Rows'][$key]['shopLoginName'] = "【" . $shopUserInfo['loginName'] . "】"; + $page['Rows'][$key]['payType'] = WSTLangPayType($v['payType']); + $page['Rows'][$key]['deliverType'] = WSTLangDeliverType($v['deliverType'] == 1); + if ($v["helpUserId"] != 0) { + $page['Rows'][$key]['helpUser'] = Db::name('users')->where('userId', '=', $v["helpUserId"]) + ->field("userName")->find(); + } else { + $page['Rows'][$key]['helpUser'] = ["userName" => '']; + } + $page['Rows'][$key]['status'] = WSTLangOrderStatus($v['orderStatus']); + $page['Rows'][$key]['orderCodeTitle'] = WSTOrderCodeTitle($v['orderCode']); + } + } + return $page; + } + + /** + * 获取凭证 + * @return [type] [description] + */ + public function getCertificate() + { + $certificateStatus = (int)input('post.certificateStatus'); + $shopName = input('post.shopName'); + $data = []; + $m = Db::name('orders'); + $tm = Model('common/Table'); + $tm->setTable('shops'); + // $certificateStatus = 2; + if ($certificateStatus <= 1) {//未上传和不需上传的订单 + $where = ['certificateStatus' => $certificateStatus, 'orderStatus' => 2, 'dataFlag' => 1]; + if ($shopName) { + $shopIds = $tm->getColumn(['shopName' => ['LIKE', '%' . $shopName . '%']], 'shopId'); + $where = array_merge($where, ['shopId' => ['IN', $shopIds]]); + } + $data = $m->where($where)->group('shopId')->field('shopId,sum(payable) payNum')->paginate(input('limit/d'))->toArray(); + foreach ($data['Rows'] as &$v) { + $v['status'] = $certificateStatus; + $v['list'] = $m->where($where)->where(['shopId' => $v['shopId']])->field('orderId,orderNo,payable')->select(); + } + } else { + $where = ['status' => $certificateStatus]; + if ($shopName) { + $shopIds = $tm->getColumn(['shopName' => ['LIKE', '%' . $shopName . '%']], 'shopId'); + $where = array_merge($where, ['shopId' => ['IN', $shopIds]]); + } + $data = Db::name('order_shop_certificate')->where($where)->field('*')->paginate(input('limit/d'))->toArray(); + foreach ($data['Rows'] as &$v) { + $v['payNum'] = $m->where(['orderId' => ['IN', $v['orderIds']]])->sum('payable'); + $v['list'] = $m->where(['orderId' => ['IN', $v['orderIds']]])->field('orderId,orderNo,payable')->select(); + } + } + foreach ($data['Rows'] as &$val) { + $val['shop'] = $tm->getInfo(['shopId' => $val['shopId']], 'shopName,phone'); + } + return $data; + } + + //凭证设置 + public function certificateSet() + { + $id = input('post.id'); + $status = input('post.status') + 2; + $data['status'] = $status; + $data['reasonsForRefusal'] = (string)input('post.reasonsForRefusal'); + $m = Model('common/Table'); + $m->setTable('order_shop_certificate'); + $orderIds = $m->getField(['id' => $id], 'orderIds'); + Db::startTrans(); + try { + $m->setTable('order_shop_certificate'); + if (false !== $m->updateInfo(['id' => $id], $data)) { + $m->setTable('orders'); + $m->updateInfo(['orderId' => ['IN', $orderIds]], ['certificateStatus' => $status]); + } + Db::commit(); + return WSTReturn("操作成功", 1); + } catch (\Exception $e) { + + Db::rollback(); + errLog($e); + } + return WSTReturn("操作失败"); + } + + /** + * 获取用户退款订单列表 + */ + public function refundPageQuery() + { + $where = ['o.dataFlag' => 1]; + $where['orderStatus'] = ['in', [-1, -4]]; + $where['o.payType'] = 1; + $orderNo = input('orderNo'); + $shopName = input('shopName'); + $deliverType = (int)input('deliverType', -1); + $areaId1 = (int)input('areaId1'); + $areaId2 = (int)input('areaId2'); + $areaId3 = (int)input('areaId3'); + $isRefund = (int)input('isRefund', -1); + if ($orderNo != '') $where['orderNo'] = ['like', '%' . $orderNo . '%']; + if ($shopName != '') $where['shopName|shopSn'] = ['like', '%' . $shopName . '%']; + if ($areaId1 > 0) $where['s.areaId1'] = $areaId1; + if ($areaId2 > 0) $where['s.areaId2'] = $areaId2; + if ($areaId3 > 0) $where['s.areaId3'] = $areaId3; + if ($deliverType != -1) $where['o.deliverType'] = $deliverType; + if ($isRefund != -1) $where['o.isRefund'] = $isRefund; + $page = $this->alias('o')->join('__SHOPS__ s', 'o.shopId=s.shopId', 'left') + ->join('__ORDER_REFUNDS__ orf ', 'o.orderId=orf.orderId', 'left') + ->where($where) + ->field('o.orderId,o.orderNo,s.shopName,s.shopId,s.shopQQ,s.shopWangWang,o.goodsMoney,o.totalMoney,o.realTotalMoney, + o.orderStatus,o.userName,o.deliverType,payType,payFrom,o.orderStatus,orderSrc,orf.refundRemark,isRefund,o.createTime') + ->order('o.createTime', 'desc') + ->paginate(input('pagesize/d'))->toArray(); + if (count($page['Rows']) > 0) { + foreach ($page['Rows'] as $key => $v) { + $page['Rows'][$key]['payType'] = WSTLangPayType($v['payType']); + $page['Rows'][$key]['deliverType'] = WSTLangDeliverType($v['deliverType'] == 1); + $page['Rows'][$key]['status'] = WSTLangOrderStatus($v['orderStatus']); + } + } + return $page; + } + + /** + * 获取退款资料 + */ + public function getInfoByRefund() + { + return $this->where(['orderId' => (int)input('get.id'), 'isRefund' => 0, 'orderStatus' => ['in', [-1, -4]]]) + ->field('orderNo,orderId,goodsMoney,totalMoney,realTotalMoney,deliverMoney,payType,payFrom,tradeNo') + ->find(); + } + + /** + * 退款 + */ + public function orderRefund() + { + $id = (int)input('post.id'); + $content = input('post.content'); + if ($id == 0) return WSTReturn("操作失败!"); + $order = $this->where(['orderId' => (int)input('post.id'), 'payType' => 1, 'isRefund' => 0, 'orderStatus' => ['in', [-1, -4]]]) + ->field('userId,orderNo,orderId,goodsMoney,totalMoney,realTotalMoney,deliverMoney,payType,payFrom,tradeNo') + ->find(); + if (empty($order)) return WSTReturn("该订单不存在或已退款!"); + Db::startTrans(); + try { + $order->isRefund = 1; + $order->save(); + //修改用户账户金额 + Db::name('users')->where('userId', $order->userId)->setInc('userMoney', $order->realTotalMoney); + //创建资金流水记录 + $lm = []; + $lm['targetType'] = 0; + $lm['targetId'] = $order->userId; + $lm['dataId'] = $order->orderId; + $lm['dataSrc'] = 1; + $lm['remark'] = '订单【' . $order->orderNo . '】退款¥' . $order->realTotalMoney . "。" . (($content != '') ? "【退款备注】:" . $content : ''); + $lm['moneyType'] = 1; + $lm['money'] = $order->realTotalMoney; + $lm['payType'] = 0; + $lm['createTime'] = date('Y-m-d H:i:s'); + model('LogMoneys')->save($lm); + //创建退款记录 + $data = []; + $data['orderId'] = $id; + $data['refundRemark'] = $content; + $data['refundTime'] = date('Y-m-d H:i:s'); + $rs = Db::name('order_refunds')->insert($data); + if (false !== $rs) { + //发送一条用户信息 + WSTSendMsg($order['userId'], "您的退款订单【" . $order['orderNo'] . "】已处理,请留意账户到账情况。" . (($content != '') ? "【退款备注:" . $content . "】" : ""), ['from' => 1, 'dataId' => $id]); + Db::commit(); + return WSTReturn("操作成功", 1); + } + } catch (\Exception $e) { + + Db::rollback(); + errLog($e); + } + return WSTReturn("操作失败,请刷新后再重试"); + } + + + /** + * 获取订单详情 + */ + public function getByView($orderId) + { + $orders = $this->alias('o')->join('__EXPRESS__ e', 'o.expressId=e.expressId', 'left') + ->join('__ORDER_REFUNDS__ orf ', 'o.orderId=orf.orderId', 'left') + ->join('__SHOPS__ s', 'o.shopId=s.shopId', 'left') + ->join('__USERS__ u', 'o.userId=u.userId', 'left') + ->where('o.dataFlag=1 and o.orderId=' . $orderId) + ->field('o.*,e.expressName,u.loginName,s.shopName,s.shopQQ,s.shopWangWang,orf.refundRemark,orf.refundTime,orf.backProductNum,orf.backCouponsNum,orf.backWangNum')->find(); + if (empty($orders)) return WSTReturn("无效的订单信息"); + //获取订单信息 + $orders['log'] = Db::name('log_orders')->where('orderId', $orderId)->order('logId asc')->select(); + //获取订单商品 + if ($orders["helpUserId"] != 0) { + $orders["helpUser"] = Db::name('users')->where('userId', '=', $orders["helpUserId"]) + ->field("userName")->find(); + } + $orders['goods'] = Db::name('order_goods')->where('orderId', $orderId)->order('id asc')->select(); + $orders['userCertificate'] = Db::name('order_certificate')->where(['orderId' => $orderId, 'isShop' => 0])->order('id desc')->select(); + //$orders['shopCertificate'] = Db::name('order_certificate')->where(['orderId'=>$orderId,'isShop'=>1])->order('id desc')->select(); + return $orders; + } + + /** + * 导出订单 + */ + public function toExport() + { + $name = '订单表'; + $where = ['o.dataFlag' => 1]; + $orderStatus = (int)input('orderStatus', 0); + if ($orderStatus == 0) { + $name = '待发货订单表'; + } else if ($orderStatus == -2) { + $name = '待付款订单表'; + } else if ($orderStatus == 1) { + $name = '配送中订单表'; + } else if ($orderStatus == 10000) { + $name = '订单列表'; + } else if ($orderStatus == -1) { + $name = '取消订单表'; + } else if ($orderStatus == -3) { + $name = '拒收订单表'; + } else if ($orderStatus == 2) { + $name = '已收货订单表'; + } + if ($orderStatus != 10000) { + $where['o.orderStatus'] = $orderStatus; + } + $startDate = input('startDate'); + $endDate = input('endDate'); + $orderNo = input('orderNo'); + $shopName = input('shopName'); + $userPhone = input('userPhone'); + $userId = (int)input('userId'); + $payType = (int)input('payType', -1); + $deliverType = (int)input('deliverType', -1); + if ($startDate != '' && $endDate != '') { + $where['o.createTime'] = ['between', [$startDate . ' 00:00:00', $endDate . ' 23:59:59']]; + } else if ($startDate != '') { + $where['o.createTime'] = ['>=', $startDate . ' 00:00:00']; + } else if ($endDate != '') { + $where['o.createTime'] = ['<=', $endDate . ' 23:59:59']; + } + if ($orderNo != '') $where['orderNo'] = ['like', '%' . $orderNo . '%']; + if ($shopName != '') $where['shopName|shopSn'] = ['like', '%' . $shopName . '%']; + if ($userPhone != '') $where['o.userPhone'] = ['like', '%' . $userPhone . '%']; + if ($userId > 0) { + $where['o.userId'] = $userId; + $user = Db::name('users')->where('userId', $userId)->field('userName')->find(); + $name = $user['userName'] . '的订单表'; + } + $areaId1 = (int)input('areaId1'); + if ($areaId1 > 0) { + $where['s.areaIdPath'] = ['like', "$areaId1%"]; + $areaId2 = (int)input("areaId1_" . $areaId1); + if ($areaId2 > 0) $where['s.areaIdPath'] = ['like', $areaId1 . "_" . "$areaId2%"]; + $areaId3 = (int)input("areaId1_" . $areaId1 . "_" . $areaId2); + if ($areaId3 > 0) $where['s.areaId'] = $areaId3; + } + + if ($deliverType != -1) $where['o.deliverType'] = $deliverType; + if ($payType != -1) $where['o.payType'] = $payType; + $page = $this->alias('o')->where($where) + ->join('__USERS__ u', 'o.userId=u.userId', 'left') + ->join('__SHOPS__ s', 'o.shopId=s.shopId', 'left') + ->join('__LOG_ORDERS__ lo', 'lo.orderId=o.orderId and lo.orderStatus in (-1,-3) ', 'left') + ->field('o.orderId,o.orderNo,u.loginName,s.shopName,s.shopId,s.shopQQ,s.shopWangWang,o.goodsMoney,o.totalMoney,o.realTotalMoney,o.deliverMoney,lo.logContent,o.orderStatus,o.userName,o.userAddress,o.userPhone,o.orderRemarks,o.invoiceClient,o.receiveTime, o.deliveryTime,o.deliverType,o.productNum,o.couponsNum,o.wangNum,o.moneyNum,o.productHandlingFee,o.productTaxFee,o.couponsHandlingFee,o.couponsTaxFee,payType,payFrom,o.orderStatus,orderSrc,o.commissionFee,o.createTime') - ->order('o.createTime desc') - ->select(); - if(count($page)>0){ - foreach ($page as $key => $v){ - $page[$key]['userName'] = "【".$v['loginName']."】".$v['userName']; - $page[$key]['payTypeName'] = WSTLangPayType($v['payType']); - $page[$key]['deliverType'] = WSTLangDeliverType($v['deliverType']==1); - $page[$key]['status'] = WSTLangOrderStatus($v['orderStatus']); - } - } - Loader::import('phpexcel.PHPExcel.IOFactory'); - $objPHPExcel = new \PHPExcel(); - // 设置excel文档的属性 - $objPHPExcel->getProperties()->setCreator("heyuanhui")//创建人 - ->setLastModifiedBy("heyuanhui")//最后修改人 - ->setTitle($name)//标题 - ->setSubject($name)//题目 - ->setDescription($name)//描述 - ->setKeywords("订单")//关键字 - ->setCategory("Test result file");//种类 - - // 开始操作excel表 - $objPHPExcel->setActiveSheetIndex(0); - // 设置工作薄名称 - $objPHPExcel->getActiveSheet()->setTitle(iconv('gbk', 'utf-8', 'Sheet')); - // 设置默认字体和大小 - $objPHPExcel->getDefaultStyle()->getFont()->setName(iconv('gbk', 'utf-8', '')); - $objPHPExcel->getDefaultStyle()->getFont()->setSize(11); - $styleArray = array( - 'font' => array( - 'bold' => true, - 'color'=>array( - 'argb' => 'ffffffff', - ) - ), - 'borders' => array ( - 'outline' => array ( - 'style' => \PHPExcel_Style_Border::BORDER_THIN, //设置border样式 - 'color' => array ('argb' => 'FF000000'), //设置border颜色 - ) - ) - ); - //设置宽 - $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(12); - $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(12); - $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(25); - $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(25); - $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(35); - $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15); - $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15); - $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15); - $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(15); - $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(12); - $objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(8); - $objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(8); - $objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(8); - $objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(8); - $objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(16); - $objPHPExcel->getActiveSheet()->getColumnDimension('P')->setWidth(25); - $objPHPExcel->getActiveSheet()->getColumnDimension('Q')->setWidth(8); - $objPHPExcel->getActiveSheet()->getColumnDimension('R')->setWidth(16); - $objPHPExcel->getActiveSheet()->getColumnDimension('S')->setWidth(26); - $objPHPExcel->getActiveSheet()->getColumnDimension('T')->setWidth(25); - $objPHPExcel->getActiveSheet()->getColumnDimension('U')->setWidth(25); - $objPHPExcel->getActiveSheet()->getColumnDimension('V')->setWidth(25); - $objPHPExcel->getActiveSheet()->getColumnDimension('W')->setWidth(25); - $objPHPExcel->getActiveSheet()->getColumnDimension('X')->setWidth(25); - $objPHPExcel->getActiveSheet()->getColumnDimension('Y')->setWidth(25); - $objPHPExcel->getActiveSheet()->getColumnDimension('Z')->setWidth(25); - $objPHPExcel->getActiveSheet()->getStyle('A1:W1')->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID); - $objPHPExcel->getActiveSheet()->getStyle('A1:W1')->getFill()->getStartColor()->setARGB('333399'); - - $objPHPExcel->getActiveSheet() - ->setCellValue('A1', '订单编号') - ->setCellValue('B1', '订单状态') - ->setCellValue('C1', '店铺名称') - ->setCellValue('D1', '收货人') - ->setCellValue('E1', '收货地址') - ->setCellValue('F1', '联系方式') - ->setCellValue('G1', '支付方式') - ->setCellValue('H1', '配送方式') - ->setCellValue('I1', '买家留言') - ->setCellValue('J1', '发票信息') - ->setCellValue('K1', '订单总金额') - ->setCellValue('L1', '现金额') - ->setCellValue('M1', '旺旺券') - ->setCellValue('N1', '产品券') - ->setCellValue('O1', '产品券税') - ->setCellValue('P1', '产品券手续费') - ->setCellValue('Q1', '优惠券') - ->setCellValue('R1', '优惠券税') - ->setCellValue('S1', '优惠券手续费') - ->setCellValue('T1', '运费') - ->setCellValue('U1', '实付金额') - ->setCellValue('V1', '支付方式') - ->setCellValue('W1', '下单时间') - ->setCellValue('X1', '发货时间') - ->setCellValue('Y1', '收货时间') - ->setCellValue('Z1', '取消/拒收原因'); - $objPHPExcel->getActiveSheet()->getStyle('A1:U1')->applyFromArray($styleArray); - - for ($row = 0; $row < count($page); $row++){ - $i = $row+2; - $objPHPExcel->getActiveSheet() - ->setCellValue('A'.$i, $page[$row]['orderNo']) - ->setCellValue('B'.$i, $page[$row]['status']) - ->setCellValue('C'.$i, $page[$row]['shopName']) - ->setCellValue('D'.$i, $page[$row]['userName']) - ->setCellValue('E'.$i, $page[$row]['userAddress']) - ->setCellValue('F'.$i, $page[$row]['userPhone']) - ->setCellValue('G'.$i, $page[$row]['payTypeName']) - ->setCellValue('H'.$i, $page[$row]['deliverType']) - ->setCellValue('I'.$i, $page[$row]['orderRemarks']) - ->setCellValue('J'.$i, $page[$row]['invoiceClient']) - ->setCellValue('K'.$i, $page[$row]['totalMoney']) - ->setCellValue('L'.$i, $page[$row]['moneyNum']) - ->setCellValue('M'.$i, $page[$row]['wangNum']) - ->setCellValue('N'.$i, $page[$row]['productNum']) - ->setCellValue('O'.$i, $page[$row]['productTaxFee']) - ->setCellValue('P'.$i, $page[$row]['productHandlingFee']) - ->setCellValue('Q'.$i, $page[$row]['couponsNum']) - ->setCellValue('R'.$i, $page[$row]['couponsTaxFee']) - ->setCellValue('S'.$i, $page[$row]['couponsHandlingFee']) - ->setCellValue('T'.$i, $page[$row]['deliverMoney']) - ->setCellValue('U'.$i, $page[$row]['realTotalMoney']) - ->setCellValue('V'.$i, $page[$row]['payFrom']) - ->setCellValue('W'.$i, $page[$row]['createTime']) - ->setCellValue('X'.$i, $page[$row]['deliveryTime']) - ->setCellValue('Y'.$i, $page[$row]['receiveTime']) - ->setCellValue('Z'.$i, $page[$row]['logContent']); - } - - //输出EXCEL格式 - $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); - // 从浏览器直接输出$filename - header('Content-Type:application/csv;charset=UTF-8'); - header("Pragma: public"); - header("Expires: 0"); - header("Cache-Control:must-revalidate, post-check=0, pre-check=0"); - header("Content-Type:application/force-download"); - header("Content-Type:application/vnd.ms-excel;"); - header("Content-Type:application/octet-stream"); - header("Content-Type:application/download"); - header('Content-Disposition: attachment;filename="'.$name.'.xls"'); - header("Content-Transfer-Encoding:binary"); - $objWriter->save('php://output'); - } + ->order('o.createTime desc') + ->select(); + if (count($page) > 0) { + foreach ($page as $key => $v) { + $page[$key]['userName'] = "【" . $v['loginName'] . "】" . $v['userName']; + $page[$key]['payTypeName'] = WSTLangPayType($v['payType']); + $page[$key]['deliverType'] = WSTLangDeliverType($v['deliverType'] == 1); + $page[$key]['status'] = WSTLangOrderStatus($v['orderStatus']); + } + } + Loader::import('phpexcel.PHPExcel.IOFactory'); + $objPHPExcel = new \PHPExcel(); + // 设置excel文档的属性 + $objPHPExcel->getProperties()->setCreator("heyuanhui")//创建人 + ->setLastModifiedBy("heyuanhui")//最后修改人 + ->setTitle($name)//标题 + ->setSubject($name)//题目 + ->setDescription($name)//描述 + ->setKeywords("订单")//关键字 + ->setCategory("Test result file");//种类 + + // 开始操作excel表 + $objPHPExcel->setActiveSheetIndex(0); + // 设置工作薄名称 + $objPHPExcel->getActiveSheet()->setTitle(iconv('gbk', 'utf-8', 'Sheet')); + // 设置默认字体和大小 + $objPHPExcel->getDefaultStyle()->getFont()->setName(iconv('gbk', 'utf-8', '')); + $objPHPExcel->getDefaultStyle()->getFont()->setSize(11); + $styleArray = array( + 'font' => array( + 'bold' => true, + 'color' => array( + 'argb' => 'ffffffff', + ) + ), + 'borders' => array( + 'outline' => array( + 'style' => \PHPExcel_Style_Border::BORDER_THIN, //设置border样式 + 'color' => array('argb' => 'FF000000'), //设置border颜色 + ) + ) + ); + //设置宽 + $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(12); + $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(12); + $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(25); + $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(25); + $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(35); + $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15); + $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15); + $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15); + $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(15); + $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(12); + $objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(8); + $objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(8); + $objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(8); + $objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(8); + $objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(16); + $objPHPExcel->getActiveSheet()->getColumnDimension('P')->setWidth(25); + $objPHPExcel->getActiveSheet()->getColumnDimension('Q')->setWidth(8); + $objPHPExcel->getActiveSheet()->getColumnDimension('R')->setWidth(16); + $objPHPExcel->getActiveSheet()->getColumnDimension('S')->setWidth(26); + $objPHPExcel->getActiveSheet()->getColumnDimension('T')->setWidth(25); + $objPHPExcel->getActiveSheet()->getColumnDimension('U')->setWidth(25); + $objPHPExcel->getActiveSheet()->getColumnDimension('V')->setWidth(25); + $objPHPExcel->getActiveSheet()->getColumnDimension('W')->setWidth(25); + $objPHPExcel->getActiveSheet()->getColumnDimension('X')->setWidth(25); + $objPHPExcel->getActiveSheet()->getColumnDimension('Y')->setWidth(25); + $objPHPExcel->getActiveSheet()->getColumnDimension('Z')->setWidth(25); + $objPHPExcel->getActiveSheet()->getStyle('A1:W1')->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID); + $objPHPExcel->getActiveSheet()->getStyle('A1:W1')->getFill()->getStartColor()->setARGB('333399'); + + $objPHPExcel->getActiveSheet() + ->setCellValue('A1', '订单编号') + ->setCellValue('B1', '订单状态') + ->setCellValue('C1', '店铺名称') + ->setCellValue('D1', '收货人') + ->setCellValue('E1', '收货地址') + ->setCellValue('F1', '联系方式') + ->setCellValue('G1', '支付方式') + ->setCellValue('H1', '配送方式') + ->setCellValue('I1', '买家留言') + ->setCellValue('J1', '发票信息') + ->setCellValue('K1', '订单总金额') + ->setCellValue('L1', '现金额') + ->setCellValue('M1', '旺旺券') + ->setCellValue('N1', '产品券') + ->setCellValue('O1', '产品券税') + ->setCellValue('P1', '产品券手续费') + ->setCellValue('Q1', '优惠券') + ->setCellValue('R1', '优惠券税') + ->setCellValue('S1', '优惠券手续费') + ->setCellValue('T1', '运费') + ->setCellValue('U1', '实付金额') + ->setCellValue('V1', '支付方式') + ->setCellValue('W1', '下单时间') + ->setCellValue('X1', '发货时间') + ->setCellValue('Y1', '收货时间') + ->setCellValue('Z1', '取消/拒收原因'); + $objPHPExcel->getActiveSheet()->getStyle('A1:U1')->applyFromArray($styleArray); + + for ($row = 0; $row < count($page); $row++) { + $i = $row + 2; + $objPHPExcel->getActiveSheet() + ->setCellValue('A' . $i, $page[$row]['orderNo']) + ->setCellValue('B' . $i, $page[$row]['status']) + ->setCellValue('C' . $i, $page[$row]['shopName']) + ->setCellValue('D' . $i, $page[$row]['userName']) + ->setCellValue('E' . $i, $page[$row]['userAddress']) + ->setCellValue('F' . $i, $page[$row]['userPhone']) + ->setCellValue('G' . $i, $page[$row]['payTypeName']) + ->setCellValue('H' . $i, $page[$row]['deliverType']) + ->setCellValue('I' . $i, $page[$row]['orderRemarks']) + ->setCellValue('J' . $i, $page[$row]['invoiceClient']) + ->setCellValue('K' . $i, $page[$row]['totalMoney']) + ->setCellValue('L' . $i, $page[$row]['moneyNum']) + ->setCellValue('M' . $i, $page[$row]['wangNum']) + ->setCellValue('N' . $i, $page[$row]['productNum']) + ->setCellValue('O' . $i, $page[$row]['productTaxFee']) + ->setCellValue('P' . $i, $page[$row]['productHandlingFee']) + ->setCellValue('Q' . $i, $page[$row]['couponsNum']) + ->setCellValue('R' . $i, $page[$row]['couponsTaxFee']) + ->setCellValue('S' . $i, $page[$row]['couponsHandlingFee']) + ->setCellValue('T' . $i, $page[$row]['deliverMoney']) + ->setCellValue('U' . $i, $page[$row]['realTotalMoney']) + ->setCellValue('V' . $i, $page[$row]['payFrom']) + ->setCellValue('W' . $i, $page[$row]['createTime']) + ->setCellValue('X' . $i, $page[$row]['deliveryTime']) + ->setCellValue('Y' . $i, $page[$row]['receiveTime']) + ->setCellValue('Z' . $i, $page[$row]['logContent']); + } + + //输出EXCEL格式 + $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); + // 从浏览器直接输出$filename + header('Content-Type:application/csv;charset=UTF-8'); + header("Pragma: public"); + header("Expires: 0"); + header("Cache-Control:must-revalidate, post-check=0, pre-check=0"); + header("Content-Type:application/force-download"); + header("Content-Type:application/vnd.ms-excel;"); + header("Content-Type:application/octet-stream"); + header("Content-Type:application/download"); + header('Content-Disposition: attachment;filename="' . $name . '.xls"'); + header("Content-Transfer-Encoding:binary"); + $objWriter->save('php://output'); + } } diff --git a/hyhproject/admin/view/orders/list.html b/hyhproject/admin/view/orders/list.html index cdba619..2824d6f 100755 --- a/hyhproject/admin/view/orders/list.html +++ b/hyhproject/admin/view/orders/list.html @@ -55,4 +55,4 @@ -{/block} \ No newline at end of file +{/block} diff --git a/hyhproject/admin/view/orders/orders.js b/hyhproject/admin/view/orders/orders.js index fb6b8dd..7c18d8b 100755 --- a/hyhproject/admin/view/orders/orders.js +++ b/hyhproject/admin/view/orders/orders.js @@ -19,7 +19,7 @@ function initCertificateGrid(){ {title:'店铺电话', name:'shop', width: 100,sortable:true, renderer:function(val,item,rowIndex){ return val.phone; }}, - {title:'应付款', name:'payNum', width: 100,sortable:true}, + {title:'应付款', name:'payNum', width: 100,sortable:true}, {title:'订单组', name:'list', width: 500,sortable:true, renderer:function(val,item,rowIndex){ var html = ''; $.each(val,function(i,v){ @@ -58,17 +58,17 @@ function initCertificateGrid(){ var h = ""; if(WST.GRANT.PZCZ_00 && typeof(item.id) != 'undefined'){ h += " 审核 "; - } + } return h; }} ]; - + mmg = $('.mmg').mmGrid({height: (h-85),indexCol: true,indexColWidth:50, cols: cols,method:'POST',nowrap:true, url: WST.U('admin/orders/getCertificate',p.join('&')), fullWidthRows: true, autoLoad: true,remoteSort: true,sortName:'createTime',sortStatus:'desc', plugins: [ $('#pg').mmPaginator({}) ] - }); + }); } $("body").on("click",'.uploadImg',function(){ @@ -143,24 +143,22 @@ function initGrid(){ {title:'订单编号', name:'orderNo', width: 50,sortable:true, renderer:function(val,item,rowIndex){ var h = ""; if(item['orderSrc']==0){ - h += ""; + h += ""; }else if(item['orderSrc']==1){ - h += ""; + h += ""; }else if(item['orderSrc']==2){ - h += ""; + h += ""; }else if(item['orderSrc']==3){ - h += ""; + h += ""; }else if(item['orderSrc']==4){ - h += ""; + h += ""; } h += item['orderNo']; return h; }}, - {title:'购户', name:'loginName', width: 120,sortable:true}, - {title:'收货人', name:'userName', width: 120,sortable:true}, - {title:'商户', name:'shopLoginName', width: 120,sortable:true}, - {title:'店铺', name:'shopName', width: 90,sortable:true}, {title:'交易额', name:'realTotalMoney', width: 30,sortable:true, renderer:function(val,item,rowIndex){return '¥'+val;}}, + {title:'购户', name:'loginName', width: 120,sortable:true}, + {title:'收货人', name:'userName', width: 120,sortable:true}, {title:'购户付现', name:'moneyNum', width: 30,sortable:true, renderer:function(val,item,rowIndex){return '¥'+val;}}, {title:'旺旺券', name:'wangNum', width: 30,sortable:true, renderer:function(val,item,rowIndex){return '¥'+val;}}, {title:'产品券', name:'productNum', width: 30,sortable:true, renderer:function(val,item,rowIndex){return '¥'+val;}}, @@ -172,10 +170,12 @@ function initGrid(){ {title:'优惠券', name:'couponsNum', width: 30,sortable:true, renderer:function(val,item,rowIndex){return '¥'+val;}}, {title:'优惠券税', name:'couponsTaxFee', width: 30,sortable:true, renderer:function(val,item,rowIndex){return '¥'+val;}}, {title:'优惠券手续费', name:'couponsHandlingFee', width: 30,sortable:true, renderer:function(val,item,rowIndex){return '¥'+val;}}, - // {title:'优惠券手续费+税', name:'couponsHandlingFee', width: 30,sortable:true, renderer:function(val,item,rowIndex){ // return item['couponsTaxFee']+val;; // }}, + {title:'商户', name:'shopLoginName', width: 120,sortable:true}, + {title:'店铺', name:'shopName', width: 90,sortable:true}, + {title:'优惠款', name:'coupons', width: 90,sortable:true, renderer:function(val,item,rowIndex){return '¥'+val;}}, {title:'商户付现', name:'payable', width: 30,sortable:true, renderer:function(val,item,rowIndex){ if(val<0){ return Math.abs(val); @@ -219,13 +219,13 @@ function initGrid(){ return h; }} ]; - + mmg = $('.mmg').mmGrid({height: (h-85),indexCol: true,indexColWidth:50, cols: cols,method:'POST',nowrap:true, url: WST.U('admin/orders/pageQuery',p.join('&')), fullWidthRows: true, autoLoad: true,remoteSort: true,sortName:'createTime',sortStatus:'desc', plugins: [ $('#pg').mmPaginator({}) ] - }); + }); } function toView(id){ @@ -243,4 +243,4 @@ function toExport(){ layer.close(box); location.href=WST.U('admin/orders/toExport',params); }}); -} \ No newline at end of file +}