linyaostalker
5 years ago
10 changed files with 5 additions and 734 deletions
-
5composer.json
-
149vendor/antgoods/goods/src/controllers/GoodsController.php
-
133vendor/antgoods/goods/src/models/ars/Goods.php
-
197vendor/antgoods/goods/src/models/searchs/GoodsSearch.php
-
82vendor/antgoods/goods/src/views/goods/_form.php
-
49vendor/antgoods/goods/src/views/goods/_search.php
-
18vendor/antgoods/goods/src/views/goods/create.php
-
28vendor/antgoods/goods/src/views/goods/index.php
-
19vendor/antgoods/goods/src/views/goods/update.php
-
59vendor/antgoods/goods/src/views/goods/view.php
@ -1,149 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
namespace antgoods\goods\controllers; |
|
||||
|
|
||||
use Yii; |
|
||||
use antgoods\goods\models\ars\Goods; |
|
||||
use antgoods\goods\models\searchs\GoodsSearch; |
|
||||
use yii\web\Controller; |
|
||||
use yii\web\NotFoundHttpException; |
|
||||
use yii\filters\VerbFilter; |
|
||||
|
|
||||
/** |
|
||||
* GoodsController implements the CRUD actions for Goods model. |
|
||||
*/ |
|
||||
class GoodsController extends Controller |
|
||||
{ |
|
||||
/** |
|
||||
* {@inheritdoc} |
|
||||
*/ |
|
||||
public function behaviors() |
|
||||
{ |
|
||||
return [ |
|
||||
'verbs' => [ |
|
||||
'class' => VerbFilter::className(), |
|
||||
'actions' => [ |
|
||||
'delete' => ['POST'], |
|
||||
], |
|
||||
], |
|
||||
]; |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* Lists all Goods models. |
|
||||
* @return mixed |
|
||||
*/ |
|
||||
public function actionIndex() |
|
||||
{ |
|
||||
$searchModel = new GoodsSearch(); |
|
||||
$dataProvider = $searchModel->search(Yii::$app->request->queryParams); |
|
||||
|
|
||||
return $this->render('index', [ |
|
||||
'searchModel' => $searchModel, |
|
||||
'dataProvider' => $dataProvider, |
|
||||
'columns' => $searchModel->columns() |
|
||||
]); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* Displays a single Goods model. |
|
||||
* @param integer $id |
|
||||
* @return mixed |
|
||||
* @throws NotFoundHttpException if the model cannot be found |
|
||||
*/ |
|
||||
public function actionView($id) |
|
||||
{ |
|
||||
return $this->render('view', [ |
|
||||
'model' => $this->findModel($id), |
|
||||
]); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* Creates a new Goods model. |
|
||||
* If creation is successful, the browser will be redirected to the 'view' page. |
|
||||
* @return mixed |
|
||||
*/ |
|
||||
public function actionCreate() |
|
||||
{ |
|
||||
$model = new Goods(); |
|
||||
|
|
||||
if ($model->load(Yii::$app->request->post()) && $model->save()) { |
|
||||
return $this->redirect('index'); |
|
||||
} |
|
||||
|
|
||||
return $this->render('create', [ |
|
||||
'model' => $model, |
|
||||
]); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* Updates an existing Goods model. |
|
||||
* If update is successful, the browser will be redirected to the 'view' page. |
|
||||
* @param integer $id |
|
||||
* @return mixed |
|
||||
* @throws NotFoundHttpException if the model cannot be found |
|
||||
*/ |
|
||||
public function actionUpdate($id) |
|
||||
{ |
|
||||
$model = $this->findModel($id); |
|
||||
|
|
||||
if ($model->load(Yii::$app->request->post()) && $model->save()) { |
|
||||
return $this->redirect('index'); |
|
||||
} |
|
||||
|
|
||||
return $this->render('update', [ |
|
||||
'model' => $model, |
|
||||
]); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* Deletes an existing Goods model. |
|
||||
* If deletion is successful, the browser will be redirected to the 'index' page. |
|
||||
* @param integer $id |
|
||||
* @return mixed |
|
||||
* @throws NotFoundHttpException if the model cannot be found |
|
||||
*/ |
|
||||
public function actionDelete($id) |
|
||||
{ |
|
||||
$this->findModel($id)->delete(); |
|
||||
|
|
||||
return $this->redirect(['index']); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* Finds the Goods model based on its primary key value. |
|
||||
* If the model is not found, a 404 HTTP exception will be thrown. |
|
||||
* @param integer $id |
|
||||
* @return Goods the loaded model |
|
||||
* @throws NotFoundHttpException if the model cannot be found |
|
||||
*/ |
|
||||
protected function findModel($id) |
|
||||
{ |
|
||||
if (($model = Goods::findOne($id)) !== null) { |
|
||||
return $model; |
|
||||
} |
|
||||
|
|
||||
throw new NotFoundHttpException('The requested page does not exist.'); |
|
||||
} |
|
||||
/** |
|
||||
* @author iron |
|
||||
* 文件导出 |
|
||||
*/ |
|
||||
public function actionExport() |
|
||||
{ |
|
||||
$searchModel = new GoodsSearch(); |
|
||||
$params = Yii::$app->request->queryParams; |
|
||||
if ($params['page-type'] == 'all') { |
|
||||
$dataProvider = $searchModel->allData($params); |
|
||||
} else { |
|
||||
$dataProvider = $searchModel->search($params); |
|
||||
} |
|
||||
\iron\widget\Excel::export([ |
|
||||
'models' => $dataProvider->getModels(), |
|
||||
'format' => 'Xlsx', |
|
||||
'asAttachment' => true, |
|
||||
'fileName' =>'Goods'. "-" .date('Y-m-d H/i/s', time()), |
|
||||
'columns' => $searchModel->columns() |
|
||||
]); |
|
||||
} |
|
||||
} |
|
@ -1,133 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
namespace antgoods\goods\models\ars; |
|
||||
|
|
||||
use Yii; |
|
||||
use yii\behaviors\TimestampBehavior; |
|
||||
|
|
||||
/** |
|
||||
* This is the model class for table "ats_goods". |
|
||||
* |
|
||||
* @property int $id |
|
||||
* @property int $pid 父级id |
|
||||
* @property int $cat_id 后台商品类别id |
|
||||
* @property int $brand_id 品牌id |
|
||||
* @property int $shop_cat_id 前端商品类别id |
|
||||
* @property string $name 商品名称 |
|
||||
* @property string $sn 商品唯一货号 |
|
||||
* @property string $code 商品货码 |
|
||||
* @property int $supplier_id 供应商id |
|
||||
* @property int $weight 重量 |
|
||||
* @property int $length 长度 |
|
||||
* @property int $width 宽度 |
|
||||
* @property int $height 高度 |
|
||||
* @property int $diameter 直径 |
|
||||
* @property string $unit 单位 |
|
||||
* @property int $sold_count 已售数量 |
|
||||
* @property int $limit_count 限购数量 |
|
||||
* @property int $stock 库存 |
|
||||
* @property int $stock_warn 库存警告 |
|
||||
* @property int $market_price 市场价 |
|
||||
* @property int $price 销售价 |
|
||||
* @property string $brief 简介 |
|
||||
* @property string $description 详细介绍 |
|
||||
* @property int $image 图片id |
|
||||
* @property int $model_id 模型id |
|
||||
* @property int $is_sale 该商品是否开放销售,1为是,0为否 |
|
||||
* @property int $sort_order 排序 |
|
||||
* @property int $bouns_points 奖励积分 |
|
||||
* @property int $experience_points 经验值 |
|
||||
* @property int $is_delete 是否删除,1为已删除 |
|
||||
* @property int $express_template 配送详情id |
|
||||
* @property int $created_at 创建时间 |
|
||||
* @property int $updated_at 更新时间 |
|
||||
*/ |
|
||||
class Goods extends \yii\db\ActiveRecord |
|
||||
{ |
|
||||
/** |
|
||||
* {@inheritdoc} |
|
||||
*/ |
|
||||
public static function tableName() |
|
||||
{ |
|
||||
return 'antgoods_goods'; |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* {@inheritdoc} |
|
||||
*/ |
|
||||
public function rules() |
|
||||
{ |
|
||||
return [ |
|
||||
[['pid', 'cat_id', 'brand_id', 'shop_cat_id', 'supplier_id', 'weight', 'length', 'width', 'height', 'diameter', 'sold_count', 'limit_count', 'stock', 'stock_warn', 'market_price', 'price', 'image', 'model_id', 'is_sale', 'sort_order', 'bouns_points', 'experience_points', 'is_delete', 'express_template'], 'integer'], |
|
||||
[['description'], 'string'], |
|
||||
[['name'], 'string', 'max' => 120], |
|
||||
[['sn'], 'string', 'max' => 60], |
|
||||
[['code'], 'string', 'max' => 50], |
|
||||
[['unit'], 'string', 'max' => 16], |
|
||||
[['brief'], 'string', 'max' => 255], |
|
||||
]; |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* {@inheritdoc} |
|
||||
*/ |
|
||||
public function attributeLabels() |
|
||||
{ |
|
||||
return [ |
|
||||
'id' => 'id', |
|
||||
'pid' => '父级id', |
|
||||
'cat_id' => '后台商品类别id', |
|
||||
'brand_id' => '品牌id', |
|
||||
'shop_cat_id' => '前端商品类别id', |
|
||||
'name' => '商品名称', |
|
||||
'sn' => '商品唯一货号', |
|
||||
'code' => '商品货码', |
|
||||
'supplier_id' => '供应商id', |
|
||||
'weight' => '重量', |
|
||||
'length' => '长度', |
|
||||
'width' => '宽度', |
|
||||
'height' => '高度', |
|
||||
'diameter' => '直径', |
|
||||
'unit' => '单位', |
|
||||
'sold_count' => '已售数量', |
|
||||
'limit_count' => '限购数量', |
|
||||
'stock' => '库存', |
|
||||
'stock_warn' => '库存警告', |
|
||||
'market_price' => '市场价', |
|
||||
'price' => '销售价', |
|
||||
'brief' => '简介', |
|
||||
'description' => '详细介绍', |
|
||||
'image' => '图片id', |
|
||||
'model_id' => '模型id', |
|
||||
'is_sale' => '该商品是否开放销售,1为是,0为否', |
|
||||
'sort_order' => '排序', |
|
||||
'bouns_points' => '奖励积分', |
|
||||
'experience_points' => '经验值', |
|
||||
'is_delete' => '是否删除,1为已删除', |
|
||||
'express_template' => '配送详情id', |
|
||||
'created_at' => '创建时间', |
|
||||
'updated_at' => '更新时间', |
|
||||
]; |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* @author linyao |
|
||||
* @email 602604991@qq.com |
|
||||
* @created Nov 8, 2019 |
|
||||
* |
|
||||
* 行为存储创建时间和更新时间 |
|
||||
*/ |
|
||||
public function behaviors() |
|
||||
{ |
|
||||
return [ |
|
||||
[ |
|
||||
'class' => TimestampBehavior::className(), |
|
||||
'createdAtAttribute' => 'created_at', |
|
||||
'updatedAtAttribute' => 'updated_at', |
|
||||
'value' => function() { |
|
||||
return time(); |
|
||||
}, |
|
||||
], |
|
||||
]; |
|
||||
} |
|
||||
} |
|
@ -1,197 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
namespace antgoods\goods\models\searchs; |
|
||||
|
|
||||
use yii\base\Model; |
|
||||
use yii\data\ActiveDataProvider; |
|
||||
use yii\helpers\ArrayHelper; |
|
||||
use antgoods\goods\models\ars\Goods; |
|
||||
|
|
||||
/** |
|
||||
* GoodsSearch represents the model behind the search form of `common\models\ars\Goods`. |
|
||||
*/ |
|
||||
class GoodsSearch extends Goods |
|
||||
{ |
|
||||
/** |
|
||||
* @return array |
|
||||
* 增加创建时间查询字段 |
|
||||
*/ |
|
||||
public function attributes() |
|
||||
{ |
|
||||
return ArrayHelper::merge(['created_at_range'], parent::attributes()); |
|
||||
} |
|
||||
/** |
|
||||
* {@inheritdoc} |
|
||||
*/ |
|
||||
public function rules() |
|
||||
{ |
|
||||
return [ |
|
||||
[['id', 'pid', 'cat_id', 'brand_id', 'shop_cat_id', 'supplier_id', 'weight', 'length', 'width', 'height', 'diameter', 'sold_count', 'limit_count', 'stock', 'stock_warn', 'market_price', 'price', 'image', 'model_id', 'is_sale', 'sort_order', 'bouns_points', 'experience_points', 'is_delete', 'express_template', 'created_at', 'updated_at'], 'integer'], |
|
||||
[['name', 'sn', 'code', 'unit', 'brief', 'description'], 'safe'], |
|
||||
['created_at_range','safe'], |
|
||||
]; |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* {@inheritdoc} |
|
||||
*/ |
|
||||
public function scenarios() |
|
||||
{ |
|
||||
// bypass scenarios() implementation in the parent class
|
|
||||
return Model::scenarios(); |
|
||||
} |
|
||||
/** |
|
||||
* @return array |
|
||||
* 列格式 |
|
||||
*/ |
|
||||
public function columns() |
|
||||
{ |
|
||||
return [ |
|
||||
[ |
|
||||
'class' => 'blobt\grid\CheckboxColumn', |
|
||||
'width' => '2%', |
|
||||
'align' => 'center' |
|
||||
], |
|
||||
'id', |
|
||||
'pid', |
|
||||
'cat_id', |
|
||||
'brand_id', |
|
||||
'shop_cat_id', |
|
||||
//'name',
|
|
||||
//'sn',
|
|
||||
//'code',
|
|
||||
//'supplier_id',
|
|
||||
//'weight',
|
|
||||
//'length',
|
|
||||
//'width',
|
|
||||
//'height',
|
|
||||
//'diameter',
|
|
||||
//'unit',
|
|
||||
//'sold_count',
|
|
||||
//'limit_count',
|
|
||||
//'stock',
|
|
||||
//'stock_warn',
|
|
||||
//'market_price',
|
|
||||
//'price',
|
|
||||
//'brief',
|
|
||||
//'description',
|
|
||||
//'image',
|
|
||||
//'model_id',
|
|
||||
//'is_sale',
|
|
||||
//'sort_order',
|
|
||||
//'bouns_points',
|
|
||||
//'experience_points',
|
|
||||
//'is_delete',
|
|
||||
//'express_template',
|
|
||||
//'created_at',
|
|
||||
//'updated_at',
|
|
||||
[ |
|
||||
'class' => 'iron\grid\ActionColumn', |
|
||||
'align' => 'center', |
|
||||
], |
|
||||
]; |
|
||||
} |
|
||||
/** |
|
||||
* @param $params |
|
||||
* @return ActiveDataProvider |
|
||||
* 不分页的所有数据 |
|
||||
*/ |
|
||||
public function allData($params) |
|
||||
{ |
|
||||
$query = Goods::find(); |
|
||||
$dataProvider = new ActiveDataProvider([ |
|
||||
'query' => $query, |
|
||||
'pagination' => false, |
|
||||
'sort' => false |
|
||||
]); |
|
||||
$this->load($params); |
|
||||
return $this->filter($query, $dataProvider); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* Creates data provider instance with search query applied |
|
||||
* |
|
||||
* @param array $params |
|
||||
* |
|
||||
* @return ActiveDataProvider |
|
||||
*/ |
|
||||
public function search($params) |
|
||||
{ |
|
||||
$query = Goods::find(); |
|
||||
|
|
||||
// add conditions that should always apply here
|
|
||||
|
|
||||
$dataProvider = new ActiveDataProvider([ |
|
||||
'query' => $query, |
|
||||
'pagination' => [ |
|
||||
'pageSizeLimit' => [1, 200] |
|
||||
], |
|
||||
'sort' => [ |
|
||||
'defaultOrder' => [ |
|
||||
'id' => SORT_DESC, |
|
||||
] |
|
||||
], |
|
||||
]); |
|
||||
|
|
||||
$this->load($params); |
|
||||
return $this->filter($query, $dataProvider); |
|
||||
} |
|
||||
/** |
|
||||
* @param $query |
|
||||
* @param $dataProvider |
|
||||
* @return ActiveDataProvider |
|
||||
* 条件筛选 |
|
||||
*/ |
|
||||
private function filter($query, $dataProvider){ |
|
||||
if (!$this->validate()) { |
|
||||
// uncomment the following line if you do not want to return any records when validation fails
|
|
||||
// $query->where('0=1');
|
|
||||
return $dataProvider; |
|
||||
} |
|
||||
|
|
||||
// grid filtering conditions
|
|
||||
$query->andFilterWhere([ |
|
||||
'id' => $this->id, |
|
||||
'pid' => $this->pid, |
|
||||
'cat_id' => $this->cat_id, |
|
||||
'brand_id' => $this->brand_id, |
|
||||
'shop_cat_id' => $this->shop_cat_id, |
|
||||
'supplier_id' => $this->supplier_id, |
|
||||
'weight' => $this->weight, |
|
||||
'length' => $this->length, |
|
||||
'width' => $this->width, |
|
||||
'height' => $this->height, |
|
||||
'diameter' => $this->diameter, |
|
||||
'sold_count' => $this->sold_count, |
|
||||
'limit_count' => $this->limit_count, |
|
||||
'stock' => $this->stock, |
|
||||
'stock_warn' => $this->stock_warn, |
|
||||
'market_price' => $this->market_price, |
|
||||
'price' => $this->price, |
|
||||
'image' => $this->image, |
|
||||
'model_id' => $this->model_id, |
|
||||
'is_sale' => $this->is_sale, |
|
||||
'sort_order' => $this->sort_order, |
|
||||
'bouns_points' => $this->bouns_points, |
|
||||
'experience_points' => $this->experience_points, |
|
||||
'is_delete' => $this->is_delete, |
|
||||
'express_template' => $this->express_template, |
|
||||
'created_at' => $this->created_at, |
|
||||
'updated_at' => $this->updated_at, |
|
||||
]); |
|
||||
|
|
||||
$query->andFilterWhere(['like', 'name', $this->name]) |
|
||||
->andFilterWhere(['like', 'sn', $this->sn]) |
|
||||
->andFilterWhere(['like', 'code', $this->code]) |
|
||||
->andFilterWhere(['like', 'unit', $this->unit]) |
|
||||
->andFilterWhere(['like', 'brief', $this->brief]) |
|
||||
->andFilterWhere(['like', 'description', $this->description]); |
|
||||
if ($this->created_at_range) { |
|
||||
$arr = explode(' ~ ', $this->created_at_range); |
|
||||
$start = strtotime($arr[0]); |
|
||||
$end = strtotime($arr[1]) + 3600 * 24; |
|
||||
$query->andFilterWhere(['between', 'created_at', $start, $end]); |
|
||||
} |
|
||||
return $dataProvider; |
|
||||
} |
|
||||
} |
|
@ -1,82 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
use yii\helpers\Html; |
|
||||
use yii\widgets\ActiveForm; |
|
||||
|
|
||||
/* @var $this yii\web\View */ |
|
||||
/* @var $model common\models\ars\Goods */ |
|
||||
/* @var $form yii\widgets\ActiveForm */ |
|
||||
?>
|
|
||||
|
|
||||
<div class="goods-form"> |
|
||||
|
|
||||
<?php $form = ActiveForm::begin(); ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'pid')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'cat_id')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'brand_id')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'shop_cat_id')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'sn')->textInput(['maxlength' => true]) ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'code')->textInput(['maxlength' => true]) ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'supplier_id')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'weight')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'length')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'width')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'height')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'diameter')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'unit')->textInput(['maxlength' => true]) ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'sold_count')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'limit_count')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'stock')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'stock_warn')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'market_price')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'price')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'brief')->textInput(['maxlength' => true]) ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'description')->textarea(['rows' => 6]) ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'image')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'model_id')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'is_sale')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'sort_order')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'bouns_points')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'experience_points')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'is_delete')->textInput() ?>
|
|
||||
|
|
||||
<?= $form->field($model, 'express_template')->textInput() ?>
|
|
||||
|
|
||||
<div class="form-group"> |
|
||||
<?= Html::submitButton('保存', ['class' => 'btn btn-success']) ?>
|
|
||||
<?= Html::a('返回', ['index'], ['class' => 'btn btn-info']) ?>
|
|
||||
</div> |
|
||||
|
|
||||
<?php ActiveForm::end(); ?>
|
|
||||
|
|
||||
</div> |
|
@ -1,49 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
use yii\helpers\Html; |
|
||||
use yii\widgets\ActiveForm; |
|
||||
use \blobt\widgets\DateRangePicker; |
|
||||
|
|
||||
/* @var $this yii\web\View */ |
|
||||
/* @var $model common\models\searchs\GoodsSearch */ |
|
||||
/* @var $form yii\widgets\ActiveForm */ |
|
||||
?>
|
|
||||
|
|
||||
<?php $form = ActiveForm::begin([ |
|
||||
'action' => ['index'], |
|
||||
'method' => 'get', |
|
||||
'validateOnType' => true, |
|
||||
]); |
|
||||
?>
|
|
||||
<div class="row"> |
|
||||
<div class="col"> |
|
||||
<?= $form->field($model, 'id', [ |
|
||||
"template" => "{input}{error}", |
|
||||
"inputOptions" => [ |
|
||||
"placeholder" => "检索ID", |
|
||||
"class" => "form-control", |
|
||||
], |
|
||||
"errorOptions" => [ |
|
||||
"class" => "error-tips" |
|
||||
] |
|
||||
]) |
|
||||
?>
|
|
||||
</div> |
|
||||
<div class="col"> |
|
||||
<?= $form->field($model, "created_at_range", [ |
|
||||
"template" => "{input}{error}", |
|
||||
"inputOptions" => [ |
|
||||
"placeholder" => "创建时间", |
|
||||
], |
|
||||
"errorOptions" => [ |
|
||||
"class" => "error-tips" |
|
||||
] |
|
||||
])->widget(DateRangePicker::className()); |
|
||||
?>
|
|
||||
</div> |
|
||||
<div class="form-group"> |
|
||||
<?= Html::submitButton('<i class="fa fa-filter"></i>', ['class' => 'btn btn-default']) ?>
|
|
||||
<?= Html::resetButton('<i class="fa fa-eraser"></i>', ['class' => 'btn btn-default']) ?>
|
|
||||
</div> |
|
||||
</div> |
|
||||
<?php ActiveForm::end(); ?>
|
|
@ -1,18 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
use yii\helpers\Html; |
|
||||
|
|
||||
/* @var $this yii\web\View */ |
|
||||
/* @var $model common\models\ars\Goods */ |
|
||||
|
|
||||
$this->title = '创建 Goods'; |
|
||||
$this->params['breadcrumbs'][] = ['label' => 'Goods', 'url' => ['index']]; |
|
||||
$this->params['breadcrumbs'][] = $this->title; |
|
||||
?>
|
|
||||
<div class="goods-create"> |
|
||||
|
|
||||
<?= $this->render('_form', [ |
|
||||
'model' => $model, |
|
||||
]) ?>
|
|
||||
|
|
||||
</div> |
|
@ -1,28 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
use yii\helpers\Html; |
|
||||
use iron\grid\GridView; |
|
||||
|
|
||||
/* @var $this yii\web\View */ |
|
||||
/* @var $searchModel common\models\searchs\GoodsSearch */ |
|
||||
/* @var $dataProvider yii\data\ActiveDataProvider */ |
|
||||
|
|
||||
$this->title = 'Goods'; |
|
||||
$this->params['breadcrumbs'][] = $this->title; |
|
||||
?>
|
|
||||
<div class="row"> |
|
||||
<div class="col-12"> |
|
||||
<?= GridView::widget([ |
|
||||
'dataProvider' => $dataProvider, |
|
||||
'filter' => $this->render("_search", ['model' => $searchModel]), |
|
||||
'batch' => [ |
|
||||
[ |
|
||||
"label" => "删除", |
|
||||
"url" => "goods/deletes" |
|
||||
], |
|
||||
], |
|
||||
'columns' => $columns |
|
||||
]); |
|
||||
?>
|
|
||||
</div> |
|
||||
</div> |
|
@ -1,19 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
use yii\helpers\Html; |
|
||||
|
|
||||
/* @var $this yii\web\View */ |
|
||||
/* @var $model common\models\ars\Goods */ |
|
||||
|
|
||||
$this->title = '编辑 Goods: ' . $model->name; |
|
||||
$this->params['breadcrumbs'][] = ['label' => 'Goods', 'url' => ['index']]; |
|
||||
$this->params['breadcrumbs'][] = ['label' => $model->name, 'url' => ['view', 'id' => $model->id]]; |
|
||||
$this->params['breadcrumbs'][] = 'Update '; |
|
||||
?>
|
|
||||
<div class="goods-update"> |
|
||||
|
|
||||
<?= $this->render('_form', [ |
|
||||
'model' => $model, |
|
||||
]) ?>
|
|
||||
|
|
||||
</div> |
|
@ -1,59 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
use yii\helpers\Html; |
|
||||
use yii\widgets\DetailView; |
|
||||
|
|
||||
/* @var $this yii\web\View */ |
|
||||
/* @var $model common\models\ars\Goods */ |
|
||||
|
|
||||
$this->title = $model->name; |
|
||||
$this->params['breadcrumbs'][] = ['label' => 'Goods', 'url' => ['index']]; |
|
||||
$this->params['breadcrumbs'][] = $this->title; |
|
||||
\yii\web\YiiAsset::register($this); |
|
||||
?>
|
|
||||
<div class="goods-view"> |
|
||||
|
|
||||
<p> |
|
||||
<?= Html::a('返回列表', ['index'], ['class' => 'btn btn-success']) ?>
|
|
||||
</p> |
|
||||
|
|
||||
<?= DetailView::widget([ |
|
||||
'model' => $model, |
|
||||
'attributes' => [ |
|
||||
'id', |
|
||||
'pid', |
|
||||
'cat_id', |
|
||||
'brand_id', |
|
||||
'shop_cat_id', |
|
||||
'name', |
|
||||
'sn', |
|
||||
'code', |
|
||||
'supplier_id', |
|
||||
'weight', |
|
||||
'length', |
|
||||
'width', |
|
||||
'height', |
|
||||
'diameter', |
|
||||
'unit', |
|
||||
'sold_count', |
|
||||
'limit_count', |
|
||||
'stock', |
|
||||
'stock_warn', |
|
||||
'market_price', |
|
||||
'price', |
|
||||
'brief', |
|
||||
'description:ntext', |
|
||||
'image', |
|
||||
'model_id', |
|
||||
'is_sale', |
|
||||
'sort_order', |
|
||||
'bouns_points', |
|
||||
'experience_points', |
|
||||
'is_delete', |
|
||||
'express_template', |
|
||||
'created_at', |
|
||||
'updated_at', |
|
||||
], |
|
||||
]) ?>
|
|
||||
|
|
||||
</div> |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue