Browse Source

云产品管理

dev
李可松 4 years ago
parent
commit
e80a3cf03b
  1. 9
      MySQL_change.sql
  2. 142
      app/Admin/Controllers/ProductController.php
  3. 56
      app/Admin/Extensions/Grid/AuditProduct.php
  4. 16
      app/Admin/Repositories/Product.php
  5. 2
      app/Admin/routes.php
  6. 26
      app/Common/ProductStatus.php
  7. 19
      app/Models/Product.php
  8. 296
      dcat_admin_ide_helper.php
  9. 22
      resources/lang/zh_CN/product.php

9
MySQL_change.sql

@ -76,7 +76,6 @@ COMMENT='地接'
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
#################################################################
# 18:30 ‎2021/‎08/‎15
ALTER TABLE `agents`
@ -330,8 +329,8 @@ ALTER TABLE `agent_products`
ALTER TABLE `agents`
CHANGE COLUMN `deleted_at` `deleted_at` TIMESTAMP NULL DEFAULT NULL;
#################################################################
# 10:53 2021/8/16
ALTER TABLE `products`
ADD COLUMN `category_id` INT(10) NOT NULL DEFAULT '0' COMMENT '产品分类ID' AFTER `supplier_id`;

142
app/Admin/Controllers/ProductController.php

@ -0,0 +1,142 @@
<?php
namespace App\Admin\Controllers;
use App\Admin\Extensions\Grid\AuditProduct;
use App\Admin\Repositories\Product;
use App\Common\ProductStatus;
use App\Common\UserStatus;
use App\Models\Category;
use App\Models\Supplier;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Http\Controllers\AdminController;
use Illuminate\Support\Facades\Route;
class ProductController extends AdminController
{
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
return Grid::make(new Product(['supplier:id,name', 'category:id,name']), function (Grid $grid) {
//如果是审核页面,多加where条件判断
if (strpos(Route::current()->uri, 'audit')) {
$grid->model()->where('status', ProductStatus::UNAUDITED);
}
$grid->column('id')->sortable();
$grid->column('category.name', '分类');
$grid->column('picture')->image(60, 60);
$grid->column('title');
$grid->column('original_price');
$grid->column('price');
$grid->column('sale');
$grid->column('stock');
$grid->column('supplier.name', '供应商');
$grid->column('status')
->if(fn() => $this->status == ProductStatus::UNAUDITED)
->display('')
->then(function ($column) {
$column->append((new AuditProduct(null, 1))->setKey($this->id))->append('&nbsp;');
$column->append((new AuditProduct(null, 2))->setKey($this->id));
})
->else()
->using(ProductStatus::array())
->dot([
ProductStatus::ON_SALE => 'success',
ProductStatus::UNAUDITED => '',
ProductStatus::REFUSE => 'danger',
ProductStatus::SOLD_OUT => 'warning',
], 'primary');
$grid->column('created_at');
$grid->column('updated_at');
$grid->filter(function (Grid\Filter $filter) {
$filter->panel();
$filter->equal('id');
});
});
}
/**
* Make a show builder.
*
* @param mixed $id
*
* @return Show
*/
protected function detail($id)
{
return Show::make($id, new Product(['supplier:id,name', 'category:id,name']), function (Show $show) {
$show->field('id');
$show->field('category.name', '所属分类');
$show->field('title');
$show->field('pictures')->image(80, 80);
$show->field('original_price');
$show->field('price');
$show->field('sale');
$show->field('stock');
$show->field('status')->using(ProductStatus::array());
$show->field('supplier.name', '供应商');
$show->field('know')->unescape()->as(fn($v) => preg_replace('/<script.*?>.*?<\/script>/is', '', $v));
$show->field('content')->unescape()->as(fn($v) => preg_replace('/<script.*?>.*?<\/script>/is', '', $v));
$show->field('created_at');
$show->field('updated_at');
});
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
return Form::make(new Product(), function (Form $form) {
$form->display('id');
$options = Category::selectOptions(fn($query) => $query->where('agent_id', 0));
array_shift($options);
$form->select('category_id', '所属分类')
->options($options)
->required();
$form->text('title')->required();
$form->multipleImage('pictures')->required();
$form->text('original_price')->required();
$form->text('price')->required();
$form->text('sale')->default(0);
$form->text('stock')->default(9999)->required();
$form->select('status')
->options(ProductStatus::array())
->default(ProductStatus::ON_SALE)
->required();
$form->select('supplier_id', '供应商')
->options(Supplier::where('status', UserStatus::NORMAL)->pluck('name', 'id'))
->required();
$form->editor('know');
$form->editor('content');
})->saving(function (Form $form) {
//不允许编辑的字段
if ($form->isEditing()) {
$form->ignore(['id', 'created_at', 'updated_at', 'deleted_at']);
}
//特殊字段处理
$form->sale = $form->sale ?? 0;
//过滤null字段
foreach ($form->input() as $k => $v) {
if (is_null($v)) {
$form->$k = '';
}
}
});
}
}

