|
|
@@ -4,6 +4,7 @@ namespace common\components;
|
|
|
|
|
|
use biz\shop\classes\ShopClass;
|
|
|
use bizHd\order\classes\OrderGoodsClass;
|
|
|
+use bizHd\order\classes\PsMethodClass;
|
|
|
use bizHd\order\services\OrderService;
|
|
|
use Yii;
|
|
|
|
|
|
@@ -71,7 +72,12 @@ class deliverySlipPrintUtil
|
|
|
$addressBlock .= ' 配送距离: ' . $data['distanceText'];
|
|
|
}
|
|
|
$data['addressBlock'] = $addressBlock;
|
|
|
- $data['reachTimeText'] = trim(($data['reachDateLabel'] ?? '') . ' ' . ($data['reachDateTime'] ?? ''));
|
|
|
+ // 配送时间后接「/配送方式:具体方式」,斜杠与冒号固定,便于与时间区分
|
|
|
+ $reachTimeText = trim(($data['reachDateLabel'] ?? '') . ' ' . ($data['reachDateTime'] ?? ''));
|
|
|
+ if (!empty($data['sendTypeName'])) {
|
|
|
+ $reachTimeText = trim($reachTimeText) . ' / 配送方式:' . $data['sendTypeName'];
|
|
|
+ }
|
|
|
+ $data['reachTimeText'] = $reachTimeText;
|
|
|
$data['productCountText'] = '共 ' . ($data['productCount'] ?? '1') . ' 个';
|
|
|
$data['serviceTip'] = '';
|
|
|
if (!empty($data['servicePhone'])) {
|
|
|
@@ -164,6 +170,7 @@ class deliverySlipPrintUtil
|
|
|
// 云打印默认转 data URI;本机 hiprint 传 URL 即可
|
|
|
$imageAsDataUri = !isset($options['imageAsDataUri']) || $options['imageAsDataUri'];
|
|
|
$productImage = $imageAsDataUri ? self::imageToDataUri($cover) : $cover;
|
|
|
+ $sendTypeName = self::resolveSendTypeName($order);
|
|
|
|
|
|
return [
|
|
|
'title' => $shopName . ' 鲜花配送单',
|
|
|
@@ -175,6 +182,7 @@ class deliverySlipPrintUtil
|
|
|
'distanceText' => $distanceText,
|
|
|
'reachDateLabel' => $reachDateLabel,
|
|
|
'reachDateTime' => $reachDateTime,
|
|
|
+ 'sendTypeName' => $sendTypeName,
|
|
|
'productName' => $productName,
|
|
|
'productCount' => (string)$goodsNum,
|
|
|
'productImage' => $productImage,
|
|
|
@@ -186,6 +194,34 @@ class deliverySlipPrintUtil
|
|
|
];
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 解析配送方式展示名:优先门店 xhPsMethod 别名,否则与订单列表文案一致
|
|
|
+ * @param array $order 订单
|
|
|
+ * @return string
|
|
|
+ */
|
|
|
+ protected static function resolveSendTypeName(array $order)
|
|
|
+ {
|
|
|
+ $style = intval($order['sendType'] ?? -1);
|
|
|
+ $defaults = [
|
|
|
+ 0 => '送货上门',
|
|
|
+ 1 => '到店自取',
|
|
|
+ 2 => '跑腿送货',
|
|
|
+ 3 => '发物流',
|
|
|
+ 4 => '发快递',
|
|
|
+ ];
|
|
|
+ if ($style < 0 || $style > 4) {
|
|
|
+ return '';
|
|
|
+ }
|
|
|
+ $mainId = intval($order['mainId'] ?? 0);
|
|
|
+ if ($mainId > 0) {
|
|
|
+ $config = PsMethodClass::getByCondition(['mainId' => $mainId, 'style' => $style]);
|
|
|
+ if (!empty($config['name'])) {
|
|
|
+ return (string)$config['name'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return $defaults[$style];
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 渲染 A4 HTML
|
|
|
*/
|