cqp 5 mēneši atpakaļ
vecāks
revīzija
c3b0ad4f76

+ 13 - 0
app/Http/Controllers/Api/ProductController.php

@@ -153,6 +153,19 @@ class ProductController extends BaseController
         }
     }
 
+    public function batchBuildFee(Request $request)
+    {
+        $service = new ProductService();
+        $user = $request->userData->toArray();
+        list($status,$data) = $service->batchBuildFee($request->all());
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+
     public function productList(Request $request)
     {
         $service = new ProductService();

+ 26 - 0
app/Http/Controllers/Api/TableHeadController.php

@@ -32,4 +32,30 @@ class TableHeadController extends BaseController
             return $this->json_return(201,$data);
         }
     }
+
+    public function filterAdd(Request $request)
+    {
+        $service = new TableHeadService();
+        $userData = $request->userData->toArray();
+        list($status,$data) = $service->filterAdd($request->all(),$userData);
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+
+    public function filterGet(Request $request)
+    {
+        $service = new TableHeadService();
+        $userData = $request->userData->toArray();
+        list($status,$data) = $service->filterGet($request->all(),$userData);
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
 }

+ 6 - 0
app/Model/Construction.php

@@ -47,4 +47,10 @@ class Construction extends UseScopeBaseModel
     ];
     const range_function = 'constructionRange';
     const is_check_function = 'constructionCheck';
+
+    public static $wait_check = [
+        self::State_minus_one,
+        self::STATE_ZERO,
+        self::STATE_ONE,
+    ];
 }

+ 5 - 0
app/Model/InvoiceOrder.php

@@ -20,4 +20,9 @@ class InvoiceOrder extends UseScopeBaseModel
 
     const range_function = 'invoiceRange';
     const is_check_function = 'invoiceCheck';
+
+    public static $wait_check = [
+        self::STATE_ZERO,
+        self::STATE_ONE
+    ];
 }

+ 6 - 0
app/Model/PaymentReceipt.php

@@ -43,4 +43,10 @@ class PaymentReceipt extends UseScopeBaseModel
 
     const prefix = "T9RMO.";
     const is_check_function = 'paymentReceiptCheck';
+
+    public static $wait_check = [
+        self::State_minus_one,
+        self::STATE_ZERO,
+        self::STATE_ONE
+    ];
 }

+ 6 - 0
app/Model/PurchaseOrder.php

@@ -46,4 +46,10 @@ class PurchaseOrder extends UseScopeBaseModel
 
     const range_function = 'purchaseRange';
     const is_check_function = 'purchaseCheck';
+
+    public static $wait_check = [
+        self::State_minus_one,
+        self::STATE_ZERO,
+        self::STATE_ONE,
+    ];
 }

+ 6 - 0
app/Model/ReturnExchangeOrder.php

@@ -47,4 +47,10 @@ class ReturnExchangeOrder extends UseScopeBaseModel
     ];
     const range_function = 'returnExchangeOrderRange';
     const is_check_function = 'returnExchangeOrderCheck';
+
+    public static $wait_check = [
+        self::State_minus_one,
+        self::State_zero,
+        self::State_one,
+    ];
 }

+ 7 - 0
app/Model/SalesOrder.php

@@ -75,6 +75,13 @@ class SalesOrder extends UseScopeBaseModel
 
     //审核通过条件  安装件 且 线上订单 补贴订单 的已审核是2  其它是3
     const search1 = "(sales_order_type = " . SalesOrder::Order_type_one . " and ((model_type IN( " . SalesOrder::Model_type_four ." , " . SalesOrder::Model_type_seven .") and state = " . SalesOrder::State_two.") or (model_type Not IN (" . SalesOrder::Model_type_four ." , " . SalesOrder::Model_type_seven .") and state = " . SalesOrder::State_three.")))";
+
+    public static $wait_check = [
+        self::State_minus_one,
+        self::State_zero,
+        self::State_one
+    ];
+
     public static $state = [
         self::State_minus_one => '已驳回',
         self::State_zero => '待创建人确认',

+ 6 - 0
app/Model/SportsBag.php

@@ -29,4 +29,10 @@ class SportsBag extends UseScopeBaseModel
         self::type_one => '销售属性',
         self::type_two => '采购属性',
     ];
+
+    public static $wait_check = [
+        self::State_minus_one,
+        self::STATE_ZERO,
+        self::STATE_ONE
+    ];
 }

+ 1 - 0
app/Model/TableSetting.php

@@ -11,4 +11,5 @@ class TableSetting extends Model
     const CREATED_AT = 'crt_time';
     const UPDATED_AT = 'upd_time';
     protected $dateFormat = 'U';
+    const IS_FILTER = "is_filter";
 }

+ 1 - 2
app/Service/ExportFileService.php