56
app/Admin/Extensions/Grid/AuditProduct.php

@ -0,0 +1,56 @@
<?php
namespace App\Admin\Extensions\Grid;
use App\Common\ProductStatus;
use App\Models\Product;
use Dcat\Admin\Grid\RowAction;
use Illuminate\Http\Request;
/**
* 供应商审核
* Class AuditSupplier
* @package App\Admin\Extensions\Grid
*/
class AuditProduct extends RowAction
{
private $action;
public function __construct($title = null, $action = 1)
{
parent::__construct($title);
$this->action = $action; //$action:1=通过;2=拒绝
$this->title = $action == 1 ? '通过' : '拒绝';
}
protected function html()
{
$class = $this->action == 1 ? 'btn btn-sm btn-success' : 'btn btn-sm btn-danger';
$this->appendHtmlAttribute('class', $class);
$this->defaultHtmlAttribute('href', 'javascript:;');
return "<a {$this->formatHtmlAttributes()}>{$this->title}</a>";
}
public function handle(Request $request)
{
try {
$product = Product::find($this->getKey());
$product->status = $request->action == 1 ? ProductStatus::ON_SALE : ProductStatus::REFUSE;
$product->save();
return $this->response()->success("审核成功")->refresh();
} catch (\Exception $e) {
return $this->response()->error($e->getMessage());
}
}
public function confirm()
{
return ['确定要'.$this->title.'该产品吗?', ''];
}
public function parameters()
{
return ['action' => $this->action];
}
}

16
app/Admin/Repositories/Product.php

@ -0,0 +1,16 @@
<?php
namespace App\Admin\Repositories;
use App\Models\Product as Model;
use Dcat\Admin\Repositories\EloquentRepository;
class Product extends EloquentRepository
{
/**
* Model.
*
* @var string
*/
protected $eloquentClass = Model::class;
}

2
app/Admin/routes.php

@ -23,4 +23,6 @@ Route::group([
$router->resource('guide/list', 'GuideController');
$router->resource('guide/audit', 'GuideController');
$router->resource('category/list', 'CategoryController');
$router->resource('product/list', 'ProductController');
$router->resource('product/audit', 'ProductController');
});

26
app/Common/ProductStatus.php

@ -0,0 +1,26 @@
<?php
namespace App\Common;
/**
* 产品状态,包括供应商产品和代理商产品
* Class UserStatus
* @package App\Common
*/
class ProductStatus
{
const ON_SALE = 1; //正常在售状态
const UNAUDITED = 0; //未审核状态
const REFUSE = -1; //审核拒绝
const SOLD_OUT = -2; //下架
public static function array(): array
{
return [
self::ON_SALE => '在售',
self::UNAUDITED => '未审核',
self::REFUSE => '拒绝',
self::SOLD_OUT => '下架',
];
}
}

19
app/Models/Product.php

