self::getDetailBtn($order), 'print_btn' => self::getPrintBtn($order), 'remark_btn' => self::getRemarkBtn($order), 'cancel_btn' => self::getCancelBtn($order), 'delete_btn' => self::getDeleteBtn($order), 'deliver_btn' => self::getDeliverBtn($order), 'confirm_btn' => self::getConfirmBtn($order), 'logistics_btn' => self::getLogisticsBtn($order), 'refund_btn' => self::getRefundBtn($order), 'refund_detail_btn' => self::getRefundDetailBtn($order), 'verification_btn' => self::getVerificationBtn($order), 'verification_query_btn' => self::getVerificationQueryBtn($order), 'confirm_pay_btn' => self::getConfirmPayBtn($order), 'price_btn' => self::getPriceBtn($order), 'address_btn' => self::getAddressBtn($order), 'continue_deliver_btn' => self::getContinueDeliverBtn($order), ]; } /** * @notes 商家端订单按钮状态 * @param Order $order * @return array * @author cjhao * @date 2023/2/20 17:37 */ public static function getBusinesseBtn(Order $order) { return [ 'address_btn' => self::getAddressBtn($order), 'deliver_btn' => self::getDeliverBtn($order), 'continue_deliver_btn' => self::getContinueDeliverBtn($order), 'logistics_btn' => self::getLogisticsBtn($order), 'verification_btn' => self::getVerificationBtn($order), 'cancel_btn' => self::getCancelBtn($order), 'confirm_btn' => self::getConfirmBtn($order), 'finish_btn' => self::getFinishBtn($order), 'delete_btn' => self::getDeleteBtn($order), 'content_btn' => self::getContentBtn($order), 'confirm_pay_btn' => self::getConfirmPayBtn($order), ]; } /** * @notes 确认付款按钮 * @param $order * @return int * @author ljj * @date 2024/9/11 下午1:57 */ static function getConfirmPayBtn($order) { if ($order['order_status'] != OrderEnum::STATUS_WAIT_PAY) { return OrderEnum::BTN_HIDE; } if ($order['pay_status']) { return OrderEnum::BTN_HIDE; } if ($order['pay_way'] != PayEnum::OFFLINE_PAY) { return OrderEnum::BTN_HIDE; } return OrderEnum::BTN_SHOW; } /** * @notes 详情按钮 * @param $order * @return int * @author ljj * @date 2021/8/4 8:26 下午 */ public static function getDetailBtn($order) { return OrderEnum::BTN_SHOW; } /** * @notes 小票打印按钮 * @param $order * @return int * @author ljj * @date 2021/8/4 8:27 下午 */ public static function getPrintBtn($order) { return OrderEnum::BTN_SHOW; } /** * @notes 商家备注按钮 * @param $order * @return int * @author ljj * @date 2021/8/4 8:28 下午 */ public static function getRemarkBtn($order) { return OrderEnum::BTN_SHOW; } /** * @notes 取消订单按钮 * @param $order * @return int * @author ljj * @date 2021/8/4 8:31 下午 */ public static function getCancelBtn($order) { //快递发货 if ($order['delivery_type'] != DeliveryEnum::SELF_DELIVERY && ($order['order_status'] == OrderEnum::STATUS_WAIT_PAY || $order['order_status'] == OrderEnum::STATUS_WAIT_DELIVERY)) { if ($order['express_status'] != DeliveryEnum::NOT_SHIPPED) { return OrderEnum::BTN_HIDE; } return OrderEnum::BTN_SHOW; } //门店自提 if ($order['delivery_type'] == DeliveryEnum::SELF_DELIVERY && $order['order_status'] < OrderEnum::STATUS_FINISH) { return OrderEnum::BTN_SHOW; } return OrderEnum::BTN_HIDE; } /** * @notes 删除订单按钮 * @param $order * @return int * @author ljj * @date 2021/8/4 8:34 下午 */ public static function getDeleteBtn($order) { if ($order['order_status'] == OrderEnum::STATUS_CLOSE) { return OrderEnum::BTN_SHOW; } return OrderEnum::BTN_HIDE; } /** * @notes 发货按钮 * @param $order * @return int * @author ljj * @date 2021/8/4 8:36 下午 */ public static function getDeliverBtn($order) { //门店自提订单去掉发货按钮 if ($order['delivery_type'] == DeliveryEnum::SELF_DELIVERY) { return OrderEnum::BTN_HIDE; } $btn = OrderEnum::BTN_HIDE; if ($order['order_status'] == OrderEnum::STATUS_WAIT_DELIVERY && $order['delivery_type'] != DeliveryEnum::SELF_DELIVERY && $order['express_status'] != DeliveryEnum::SHIPPED) { $btn = OrderEnum::BTN_SHOW; //如果是拼团订单,未成团的情况,不显示核销按钮 if(OrderEnum::TEAM_ORDER == $order['order_type'] && 1 != $order['is_team_success']){ $btn = OrderEnum::BTN_HIDE; } } return $btn; } /** * @notes 提货核销按钮 * @param $order * @return int * @author ljj * @date 2021/8/27 11:45 上午 */ public static function getVerificationBtn($order) { $btn = OrderEnum::BTN_HIDE; if (in_array($order['order_status'], [ OrderEnum::STATUS_WAIT_RECEIVE,OrderEnum::STATUS_WAIT_DELIVERY ]) && $order['delivery_type'] == DeliveryEnum::SELF_DELIVERY) { $btn = OrderEnum::BTN_SHOW; //如果是拼团订单,未成团的情况,不显示核销按钮 if(OrderEnum::TEAM_ORDER == $order['order_type'] && 1 != $order['is_team_success']){ $btn = OrderEnum::BTN_HIDE; } } return $btn; } /** * @notes 核销查询按钮 * @param $order * @return int * @author ljj * @date 2021/8/27 11:47 上午 */ public static function getVerificationQueryBtn($order) { if ($order['verification_status'] == OrderEnum::WRITTEN_OFF && $order['delivery_type'] == DeliveryEnum::SELF_DELIVERY) { return OrderEnum::BTN_SHOW; } return OrderEnum::BTN_HIDE; } /** * @notes 确认收货按钮 * @param $order * @return int * @author ljj * @date 2021/8/4 8:36 下午 */ public static function getConfirmBtn($order) { //门店自提没有确认收货 if (DeliveryEnum::SELF_DELIVERY == $order['delivery_type']) { return OrderEnum::BTN_HIDE; } if ($order['order_status'] == OrderEnum::STATUS_WAIT_RECEIVE) { return OrderEnum::BTN_SHOW; } return OrderEnum::BTN_HIDE; } /** * @notes 物流按钮 * @param $order * @return int * @author ljj * @date 2021/8/4 8:38 下午 */ public static function getLogisticsBtn($order) { if ($order['order_status'] == OrderEnum::STATUS_WAIT_DELIVERY && $order['pay_status'] == PayEnum::ISPAID && $order['express_status'] == DeliveryEnum::PART_SHIPPED && $order['delivery_type'] == DeliveryEnum::EXPRESS_DELIVERY) { return OrderEnum::BTN_SHOW; } if (in_array($order['order_status'],[OrderEnum::STATUS_WAIT_RECEIVE,OrderEnum::STATUS_FINISH]) && $order['delivery_type'] == DeliveryEnum::EXPRESS_DELIVERY) { return OrderEnum::BTN_SHOW; } return OrderEnum::BTN_HIDE; } /** * @notes 手动退款按钮 * @param $order * @return int * @author ljj * @date 2021/8/4 8:39 下午 */ public static function getRefundBtn($order) { return OrderEnum::BTN_HIDE; } /** * @notes 退款明细按钮 * * @param $order * @return int * @author ljj * @date 2021/8/4 8:39 下午 */ public static function getRefundDetailBtn($order) { return OrderEnum::BTN_HIDE; } /** * @notes 修改地址按钮 * @param $order * @return int * @author cjhao * @date 2023/2/17 15:36 */ public static function getEitaddressBtn($order) { $btn = OrderEnum::BTN_HIDE; if(DeliveryEnum::SELF_DELIVERY != $order['delivery_type'] && (OrderEnum::STATUS_WAIT_PAY == $order['order_status'] || OrderEnum::STATUS_WAIT_DELIVERY == $order['order_status'])) { $btn = OrderEnum::BTN_SHOW; } return $btn; } /** * @notes 完成按钮 * @param $order * @return int * @author 段誉 * @date 2021/8/2 20:24 */ public static function getFinishBtn($order) { $btn = OrderEnum::BTN_HIDE; if ($order['order_status'] == OrderEnum::STATUS_FINISH) { $btn = OrderEnum::BTN_SHOW; } return $btn; } /** * @notes 删除订单按钮 * @param $order * @return int * @author ljj * @date 2021/10/13 7:06 下午 */ public static function getDeletedBtn($order) { $btn = OrderEnum::BTN_HIDE; //订单已关闭 if ($order['order_status'] == OrderEnum::STATUS_CLOSE) { $btn = OrderEnum::BTN_SHOW; } return $btn; } /** * @notes 查看内容按钮 * @param $order * @return int * @author cjhao * @date 2022/4/20 17:23 */ public static function getContentBtn($order){ $btn = OrderEnum::BTN_HIDE; //虚拟订单,有发货内容 if((OrderEnum::VIRTUAL_ORDER == $order['order_type'] && $order['delivery_content'] && in_array($order['order_status'],[OrderEnum::STATUS_WAIT_RECEIVE,OrderEnum::STATUS_FINISH]))){ $btn = OrderEnum::BTN_SHOW; } return $btn; } /** * @notes 修改价格按钮 * @param $order * @return int * @author ljj * @date 2024/9/11 上午10:53 */ public static function getPriceBtn($order) { $btn = OrderEnum::BTN_HIDE; if(OrderEnum::STATUS_WAIT_PAY == $order['order_status']) { $btn = OrderEnum::BTN_SHOW; } return $btn; } /** * @notes 修改地址按钮 * @param $order * @return int * @author ljj * @date 2024/9/11 上午10:53 */ public static function getAddressBtn($order) { $btn = OrderEnum::BTN_HIDE; if(OrderEnum::STATUS_WAIT_RECEIVE > $order['order_status'] && DeliveryEnum::NOT_SHIPPED == $order['express_status'] && DeliveryEnum::SELF_DELIVERY != $order['delivery_type']) { $btn = OrderEnum::BTN_SHOW; } return $btn; } /** * @notes 继续发货按钮 * @param $order * @return int * @author ljj * @date 2024/9/11 上午11:38 */ public static function getContinueDeliverBtn($order) { $btn = OrderEnum::BTN_HIDE; if ($order['order_status'] == OrderEnum::STATUS_WAIT_DELIVERY && $order['express_status'] == DeliveryEnum::PART_SHIPPED) { $btn = OrderEnum::BTN_SHOW; } return $btn; } }