Browse Source

竞标产品库

develop
lemon 4 years ago
parent
commit
68d8fe206f
  1. 4
      app/AdminAgent/Controllers/DemandController.php
  2. 71
      app/AdminAgent/Controllers/MyDemandProductController.php
  3. 2
      app/AdminAgent/routes.php
  4. 79
      app/AdminGuide/Controllers/MyDemandProductController.php
  5. 1
      app/AdminGuide/routes.php
  6. 71
      app/AdminSupplier/Controllers/MyDemandProductController.php
  7. 2
      app/AdminSupplier/routes.php
  8. 10
      app/Models/Demand.php
  9. 21
      resources/lang/zh_CN/my-demand-product.php

4
app/AdminAgent/Controllers/DemandController.php

@ -149,7 +149,7 @@ class DemandController extends AdminController
$form->hidden('deadline'); $form->hidden('deadline');
$form->select('bidding_user_type','竞标用户类型') $form->select('bidding_user_type','竞标用户类型')
->when([2],function (Form $form){ ->when([2],function (Form $form){
$form->select('demand_product_id','产品')->options(function (){
$form->select('agent_product_id','产品')->options(function (){
return AgentProduct::query()->where('agent_id',Admin::user()->id)->pluck('title','id'); return AgentProduct::query()->where('agent_id',Admin::user()->id)->pluck('title','id');
}); });
}) })
@ -204,7 +204,7 @@ class DemandController extends AdminController
$demand->save(); $demand->save();
//如果是地接类型 绑定地接到订单 //如果是地接类型 绑定地接到订单
if ($demand->bidding_user_type == DemandTraits::$col[2]){ if ($demand->bidding_user_type == DemandTraits::$col[2]){
$agentProduct = AgentProduct::find($demand->demand_product_id);
$agentProduct = AgentProduct::find($demand->agent_product_id);
$agentProduct->guide_id = $demandBidding->bidding_user_id; $agentProduct->guide_id = $demandBidding->bidding_user_id;
$agentProduct->save(); $agentProduct->save();
} }

71
app/AdminAgent/Controllers/MyDemandProductController.php

@ -0,0 +1,71 @@
<?php
namespace App\AdminAgent\Controllers;
use App\AdminAgent\Actions\Grid\DemandConfirm;
use App\AdminAgent\Lazys\DemandBiddingLazys;
use App\Common\ProductStatus;
use App\Models\AgentProduct;
use App\Models\Product;
use App\Traits\ResponseHelper;
use App\AdminAgent\Repositories\Demand;
use App\Models\DemandBidding;
use Dcat\Admin\Admin;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Http\Controllers\AdminController;
use App\Traits\DemandTraits;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\URL;
class MyDemandProductController extends AdminController
{
use ResponseHelper;
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
return Grid::make(new Demand(['publisher','biddingUser','product.category']), function (Grid $grid) {
$grid->model()
->where(['publisher_id' => Admin::user()->id,'publisher_type' => DemandTraits::$col[0]])
->where('product_id','>',0);
$grid->column('id')->sortable();
//$grid->column('title');
//$grid->column('detail','内容')->display('查看')->modal('详情',function ($modal) {
// $modal->xl();
// return $this->comment;
//});
$grid->column('biddingUser.name','中标人');
$grid->column('price','发标价格');
$grid->column('product.category.name', '产品分类');
$grid->column('product.title','产品标题');
$grid->column('product.picture','产品图片')->image('', 60, 60);
$grid->column('product.price','产品售价');
$grid->column('product.original_price','产品原价');
$grid->column('product.stock','产品库存');
$grid->column('product.sale','产品销量');
$grid->column('product.status','产品状态')->using(ProductStatus::array());
$grid->disableDeleteButton();
$grid->disableEditButton();
$grid->disableQuickEditButton();
$grid->disableViewButton();
$grid->disableActions();
$grid->filter(function (Grid\Filter $filter) {
$filter->equal('id');
$filter->equal('bidding_user_type','竞标用户类型')->select(DemandTraits::$polymorphic);
});
});
}
}

2
app/AdminAgent/routes.php