@ -4,6 +4,7 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Support\Facades\Storage;
/**
* 供应商产品
@ -22,7 +23,7 @@ class Product extends BaseModel
{
$pictures = $value ? json_decode($value, true) : [];
foreach ($pictures as &$v) {
$v = $this->host . $v;
$v = Storage::disk('public')->url($v);
}
$this->append('picture');
return $pictures;
@ -34,8 +35,24 @@ class Product extends BaseModel
return $this->pictures[0] ?? '';
}
//保存图片时去掉域名
public function setPicturesAttribute($value)
{
if (is_array($value)) {
foreach ($value as &$v) {
$v = str_replace(Storage::disk('public')->url(''), '', $v);
}
$this->attributes['pictures'] = json_encode($value);
}
}
public function supplier()
{
return $this->belongsTo(Supplier::class);
}
public function category()
{
return $this->belongsTo(Category::class);
}
}

296
dcat_admin_ide_helper.php

@ -11,92 +11,88 @@ namespace Dcat\Admin {
use Illuminate\Support\Collection;
/**
* @property Grid\Column|Collection product_id
* @property Grid\Column|Collection know
* @property Grid\Column|Collection content
* @property Grid\Column|Collection know
* @property Grid\Column|Collection product_id
* @property Grid\Column|Collection created_at
* @property Grid\Column|Collection detail
* @property Grid\Column|Collection id
* @property Grid\Column|Collection name
* @property Grid\Column|Collection type
* @property Grid\Column|Collection version
* @property Grid\Column|Collection detail
* @property Grid\Column|Collection created_at
* @property Grid\Column|Collection updated_at
* @property Grid\Column|Collection version
* @property Grid\Column|Collection is_enabled
* @property Grid\Column|Collection parent_id
* @property Grid\Column|Collection order
* @property Grid\Column|Collection extension
* @property Grid\Column|Collection icon
* @property Grid\Column|Collection order
* @property Grid\Column|Collection parent_id
* @property Grid\Column|Collection uri
* @property Grid\Column|Collection extension
* @property Grid\Column|Collection permission_id
* @property Grid\Column|Collection menu_id
* @property Grid\Column|Collection slug
* @property Grid\Column|Collection permission_id
* @property Grid\Column|Collection http_method
* @property Grid\Column|Collection http_path
* @property Grid\Column|Collection slug
* @property Grid\Column|Collection role_id
* @property Grid\Column|Collection user_id
* @property Grid\Column|Collection value
* @property Grid\Column|Collection username
* @property Grid\Column|Collection password
* @property Grid\Column|Collection avatar
* @property Grid\Column|Collection password
* @property Grid\Column|Collection remember_token
* @property Grid\Column|Collection username
* @property Grid\Column|Collection agent_id
* @property Grid\Column|Collection desc
* @property Grid\Column|Collection picture
* @property Grid\Column|Collection tag
* @property Grid\Column|Collection desc
* @property Grid\Column|Collection agent_id
* @property Grid\Column|Collection about
* @property Grid\Column|Collection reg_protocol
* @property Grid\Column|Collection buy_protocol
* @property Grid\Column|Collection price
* @property Grid\Column|Collection reg_protocol
* @property Grid\Column|Collection category_id
* @property Grid\Column|Collection channel_id
* @property Grid\Column|Collection deleted_at
* @property Grid\Column|Collection original_price
* @property Grid\Column|Collection price
* @property Grid\Column|Collection sale
* @property Grid\Column|Collection channel_id
* @property Grid\Column|Collection category_id
* @property Grid\Column|Collection status
* @property Grid\Column|Collection account
* @property Grid\Column|Collection agent_name
* @property Grid\Column|Collection address
* @property Grid\Column|Collection appid
* @property Grid\Column|Collection appsecret
* @property Grid\Column|Collection mchid
* @property Grid\Column|Collection mchkey
* @property Grid\Column|Collection company_name
* @property Grid\Column|Collection logo
* @property Grid\Column|Collection address
* @property Grid\Column|Collection license_pic
* @property Grid\Column|Collection director
* @property Grid\Column|Collection contact_phone
* @property Grid\Column|Collection deleted_at
* @property Grid\Column|Collection director
* @property Grid\Column|Collection license_pic
* @property Grid\Column|Collection logo
* @property Grid\Column|Collection mchid
* @property Grid\Column|Collection mchkey
* @property Grid\Column|Collection author
* @property Grid\Column|Collection image
* @property Grid\Column|Collection pid
* @property Grid\Column|Collection sort
* @property Grid\Column|Collection agent_product_id
* @property Grid\Column|Collection start_at
* @property Grid\Column|Collection end_at
* @property Grid\Column|Collection uuid
* @property Grid\Column|Collection start_at
* @property Grid\Column|Collection connection
* @property Grid\Column|Collection queue
* @property Grid\Column|Collection payload
* @property Grid\Column|Collection exception
* @property Grid\Column|Collection failed_at
* @property Grid\Column|Collection guide_name
* @property Grid\Column|Collection payload
* @property Grid\Column|Collection queue
* @property Grid\Column|Collection uuid
* @property Grid\Column|Collection photo
* @property Grid\Column|Collection is_read
* @property Grid\Column|Collection order_no
* @property Grid\Column|Collection num
* @property Grid\Column|Collection mobile
* @property Grid\Column|Collection pay_type
* @property Grid\Column|Collection coupon_id
* @property Grid\Column|Collection paid_money
* @property Grid\Column|Collection mobile
* @property Grid\Column|Collection num
* @property Grid\Column|Collection order_no
* @property Grid\Column|Collection paid_at
* @property Grid\Column|Collection paid_money
* @property Grid\Column|Collection pay_type
* @property Grid\Column|Collection refund_info
* @property Grid\Column|Collection email
* @property Grid\Column|Collection token
* @property Grid\Column|Collection supplier_id
* @property Grid\Column|Collection pictures
* @property Grid\Column|Collection stock
* @property Grid\Column|Collection supplier_id
* @property Grid\Column|Collection url
* @property Grid\Column|Collection picture_ad
* @property Grid\Column|Collection supplier_name
* @property Grid\Column|Collection channels
* @property Grid\Column|Collection money
* @property Grid\Column|Collection order_id
@ -106,92 +102,88 @@ namespace Dcat\Admin {
* @property Grid\Column|Collection unionid
* @property Grid\Column|Collection verifier
*
* @method Grid\Column|Collection product_id(string $label = null)
* @method Grid\Column|Collection know(string $label = null)
* @method Grid\Column|Collection content(string $label = null)
* @method Grid\Column|Collection know(string $label = null)
* @method Grid\Column|Collection product_id(string $label = null)
* @method Grid\Column|Collection created_at(string $label = null)
* @method Grid\Column|Collection detail(string $label = null)
* @method Grid\Column|Collection id(string $label = null)
* @method Grid\Column|Collection name(string $label = null)
* @method Grid\Column|Collection type(string $label = null)
* @method Grid\Column|Collection version(string $label = null)
* @method Grid\Column|Collection detail(string $label = null)
* @method Grid\Column|Collection created_at(string $label = null)
* @method Grid\Column|Collection updated_at(string $label = null)
* @method Grid\Column|Collection version(string $label = null)
* @method Grid\Column|Collection is_enabled(string $label = null)
* @method Grid\Column|Collection parent_id(string $label = null)
* @method Grid\Column|Collection order(string $label = null)
* @method Grid\Column|Collection extension(string $label = null)
* @method Grid\Column|Collection icon(string $label = null)
* @method Grid\Column|Collection order(string $label = null)
* @method Grid\Column|Collection parent_id(string $label = null)
* @method Grid\Column|Collection uri(string $label = null)
* @method Grid\Column|Collection extension(string $label = null)
* @method Grid\Column|Collection permission_id(string $label = null)
* @method Grid\Column|Collection menu_id(string $label = null)
* @method Grid\Column|Collection slug(string $label = null)
* @method Grid\Column|Collection permission_id(string $label = null)
* @method Grid\Column|Collection http_method(string $label = null)
* @method Grid\Column|Collection http_path(string $label = null)
* @method Grid\Column|Collection slug(string $label = null)
* @method Grid\Column|Collection role_id(string $label = null)
* @method Grid\Column|Collection user_id(string $label = null)
* @method Grid\Column|Collection value(string $label = null)
* @method Grid\Column|Collection username(string $label = null)
* @method Grid\Column|Collection password(string $label = null)
* @method Grid\Column|Collection avatar(string $label = null)
* @method Grid\Column|Collection password(string $label = null)
* @method Grid\Column|Collection remember_token(string $label = null)
* @method Grid\Column|Collection username(string $label = null)
* @method Grid\Column|Collection agent_id(string $label = null)
* @method Grid\Column|Collection desc(string $label = null)
* @method Grid\Column|Collection picture(string $label = null)
* @method Grid\Column|Collection tag(string $label = null)
* @method Grid\Column|Collection desc(string $label = null)
* @method Grid\Column|Collection agent_id(string $label = null)
* @method Grid\Column|Collection about(string $label = null)
* @method Grid\Column|Collection reg_protocol(string $label = null)
* @method Grid\Column|Collection buy_protocol(string $label = null)
* @method Grid\Column|Collection price(string $label = null)
* @method Grid\Column|Collection reg_protocol(string $label = null)
* @method Grid\Column|Collection category_id(string $label = null)
* @method Grid\Column|Collection channel_id(string $label = null)
* @method Grid\Column|Collection deleted_at(string $label = null)
* @method Grid\Column|Collection original_price(string $label = null)
* @method Grid\Column|Collection price(string $label = null)
* @method Grid\Column|Collection sale(string $label = null)
* @method Grid\Column|Collection channel_id(string $label = null)
* @method Grid\Column|Collection category_id(string $label = null)
* @method Grid\Column|Collection status(string $label = null)
* @method Grid\Column|Collection account(string $label = null)
* @method Grid\Column|Collection agent_name(string $label = null)
* @method Grid\Column|Collection address(string $label = null)
* @method Grid\Column|Collection appid(string $label = null)
* @method Grid\Column|Collection appsecret(string $label = null)
* @method Grid\Column|Collection mchid(string $label = null)
* @method Grid\Column|Collection mchkey(string $label = null)
* @method Grid\Column|Collection company_name(string $label = null)
* @method Grid\Column|Collection logo(string $label = null)
* @method Grid\Column|Collection address(string $label = null)
* @method Grid\Column|Collection license_pic(string $label = null)
* @method Grid\Column|Collection director(string $label = null)
* @method Grid\Column|Collection contact_phone(string $label = null)
* @method Grid\Column|Collection deleted_at(string $label = null)
* @method Grid\Column|Collection director(string $label = null)
* @method Grid\Column|Collection license_pic(string $label = null)
* @method Grid\Column|Collection logo(string $label = null)
* @method Grid\Column|Collection mchid(string $label = null)
* @method Grid\Column|Collection mchkey(string $label = null)
* @method Grid\Column|Collection author(string $label = null)
* @method Grid\Column|Collection image(string $label = null)
* @method Grid\Column|Collection pid(string $label = null)
* @method Grid\Column|Collection sort(string $label = null)
* @method Grid\Column|Collection agent_product_id(string $label = null)
* @method Grid\Column|Collection start_at(string $label = null)
* @method Grid\Column|Collection end_at(string $label = null)
* @method Grid\Column|Collection uuid(string $label = null)
* @method Grid\Column|Collection start_at(string $label = null)
* @method Grid\Column|Collection connection(string $label = null)
* @method Grid\Column|Collection queue(string $label = null)
* @method Grid\Column|Collection payload(string $label = null)
* @method Grid\Column|Collection exception(string $label = null)
* @method Grid\Column|Collection failed_at(string $label = null)
* @method Grid\Column|Collection guide_name(string $label = null)
* @method Grid\Column|Collection payload(string $label = null)
* @method Grid\Column|Collection queue(string $label = null)
* @method Grid\Column|Collection uuid(string $label = null)
* @method Grid\Column|Collection photo(string $label = null)
* @method Grid\Column|Collection is_read(string $label = null)
* @method Grid\Column|Collection order_no(string $label = null)
* @method Grid\Column|Collection num(string $label = null)
* @method Grid\Column|Collection mobile(string $label = null)
* @method Grid\Column|Collection pay_type(string $label = null)
* @method Grid\Column|Collection coupon_id(string $label = null)
* @method Grid\Column|Collection paid_money(string $label = null)
* @method Grid\Column|Collection mobile(string $label = null)
* @method Grid\Column|Collection num(string $label = null)
* @method Grid\Column|Collection order_no(string $label = null)
* @method Grid\Column|Collection paid_at(string $label = null)
* @method Grid\Column|Collection paid_money(string $label = null)
* @method Grid\Column|Collection pay_type(string $label = null)
* @method Grid\Column|Collection refund_info(string $label = null)
* @method Grid\Column|Collection email(string $label = null)
* @method Grid\Column|Collection token(string $label = null)
* @method Grid\Column|Collection supplier_id(string $label = null)
* @method Grid\Column|Collection pictures(string $label = null)
* @method Grid\Column|Collection stock(string $label = null)
* @method Grid\Column|Collection supplier_id(string $label = null)
* @method Grid\Column|Collection url(string $label = null)
* @method Grid\Column|Collection picture_ad(string $label = null)
* @method Grid\Column|Collection supplier_name(string $label = null)
* @method Grid\Column|Collection channels(string $label = null)
* @method Grid\Column|Collection money(string $label = null)
* @method Grid\Column|Collection order_id(string $label = null)
@ -206,92 +198,88 @@ namespace Dcat\Admin {
class MiniGrid extends Grid {}
/**
* @property Show\Field|Collection product_id
* @property Show\Field|Collection know
* @property Show\Field|Collection content
* @property Show\Field|Collection know
* @property Show\Field|Collection product_id
* @property Show\Field|Collection created_at
* @property Show\Field|Collection detail
* @property Show\Field|Collection id
* @property Show\Field|Collection name
* @property Show\Field|Collection type
* @property Show\Field|Collection version
* @property Show\Field|Collection detail
* @property Show\Field|Collection created_at
* @property Show\Field|Collection updated_at
* @property Show\Field|Collection version
* @property Show\Field|Collection is_enabled
* @property Show\Field|Collection parent_id
* @property Show\Field|Collection order
* @property Show\Field|Collection extension
* @property Show\Field|Collection icon
* @property Show\Field|Collection order
* @property Show\Field|Collection parent_id
* @property Show\Field|Collection uri
* @property Show\Field|Collection extension
* @property Show\Field|Collection permission_id
* @property Show\Field|Collection menu_id
* @property Show\Field|Collection slug
* @property Show\Field|Collection permission_id
* @property Show\Field|Collection http_method
* @property Show\Field|Collection http_path
* @property Show\Field|Collection slug
* @property Show\Field|Collection role_id
* @property Show\Field|Collection user_id
* @property Show\Field|Collection value
* @property Show\Field|Collection username
* @property Show\Field|Collection password
* @property Show\Field|Collection avatar
* @property Show\Field|Collection password
* @property Show\Field|Collection remember_token
* @property Show\Field|Collection username
* @property Show\Field|Collection agent_id
* @property Show\Field|Collection desc
* @property Show\Field|Collection picture
* @property Show\Field|Collection tag
* @property Show\Field|Collection desc
* @property Show\Field|Collection agent_id
* @property Show\Field|Collection about
* @property Show\Field|Collection reg_protocol
* @property Show\Field|Collection buy_protocol
* @property Show\Field|Collection price
* @property Show\Field|Collection reg_protocol
* @property Show\Field|Collection category_id
* @property Show\Field|Collection channel_id
* @property Show\Field|Collection deleted_at
* @property Show\Field|Collection original_price
* @property Show\Field|Collection price
* @property Show\Field|Collection sale
* @property Show\Field|Collection channel_id
* @property Show\Field|Collection category_id
* @property Show\Field|Collection status
* @property Show\Field|Collection account
* @property Show\Field|Collection agent_name
* @property Show\Field|Collection address
* @property Show\Field|Collection appid
* @property Show\Field|Collection appsecret
* @property Show\Field|Collection mchid
* @property Show\Field|Collection mchkey
* @property Show\Field|Collection company_name
* @property Show\Field|Collection logo
* @property Show\Field|Collection address
* @property Show\Field|Collection license_pic
* @property Show\Field|Collection director
* @property Show\Field|Collection contact_phone
* @property Show\Field|Collection deleted_at
* @property Show\Field|Collection director
* @property Show\Field|Collection license_pic
* @property Show\Field|Collection logo
* @property Show\Field|Collection mchid
* @property Show\Field|Collection mchkey
* @property Show\Field|Collection author
* @property Show\Field|Collection image
* @property Show\Field|Collection pid
* @property Show\Field|Collection sort
* @property Show\Field|Collection agent_product_id
* @property Show\Field|Collection start_at
* @property Show\Field|Collection end_at
* @property Show\Field|Collection uuid
* @property Show\Field|Collection start_at
* @property Show\Field|Collection connection
* @property Show\Field|Collection queue
* @property Show\Field|Collection payload
* @property Show\Field|Collection exception
* @property Show\Field|Collection failed_at
* @property Show\Field|Collection guide_name
* @property Show\Field|Collection payload
* @property Show\Field|Collection queue
* @property Show\Field|Collection uuid
* @property Show\Field|Collection photo
* @property Show\Field|Collection is_read
* @property Show\Field|Collection order_no
* @property Show\Field|Collection num
* @property Show\Field|Collection mobile
* @property Show\Field|Collection pay_type
* @property Show\Field|Collection coupon_id
* @property Show\Field|Collection paid_money
* @property Show\Field|Collection mobile
* @property Show\Field|Collection num
* @property Show\Field|Collection order_no
* @property Show\Field|Collection paid_at
* @property Show\Field|Collection paid_money
* @property Show\Field|Collection pay_type
* @property Show\Field|Collection refund_info
* @property Show\Field|Collection email
* @property Show\Field|Collection token
* @property Show\Field|Collection supplier_id
* @property Show\Field|Collection pictures
* @property Show\Field|Collection stock
* @property Show\Field|Collection supplier_id
* @property Show\Field|Collection url
* @property Show\Field|Collection picture_ad
* @property Show\Field|Collection supplier_name
* @property Show\Field|Collection channels
* @property Show\Field|Collection money
* @property Show\Field|Collection order_id
@ -301,92 +289,88 @@ namespace Dcat\Admin {
* @property Show\Field|Collection unionid
* @property Show\Field|Collection verifier
*
* @method Show\Field|Collection product_id(string $label = null)
* @method Show\Field|Collection know(string $label = null)
* @method Show\Field|Collection content(string $label = null)
* @method Show\Field|Collection know(string $label = null)
* @method Show\Field|Collection product_id(string $label = null)
* @method Show\Field|Collection created_at(string $label = null)
* @method Show\Field|Collection detail(string $label = null)
* @method Show\Field|Collection id(string $label = null)
* @method Show\Field|Collection name(string $label = null)
* @method Show\Field|Collection type(string $label = null)
* @method Show\Field|Collection version(string $label = null)
* @method Show\Field|Collection detail(string $label = null)
* @method Show\Field|Collection created_at(string $label = null)
* @method Show\Field|Collection updated_at(string $label = null)
* @method Show\Field|Collection version(string $label = null)
* @method Show\Field|Collection is_enabled(string $label = null)
* @method Show\Field|Collection parent_id(string $label = null)
* @method Show\Field|Collection order(string $label = null)
* @method Show\Field|Collection extension(string $label = null)
* @method Show\Field|Collection icon(string $label = null)
* @method Show\Field|Collection order(string $label = null)
* @method Show\Field|Collection parent_id(string $label = null)
* @method Show\Field|Collection uri(string $label = null)
* @method Show\Field|Collection extension(string $label = null)
* @method Show\Field|Collection permission_id(string $label = null)
* @method Show\Field|Collection menu_id(string $label = null)
* @method Show\Field|Collection slug(string $label = null)
* @method Show\Field|Collection permission_id(string $label = null)
* @method Show\Field|Collection http_method(string $label = null)
* @method Show\Field|Collection http_path(string $label = null)
* @method Show\Field|Collection slug(string $label = null)
* @method Show\Field|Collection role_id(string $label = null)
* @method Show\Field|Collection user_id(string $label = null)
* @method Show\Field|Collection value(string $label = null)
* @method Show\Field|Collection username(string $label = null)
* @method Show\Field|Collection password(string $label = null)
* @method Show\Field|Collection avatar(string $label = null)
* @method Show\Field|Collection password(string $label = null)
* @method Show\Field|Collection remember_token(string $label = null)
* @method Show\Field|Collection username(string $label = null)
* @method Show\Field|Collection agent_id(string $label = null)
* @method Show\Field|Collection desc(string $label = null)
* @method Show\Field|Collection picture(string $label = null)
* @method Show\Field|Collection tag(string $label = null)
* @method Show\Field|Collection desc(string $label = null)
* @method Show\Field|Collection agent_id(string $label = null)
* @method Show\Field|Collection about(string $label = null)
* @method Show\Field|Collection reg_protocol(string $label = null)
* @method Show\Field|Collection buy_protocol(string $label = null)
* @method Show\Field|Collection price(string $label = null)
* @method Show\Field|Collection reg_protocol(string $label = null)
* @method Show\Field|Collection category_id(string $label = null)
* @method Show\Field|Collection channel_id(string $label = null)
* @method Show\Field|Collection deleted_at(string $label = null)
* @method Show\Field|Collection original_price(string $label = null)
* @method Show\Field|Collection price(string $label = null)
* @method Show\Field|Collection sale(string $label = null)
* @method Show\Field|Collection channel_id(string $label = null)
* @method Show\Field|Collection category_id(string $label = null)
* @method Show\Field|Collection status(string $label = null)
* @method Show\Field|Collection account(string $label = null)
* @method Show\Field|Collection agent_name(string $label = null)
* @method Show\Field|Collection address(string $label = null)
* @method Show\Field|Collection appid(string $label = null)
* @method Show\Field|Collection appsecret(string $label = null)
* @method Show\Field|Collection mchid(string $label = null)
* @method Show\Field|Collection mchkey(string $label = null)
* @method Show\Field|Collection company_name(string $label = null)
* @method Show\Field|Collection logo(string $label = null)
* @method Show\Field|Collection address(string $label = null)
* @method Show\Field|Collection license_pic(string $label = null)
* @method Show\Field|Collection director(string $label = null)
* @method Show\Field|Collection contact_phone(string $label = null)
* @method Show\Field|Collection deleted_at(string $label = null)
* @method Show\Field|Collection director(string $label = null)
* @method Show\Field|Collection license_pic(string $label = null)
* @method Show\Field|Collection logo(string $label = null)
* @method Show\Field|Collection mchid(string $label = null)
* @method Show\Field|Collection mchkey(string $label = null)
* @method Show\Field|Collection author(string $label = null)
* @method Show\Field|Collection image(string $label = null)
* @method Show\Field|Collection pid(string $label = null)
* @method Show\Field|Collection sort(string $label = null)
* @method Show\Field|Collection agent_product_id(string $label = null)
* @method Show\Field|Collection start_at(string $label = null)
* @method Show\Field|Collection end_at(string $label = null)
* @method Show\Field|Collection uuid(string $label = null)
* @method Show\Field|Collection start_at(string $label = null)
* @method Show\Field|Collection connection(string $label = null)
* @method Show\Field|Collection queue(string $label = null)
* @method Show\Field|Collection payload(string $label = null)
* @method Show\Field|Collection exception(string $label = null)
* @method Show\Field|Collection failed_at(string $label = null)
* @method Show\Field|Collection guide_name(string $label = null)
* @method Show\Field|Collection payload(string $label = null)
* @method Show\Field|Collection queue(string $label = null)
* @method Show\Field|Collection uuid(string $label = null)
* @method Show\Field|Collection photo(string $label = null)
* @method Show\Field|Collection is_read(string $label = null)
* @method Show\Field|Collection order_no(string $label = null)
* @method Show\Field|Collection num(string $label = null)
* @method Show\Field|Collection mobile(string $label = null)
* @method Show\Field|Collection pay_type(string $label = null)
* @method Show\Field|Collection coupon_id(string $label = null)
* @method Show\Field|Collection paid_money(string $label = null)
* @method Show\Field|Collection mobile(string $label = null)
* @method Show\Field|Collection num(string $label = null)
* @method Show\Field|Collection order_no(string $label = null)
* @method Show\Field|Collection paid_at(string $label = null)
* @method Show\Field|Collection paid_money(string $label = null)
* @method Show\Field|Collection pay_type(string $label = null)
* @method Show\Field|Collection refund_info(string $label = null)
* @method Show\Field|Collection email(string $label = null)
* @method Show\Field|Collection token(string $label = null)
* @method Show\Field|Collection supplier_id(string $label = null)
* @method Show\Field|Collection pictures(string $label = null)
* @method Show\Field|Collection stock(string $label = null)
* @method Show\Field|Collection supplier_id(string $label = null)
* @method Show\Field|Collection url(string $label = null)
* @method Show\Field|Collection picture_ad(string $label = null)
* @method Show\Field|Collection supplier_name(string $label = null)
* @method Show\Field|Collection channels(string $label = null)
* @method Show\Field|Collection money(string $label = null)
* @method Show\Field|Collection order_id(string $label = null)

22
resources/lang/zh_CN/product.php

@ -0,0 +1,22 @@
<?php
return [
'labels' => [
'Product' => '云产品',
'product' => '云产品',
],
'fields' => [
'content' => '产品详情',
'know' => '旅客须知',
'original_price' => '原价',
'pictures' => '产品图片',
'picture' => '产品图片',
'price' => '现价',
'sale' => '销量',
'status' => '状态',
'stock' => '库存',
'supplier_id' => '供应商ID',
'title' => '标题',
],
'options' => [
],
];
Loading…
Cancel
Save