@@ -1334,7 +1334,6 @@ class ExportFileService extends Service
                         'title' => $value['title'] ?? "",
                         'customer_detail2' => $value['customer_detail2'] ?? "",
                         'fz' => $fz,
-                        'customer_intention_title' => $value['customer_intention_title'] ?? "",
                         'customer_from_title' => $value['customer_from_title'] ?? "",
                         'customer_type_title' => $value['customer_type_title'] ?? "",
                         'intention_product_title' => $value['intention_product_title'] ?? "",
@@ -1353,7 +1352,7 @@ class ExportFileService extends Service
                 gc_collect_cycles();
             });
 
-        $header = ['客户模板','客户名称','联系方式','负责人','客户意向度','客户来源','客户类别','意向产品','咨询产品','车型','进展阶段','地址','特殊备注','创建时间','创建人'];
+        $header = ['客户模板','客户名称','联系方式','负责人','客户来源','客户类别','意向产品','咨询产品','车型','进展阶段','地址','特殊备注','创建时间','创建人'];
 
         return $this->saveExportData($return,$header);
     }

+ 24 - 0
app/Service/ProductService.php

@@ -927,6 +927,30 @@ class ProductService extends Service
         return [true, ['is_batch' => true, 'file' => ['new' => $new, 'old' => $old]]];
     }
 
