后台页面

This commit is contained in:
Jerry Yan 2019-10-27 23:37:17 +08:00
parent 275943ff78
commit eef56deac8
3 changed files with 519 additions and 492 deletions

View File

@ -1,488 +1,515 @@
<?php <?php
namespace wstmart\admin\model; namespace wstmart\admin\model;
use think\Db; use think\Db;
use think\Loader; use think\Loader;
/** /**
* ============================================================================ * ============================================================================
* 订单业务处理类 * 订单业务处理类
*/ */
class Orders extends Base{ class Orders extends Base
/** {
* 获取用户订单列表
*/
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;
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("操作失败");
}
/** /**
* 获取用户退款订单列表 * 获取用户订单列表
*/ */
public function refundPageQuery(){ public function pageQuery($orderStatus = 10000, $isAppraise = -1)
$where = ['o.dataFlag'=>1]; {
$where['orderStatus'] = ['in',[-1,-4]]; $where = ['o.dataFlag' => 1];
$where['o.payType'] = 1; if ($orderStatus != 10000) {
$orderNo = input('orderNo'); $where['orderStatus'] = $orderStatus;
$shopName = input('shopName'); }
$deliverType = (int)input('deliverType',-1); $startDate = input('startDate');
$areaId1 = (int)input('areaId1'); $endDate = input('endDate');
$areaId2 = (int)input('areaId2'); $orderNo = input('orderNo');
$areaId3 = (int)input('areaId3'); $shopName = input('shopName');
$isRefund = (int)input('isRefund',-1); $userPhone = input('userPhone');
if($orderNo!='')$where['orderNo'] = ['like','%'.$orderNo.'%']; $userId = (int)input('userId');
if($shopName!='')$where['shopName|shopSn'] = ['like','%'.$shopName.'%']; $payType = (int)input('payType', -1);
if($areaId1>0)$where['s.areaId1'] = $areaId1; $deliverType = (int)input('deliverType', -1);
if($areaId2>0)$where['s.areaId2'] = $areaId2; $sort = input('sort');
if($areaId3>0)$where['s.areaId3'] = $areaId3; $investmentStaff = htmlspecialchars(input('investmentStaff')); // mark
if($deliverType!=-1)$where['o.deliverType'] = $deliverType; if ($isAppraise != -1) $where['isAppraise'] = $isAppraise;
if($isRefund!=-1)$where['o.isRefund'] = $isRefund; if ($orderNo != '') $where['orderNo'] = ['like', '%' . $orderNo . '%'];
$page = $this->alias('o')->join('__SHOPS__ s','o.shopId=s.shopId','left') if ($shopName != '') $where['shopName|shopSn'] = ['like', '%' . $shopName . '%'];
->join('__ORDER_REFUNDS__ orf ','o.orderId=orf.orderId','left') if ($userPhone != '') $where['o.userPhone'] = ['like', '%' . $userPhone . '%'];
->where($where) if ($userId > 0) $where['o.userId'] = $userId;
->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); 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("操作失败,请刷新后再重试"); $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);
public function getByView($orderId){ if ($areaId3 > 0) $where['s.areaId'] = $areaId3;
$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(); if ($deliverType != -1) $where['o.deliverType'] = $deliverType;
//$orders['shopCertificate'] = Db::name('order_certificate')->where(['orderId'=>$orderId,'isShop'=>1])->order('id desc')->select(); if ($payType != -1) $where['o.payType'] = $payType;
return $orders; $order = 'o.createTime desc';
} if ($sort) {
$sort = str_replace('.', ' ', $sort);
/** $order = $sort;
* 导出订单 }
*/ //mark
public function toExport(){ if ($investmentStaff != "") {
$name='订单表'; $where['se.investmentStaff'] = ['like', "%" . $investmentStaff . "%"];
$where = ['o.dataFlag'=>1]; $where['orderStatus'] = 2;
$orderStatus = (int)input('orderStatus',0); }
if($orderStatus==0){ // $page = $this->alias('o')->join('__USERS__ u','o.userId=u.userId','left')->join('__SHOPS__ s','o.shopId=s.shopId','left')->where($where)
$name='待发货订单表'; // ->field('o.orderId,o.orderNo,u.loginName,s.shopName,s.shopId,s.shopQQ,s.shopWangWang,o.goodsMoney,o.totalMoney,o.realTotalMoney,
}else if($orderStatus==-2){ // o.orderStatus,o.userName,o.deliverType,payType,payFrom,o.orderStatus,orderSrc,o.createTime,o.orderCode')
$name='待付款订单表'; // ->order($order)
}else if($orderStatus==1){ // ->paginate(input('limit/d'))->toArray();
$name='配送中订单表'; //添加对接人员查询 mark 20180514
}else if($orderStatus==10000){ $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)
$name='订单列表'; ->field('o.orderId,o.orderNo,u.loginName,s.shopName,s.shopId,s.userId shopUserId,s.shopQQ,s.shopWangWang,o.goodsMoney,o.totalMoney,o.realTotalMoney,
}else if($orderStatus==-1){ 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')
$name='取消订单表'; ->order($order)
}else if($orderStatus==-3){ ->paginate(input('limit/d'))->toArray();
$name='拒收订单表'; $m = Model('common/Table');
}else if($orderStatus==2){ if (count($page['Rows']) > 0) {
$name='已收货订单表'; foreach ($page['Rows'] as $key => $v) {
} $m->setTable('order_goods');
if($orderStatus!=10000){ $orderGoodsList = $m->getList(['orderId' => $v['orderId']], 'goodsPrice,goodsNum,freight,discountRate');
$where['o.orderStatus'] = $orderStatus; $discountMoney = 0;//优惠款
} foreach ($orderGoodsList as &$val) {
$startDate = input('startDate'); $discountMoney += ($val['goodsPrice'] * $val['goodsNum'] + $val['freight']) * ($val['discountRate'] * 0.01);//优惠款
$endDate = input('endDate'); }
$orderNo = input('orderNo'); $page['Rows'][$key]['coupons'] = round($discountMoney,2);
$shopName = input('shopName'); $page['Rows'][$key]['loginName'] = "" . $v['loginName'] . "";
$userPhone = input('userPhone'); $page['Rows'][$key]['userName'] = $v['userName'];
$userId = (int)input('userId'); $shopUserInfo = getUserInfo(['userId' => $v['shopUserId']], 'loginName');
$payType = (int)input('payType',-1); $page['Rows'][$key]['shopLoginName'] = "" . $shopUserInfo['loginName'] . "";
$deliverType = (int)input('deliverType',-1); $page['Rows'][$key]['payType'] = WSTLangPayType($v['payType']);
if($startDate!='' && $endDate!=''){ $page['Rows'][$key]['deliverType'] = WSTLangDeliverType($v['deliverType'] == 1);
$where['o.createTime'] = ['between',[$startDate.' 00:00:00',$endDate.' 23:59:59']]; if ($v["helpUserId"] != 0) {
}else if($startDate!=''){ $page['Rows'][$key]['helpUser'] = Db::name('users')->where('userId', '=', $v["helpUserId"])
$where['o.createTime'] = ['>=',$startDate.' 00:00:00']; ->field("userName")->find();
}else if($endDate!=''){ } else {
$where['o.createTime'] = ['<=',$endDate.' 23:59:59']; $page['Rows'][$key]['helpUser'] = ["userName" => ''];
} }
if($orderNo!='')$where['orderNo'] = ['like','%'.$orderNo.'%']; $page['Rows'][$key]['status'] = WSTLangOrderStatus($v['orderStatus']);
if($shopName!='')$where['shopName|shopSn'] = ['like','%'.$shopName.'%']; $page['Rows'][$key]['orderCodeTitle'] = WSTOrderCodeTitle($v['orderCode']);
if($userPhone!='')$where['o.userPhone'] = ['like','%'.$userPhone.'%']; }
if($userId>0){ }
$where['o.userId'] = $userId; return $page;
$user = Db::name('users')->where('userId',$userId)->field('userName')->find(); }
$name = $user['userName'].'的订单表';
} /**
$areaId1 = (int)input('areaId1'); * 获取凭证
if($areaId1>0){ * @return [type] [description]
$where['s.areaIdPath'] = ['like',"$areaId1%"]; */
$areaId2 = (int)input("areaId1_".$areaId1); public function getCertificate()
if($areaId2>0)$where['s.areaIdPath'] = ['like',$areaId1."_"."$areaId2%"]; {
$areaId3 = (int)input("areaId1_".$areaId1."_".$areaId2); $certificateStatus = (int)input('post.certificateStatus');
if($areaId3>0)$where['s.areaId'] = $areaId3; $shopName = input('post.shopName');
} $data = [];
$m = Db::name('orders');
if($deliverType!=-1)$where['o.deliverType'] = $deliverType; $tm = Model('common/Table');
if($payType!=-1)$where['o.payType'] = $payType; $tm->setTable('shops');
$page = $this->alias('o')->where($where) // $certificateStatus = 2;
->join('__USERS__ u','o.userId=u.userId','left') if ($certificateStatus <= 1) {//未上传和不需上传的订单
->join('__SHOPS__ s','o.shopId=s.shopId','left') $where = ['certificateStatus' => $certificateStatus, 'orderStatus' => 2, 'dataFlag' => 1];
->join('__LOG_ORDERS__ lo','lo.orderId=o.orderId and lo.orderStatus in (-1,-3) ','left') if ($shopName) {
->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, $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') 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') ->order('o.createTime desc')
->select(); ->select();
if(count($page)>0){ if (count($page) > 0) {
foreach ($page as $key => $v){ foreach ($page as $key => $v) {
$page[$key]['userName'] = "".$v['loginName']."".$v['userName']; $page[$key]['userName'] = "" . $v['loginName'] . "" . $v['userName'];
$page[$key]['payTypeName'] = WSTLangPayType($v['payType']); $page[$key]['payTypeName'] = WSTLangPayType($v['payType']);
$page[$key]['deliverType'] = WSTLangDeliverType($v['deliverType']==1); $page[$key]['deliverType'] = WSTLangDeliverType($v['deliverType'] == 1);
$page[$key]['status'] = WSTLangOrderStatus($v['orderStatus']); $page[$key]['status'] = WSTLangOrderStatus($v['orderStatus']);
} }
} }
Loader::import('phpexcel.PHPExcel.IOFactory'); Loader::import('phpexcel.PHPExcel.IOFactory');
$objPHPExcel = new \PHPExcel(); $objPHPExcel = new \PHPExcel();
// 设置excel文档的属性 // 设置excel文档的属性
$objPHPExcel->getProperties()->setCreator("heyuanhui")//创建人 $objPHPExcel->getProperties()->setCreator("heyuanhui")//创建人
->setLastModifiedBy("heyuanhui")//最后修改人 ->setLastModifiedBy("heyuanhui")//最后修改人
->setTitle($name)//标题 ->setTitle($name)//标题
->setSubject($name)//题目 ->setSubject($name)//题目
->setDescription($name)//描述 ->setDescription($name)//描述
->setKeywords("订单")//关键字 ->setKeywords("订单")//关键字
->setCategory("Test result file");//种类 ->setCategory("Test result file");//种类
// 开始操作excel表 // 开始操作excel表
$objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->setActiveSheetIndex(0);
// 设置工作薄名称 // 设置工作薄名称
$objPHPExcel->getActiveSheet()->setTitle(iconv('gbk', 'utf-8', 'Sheet')); $objPHPExcel->getActiveSheet()->setTitle(iconv('gbk', 'utf-8', 'Sheet'));
// 设置默认字体和大小 // 设置默认字体和大小
$objPHPExcel->getDefaultStyle()->getFont()->setName(iconv('gbk', 'utf-8', '')); $objPHPExcel->getDefaultStyle()->getFont()->setName(iconv('gbk', 'utf-8', ''));
$objPHPExcel->getDefaultStyle()->getFont()->setSize(11); $objPHPExcel->getDefaultStyle()->getFont()->setSize(11);
$styleArray = array( $styleArray = array(
'font' => array( 'font' => array(
'bold' => true, 'bold' => true,
'color'=>array( 'color' => array(
'argb' => 'ffffffff', 'argb' => 'ffffffff',
) )
), ),
'borders' => array ( 'borders' => array(
'outline' => array ( 'outline' => array(
'style' => \PHPExcel_Style_Border::BORDER_THIN, //设置border样式 'style' => \PHPExcel_Style_Border::BORDER_THIN, //设置border样式
'color' => array ('argb' => 'FF000000'), //设置border颜色 'color' => array('argb' => 'FF000000'), //设置border颜色
) )
) )
); );
//设置宽 //设置宽
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(12); $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(12); $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(25); $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(25); $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(35); $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(35);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(12); $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(8); $objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(8);
$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(8); $objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(8);
$objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(8); $objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(8);
$objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(8); $objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(8);
$objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(16); $objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(16);
$objPHPExcel->getActiveSheet()->getColumnDimension('P')->setWidth(25); $objPHPExcel->getActiveSheet()->getColumnDimension('P')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('Q')->setWidth(8); $objPHPExcel->getActiveSheet()->getColumnDimension('Q')->setWidth(8);
$objPHPExcel->getActiveSheet()->getColumnDimension('R')->setWidth(16); $objPHPExcel->getActiveSheet()->getColumnDimension('R')->setWidth(16);
$objPHPExcel->getActiveSheet()->getColumnDimension('S')->setWidth(26); $objPHPExcel->getActiveSheet()->getColumnDimension('S')->setWidth(26);
$objPHPExcel->getActiveSheet()->getColumnDimension('T')->setWidth(25); $objPHPExcel->getActiveSheet()->getColumnDimension('T')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('U')->setWidth(25); $objPHPExcel->getActiveSheet()->getColumnDimension('U')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('V')->setWidth(25); $objPHPExcel->getActiveSheet()->getColumnDimension('V')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('W')->setWidth(25); $objPHPExcel->getActiveSheet()->getColumnDimension('W')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('X')->setWidth(25); $objPHPExcel->getActiveSheet()->getColumnDimension('X')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('Y')->setWidth(25); $objPHPExcel->getActiveSheet()->getColumnDimension('Y')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('Z')->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()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('A1:W1')->getFill()->getStartColor()->setARGB('333399'); $objPHPExcel->getActiveSheet()->getStyle('A1:W1')->getFill()->getStartColor()->setARGB('333399');
$objPHPExcel->getActiveSheet() $objPHPExcel->getActiveSheet()
->setCellValue('A1', '订单编号') ->setCellValue('A1', '订单编号')
->setCellValue('B1', '订单状态') ->setCellValue('B1', '订单状态')
->setCellValue('C1', '店铺名称') ->setCellValue('C1', '店铺名称')
->setCellValue('D1', '收货人') ->setCellValue('D1', '收货人')
->setCellValue('E1', '收货地址') ->setCellValue('E1', '收货地址')
->setCellValue('F1', '联系方式') ->setCellValue('F1', '联系方式')
->setCellValue('G1', '支付方式') ->setCellValue('G1', '支付方式')
->setCellValue('H1', '配送方式') ->setCellValue('H1', '配送方式')
->setCellValue('I1', '买家留言') ->setCellValue('I1', '买家留言')
->setCellValue('J1', '发票信息') ->setCellValue('J1', '发票信息')
->setCellValue('K1', '订单总金额') ->setCellValue('K1', '订单总金额')
->setCellValue('L1', '现金额') ->setCellValue('L1', '现金额')
->setCellValue('M1', '旺旺券') ->setCellValue('M1', '旺旺券')
->setCellValue('N1', '产品券') ->setCellValue('N1', '产品券')
->setCellValue('O1', '产品券税') ->setCellValue('O1', '产品券税')
->setCellValue('P1', '产品券手续费') ->setCellValue('P1', '产品券手续费')
->setCellValue('Q1', '优惠券') ->setCellValue('Q1', '优惠券')
->setCellValue('R1', '优惠券税') ->setCellValue('R1', '优惠券税')
->setCellValue('S1', '优惠券手续费') ->setCellValue('S1', '优惠券手续费')
->setCellValue('T1', '运费') ->setCellValue('T1', '运费')
->setCellValue('U1', '实付金额') ->setCellValue('U1', '实付金额')
->setCellValue('V1', '支付方式') ->setCellValue('V1', '支付方式')
->setCellValue('W1', '下单时间') ->setCellValue('W1', '下单时间')
->setCellValue('X1', '发货时间') ->setCellValue('X1', '发货时间')
->setCellValue('Y1', '收货时间') ->setCellValue('Y1', '收货时间')
->setCellValue('Z1', '取消/拒收原因'); ->setCellValue('Z1', '取消/拒收原因');
$objPHPExcel->getActiveSheet()->getStyle('A1:U1')->applyFromArray($styleArray); $objPHPExcel->getActiveSheet()->getStyle('A1:U1')->applyFromArray($styleArray);
for ($row = 0; $row < count($page); $row++){ for ($row = 0; $row < count($page); $row++) {
$i = $row+2; $i = $row + 2;
$objPHPExcel->getActiveSheet() $objPHPExcel->getActiveSheet()
->setCellValue('A'.$i, $page[$row]['orderNo']) ->setCellValue('A' . $i, $page[$row]['orderNo'])
->setCellValue('B'.$i, $page[$row]['status']) ->setCellValue('B' . $i, $page[$row]['status'])
->setCellValue('C'.$i, $page[$row]['shopName']) ->setCellValue('C' . $i, $page[$row]['shopName'])
->setCellValue('D'.$i, $page[$row]['userName']) ->setCellValue('D' . $i, $page[$row]['userName'])
->setCellValue('E'.$i, $page[$row]['userAddress']) ->setCellValue('E' . $i, $page[$row]['userAddress'])
->setCellValue('F'.$i, $page[$row]['userPhone']) ->setCellValue('F' . $i, $page[$row]['userPhone'])
->setCellValue('G'.$i, $page[$row]['payTypeName']) ->setCellValue('G' . $i, $page[$row]['payTypeName'])
->setCellValue('H'.$i, $page[$row]['deliverType']) ->setCellValue('H' . $i, $page[$row]['deliverType'])
->setCellValue('I'.$i, $page[$row]['orderRemarks']) ->setCellValue('I' . $i, $page[$row]['orderRemarks'])
->setCellValue('J'.$i, $page[$row]['invoiceClient']) ->setCellValue('J' . $i, $page[$row]['invoiceClient'])
->setCellValue('K'.$i, $page[$row]['totalMoney']) ->setCellValue('K' . $i, $page[$row]['totalMoney'])
->setCellValue('L'.$i, $page[$row]['moneyNum']) ->setCellValue('L' . $i, $page[$row]['moneyNum'])
->setCellValue('M'.$i, $page[$row]['wangNum']) ->setCellValue('M' . $i, $page[$row]['wangNum'])
->setCellValue('N'.$i, $page[$row]['productNum']) ->setCellValue('N' . $i, $page[$row]['productNum'])
->setCellValue('O'.$i, $page[$row]['productTaxFee']) ->setCellValue('O' . $i, $page[$row]['productTaxFee'])
->setCellValue('P'.$i, $page[$row]['productHandlingFee']) ->setCellValue('P' . $i, $page[$row]['productHandlingFee'])
->setCellValue('Q'.$i, $page[$row]['couponsNum']) ->setCellValue('Q' . $i, $page[$row]['couponsNum'])
->setCellValue('R'.$i, $page[$row]['couponsTaxFee']) ->setCellValue('R' . $i, $page[$row]['couponsTaxFee'])
->setCellValue('S'.$i, $page[$row]['couponsHandlingFee']) ->setCellValue('S' . $i, $page[$row]['couponsHandlingFee'])
->setCellValue('T'.$i, $page[$row]['deliverMoney']) ->setCellValue('T' . $i, $page[$row]['deliverMoney'])
->setCellValue('U'.$i, $page[$row]['realTotalMoney']) ->setCellValue('U' . $i, $page[$row]['realTotalMoney'])
->setCellValue('V'.$i, $page[$row]['payFrom']) ->setCellValue('V' . $i, $page[$row]['payFrom'])
->setCellValue('W'.$i, $page[$row]['createTime']) ->setCellValue('W' . $i, $page[$row]['createTime'])
->setCellValue('X'.$i, $page[$row]['deliveryTime']) ->setCellValue('X' . $i, $page[$row]['deliveryTime'])
->setCellValue('Y'.$i, $page[$row]['receiveTime']) ->setCellValue('Y' . $i, $page[$row]['receiveTime'])
->setCellValue('Z'.$i, $page[$row]['logContent']); ->setCellValue('Z' . $i, $page[$row]['logContent']);
} }
//输出EXCEL格式 //输出EXCEL格式
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
// 从浏览器直接输出$filename // 从浏览器直接输出$filename
header('Content-Type:application/csv;charset=UTF-8'); header('Content-Type:application/csv;charset=UTF-8');
header("Pragma: public"); header("Pragma: public");
header("Expires: 0"); header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0"); header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download"); header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-excel;"); header("Content-Type:application/vnd.ms-excel;");
header("Content-Type:application/octet-stream"); header("Content-Type:application/octet-stream");
header("Content-Type:application/download"); header("Content-Type:application/download");
header('Content-Disposition: attachment;filename="'.$name.'.xls"'); header('Content-Disposition: attachment;filename="' . $name . '.xls"');
header("Content-Transfer-Encoding:binary"); header("Content-Transfer-Encoding:binary");
$objWriter->save('php://output'); $objWriter->save('php://output');
} }
} }