@ -26,7 +26,7 @@ Route::group([
$router->resource('demand', 'DemandController'); $router->resource('demand', 'DemandController');
$router->resource('demand_bidding', 'DemandBiddingController'); $router->resource('demand_bidding', 'DemandBiddingController');
$router->resource('my_demand_product', 'ProductController');
$router->resource('my_demand_product', 'MyDemandProductController');
$router->resource('message/list', 'MessageController'); $router->resource('message/list', 'MessageController');
$router->resource('notice/list', 'NoticeController'); $router->resource('notice/list', 'NoticeController');

79
app/AdminGuide/Controllers/MyDemandProductController.php

@ -0,0 +1,79 @@
<?php
namespace App\AdminGuide\Controllers;
use App\AdminAgent\Actions\Grid\DemandConfirm;
use App\AdminAgent\Lazys\DemandBiddingLazys;
use App\Common\ProductStatus;
use App\Models\AgentProduct;
use App\Models\Channel;
use App\Models\Product;
use App\Traits\ResponseHelper;
use App\AdminAgent\Repositories\Demand;
use App\Models\DemandBidding;
use Dcat\Admin\Admin;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Http\Controllers\AdminController;
use App\Traits\DemandTraits;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\URL;
class MyDemandProductController extends AdminController
{
use ResponseHelper;
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
return Grid::make(new Demand(['publisher','biddingUser','agentProduct.category']), function (Grid $grid) {
$grid->model()
->where(['bidding_user_id' => Admin::user()->id,'bidding_user_type' => DemandTraits::$col[2]])
->where('agent_product_id','>',0);
$grid->column('id')->sortable();
//$grid->column('title');
//$grid->column('detail','内容')->display('查看')->modal('详情',function ($modal) {
// $modal->xl();
// return $this->comment;
//});
$grid->column('agentProduct.picture', '产品图片')->image('', 60, 60);
$grid->column('agentProduct.title', '产品名称')->limit(15);
$grid->column('agentProduct.price','产品价格');
$grid->column('agentProduct.original_price','产品原价');
$grid->column('agentProduct.sale','产品销量');
$grid->column('agentProduct.stock','产品库存');
$grid->column('channel_id', '频道')
->display(function ($modal) {
$channels = Channel::where('agent_id', $this->publisher_id)->pluck('name', 'id')->toArray();
$data = array_flip(explode(',', $this->channel_id));
return join(',',array_intersect_key($channels, $data));
})
->limit(10);
$grid->column('agentProduct.category.name', '分类');
$grid->disableDeleteButton();
$grid->disableEditButton();
$grid->disableQuickEditButton();
$grid->disableViewButton();
$grid->disableActions();
$grid->filter(function (Grid\Filter $filter) {
$filter->equal('id');
$filter->equal('bidding_user_type','竞标用户类型')->select(DemandTraits::$polymorphic);
});
});
}
}

1
app/AdminGuide/routes.php

@ -18,4 +18,5 @@ Route::group([
$router->resource('order/list', 'OrderController'); $router->resource('order/list', 'OrderController');
$router->resource('demand', 'DemandController'); $router->resource('demand', 'DemandController');
$router->resource('demand_bidding', 'DemandBiddingController'); $router->resource('demand_bidding', 'DemandBiddingController');
$router->resource('my_demand_product', 'MyDemandProductController');
}); });

71
app/AdminSupplier/Controllers/MyDemandProductController.php

@ -0,0 +1,71 @@
<?php
namespace App\AdminSupplier\Controllers;
use App\AdminAgent\Actions\Grid\DemandConfirm;
use App\AdminAgent\Lazys\DemandBiddingLazys;
use App\Common\ProductStatus;
use App\Models\AgentProduct;
use App\Models\Product;
use App\Traits\ResponseHelper;
use App\AdminAgent\Repositories\Demand;
use App\Models\DemandBidding;
use Dcat\Admin\Admin;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Http\Controllers\AdminController;
use App\Traits\DemandTraits;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\URL;
class MyDemandProductController extends AdminController
{
use ResponseHelper;
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
return Grid::make(new Demand(['publisher','biddingUser','product.category']), function (Grid $grid) {
$grid->model()
->where(['bidding_user_id' => Admin::user()->id,'bidding_user_type' => DemandTraits::$col[1]])
->where('product_id','>',0);
$grid->column('id')->sortable();
//$grid->column('title');
//$grid->column('detail','内容')->display('查看')->modal('详情',function ($modal) {
// $modal->xl();
// return $this->comment;
//});
$grid->column('biddingUser.name','中标人');
$grid->column('price','发标价格');
$grid->column('product.category.name', '产品分类');
$grid->column('product.title','产品标题');
$grid->column('product.picture','产品图片')->image('', 60, 60);
$grid->column('product.price','产品售价');
$grid->column('product.original_price','产品原价');
$grid->column('product.stock','产品库存');
$grid->column('product.sale','产品销量');
$grid->column('product.status','产品状态')->using(ProductStatus::array());
$grid->disableDeleteButton();
$grid->disableEditButton();
$grid->disableQuickEditButton();
$grid->disableViewButton();
$grid->disableActions();
$grid->filter(function (Grid\Filter $filter) {
$filter->equal('id');
$filter->equal('bidding_user_type','竞标用户类型')->select(DemandTraits::$polymorphic);
});
});
}
}

2
app/AdminSupplier/routes.php

@ -23,7 +23,7 @@ Route::group([
$router->resource('demand', 'DemandController'); $router->resource('demand', 'DemandController');
$router->resource('demand_bidding', 'DemandBiddingController'); $router->resource('demand_bidding', 'DemandBiddingController');
$router->resource('demand_product', 'DemandProductController'); $router->resource('demand_product', 'DemandProductController');
$router->resource('my_demand_product', 'MyDemandProductController');
//api //api
$router->any('/api/demand/binding', 'DemandController@binding'); $router->any('/api/demand/binding', 'DemandController@binding');
}); });

10
app/Models/Demand.php

@ -22,4 +22,14 @@ class Demand extends BaseModel
{ {
return $this->morphTo(); return $this->morphTo();
} }
public function product()
{
return $this->hasOne(Product::class, 'id', 'product_id');
}
public function agentproduct()
{
return $this->hasOne(AgentProduct::class, 'id', 'agent_product_id');
}
} }

21
resources/lang/zh_CN/my-demand-product.php

@ -0,0 +1,21 @@
<?php
return [
'labels' => [
'MyDemandProduct' => '我的竞标产品库',
'my_demand_product' => '我的竞标产品库',
],
'fields' => [
'title' => '标题',
'comment' => '内容',
'deadline' => '流拍时间',
'type' => '类型',
'price' => '价格',
'stock' => '库存',
'publisher_type' => '发布人身份',
'publisher_id' => '发布人',
'state' => '状态',
'bidding_id' => '竞拍成功id 关联竞标表',
],
'options' => [
],
];
Loading…
Cancel
Save