+    public function batchBuildFee($data){
+        if(empty($data['product_id'])) return [false, '请选择产品'];
+        if(! isset($data['build_fee'])) return [false, '请填写安装费'];
+        $res = $this->checkNumber($data['build_fee']);
+        if(! $res) return [false,'安装费请输入不超过两位小数并且大于等于0的数值'];
+
+        try {
+            DB::beginTransaction();
+
+            Product::where('del_time',0)
+                ->whereIn('id', $data['product_id'])
+                ->update([
+                    'build_fee' => $data['build_fee']
+                ]);
+
+            DB::commit();
+        }catch (\Throwable $exception){
+            DB::rollBack();
+            return [false, $exception->getMessage()];
+        }
+
+        return [true, ''];
+    }
+
     //获取产品字典
     public function getProductDetail($product_id = []){
         if(empty($product_id)) return [];

+ 7 - 7
app/Service/RangeService.php

@@ -615,7 +615,7 @@ class RangeService extends Service
         $args = "";
         if($search['is_check'] == 1) {
             //待审核
-            $args = "(state = ". SportsBag::STATE_ONE . ")";
+            $args = "(state IN (" . implode(",", SportsBag::$wait_check) ."))";
         }elseif($search['is_check'] == 2){
             //已审
             $args = "(state = ". SportsBag::STATE_TWO . ")";
@@ -628,7 +628,7 @@ class RangeService extends Service
         $args = "";
         if($search['is_check'] == 1) {
             //待审核
-            $args = "(state = ". PaymentReceipt::STATE_ONE . ")";
+            $args = "(state IN (" . implode(",", PaymentReceipt::$wait_check) ."))";
         }elseif($search['is_check'] == 2){
             //已审
             $args = "(state = ". PaymentReceipt::STATE_TWO . ")";
@@ -641,7 +641,7 @@ class RangeService extends Service
         $args = "";
         if($search['is_check'] == 1) {
             //待审核
-            $args = "(sales_order_type = " . SalesOrder::Order_type_one . " and state = ". SalesOrder::State_one . ")";
+            $args = "(sales_order_type = " . SalesOrder::Order_type_one . " and state IN (" . implode(",", SalesOrder::$wait_check) ."))";
         }elseif($search['is_check'] == 2){
             //已审 线上订单的已审核是2  其它是 3
             $args = SalesOrder::search;
@@ -654,7 +654,7 @@ class RangeService extends Service
         $args = "";
         if($search['is_check'] == 1) {
             //待审核
-            $args = "(state = ". InvoiceOrder::STATE_ONE . ")";
+            $args = "(state IN (" . implode(",", InvoiceOrder::$wait_check) ."))";
         }elseif($search['is_check'] == 2){
             //已审
             $args = "(state = ". InvoiceOrder::STATE_TWO . ")";
@@ -667,7 +667,7 @@ class RangeService extends Service
         $args = "";
         if($search['is_check'] == 1) {
             //待审核
-            $args = "(state = ". ReturnExchangeOrder::State_one . ")";
+            $args = "(state IN (" . implode(",", ReturnExchangeOrder::$wait_check) ."))";
         }elseif($search['is_check'] == 2){
             //已审
             $args = "(state = ". ReturnExchangeOrder::State_two . ")";
@@ -680,7 +680,7 @@ class RangeService extends Service
         $args = "";
         if($search['is_check'] == 1) {
             //待审核
-            $args = "(state = ". Construction::STATE_ONE . ")";
+            $args = "(state IN (" . implode(",", Construction::$wait_check) ."))";
         }elseif($search['is_check'] == 2){
             //已审
             $args = "(state >= ". Construction::STATE_TWO . ")";
@@ -693,7 +693,7 @@ class RangeService extends Service
         $args = "";
         if($search['is_check'] == 1) {
             //待审核
-            $args = "(state = ". PurchaseOrder::STATE_ONE . ")";
+            $args = "(state IN (" . implode(",", PurchaseOrder::$wait_check) ."))";
         }elseif($search['is_check'] == 2){
             //已审
             $args = "(state >= ". PurchaseOrder::STATE_TWO . ")";

+ 56 - 0
app/Service/TableHeadService.php

@@ -13,6 +13,7 @@ class TableHeadService extends Service
 
         $time = time();
         $insert = [];
+        //表头
         foreach ($data['table_head'] as $value){
             if(empty($value['key'])) return [false, 'key不能为空'];
             if(empty($value['value'])) return [false, 'value不能为空'];
@@ -38,6 +39,7 @@ class TableHeadService extends Service
             TableSetting::where('del_time',0)
                 ->where('crt_id',$user['id'])
                 ->where('menu_id',$data['menu_id'])
+                ->where('key', '<>', TableSetting::IS_FILTER)
                 ->update(['del_time' => $time]);
             TableSetting::insert($insert);
 
@@ -93,4 +95,58 @@ class TableHeadService extends Service
 
         return [true, $header_default];
     }
+
+    public function filterAdd($data, $user){
+        if(! isset($data['is_filter'])) return [false,'是否打开筛选不能为空'];
+        if(empty($data['menu_id'])) return [false, 'menu_id不能为空'];
+
+        $time = time();
+        $insert = [];
+
+        //是否打开筛选
+        $insert[] = [
+            'key' => TableSetting::IS_FILTER,
+            'value' => "是否打开筛选",
+            'sort' => 0,
+            'is_show' => 0,
+            'is_click_detail' => $data['is_filter'] ?? 1,
+            'float' => 0,
+            'width' => 0,
+            'menu_id' => $data['menu_id'],
+            'crt_time' => $time,
+            'crt_id' => $user['id'],
+        ];
+
+        DB::beginTransaction();
+        try{
+            TableSetting::where('del_time',0)
+                ->where('crt_id',$user['id'])
+                ->where('menu_id',$data['menu_id'])
+                ->where('key', TableSetting::IS_FILTER)
+                ->update(['del_time' => $time]);
+            TableSetting::insert($insert);
+
+            DB::commit();
+        }catch (\Exception $exception){
+            DB::rollBack();
+            return [false, $exception->getMessage()];
+        }
+
+        return [true,''];
+    }
+
+    public function filterGet($data, $user){
+        if(empty($data['menu_id'])) return [false,'menu_id不能为空!'];
+
+        $is_filter_model = TableSetting::where('del_time',0)
+            ->where('menu_id',$data['menu_id'])
+            ->where('crt_id',$user['id'])
+            ->where('key', TableSetting::IS_FILTER)
+            ->select('is_click_detail as is_filter')
+            ->first();
+        $is_filter = 1;
+        if(! empty($is_filter_model)) $is_filter = $is_filter_model->is_filter;
+
+        return [true, ['is_filter' => $is_filter]];
+    }
 }

+ 4 - 4
config/header/16.php

@@ -26,10 +26,10 @@ return [
         'key' => 'fz',
         'value' => '负责人',
     ],
-    [
-        'key' => 'customer_intention_title',
-        'value' => '客户意向度',
-    ],
+//    [
+//        'key' => 'customer_intention_title',
+//        'value' => '客户意向度',
+//    ],
     [
         'key' => 'customer_from_title',
         'value' => '客户来源',

+ 6 - 0
routes/api.php

@@ -161,6 +161,7 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     $route->any('productDetail', 'Api\ProductController@productDetail');
     $route->any('productList2', 'Api\ProductController@productList2');
     $route->any('batchUploadImg', 'Api\ProductController@batchUploadImg')->middleware('OssFileDeal');
+    $route->any('batchBuildFee', 'Api\ProductController@batchBuildFee');
 
     //采购单
     $route->any('purchaseOrderList', 'Api\PurchaseOrderController@purchaseOrderList');
@@ -317,6 +318,11 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     //设置表头
     $route->any('setTableHead','Api\TableHeadController@tableHeadAdd');
 
+    //获取默认打开筛选
+    $route->any('getFilter','Api\TableHeadController@filterGet');
+    //设置默认打开筛选
+    $route->any('setFilter','Api\TableHeadController@filterAdd');
+
     //获取审核单据的详情
     $route->any('checkDetail', 'Api\CheckController@getOrderDetail');