From 7f3e3dd7fe17672f7c52b2a8f1816fe87f28032d Mon Sep 17 00:00:00 2001
From: lanzu_qsy <334039090@qq.com>
Date: Wed, 2 Sep 2020 21:07:41 +0800
Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ImsCjdcOrderMainController.php | 6 +
.../LanzuServiceHorsemanController.php | 35 +-
app/Admin/Extensions/OrderPrint.php | 34 ++
app/Admin/Extensions/OrderStateHandle.php | 9 +-
app/Libs/feier_print/api_php_demo.php | 326 ++++++++++++++++++
app/Libs/feier_print/httpclient.php | 307 +++++++++++++++++
.../飞鹅云打印说明文档.txt | 46 +++
app/Models/ImsCjdcMarket.php | 16 +-
app/Models/ImsCjdcOrderMain.php | 5 +-
app/Models/LanzuServiceHorseman.php | 2 +-
10 files changed, 768 insertions(+), 18 deletions(-)
create mode 100644 app/Admin/Extensions/OrderPrint.php
create mode 100644 app/Libs/feier_print/api_php_demo.php
create mode 100644 app/Libs/feier_print/httpclient.php
create mode 100644 app/Libs/feier_print/飞鹅云打印说明文档.txt
diff --git a/app/Admin/Controllers/ImsCjdcOrderMainController.php b/app/Admin/Controllers/ImsCjdcOrderMainController.php
index b8d4ecc..a40ba17 100644
--- a/app/Admin/Controllers/ImsCjdcOrderMainController.php
+++ b/app/Admin/Controllers/ImsCjdcOrderMainController.php
@@ -3,6 +3,7 @@
namespace App\Admin\Controllers;
use App\Admin\Extensions\OrderDetail;
+use App\Admin\Extensions\OrderPrint;
use App\Admin\Extensions\OrderStateHandle;
use App\Admin\Repositories\ImsCjdcOrderMain;
use Dcat\Admin\Admin;
@@ -44,9 +45,14 @@ class ImsCjdcOrderMainController extends AdminController
$state = $actions->row->state;
if ($state==2){
$actions->append(new OrderStateHandle('接单',3));
+ $actions->append(new OrderPrint('打印'));
}elseif ($state==31){
$actions->append(new OrderStateHandle('完成',4));
+ $actions->append(new OrderPrint('打印'));
+ }elseif ($state==3){
+ $actions->append(new OrderStateHandle('站内自送',30));
}
+
$actions->append(new OrderDetail('详情'));
//$actions->append("拒绝 ");
diff --git a/app/Admin/Controllers/LanzuServiceHorsemanController.php b/app/Admin/Controllers/LanzuServiceHorsemanController.php
index 4a5e39b..0feca6f 100644
--- a/app/Admin/Controllers/LanzuServiceHorsemanController.php
+++ b/app/Admin/Controllers/LanzuServiceHorsemanController.php
@@ -22,10 +22,14 @@ class LanzuServiceHorsemanController extends AdminController
$grid->id->sortable();
$grid->name;
$grid->tel;
- $grid->market_id('所属市场');
- $grid->status('状态');
- $grid->head_url;
- $grid->created_at;
+ $grid->market_id('所属市场')->display(function (){
+ return ImsCjdcMarket::find($this->market_id)->name;
+ });
+ $grid->status('状态')->using([1=>'正常',-1=>'禁用']);
+ $grid->head_url->image('',50,50);
+ $grid->created_at->display(function ($time){
+ return date('Y-m-d H:i',$time);
+ });
$grid->filter(function (Grid\Filter $filter) {
$filter->equal('id');
@@ -44,15 +48,20 @@ class LanzuServiceHorsemanController extends AdminController
{
return Show::make($id, new LanzuServiceHorseman(), function (Show $show) {
$show->id;
- $show->user_id;
+ $show->user_id('懒ID');
$show->name;
$show->tel;
- $show->market_id;
- $show->status;
- $show->qr_url;
- $show->head_url;
- $show->created_at;
- $show->updated_at;
+ $show->market_id('所属市场')->as(function (){
+ return ImsCjdcMarket::find($this->market_id)->name;
+ });
+ $show->status('状态')->using([1=>'正常',-1=>'禁用']);
+ $show->head_url->image();
+ $show->created_at->as(function ($time){
+ return date('Y-m-d H:i',$time);
+ });
+ $show->updated_at->as(function ($time){
+ return date('Y-m-d H:i',$time);
+ });
});
}
@@ -68,9 +77,9 @@ class LanzuServiceHorsemanController extends AdminController
$form->text('user_id','懒ID')->required();
$form->text('name')->required();
$form->mobile('tel')->required();
- $form->text('market_id','所属市场')->options(ImsCjdcMarket::getMarket())->required();
+ $form->select('market_id','所属市场')->options(ImsCjdcMarket::getMarket())->required();
$form->radio('status','状态')->options([1=>'启用',-1=>'禁用'])->value(1)->required();
- $form->image('head_url')->uniqueName();
+ $form->image('head_url')->uniqueName()->required();
$form->display('created_at');
$form->display('updated_at');
diff --git a/app/Admin/Extensions/OrderPrint.php b/app/Admin/Extensions/OrderPrint.php
new file mode 100644
index 0000000..d813fd1
--- /dev/null
+++ b/app/Admin/Extensions/OrderPrint.php
@@ -0,0 +1,34 @@
+getKey();
+ dd($id);
+ }
+
+ /**
+ * 设置要POST到接口的数据
+ *
+ * @return array
+ */
+ public function parameters()
+ {
+
+ }
+}
diff --git a/app/Admin/Extensions/OrderStateHandle.php b/app/Admin/Extensions/OrderStateHandle.php
index 3615407..5e34e39 100644
--- a/app/Admin/Extensions/OrderStateHandle.php
+++ b/app/Admin/Extensions/OrderStateHandle.php
@@ -33,7 +33,14 @@ class OrderStateHandle extends RowAction
$id = $this->getKey();
$orderMain = new ImsCjdcOrderMain();
$state = $request->get('state');
- $res = $orderMain->modifyState($id,$state);
+ if ($state==30){
+ $res = $orderMain->updateShippingType($id,1);
+ }elseif ($state==100){
+
+ }else{
+ $res = $orderMain->modifyState($id,$state);
+ }
+
if ($res==true){
return $this->response()->success('操作成功')->refresh();
}else{
diff --git a/app/Libs/feier_print/api_php_demo.php b/app/Libs/feier_print/api_php_demo.php
new file mode 100644
index 0000000..916993a
--- /dev/null
+++ b/app/Libs/feier_print/api_php_demo.php
@@ -0,0 +1,326 @@
+测试打印
';
+$content .= '名称 单价 数量 金额
';
+$content .= '--------------------------------
';
+$content .= '饭 10.0 10 100.0
';
+$content .= '炒饭 10.0 10 100.0
';
+$content .= '蛋炒饭 10.0 10 100.0
';
+$content .= '鸡蛋炒饭 10.0 10 100.0
';
+$content .= '西红柿炒饭 10.0 10 100.0
';
+$content .= '西红柿蛋炒饭 10.0 10 100.0
';
+$content .= '西红柿鸡蛋炒饭 10.0 10 100.0
';
+$content .= '--------------------------------
';
+$content .= '备注:加辣
';
+$content .= '合计:xx.0元
';
+$content .= '送货地点:广西南宁五象新区
';
+$content .= '联系电话:13888888888888
';
+$content .= '订餐时间:2014-08-08 08:08:08
';
+$content .= '
';
+ $orderInfo .= '名称 单价 数量 金额
';
+ $orderInfo .= '--------------------------------
';
+ $shopname = "";
+ $shopnum = 0;
+ foreach ($arr as $k5 => $v5) {
+ if ($shopname != $v5['shopname']) {
+ if ($shopname != "") {
+ $orderInfo .= '
';
+ }
+ $shopnum++;
+ $orderInfo .= "
';
+ $shopname = $v5['shopname'];
+ }
+ $name = $v5['name'];
+ if(!empty($v5['spec'])) {
+ $name .= "(规格:". $v5['spec'].")";
+ }elseif (!empty($v5['good_unit'])){
+ $name .= "(规格:". $v5['good_unit'].")";
+ }
+ $price = $v5['money'];
+ $num = $v5['number'];
+ $prices = sprintf("%.2f",$v5['money']*$v5['number']);
+ $kw3 = '';
+ $kw1 = '';
+ $kw2 = '';
+ $kw4 = '';
+ $str = $name;
+ $blankNum = $A;//名称控制为14个字节
+ $lan = mb_strlen($str,'utf-8');
+ $m = 0;
+ $j=1;
+ $blankNum++;
+ $result = array();
+ if(strlen($price) < $B){
+ $k1 = $B - strlen($price);
+ for($q=0;$q<$k1;$q++){
+ $kw1 .= ' ';
+ }
+ $price = $kw1.$price;
+ }
+ if(strlen($num) < $C){
+ $k2 = $C - strlen($num);
+ for($q=0;$q<$k2;$q++){
+ $kw2 .= ' ';
+ }
+ $num = $kw2.$num;
+ }
+ if(strlen($prices) < $D){
+ $k3 = $D - strlen($prices);
+ for($q=0;$q<$k3;$q++){
+ $kw4 .= ' ';
+ }
+ $prices = $kw4.$prices;
+ }
+ for ($i=0;$i<$lan;$i++){
+ $new = mb_substr($str,$m,$j,'utf-8');
+ $j++;
+ if(mb_strwidth($new,'utf-8')<$blankNum) {
+ if($m+$j>$lan) {
+ $m = $m+$j;
+ $tail = $new;
+ $lenght = iconv("UTF-8", "GBK//IGNORE", $new);
+ $k = $A - strlen($lenght);
+ for($q=0;$q<$k;$q++){
+ $kw3 .= ' ';
+ }
+ if($m==$j){
+ $tail .= $kw3.' '.$price.' '.$num.' '.$prices;
+ }else{
+ $tail .= $kw3.'
';
+ }
+ break;
+ }else{
+ $next_new = mb_substr($str,$m,$j,'utf-8');
+ if(mb_strwidth($next_new,'utf-8')<$blankNum) continue;
+ else{
+ $m = $i+1;
+ $result[] = $new;
+ $j=1;
+ }
+ }
+ }
+ }
+ $head = '';
+ foreach ($result as $key=>$value) {
+ if($key < 1){
+ $v_lenght = iconv("UTF-8", "GBK//IGNORE", $value);
+ $v_lenght = strlen($v_lenght);
+ if($v_lenght == 13) $value = $value." ";
+ $head .= $value.' '.$price.' '.$num.' '.$prices;
+ }else{
+ $head .= $value.'
';
+ }
+ }
+ $orderInfo .= $head.$tail;
+ if(!empty($v5['o_note'])){
+ $orderInfo .= '备注:'.$v5['o_note'].'
';
+ }
+ @$nums += $prices;
+ }
+// $time = date('Y-m-d H:i:s', time());
+ $orderInfo .= '--------------------------------
';
+ if ($arr[0]['box_money'] > 0) {
+ $kw5 = '';
+ $len = 24 - strlen($arr[0]['box_money']);
+ for ($q = 0; $q < $len; $q++) {
+ $kw5 .= ' ';
+ }
+ $orderInfo .= '包装费:' . $kw5 . $arr[0]['box_money'] . '
';
+ }
+ if($arr[0]['dada_fee'] > 0){
+ $kw5 = '';
+ $len = 24 - strlen($arr[0]['dada_fee']);
+ for ($q = 0; $q < $len; $q++) {
+ $kw5 .= ' ';
+ }
+ $orderInfo .= '配送费:'.$kw5.$arr[0]['dada_fee'].'
';
+ }
+ if($arr[0]['yhq_money2'] > 0){
+ $yhq_money2 = sprintf("%.2f",$arr[0]['yhq_money2']);
+ $kw6 = '';
+ $len = 25 - strlen($yhq_money2);
+ for ($q = 0; $q < $len; $q++) {
+ $kw6 .= ' ';
+ }
+ $orderInfo .= '红包:'.$kw6.'-'.$yhq_money2.'
';
+ }
+ $total = '合计:'.$arr[0]['m_money'];
+ $user_name = $arr[0]['user_name'];
+ if(strlen($user_name)>18){
+ $user_name=substr($user_name,0,18).'...';
+ }
+ $str = $user_name . $total;
+ $kw5 = '';
+ $lenght = iconv("UTF-8", "GBK//IGNORE", $str);
+ $total_len = 32 - strlen($lenght);
+ for ($q = 0; $q < $total_len; $q++) {
+ $kw5 .= ' ';
+ }
+ $total_str = $user_name.$kw5.$total;
+ $orderInfo .= $total_str.'
';
+ $orderInfo .= '送货地点:' . $arr[0]['address'] . '
';
+ $tel = substr_replace( $arr[0]['tel'], '****', 3, 4);
+ $orderInfo .= '联系电话:' . $tel . '
';
+ $orderInfo .= '配送时间:' . $arr[0]['ps_time'] . '
';
+ if(!empty($arr[0]['note'])){
+ $orderInfo .= '备注:'.$arr[0]['note'].'
';
+ }
+ //$orderInfo .= '
'.$content.''; + } + print '