View File

@ -55,4 +55,4 @@
<script> <script>
$(function(){initGrid();}) $(function(){initGrid();})
</script> </script>
{/block} {/block}

View File

@ -19,7 +19,7 @@ function initCertificateGrid(){
{title:'店铺电话', name:'shop', width: 100,sortable:true, renderer:function(val,item,rowIndex){ {title:'店铺电话', name:'shop', width: 100,sortable:true, renderer:function(val,item,rowIndex){
return val.phone; 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){ {title:'订单组', name:'list', width: 500,sortable:true, renderer:function(val,item,rowIndex){
var html = ''; var html = '';
$.each(val,function(i,v){ $.each(val,function(i,v){
@ -58,17 +58,17 @@ function initCertificateGrid(){
var h = ""; var h = "";
if(WST.GRANT.PZCZ_00 && typeof(item.id) != 'undefined'){ if(WST.GRANT.PZCZ_00 && typeof(item.id) != 'undefined'){
h += "<a data-id='"+item.id+"'class='btn btn-blue applyAction'> <i class='fa fa-pencil'></i>审核</a> "; h += "<a data-id='"+item.id+"'class='btn btn-blue applyAction'> <i class='fa fa-pencil'></i>审核</a> ";
} }
return h; return h;
}} }}
]; ];
mmg = $('.mmg').mmGrid({height: (h-85),indexCol: true,indexColWidth:50, cols: cols,method:'POST',nowrap:true, 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', url: WST.U('admin/orders/getCertificate',p.join('&')), fullWidthRows: true, autoLoad: true,remoteSort: true,sortName:'createTime',sortStatus:'desc',
plugins: [ plugins: [
$('#pg').mmPaginator({}) $('#pg').mmPaginator({})
] ]
}); });
} }
$("body").on("click",'.uploadImg',function(){ $("body").on("click",'.uploadImg',function(){
@ -143,24 +143,22 @@ function initGrid(){
{title:'订单编号', name:'orderNo', width: 50,sortable:true, renderer:function(val,item,rowIndex){ {title:'订单编号', name:'orderNo', width: 50,sortable:true, renderer:function(val,item,rowIndex){
var h = ""; var h = "";
if(item['orderSrc']==0){ if(item['orderSrc']==0){
h += "<img class='order-source2' src='"+WST.conf.ROOT+"/hyhproject/admin/view/img/order_source_1.png'>"; h += "<img class='order-source2' src='"+WST.conf.ROOT+"/hyhproject/admin/view/img/order_source_1.png'>";
}else if(item['orderSrc']==1){ }else if(item['orderSrc']==1){
h += "<img class='order-source' src='"+WST.conf.ROOT+"/hyhproject/admin/view/img/order_source_3.png'>"; h += "<img class='order-source' src='"+WST.conf.ROOT+"/hyhproject/admin/view/img/order_source_3.png'>";
}else if(item['orderSrc']==2){ }else if(item['orderSrc']==2){
h += "<img class='order-source' src='"+WST.conf.ROOT+"/hyhproject/admin/view/img/order_source_2.png'>"; h += "<img class='order-source' src='"+WST.conf.ROOT+"/hyhproject/admin/view/img/order_source_2.png'>";
}else if(item['orderSrc']==3){ }else if(item['orderSrc']==3){
h += "<img class='order-source' src='"+WST.conf.ROOT+"/hyhproject/admin/view/img/order_source_4.png'>"; h += "<img class='order-source' src='"+WST.conf.ROOT+"/hyhproject/admin/view/img/order_source_4.png'>";
}else if(item['orderSrc']==4){ }else if(item['orderSrc']==4){
h += "<img class='order-source' src='"+WST.conf.ROOT+"/hyhproject/admin/view/img/order_source_5.png'>"; h += "<img class='order-source' src='"+WST.conf.ROOT+"/hyhproject/admin/view/img/order_source_5.png'>";
} }
h += item['orderNo']; h += item['orderNo'];
return h; 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:'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:'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:'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;}}, {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:'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:'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 '¥'+val;}},
// {title:'优惠券手续费+税', name:'couponsHandlingFee', width: 30,sortable:true, renderer:function(val,item,rowIndex){ // {title:'优惠券手续费+税', name:'couponsHandlingFee', width: 30,sortable:true, renderer:function(val,item,rowIndex){
// return item['couponsTaxFee']+val;; // 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){ {title:'商户付现', name:'payable', width: 30,sortable:true, renderer:function(val,item,rowIndex){
if(val<0){ if(val<0){
return Math.abs(val); return Math.abs(val);
@ -219,13 +219,13 @@ function initGrid(){
return h; return h;
}} }}
]; ];
mmg = $('.mmg').mmGrid({height: (h-85),indexCol: true,indexColWidth:50, cols: cols,method:'POST',nowrap:true, 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', url: WST.U('admin/orders/pageQuery',p.join('&')), fullWidthRows: true, autoLoad: true,remoteSort: true,sortName:'createTime',sortStatus:'desc',
plugins: [ plugins: [
$('#pg').mmPaginator({}) $('#pg').mmPaginator({})
] ]
}); });
} }
function toView(id){ function toView(id){
@ -243,4 +243,4 @@ function toExport(){
layer.close(box); layer.close(box);
location.href=WST.U('admin/orders/toExport',params); location.href=WST.U('admin/orders/toExport',params);
}}); }});
} }