From eef56deac83c99c26c8cdde3d9ff0fb8e9ae5893 Mon Sep 17 00:00:00 2001
From: Jerry Yan <792602257@qq.com>
Date: Sun, 27 Oct 2019 23:37:17 +0800
Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
hyhproject/admin/model/Orders.php | 975 +++++++++++++------------
hyhproject/admin/view/orders/list.html | 2 +-
hyhproject/admin/view/orders/orders.js | 34 +-
3 files changed, 519 insertions(+), 492 deletions(-)
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
+}