活动订单后台查询优化
活动提现后台查询优化 财务结算记录后台查询优化 活动后台查询优化 用户发售后单接口 发布人处理售后接口
This commit is contained in:
parent
d66d589366
commit
28f2056fb6
@ -27,6 +27,8 @@ class Order extends Backend
|
||||
$this->view->assign("beforeStatusList", $this->model->getBeforeStatusList());
|
||||
$this->view->assign("serverStatusList", $this->model->getServerStatusList());
|
||||
$this->view->assign("authStatusList", $this->model->getAuthStatusList());
|
||||
$this->view->assign("suspendStatusList", $this->model->getSuspendStatusList());
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -68,7 +70,7 @@ class Order extends Backend
|
||||
|
||||
$row->getRelation('user')->visible(['nickname','realname','mobile','avatar']);
|
||||
$row->getRelation('activity')->visible(['title','images']);
|
||||
$row->getRelation('detail')->visible(['title']);
|
||||
$row->getRelation('detail')->visible(['title',"feel"]);
|
||||
}
|
||||
|
||||
$result = array("total" => $list->total(), "rows" => $list->items());
|
||||
|
@ -27,6 +27,8 @@ return [
|
||||
'Set status to 5' => '设为退款结算中',
|
||||
'Status 6' => '已退款',
|
||||
'Set status to 6' => '设为已退款',
|
||||
'Status 7' => '售后挂起',
|
||||
'Set status to 7' => '设为售后挂起',
|
||||
'Status 9' => '已完成',
|
||||
'Set status to 9' => '设为已完成',
|
||||
'Before_status' => '售后前状态',
|
||||
@ -73,5 +75,9 @@ return [
|
||||
'Activity.title' => '活动标题',
|
||||
'Activity.images' => '活动轮播图',
|
||||
'Detail.title' => '活动标题',
|
||||
'Edit' => '详情'
|
||||
'Edit' => '详情',
|
||||
'Suspend_status' => '挂起原因',
|
||||
'Suspend_status 0' => '未挂起',
|
||||
'Suspend_status 1' => '售后拒绝',
|
||||
'Suspend_status 2' => '售后超时',
|
||||
];
|
||||
|
@ -27,5 +27,7 @@ return [
|
||||
'Deletetime' => '删除时间',
|
||||
'Order.order_no' => '订单号',
|
||||
'User.nickname' => '昵称',
|
||||
'User.avatar' => '头像'
|
||||
'User.avatar' => '头像',
|
||||
'Status 7' => '售后挂起',
|
||||
'Set status to 7' => '设为售后挂起',
|
||||
];
|
||||
|
@ -30,6 +30,7 @@ class Order extends Model
|
||||
'status_text',
|
||||
'before_status_text',
|
||||
'server_status_text',
|
||||
'suspend_status_text',
|
||||
'canceltime_text',
|
||||
'paytime_text',
|
||||
'auth_time_text',
|
||||
@ -49,9 +50,25 @@ class Order extends Model
|
||||
|
||||
public function getStatusList()
|
||||
{
|
||||
return ['-3' => __('Status -3'), '0' => __('Status 0'), '2' => __('Status 2'), '3' => __('Status 3'), '4' => __('Status 4'), '5' => __('Status 5'), '6' => __('Status 6'), '9' => __('Status 9')];
|
||||
return ['-3' => __('Status -3'), '0' => __('Status 0'), '2' => __('Status 2'), '3' => __('Status 3'), '4' => __('Status 4'), '5' => __('Status 5'), '6' => __('Status 6'), '7' => __('Status 7'), '9' => __('Status 9')];
|
||||
}
|
||||
|
||||
|
||||
public function getSuspendStatusList()
|
||||
{
|
||||
return ['0' => __('未挂起'), '1' => __('售后拒绝'), '2' => __('售后超时')];
|
||||
}
|
||||
|
||||
|
||||
public function getSuspendStatusTextAttr($value, $data)
|
||||
{
|
||||
$value = $value ? $value : (isset($data['suspend_status']) ? $data['suspend_status'] : '');
|
||||
$list = $this->getSuspendStatusList();
|
||||
return isset($list[$value]) ? $list[$value] : '';
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function getBeforeStatusList()
|
||||
{
|
||||
return ['-3' => __('Before_status -3'), '0' => __('Before_status 0'), '2' => __('Before_status 2'), '3' => __('Before_status 3'), '4' => __('Before_status 4'), '6' => __('Before_status 6'), '9' => __('Before_status 9')];
|
||||
|
@ -32,7 +32,7 @@ class OrderLog extends Model
|
||||
|
||||
public function getStatusList()
|
||||
{
|
||||
return ['-3' => __('Status -3'), '0' => __('Status 0'), '2' => __('Status 2'), '3' => __('Status 3'), '4' => __('Status 4'), '5' => __('Status 5'), '6' => __('Status 6'), '9' => __('Status 9')];
|
||||
return ['-3' => __('Status -3'), '0' => __('Status 0'), '2' => __('Status 2'), '3' => __('Status 3'), '4' => __('Status 4'), '5' => __('Status 5'), '6' => __('Status 6'),'7' => __('Status 7'), '9' => __('Status 9')];
|
||||
}
|
||||
|
||||
|
||||
|
@ -2,12 +2,24 @@
|
||||
|
||||
<div class="panel-heading">
|
||||
{:build_heading(null,FALSE)}
|
||||
|
||||
|
||||
|
||||
<ul class="nav nav-tabs nav-custom-condition">
|
||||
<li class="active"><a href="#t-all" data-value="" data-toggle="tab">{:__('不筛选审核')}</a></li>
|
||||
{foreach name="authStatusList" item="vo"}
|
||||
<li class="{:$Think.get.auth_status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
<ul class="nav nav-tabs" data-field="status">
|
||||
<li class="{:$Think.get.status === null ? 'active' : ''}"><a href="#t-all" data-value="" data-toggle="tab">{:__('All')}</a></li>
|
||||
{foreach name="statusList" item="vo"}
|
||||
<li class="{:$Think.get.status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2,12 +2,42 @@
|
||||
|
||||
<div class="panel-heading">
|
||||
{:build_heading(null,FALSE)}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul class="nav nav-tabs nav-custom-condition">
|
||||
<li class="active"><a href="#t-all" data-value="" data-toggle="tab">{:__('不筛选售后单')}</a></li>
|
||||
{foreach name="serverStatusList" item="vo"}
|
||||
<li class="{:$Think.get.server_status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
|
||||
<ul class="nav nav-tabs nav2-custom-condition">
|
||||
<li class="active"><a href="#t-all" data-value="" data-toggle="tab">{:__('不筛选售后审核')}</a></li>
|
||||
{foreach name="authStatusList" item="vo"}
|
||||
<li class="{:$Think.get.auth_status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
<ul class="nav nav-tabs nav3-custom-condition">
|
||||
<li class="active"><a href="#t-all" data-value="" data-toggle="tab">{:__('不筛选挂起单')}</a></li>
|
||||
{foreach name="suspendStatusList" item="vo"}
|
||||
<li class="{:$Think.get.suspend_status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
|
||||
<ul class="nav nav-tabs" data-field="status">
|
||||
<li class="{:$Think.get.status === null ? 'active' : ''}"><a href="#t-all" data-value="" data-toggle="tab">{:__('All')}</a></li>
|
||||
{foreach name="statusList" item="vo"}
|
||||
<li class="{:$Think.get.status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -8,6 +8,17 @@
|
||||
<li class="{:$Think.get.status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<ul class="nav nav-tabs nav-custom-condition">
|
||||
<li class="active"><a href="#t-all" data-value="" data-toggle="tab">{:__('不筛选打款')}</a></li>
|
||||
{foreach name="withdrawalStatusList" item="vo"}
|
||||
<li class="{:$Think.get.withdrawal_status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -85,7 +85,7 @@ class NewActivity extends Base
|
||||
* @ApiParams(name = "sign_start_time", type = "int",required=false,description = "报名开始时间10位秒级时间戳")
|
||||
* @ApiParams(name = "sign_end_time", type = "int",required=false,description = "报名结束时间10位秒级时间戳")
|
||||
* @ApiParams(name = "auth_status", type = "int",required=false,description = "审核状态:0=待审核,1=审核通过,2=审核不通过 ,不传查所有,可按多值逗号拼接")
|
||||
* @ApiParams(name = "keyword", type = "string",required=false,description = "关键字搜索")
|
||||
* @ApiParams(name = "cate_ids", type = "string",required=false,description = "平台分类ids 多值逗号拼接")
|
||||
* @ApiParams(name = "province", type = "string",required=false,description = "省编号")
|
||||
* @ApiParams(name = "city", type = "string",required=false,description = "市编号")
|
||||
* @ApiParams(name = "district", type = "string",required=false,description = "县区编号")
|
||||
@ -118,7 +118,7 @@ class NewActivity extends Base
|
||||
$params["keywords"] = $this->request->get('keywords/s', ''); //搜索关键字
|
||||
$params["shop_id"] = $this->request->get('shop_id/d', ''); //机构店铺id
|
||||
|
||||
$params["keyword"] = $this->request->get('keyword/s', ''); //机构店铺id
|
||||
$params["cate_ids"] = $this->request->get('cate_ids/s', ''); //机构店铺id
|
||||
|
||||
$params["address_type"] = $this->request->get('address_type/s', ''); //机构店铺id
|
||||
$params["province"] = $this->request->get('province/s', ''); //机构店铺id
|
||||
|
@ -264,6 +264,39 @@ class Order extends Base
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @ApiTitle( 订单申请售后接口 )
|
||||
* @ApiSummary(订单申请售后)
|
||||
* @ApiMethod(POST)
|
||||
* @ApiParams(name = "order_no", type = "string",required=true,description = "需要售后的订单号")
|
||||
* @ApiParams(name = "auth_reason", type = "string",required=true,description = "申请理由")
|
||||
* @ApiParams(name = "num", type = "int",required=true,description = "退票数")
|
||||
* @ApiReturn({
|
||||
*
|
||||
*})
|
||||
*/
|
||||
public function after_sales(){
|
||||
$user_id = 0;
|
||||
$user = $this->auth->getUser();//登录用户
|
||||
if($user)$user_id = $user['id'];
|
||||
$classes_order = $this->request->post('order_no/s', 0); //课程id
|
||||
$auth_reason = $this->request->post('auth_reason/s', ''); //订单号
|
||||
$num = $this->request->post('num/d', ''); //订单号
|
||||
try{
|
||||
//当前申请状态
|
||||
$res = $this->model->afterSales($classes_order,$num,$auth_reason,$user_id ,true,'user',$user_id,true);
|
||||
|
||||
|
||||
}catch (\Exception $e){
|
||||
// Log::log($e->getMessage());
|
||||
$this->error($e->getMessage(),['errcode'=>$e->getCode()]);
|
||||
}
|
||||
$this->success('申请售后成功', $res);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -162,4 +162,41 @@ class Order extends Base
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @ApiTitle( 处理售后接口)
|
||||
* @ApiSummary(处理售后接口)
|
||||
* @ApiMethod(POST)
|
||||
* @ApiParams(name = "order_no", type = "string",required=true,description = "售后订单id或售后订号")
|
||||
* @ApiParams(name = "status", type = "string",required=true,description = "yes=同意,no=驳回")
|
||||
* @ApiParams(name = "price", type = "string",required=false,description = "同意的售后金额")
|
||||
* @ApiParams(name = "reject_reason", type = "string",required=false,description = "驳回原因")
|
||||
* @ApiReturn({
|
||||
*
|
||||
*})
|
||||
*/
|
||||
public function shop_confirmation(){
|
||||
$this->model = new OrderModel;
|
||||
//判断登录用户是否是员工
|
||||
$this->setUrlLock();
|
||||
$user_id = 0;
|
||||
$user = $this->auth->getUser();//登录用户
|
||||
if($user)$user_id = $user['id'];
|
||||
$order_no = $this->request->post('order_no/s', ''); //订单号
|
||||
$status = $this->request->post('status/s', 0); //审核状态
|
||||
$price = $this->request->post('price/f', 0);
|
||||
$reject_reason = $this->request->post('reject_reason/s', '');
|
||||
|
||||
try{
|
||||
//当前申请状态
|
||||
$res = $this->model->shopConfirmation($order_no,$status,$price,$reject_reason,0,true,'user',$user_id,true);
|
||||
}catch (\Throwable $e){
|
||||
$this->error($e->getMessage());
|
||||
}
|
||||
$this->success('调用成功', $res);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -312,6 +312,18 @@ $newactivityOrderHooks = [
|
||||
'app\\common\\listener\\activity\\OrderHook'
|
||||
],
|
||||
|
||||
'activity_order_after_sales_after' => [ // 订单申请售后
|
||||
'app\\common\\listener\\activity\\OrderHook'
|
||||
],
|
||||
|
||||
'activity_order_shop_confirm_after' => [ // 订单售后同意
|
||||
'app\\common\\listener\\activity\\OrderHook'
|
||||
],
|
||||
|
||||
'activity_order_shop_reject_after' => [ // 订单售后拒绝
|
||||
'app\\common\\listener\\activity\\OrderHook'
|
||||
],
|
||||
|
||||
|
||||
];
|
||||
|
||||
|
@ -48,6 +48,7 @@ class OrderHook
|
||||
"real_refundprice" => $order["real_refundprice"],
|
||||
"sub_refundprice" => $order["sub_refundprice"],
|
||||
"reason" => $order["reason"],
|
||||
"auth_reason" => $order["auth_reason"],
|
||||
"address"=>$detail["address"]."(".$detail["address_detail"].")",
|
||||
"start_time" => date("Y-m-d H:i",$detail["start_time"]), //格式化日期格式 $order["start_time"], //格式化日期格式
|
||||
"end_time" => date("Y-m-d H:i",$detail["end_time"]),
|
||||
@ -104,6 +105,7 @@ class OrderHook
|
||||
"real_refundprice" => $order["real_refundprice"],
|
||||
"sub_refundprice" => $order["sub_refundprice"],
|
||||
"reason" => $order["reason"],
|
||||
"auth_reason" => $order["auth_reason"],
|
||||
"address"=>$detail["address"]."(".$detail["address_detail"].")",
|
||||
"start_time" => date("Y-m-d H:i",$detail["start_time"]), //格式化日期格式 $order["start_time"], //格式化日期格式
|
||||
"end_time" => date("Y-m-d H:i",$detail["end_time"]),
|
||||
@ -167,6 +169,7 @@ class OrderHook
|
||||
"real_refundprice" => $order["real_refundprice"],
|
||||
"sub_refundprice" => $order["sub_refundprice"],
|
||||
"reason" => $order["reason"],
|
||||
"auth_reason" => $order["auth_reason"],
|
||||
"address"=>$detail["address"]."(".$detail["address_detail"].")",
|
||||
"start_time" => date("Y-m-d H:i",$detail["start_time"]), //格式化日期格式 $order["start_time"], //格式化日期格式
|
||||
"end_time" => date("Y-m-d H:i",$detail["end_time"]),
|
||||
@ -225,6 +228,7 @@ class OrderHook
|
||||
"real_refundprice" => $order["real_refundprice"],
|
||||
"sub_refundprice" => $order["sub_refundprice"],
|
||||
"reason" => $order["reason"],
|
||||
"auth_reason" => $order["auth_reason"],
|
||||
"address"=>$detail["address"]."(".$detail["address_detail"].")",
|
||||
"start_time" => date("Y-m-d H:i",$detail["start_time"]), //格式化日期格式 $order["start_time"], //格式化日期格式
|
||||
"end_time" => date("Y-m-d H:i",$detail["end_time"]),
|
||||
@ -288,6 +292,7 @@ class OrderHook
|
||||
"real_refundprice" => $order["real_refundprice"],
|
||||
"sub_refundprice" => $order["sub_refundprice"],
|
||||
"reason" => $order["reason"],
|
||||
"auth_reason" => $order["auth_reason"],
|
||||
"address"=>$detail["address"]."(".$detail["address_detail"].")",
|
||||
"start_time" => date("Y-m-d H:i",$detail["start_time"]), //格式化日期格式 $order["start_time"], //格式化日期格式
|
||||
"end_time" => date("Y-m-d H:i",$detail["end_time"]),
|
||||
@ -341,6 +346,7 @@ class OrderHook
|
||||
"real_refundprice" => $order["real_refundprice"],
|
||||
"sub_refundprice" => $order["sub_refundprice"],
|
||||
"reason" => $order["reason"],
|
||||
"auth_reason" => $order["auth_reason"],
|
||||
"address"=>$detail["address"]."(".$detail["address_detail"].")",
|
||||
"start_time" => date("Y-m-d H:i",$detail["start_time"]), //格式化日期格式 $order["start_time"], //格式化日期格式
|
||||
"end_time" => date("Y-m-d H:i",$detail["end_time"]),
|
||||
@ -407,6 +413,7 @@ class OrderHook
|
||||
"real_refundprice" => $order["real_refundprice"],
|
||||
"sub_refundprice" => $order["sub_refundprice"],
|
||||
"reason" => $order["reason"],
|
||||
"auth_reason" => $order["auth_reason"],
|
||||
"address"=>$detail["address"]."(".$detail["address_detail"].")",
|
||||
"start_time" => date("Y-m-d H:i",$detail["start_time"]), //格式化日期格式 $order["start_time"], //格式化日期格式
|
||||
"end_time" => date("Y-m-d H:i",$detail["end_time"]),
|
||||
@ -462,6 +469,7 @@ class OrderHook
|
||||
"real_refundprice" => $order["real_refundprice"],
|
||||
"sub_refundprice" => $order["sub_refundprice"],
|
||||
"reason" => $order["reason"],
|
||||
"auth_reason" => $order["auth_reason"],
|
||||
"address"=>$detail["address"]."(".$detail["address_detail"].")",
|
||||
"start_time" => date("Y-m-d H:i",$detail["start_time"]), //格式化日期格式 $order["start_time"], //格式化日期格式
|
||||
"end_time" => date("Y-m-d H:i",$detail["end_time"]),
|
||||
@ -498,6 +506,184 @@ class OrderHook
|
||||
|
||||
|
||||
|
||||
// 订单申请售后成功
|
||||
public function activityOrderAfterSalesAfter(&$params)
|
||||
{
|
||||
["order"=>$order] = $params;
|
||||
|
||||
$order = Order::where("id" , $order["id"])->find();
|
||||
|
||||
$detail = $order->detail;
|
||||
$user = $order->user;
|
||||
//记录订单日志
|
||||
$mini_type = "activity_order";
|
||||
$to_id = $order["user_id"];
|
||||
$status ="activity";
|
||||
$params=[
|
||||
"event"=>"activity_order_after_sales_after",
|
||||
"order_id"=>$order["id"],
|
||||
"order_no"=>$order["order_no"],
|
||||
"activity_id"=>$order["activity_id"],
|
||||
"title"=>$detail["title"],
|
||||
"images"=>$detail["images"],
|
||||
];
|
||||
$param = [
|
||||
"title"=>$detail["title"],
|
||||
"order_no" => $order["order_no"],
|
||||
"nickname" => $user["nickname"],
|
||||
"realname" => $user["realname"],
|
||||
"mobile" => $user["mobile"],
|
||||
"price" => $order["totalprice"],
|
||||
"payprice" => $order["payprice"],
|
||||
"real_refundprice" => $order["real_refundprice"],
|
||||
"sub_refundprice" => $order["sub_refundprice"],
|
||||
"reason" => $order["reason"],
|
||||
"auth_reason" => $order["auth_reason"],
|
||||
"address"=>$detail["address"]."(".$detail["address_detail"].")",
|
||||
"start_time" => date("Y-m-d H:i",$detail["start_time"]), //格式化日期格式 $order["start_time"], //格式化日期格式
|
||||
"end_time" => date("Y-m-d H:i",$detail["end_time"]),
|
||||
"sign_start_time" => date("Y-m-d H:i",$detail["sign_start_time"]), //格式化日期格式 $order["start_time"], //格式化日期格式
|
||||
"sign_end_time" => date("Y-m-d H:i",$detail["sign_end_time"]),
|
||||
];
|
||||
|
||||
//发用户
|
||||
(new MessageConfig)
|
||||
->setTemplate($params["event"]."_user")
|
||||
->setTemplateData($param)
|
||||
->setToUid($to_id)
|
||||
->setMessageStatus($status)
|
||||
->setMessageMiniType($mini_type)
|
||||
->setMessageParams($params)
|
||||
->sendMessage();
|
||||
//发所有核销员
|
||||
(new MessageConfig)
|
||||
->setTemplate($params["event"]."_verification")
|
||||
->setTemplateData($param)
|
||||
->setToUid($detail["user_id"])
|
||||
->setMessageStatus($status)
|
||||
->setMessageMiniType($mini_type)
|
||||
->setMessageParams($params)
|
||||
->sendMessage();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 订单售后同意
|
||||
public function activityOrderShopConfirmAfter(&$params)
|
||||
{
|
||||
["order"=>$order] = $params;
|
||||
|
||||
$order = Order::where("id" , $order["id"])->find();
|
||||
|
||||
$detail = $order->detail;
|
||||
$user = $order->user;
|
||||
//记录订单日志
|
||||
$mini_type = "activity_order";
|
||||
$to_id = $order["user_id"];
|
||||
$status ="activity";
|
||||
$params=[
|
||||
"event"=>"activity_order_after_sales_after",
|
||||
"order_id"=>$order["id"],
|
||||
"order_no"=>$order["order_no"],
|
||||
"activity_id"=>$order["activity_id"],
|
||||
"title"=>$detail["title"],
|
||||
"images"=>$detail["images"],
|
||||
];
|
||||
$param = [
|
||||
"title"=>$detail["title"],
|
||||
"order_no" => $order["order_no"],
|
||||
"nickname" => $user["nickname"],
|
||||
"realname" => $user["realname"],
|
||||
"mobile" => $user["mobile"],
|
||||
"price" => $order["totalprice"],
|
||||
"payprice" => $order["payprice"],
|
||||
"real_refundprice" => $order["real_refundprice"],
|
||||
"sub_refundprice" => $order["sub_refundprice"],
|
||||
"first_refundprice" => $order["first_refundprice"],
|
||||
"total_refundprice" => $order["total_refundprice"],
|
||||
"reason" => $order["reason"],
|
||||
"auth_reason" => $order["auth_reason"],
|
||||
"address"=>$detail["address"]."(".$detail["address_detail"].")",
|
||||
"start_time" => date("Y-m-d H:i",$detail["start_time"]), //格式化日期格式 $order["start_time"], //格式化日期格式
|
||||
"end_time" => date("Y-m-d H:i",$detail["end_time"]),
|
||||
"sign_start_time" => date("Y-m-d H:i",$detail["sign_start_time"]), //格式化日期格式 $order["start_time"], //格式化日期格式
|
||||
"sign_end_time" => date("Y-m-d H:i",$detail["sign_end_time"]),
|
||||
];
|
||||
|
||||
//发用户
|
||||
(new MessageConfig)
|
||||
->setTemplate($params["event"])
|
||||
->setTemplateData($param)
|
||||
->setToUid($to_id)
|
||||
->setMessageStatus($status)
|
||||
->setMessageMiniType($mini_type)
|
||||
->setMessageParams($params)
|
||||
->sendMessage();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 订单售后拒绝
|
||||
public function activityOrderShopRejectAfter(&$params)
|
||||
{
|
||||
["order"=>$order] = $params;
|
||||
|
||||
$order = Order::where("id" , $order["id"])->find();
|
||||
|
||||
$detail = $order->detail;
|
||||
$user = $order->user;
|
||||
//记录订单日志
|
||||
$mini_type = "activity_order";
|
||||
$to_id = $order["user_id"];
|
||||
$status ="activity";
|
||||
$params=[
|
||||
"event"=>"activity_order_after_sales_after",
|
||||
"order_id"=>$order["id"],
|
||||
"order_no"=>$order["order_no"],
|
||||
"activity_id"=>$order["activity_id"],
|
||||
"title"=>$detail["title"],
|
||||
"images"=>$detail["images"],
|
||||
];
|
||||
$param = [
|
||||
"title"=>$detail["title"],
|
||||
"order_no" => $order["order_no"],
|
||||
"nickname" => $user["nickname"],
|
||||
"realname" => $user["realname"],
|
||||
"mobile" => $user["mobile"],
|
||||
"price" => $order["totalprice"],
|
||||
"payprice" => $order["payprice"],
|
||||
"real_refundprice" => $order["real_refundprice"],
|
||||
"sub_refundprice" => $order["sub_refundprice"],
|
||||
"total_refundprice" => $order["total_refundprice"],
|
||||
"reason" => $order["reason"],
|
||||
"auth_reason" => $order["auth_reason"],
|
||||
"address"=>$detail["address"]."(".$detail["address_detail"].")",
|
||||
"start_time" => date("Y-m-d H:i",$detail["start_time"]), //格式化日期格式 $order["start_time"], //格式化日期格式
|
||||
"end_time" => date("Y-m-d H:i",$detail["end_time"]),
|
||||
"sign_start_time" => date("Y-m-d H:i",$detail["sign_start_time"]), //格式化日期格式 $order["start_time"], //格式化日期格式
|
||||
"sign_end_time" => date("Y-m-d H:i",$detail["sign_end_time"]),
|
||||
];
|
||||
|
||||
//发用户
|
||||
(new MessageConfig)
|
||||
->setTemplate($params["event"])
|
||||
->setTemplateData($param)
|
||||
->setToUid($to_id)
|
||||
->setMessageStatus($status)
|
||||
->setMessageMiniType($mini_type)
|
||||
->setMessageParams($params)
|
||||
->sendMessage();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -3,6 +3,8 @@
|
||||
namespace app\common\model\school\activity\order;
|
||||
|
||||
use addons\epay\library\Service;
|
||||
use app\admin\model\Admin;
|
||||
use app\admin\model\Manystore;
|
||||
use app\common\model\BaseModel;
|
||||
use app\common\model\school\activity\Activity;
|
||||
use app\common\model\school\activity\Refund;
|
||||
@ -39,6 +41,7 @@ class Order extends BaseModel
|
||||
'status_text',
|
||||
'before_status_text',
|
||||
'server_status_text',
|
||||
'suspend_status_text',
|
||||
'canceltime_text',
|
||||
'paytime_text',
|
||||
'auth_time_text',
|
||||
@ -58,9 +61,26 @@ class Order extends BaseModel
|
||||
|
||||
public function getStatusList()
|
||||
{
|
||||
return ['-3' => __('Status -3'), '0' => __('Status 0'), '2' => __('Status 2'), '3' => __('Status 3'), '4' => __('Status 4'), '5' => __('Status 5'), '6' => __('Status 6'), '9' => __('Status 9')];
|
||||
return ['-3' => __('Status -3'), '0' => __('Status 0'), '2' => __('Status 2'), '3' => __('Status 3'), '4' => __('Status 4'), '5' => __('Status 5'), '6' => __('Status 6'),'7' => __('Status 7'), '9' => __('Status 9')];
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function getSuspendStatusList()
|
||||
{
|
||||
return ['0' => __('未挂起'), '1' => __('售后拒绝'), '2' => __('售后超时')];
|
||||
}
|
||||
|
||||
|
||||
public function getSuspendStatusTextAttr($value, $data)
|
||||
{
|
||||
$value = $value ? $value : (isset($data['suspend_status']) ? $data['suspend_status'] : '');
|
||||
$list = $this->getSuspendStatusList();
|
||||
return isset($list[$value]) ? $list[$value] : '';
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function getBeforeStatusList()
|
||||
{
|
||||
return ['-3' => __('Before_status -3'), '0' => __('Before_status 0'), '2' => __('Before_status 2'), '3' => __('Before_status 3'), '4' => __('Before_status 4'), '6' => __('Before_status 6'), '9' => __('Before_status 9')];
|
||||
@ -622,6 +642,7 @@ class Order extends BaseModel
|
||||
$order_data["payprice"] = 0;
|
||||
$order_data["status"] = '0';
|
||||
$order_data["settle_log_time"] = $activity_info["settlement_time"];
|
||||
$order_data["last_time"] = $activity_info["end_time"] + config("site.activity_end_sales");
|
||||
//根据手续费比例$activity_info["fee_scale"] 计算手续费
|
||||
$order_data["fee_price"] = bcmul($order_data["totalprice"],$order_data["fee_scale"],2);
|
||||
//手续费保底不能低于site.activity_settle_min_fee
|
||||
@ -1098,7 +1119,7 @@ class Order extends BaseModel
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
* @throws \think\exception\DbException
|
||||
*/
|
||||
public static function checkOptionAuth($classes_order_id,$oper_id,$oper_type,$only_user=false,$only_shop=false,$only_admin=false){
|
||||
public static function checkOptionAuth($classes_order_id,$oper_id,$oper_type,$only_user=false,$only_shop=false,$only_admin=false,$only_shop_user=false){
|
||||
|
||||
//课程是否存在并上架
|
||||
$classesOrder = Order::where("id",$classes_order_id)->find();
|
||||
@ -1112,6 +1133,7 @@ class Order extends BaseModel
|
||||
if($oper_id != $classesOrder["user_id"]){
|
||||
if($only_user) throw new \Exception("您无权操作该订单!");
|
||||
|
||||
|
||||
//说明是操作员
|
||||
$help_user_info = User::where('id',$oper_id)->find();
|
||||
if(!$help_user_info) throw new \Exception("代下单员工不存在!");
|
||||
@ -1119,6 +1141,8 @@ class Order extends BaseModel
|
||||
//判断当前订单课程是否在此课程授权范围内
|
||||
if(!in_array($classesOrder["activity_id"],$classes_activity_ids)) throw new \Exception("该活动不在您的授权范围内,无法代操作!");
|
||||
}else{
|
||||
if($only_shop_user) throw new \Exception("您无权操作该订单!");
|
||||
|
||||
$classes_activity_ids = (new Activity())->getActivityAuthIds($oper_id);
|
||||
//不是员工并且想操作只有机构能操作的单
|
||||
if(!in_array($classesOrder["activity_id"],$classes_activity_ids) && $only_shop)throw new \Exception("您无权操作该订单!");
|
||||
@ -1801,6 +1825,24 @@ class Order extends BaseModel
|
||||
$order->refundtime = time();
|
||||
$order->refund_json = json_encode($pay_json);
|
||||
$order->save();
|
||||
|
||||
|
||||
//若存在剩余金额,结算给发布者
|
||||
if($order->sub_refundprice > $order->fee_scale){
|
||||
//报废旧的结算单
|
||||
SettleLog::where("activity_order_id",$order['id'])
|
||||
->where("status" ,"in",["1","2"])
|
||||
->update([
|
||||
"status"=>"-1",
|
||||
"canceltime" => time()
|
||||
]);
|
||||
//插入新结算单
|
||||
(new SettleLog)->generatorLog($order['id']);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return $order;
|
||||
}
|
||||
|
||||
@ -1901,25 +1943,63 @@ class Order extends BaseModel
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
* @throws \think\exception\DbException
|
||||
*/
|
||||
public static function getHaveAfterSalesOrder($refund_sn){
|
||||
public static function getHaveAfterSalesOrder($refund_sn,$check=true){
|
||||
// $where = [self::STATUS_NOPAY,self::STATUS_PAYED];
|
||||
$order = self::where('refund_no|order_no|id',$refund_sn)->where('status','5')->where("sub_refundprice",">",0)->find();
|
||||
$order = self::where('refund_no|order_no|id',$refund_sn)->where('status',"in",["2","3","9"])->where("sub_refundprice",">",0)->find();
|
||||
if(!$order)throw new \Exception("不是可直接退款的订单!");
|
||||
$detail = $order->detail;
|
||||
if(!$detail)throw new \Exception("找不到订单详情!");
|
||||
if($check){
|
||||
if(!in_array($order['status'],["2","3","9"])) throw new \Exception("不是可申请售后的订单!");
|
||||
//申请售后必须是活动结束后n秒内
|
||||
$last_time = $detail['end_time'] + config('site.activity_end_sales');
|
||||
if(time() > $last_time) throw new \Exception("已超过发起售后的最后期限!");
|
||||
|
||||
}
|
||||
|
||||
return $order;
|
||||
}
|
||||
|
||||
|
||||
public function updateAfterSales($order,$total_refundprice,$auth_reason,$check=true){
|
||||
if(is_numeric($order))$order = self::getHaveAfterSalesOrder($order,$check);
|
||||
$order["before_status"] = $order["status"];
|
||||
$order["status"] = "4";
|
||||
$order["server_status"] = "3";
|
||||
$order["auth_time"] = time();
|
||||
$order["auth_status"] = 0;
|
||||
$order["auth_reason"] = $auth_reason;
|
||||
$order["total_refundprice"] = $total_refundprice;
|
||||
$order["first_refundprice"] = $total_refundprice;
|
||||
$order->save();
|
||||
}
|
||||
|
||||
|
||||
/** 发起售后
|
||||
* @param $order_no
|
||||
* @param $user_id
|
||||
* @param $trans
|
||||
* @return true
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function afterSales($order,$trans=false){
|
||||
if(is_numeric($order))$order = self::getHaveAfterSalesOrder($order);
|
||||
public function afterSales($order,$num,$auth_reason,$user_id ,$check=true,$oper_type='user',$oper_id=0,$trans=false){
|
||||
if(is_numeric($order))$order = self::getHaveAfterSalesOrder($order,$check);
|
||||
if(!$order)throw new \Exception("找不到订单");
|
||||
//
|
||||
if($check){
|
||||
//用户操作权限检测
|
||||
self::checkOptionAuth($order['id'],$user_id ?: $oper_id,$oper_type);
|
||||
|
||||
}
|
||||
$detail = $order->detail;
|
||||
if(!$detail)throw new \Exception("找不到订单详情!");
|
||||
if(!$auth_reason) throw new \Exception("请填写申请原因");
|
||||
|
||||
|
||||
//$num至少要1,至多要订单数量
|
||||
if($num < 1 || $num > $order['num']) throw new \Exception("数量错误");
|
||||
$total_refundprice = bcmul($detail['price'],$num,2);
|
||||
|
||||
if($total_refundprice < 0.01 || $total_refundprice > $order['sub_refundprice']) throw new \Exception("退款金额错误");
|
||||
|
||||
//判断逻辑
|
||||
if($trans){
|
||||
@ -1927,6 +2007,17 @@ class Order extends BaseModel
|
||||
}
|
||||
$res = true;
|
||||
try{
|
||||
//设置订单申请状态
|
||||
$this->updateAfterSales($order,$total_refundprice,$auth_reason,$check);
|
||||
|
||||
//订单日志
|
||||
OrderLog::log($order['id'],"活动订单申请售后:".$auth_reason, $oper_type, $oper_id);
|
||||
|
||||
//调用订单取消事件
|
||||
$data = ['order' => self::where("id",$order['id'])->find(),"user_id"=>$order['user_id'],"oper_type"=>$oper_type,"oper_id"=>$oper_id];
|
||||
\think\Hook::listen('activity_order_after_sales_after', $data);
|
||||
|
||||
|
||||
|
||||
if($trans){
|
||||
self::commitTrans();
|
||||
@ -1944,6 +2035,200 @@ class Order extends BaseModel
|
||||
|
||||
|
||||
|
||||
public static function getHaveShopConfirmationOrder($refund_sn,$check=true){
|
||||
// $where = [self::STATUS_NOPAY,self::STATUS_PAYED];
|
||||
$order = self::where('refund_no|order_no|id',$refund_sn)->where('status',"in",["4","7"])->where("sub_refundprice",">",0)->find();
|
||||
if(!$order)throw new \Exception("不是可直接退款的订单!");
|
||||
$detail = $order->detail;
|
||||
if(!$detail)throw new \Exception("找不到订单详情!");
|
||||
if($check){
|
||||
|
||||
}
|
||||
|
||||
return $order;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**机构同意并确认价格
|
||||
* @param $order
|
||||
* @return array|false|\PDOStatement|string|Model
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
* @throws \think\exception\DbException
|
||||
*/
|
||||
public static function updateShopConfirmationOrder($order,$price){
|
||||
if(is_string($order))$order = self::getHaveShopConfirmationOrder($order);
|
||||
$order->status = "5";//refund_status
|
||||
$order->service_stauts = "6";
|
||||
$order->auth_status = 1;
|
||||
$order->total_refundprice = $price;
|
||||
$order->refundtime = time();
|
||||
$order->save();
|
||||
return $order;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**机构拒绝售后
|
||||
* @param $order
|
||||
* @return array|false|\PDOStatement|string|Model
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
* @throws \think\exception\DbException
|
||||
*/
|
||||
public static function updateShopConfirmationFailOrder($order,$reason){
|
||||
if(is_string($order))$order = self::getHaveShopConfirmationOrder($order);
|
||||
$order->status = "7";//refund_status
|
||||
$order->service_stauts = "6";
|
||||
$order->auth_status = 2;
|
||||
$order->reason = $reason;
|
||||
$order->suspend_status = '1';
|
||||
$order->save();
|
||||
return $order;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**发布者售后提交确认信息
|
||||
* @param $order_no
|
||||
* @param int $user_id
|
||||
* @param string $status yes同意 no拒绝
|
||||
*@param string $price 商定价格
|
||||
*@param string $reject_reason 拒绝原因
|
||||
* @param bool $check
|
||||
* @param bool $trans
|
||||
* @return bool
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function shopConfirmation($order_no,$status,$price,$reject_reason,$user_id=0,$check=false,$oper_type='user',$oper_id=0,$trans=false){
|
||||
|
||||
//得到机构售后提交确认订单
|
||||
$order = self::getHaveShopConfirmationOrder($order_no);
|
||||
if($check){
|
||||
//用户操作权限检测
|
||||
Order::checkOptionAuth($order['id'],$user_id ?: $oper_id,$oper_type,false,true);
|
||||
}
|
||||
$classesorder = $order;
|
||||
if(!$classesorder)throw new \Exception("订单不存在!");
|
||||
|
||||
switch ($status){
|
||||
case 'yes':
|
||||
//同意
|
||||
//验证价格正确性
|
||||
//金额必须小于等于剩余未退全额
|
||||
$price = floatval($price);
|
||||
if($price > $classesorder['sub_refundprice']){
|
||||
throw new \Exception("价格必须小于等于剩余应退全额!");
|
||||
}
|
||||
//数据修正大于剩余未退全额 则等于剩余未退
|
||||
$price = $price > $classesorder['sub_refundprice'] ? $classesorder['sub_refundprice'] : $price;
|
||||
if($price<=0)throw new \Exception("同意退款必须大于0!");
|
||||
|
||||
//如果非全额退款,剩余金额必须大于订单支付时的手续费
|
||||
if($price < $classesorder['sub_refundprice']){
|
||||
$sub_price = bcsub($classesorder['sub_refundprice'] , $price,2);
|
||||
if($sub_price <= $classesorder['fee_price']){
|
||||
throw new \Exception("如果未退全款,剩余未退金额必须大于订单支付时的手续费{$classesorder['fee_price']}!");
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case 'no':
|
||||
//拒绝
|
||||
//拒绝原因必填
|
||||
if(!$reject_reason)throw new \Exception("拒绝原因必填!");
|
||||
|
||||
|
||||
|
||||
break;
|
||||
default:
|
||||
throw new \Exception("参数错误!");
|
||||
}
|
||||
|
||||
|
||||
//判断逻辑
|
||||
if($trans){
|
||||
self::beginTrans();
|
||||
}
|
||||
$res = true;
|
||||
try{
|
||||
//事务逻辑
|
||||
//更新售后为取消状态
|
||||
switch ($status){
|
||||
case 'yes':
|
||||
//同意
|
||||
|
||||
//更新订单状态为同意
|
||||
$order = self::updateShopConfirmationOrder($order,$price);
|
||||
|
||||
//插入订单日志
|
||||
if(!$user_id ||$order["user_id"] !=$user_id ){
|
||||
OrderLog::log($order['id'],"[系统操作]活动订单售后已处理,用户发起金额为{$order['first_refundprice']},确认退款金额为{$price}元,等待退款到账",$oper_type ?: 'user', $oper_id ?: $order['user_id']);
|
||||
}else{
|
||||
OrderLog::log($order['id'],"活动订单售后已处理,用户发起金额为{$order['first_refundprice']},确认退款金额为{$price}元,等待退款到账",$oper_type ?: 'user', $oper_id ?: $order['user_id']);
|
||||
}
|
||||
|
||||
//调用订单事件
|
||||
$data = ['order' => self::where("id",$order['id'])->find(),"user_id"=>$user_id,"oper_type"=>$oper_type,"oper_id"=>$oper_id];
|
||||
\think\Hook::listen('activity_order_shop_confirm_after', $data);
|
||||
|
||||
|
||||
//执行退款
|
||||
//执行退款
|
||||
self::orderRefund($order['order_no'],$price,$oper_type,$oper_id);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
break;
|
||||
case 'no':
|
||||
//拒绝
|
||||
|
||||
//更新
|
||||
//更新售后为机构驳回结单状态
|
||||
$order = self::updateShopConfirmationFailOrder($order,$reject_reason);
|
||||
|
||||
//插入订单日志
|
||||
if(!$user_id ||$order["user_id"] !=$user_id ){
|
||||
$order::log($order['id'],"[系统操作]活动订单售后驳回,订单挂起,等待官方处理",$oper_type ?: 'user', $oper_id ?: $order['user_id']);
|
||||
}else{
|
||||
$order::log($order['id'],"活动订单售后驳回,订单挂起,等待官方处理",$oper_type ?: 'user', $oper_id ?: $order['user_id']);
|
||||
}
|
||||
|
||||
//调用订单取消事件
|
||||
$data = ['order' => self::where("id",$order['id'])->find(),"user_id"=>$user_id,"oper_type"=>$oper_type,"oper_id"=>$oper_id];
|
||||
\think\Hook::listen('activity_order_shop_reject_after', $data);
|
||||
|
||||
|
||||
break;
|
||||
default:
|
||||
throw new \Exception("参数错误!");
|
||||
}
|
||||
//执行课时数更新
|
||||
$res1 = order::statisticsAndUpdateClassesNumber($order['classes_order_id']);
|
||||
|
||||
|
||||
if($trans){
|
||||
self::commitTrans();
|
||||
}
|
||||
}catch (\Exception $e){
|
||||
if($trans){
|
||||
self::rollbackTrans();
|
||||
}
|
||||
throw new \Exception($e->getMessage());
|
||||
}
|
||||
return $res1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -180,10 +180,15 @@ class OrderCode extends BaseModel
|
||||
//得到可取消订单
|
||||
$ordercode = self::getHaveVerificationOrderCode($code,$check);
|
||||
$order = $ordercode->order;
|
||||
if(!$order) throw new \Exception("订单异常!");
|
||||
$detail = $order->detail;
|
||||
if(!$detail) throw new \Exception("订单异常!");
|
||||
if($check){
|
||||
//用户操作权限检测
|
||||
Order::checkOptionAuth($order['id'],$user_id ?: $oper_id,$oper_type);
|
||||
|
||||
Order::checkOptionAuth($order['id'],$user_id ?: $oper_id,$oper_type,false,true);
|
||||
if($detail["user_id"] != $user_id){
|
||||
throw new \Exception("当前用户不是核销员!");
|
||||
}
|
||||
}
|
||||
|
||||
//判断逻辑
|
||||
|
@ -34,7 +34,7 @@ class OrderLog extends BaseModel
|
||||
|
||||
public function getStatusList()
|
||||
{
|
||||
return ['-3' => __('Status -3'), '0' => __('Status 0'), '2' => __('Status 2'), '3' => __('Status 3'), '4' => __('Status 4'), '5' => __('Status 5'), '6' => __('Status 6'), '9' => __('Status 9')];
|
||||
return ['-3' => __('Status -3'), '0' => __('Status 0'), '2' => __('Status 2'), '3' => __('Status 3'), '4' => __('Status 4'), '5' => __('Status 5'), '6' => __('Status 6'),'7' => __('Status 7'), '9' => __('Status 9')];
|
||||
}
|
||||
|
||||
|
||||
|
@ -143,7 +143,7 @@ class SettleLog extends BaseModel
|
||||
foreach ($orders as $order){
|
||||
//剩余金额大于手续费的订单,并且未插入此结算单的
|
||||
$sub_refundprice = bcsub($order["sub_refundprice"],$order["fee_price"],2);
|
||||
if($sub_refundprice > 0){
|
||||
if($sub_refundprice >= 0.01){
|
||||
$log = self::where("activity_order_id",$order["id"])->where("status","not in",["-1"])->find();
|
||||
if(!$log){
|
||||
(new self)->generatorLog($order["id"]);
|
||||
@ -237,6 +237,7 @@ class SettleLog extends BaseModel
|
||||
"activity_id" => $order->activity_id,
|
||||
"activity_order_detail_id" => $detail->id,
|
||||
];
|
||||
if($data["settle_price"] < 0.01) return false;
|
||||
//判断逻辑
|
||||
if($trans){
|
||||
self::beginTrans();
|
||||
|
@ -140,6 +140,50 @@ define(['jquery', 'bootstrap', 'backend', 'csmtable', 'form'], function ($, unde
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
|
||||
|
||||
|
||||
|
||||
//自定义Tab筛选条件
|
||||
$('.panel-heading .nav-custom-condition a[data-toggle="tab"]', table.closest(".panel-intro")).on('shown.bs.tab', function (e) {
|
||||
var value = $(this).data("value");
|
||||
var options = table.bootstrapTable('getOptions');
|
||||
var queryParams = options.queryParams;
|
||||
options.pageNumber = 1;
|
||||
options.queryParams = function (params) {
|
||||
//这一行必须要存在,否则在点击下一页时会丢失搜索栏数据
|
||||
params = queryParams(params);
|
||||
|
||||
//如果希望追加搜索条件,可使用
|
||||
var filter = params.filter ? JSON.parse(params.filter) : {};
|
||||
var op = params.op ? JSON.parse(params.op) : {};
|
||||
if (value!=="") {
|
||||
//这里可以自定义多个筛选条件
|
||||
filter.auth_status = value;
|
||||
op.auth_status = '=';
|
||||
}else{
|
||||
//console.log("111111111111111111");
|
||||
//选全部时要移除相应的条件
|
||||
delete filter.auth_status;
|
||||
delete op.auth_status;
|
||||
}
|
||||
|
||||
params.filter = JSON.stringify(filter);
|
||||
params.op = JSON.stringify(op);
|
||||
|
||||
//如果希望忽略搜索栏搜索条件,可使用
|
||||
//params.filter = JSON.stringify(value?{admin_id: value}:{});
|
||||
//params.op = JSON.stringify(value?{admin_id: '='}:{});
|
||||
return params;
|
||||
};
|
||||
|
||||
table.trigger("uncheckbox");
|
||||
table.bootstrapTable('refresh', {pageNumber: 1});
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
|
@ -37,7 +37,7 @@ define(['jquery', 'bootstrap', 'backend', 'csmtable', 'form'], function ($, unde
|
||||
{field: 'activity.title', title: __('Activity.title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'activity.images', title: __('Activity.images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
|
||||
|
||||
{field: 'status', title: __('Status'), searchList: {"-3":__('Status -3'),"0":__('Status 0'),"2":__('Status 2'),"3":__('Status 3'),"4":__('Status 4'),"5":__('Status 5'),"6":__('Status 6'),"9":__('Status 9')}, formatter: Table.api.formatter.status},
|
||||
{field: 'status', title: __('Status'), searchList: {"-3":__('Status -3'),"0":__('Status 0'),"2":__('Status 2'),"3":__('Status 3'),"4":__('Status 4'),"5":__('Status 5'),"6":__('Status 6'),"7":__('Status 7'),"9":__('Status 9')}, formatter: Table.api.formatter.status},
|
||||
|
||||
|
||||
{field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
|
||||
@ -58,6 +58,9 @@ define(['jquery', 'bootstrap', 'backend', 'csmtable', 'form'], function ($, unde
|
||||
{field: 'pay_type', title: __('Pay_type'), searchList: {"yue":__('Pay_type yue'),"wechat":__('Pay_type wechat')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'before_status',visible:false, title: __('Before_status'), searchList: {"-3":__('Before_status -3'),"0":__('Before_status 0'),"2":__('Before_status 2'),"3":__('Before_status 3'),"4":__('Before_status 4'),"6":__('Before_status 6'),"9":__('Before_status 9')}, formatter: Table.api.formatter.status},
|
||||
{field: 'server_status', title: __('Server_status'), searchList: {"0":__('Server_status 0'),"3":__('Server_status 3'),"6":__('Server_status 6')}, formatter: Table.api.formatter.status},
|
||||
|
||||
{field: 'suspend_status', title: __('Suspend_status'), searchList: {"0":__('Suspend_status 0'),"1":__('Suspend_status 1'),"2":__('Suspend_status 2')}, formatter: Table.api.formatter.status},
|
||||
|
||||
{field: 'canceltime',visible:false, title: __('Canceltime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'paytime',visible:false, title: __('Paytime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'auth_time',visible:false, title: __('Auth_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
@ -69,6 +72,7 @@ define(['jquery', 'bootstrap', 'backend', 'csmtable', 'form'], function ($, unde
|
||||
{field: 'sub_refundprice', title: __('Sub_refundprice'), operate:'BETWEEN'},
|
||||
{field: 'platform', title: __('Platform'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'reason',visible:false, title: __('Reason'), operate: 'LIKE'},
|
||||
{field: 'auth_reason',visible:false, title: __('售后申请原因'), operate: 'LIKE'},
|
||||
{field: 'auth_status', title: __('Auth_status'), searchList: {"0":__('Auth_status 0'),"1":__('Auth_status 1'),"2":__('Auth_status 2')}, formatter: Table.api.formatter.status},
|
||||
{field: 'auth_user_id',visible:false, title: __('Auth_user_id')},
|
||||
{field: 'auth_type',visible:false, title: __('Auth_type'), operate: 'LIKE'},
|
||||
@ -271,6 +275,126 @@ define(['jquery', 'bootstrap', 'backend', 'csmtable', 'form'], function ($, unde
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
|
||||
|
||||
|
||||
//自定义Tab筛选条件
|
||||
$('.panel-heading .nav-custom-condition a[data-toggle="tab"]', table.closest(".panel-intro")).on('shown.bs.tab', function (e) {
|
||||
var value = $(this).data("value");
|
||||
var options = table.bootstrapTable('getOptions');
|
||||
var queryParams = options.queryParams;
|
||||
options.pageNumber = 1;
|
||||
options.queryParams = function (params) {
|
||||
//这一行必须要存在,否则在点击下一页时会丢失搜索栏数据
|
||||
params = queryParams(params);
|
||||
|
||||
//如果希望追加搜索条件,可使用
|
||||
var filter = params.filter ? JSON.parse(params.filter) : {};
|
||||
var op = params.op ? JSON.parse(params.op) : {};
|
||||
if (value!=="") {
|
||||
//这里可以自定义多个筛选条件
|
||||
filter.server_status = value;
|
||||
op.server_status = '=';
|
||||
}else{
|
||||
//console.log("111111111111111111");
|
||||
//选全部时要移除相应的条件
|
||||
delete filter.server_status;
|
||||
delete op.server_status;
|
||||
}
|
||||
|
||||
params.filter = JSON.stringify(filter);
|
||||
params.op = JSON.stringify(op);
|
||||
|
||||
//如果希望忽略搜索栏搜索条件,可使用
|
||||
//params.filter = JSON.stringify(value?{admin_id: value}:{});
|
||||
//params.op = JSON.stringify(value?{admin_id: '='}:{});
|
||||
return params;
|
||||
};
|
||||
|
||||
table.trigger("uncheckbox");
|
||||
table.bootstrapTable('refresh', {pageNumber: 1});
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
//自定义Tab筛选条件
|
||||
$('.panel-heading .nav2-custom-condition a[data-toggle="tab"]', table.closest(".panel-intro")).on('shown.bs.tab', function (e) {
|
||||
var value = $(this).data("value");
|
||||
var options = table.bootstrapTable('getOptions');
|
||||
var queryParams = options.queryParams;
|
||||
options.pageNumber = 1;
|
||||
options.queryParams = function (params) {
|
||||
//这一行必须要存在,否则在点击下一页时会丢失搜索栏数据
|
||||
params = queryParams(params);
|
||||
|
||||
//如果希望追加搜索条件,可使用
|
||||
var filter = params.filter ? JSON.parse(params.filter) : {};
|
||||
var op = params.op ? JSON.parse(params.op) : {};
|
||||
if (value!=="") {
|
||||
//这里可以自定义多个筛选条件
|
||||
filter.auth_status = value;
|
||||
op.auth_status = '=';
|
||||
}else{
|
||||
//console.log("111111111111111111");
|
||||
//选全部时要移除相应的条件
|
||||
delete filter.auth_status;
|
||||
delete op.auth_status;
|
||||
}
|
||||
|
||||
params.filter = JSON.stringify(filter);
|
||||
params.op = JSON.stringify(op);
|
||||
|
||||
//如果希望忽略搜索栏搜索条件,可使用
|
||||
//params.filter = JSON.stringify(value?{admin_id: value}:{});
|
||||
//params.op = JSON.stringify(value?{admin_id: '='}:{});
|
||||
return params;
|
||||
};
|
||||
|
||||
table.trigger("uncheckbox");
|
||||
table.bootstrapTable('refresh', {pageNumber: 1});
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
|
||||
//自定义Tab筛选条件
|
||||
$('.panel-heading .nav3-custom-condition a[data-toggle="tab"]', table.closest(".panel-intro")).on('shown.bs.tab', function (e) {
|
||||
var value = $(this).data("value");
|
||||
var options = table.bootstrapTable('getOptions');
|
||||
var queryParams = options.queryParams;
|
||||
options.pageNumber = 1;
|
||||
options.queryParams = function (params) {
|
||||
//这一行必须要存在,否则在点击下一页时会丢失搜索栏数据
|
||||
params = queryParams(params);
|
||||
|
||||
//如果希望追加搜索条件,可使用
|
||||
var filter = params.filter ? JSON.parse(params.filter) : {};
|
||||
var op = params.op ? JSON.parse(params.op) : {};
|
||||
if (value!=="") {
|
||||
//这里可以自定义多个筛选条件
|
||||
filter.suspend_status = value;
|
||||
op.suspend_status = '=';
|
||||
}else{
|
||||
//console.log("111111111111111111");
|
||||
//选全部时要移除相应的条件
|
||||
delete filter.suspend_status;
|
||||
delete op.suspend_status;
|
||||
}
|
||||
|
||||
params.filter = JSON.stringify(filter);
|
||||
params.op = JSON.stringify(op);
|
||||
|
||||
//如果希望忽略搜索栏搜索条件,可使用
|
||||
//params.filter = JSON.stringify(value?{admin_id: value}:{});
|
||||
//params.op = JSON.stringify(value?{admin_id: '='}:{});
|
||||
return params;
|
||||
};
|
||||
|
||||
table.trigger("uncheckbox");
|
||||
table.bootstrapTable('refresh', {pageNumber: 1});
|
||||
return false;
|
||||
});
|
||||
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
|
@ -120,6 +120,49 @@ define(['jquery', 'bootstrap', 'backend', 'csmtable', 'form'], function ($, unde
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
|
||||
|
||||
|
||||
//自定义Tab筛选条件
|
||||
$('.panel-heading .nav-custom-condition a[data-toggle="tab"]', table.closest(".panel-intro")).on('shown.bs.tab', function (e) {
|
||||
var value = $(this).data("value");
|
||||
var options = table.bootstrapTable('getOptions');
|
||||
var queryParams = options.queryParams;
|
||||
options.pageNumber = 1;
|
||||
options.queryParams = function (params) {
|
||||
//这一行必须要存在,否则在点击下一页时会丢失搜索栏数据
|
||||
params = queryParams(params);
|
||||
|
||||
//如果希望追加搜索条件,可使用
|
||||
var filter = params.filter ? JSON.parse(params.filter) : {};
|
||||
var op = params.op ? JSON.parse(params.op) : {};
|
||||
if (value!=="") {
|
||||
//这里可以自定义多个筛选条件
|
||||
filter.withdrawal_status = value;
|
||||
op.withdrawal_status = '=';
|
||||
}else{
|
||||
//console.log("111111111111111111");
|
||||
//选全部时要移除相应的条件
|
||||
delete filter.withdrawal_status;
|
||||
delete op.withdrawal_status;
|
||||
}
|
||||
|
||||
params.filter = JSON.stringify(filter);
|
||||
params.op = JSON.stringify(op);
|
||||
|
||||
//如果希望忽略搜索栏搜索条件,可使用
|
||||
//params.filter = JSON.stringify(value?{admin_id: value}:{});
|
||||
//params.op = JSON.stringify(value?{admin_id: '='}:{});
|
||||
return params;
|
||||
};
|
||||
|
||||
table.trigger("uncheckbox");
|
||||
table.bootstrapTable('refresh', {pageNumber: 1});
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
|
||||
},
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
|
Loading…
x
Reference in New Issue
Block a user