/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = MGoods::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['goods_id' => $this->goods_id, 'price' => $this->price, 'price_old' => $this->price_old, 'quantity' => $this->quantity, 'office_ctrl' => $this->office_ctrl, 'package_ctrl' => $this->package_ctrl, 'detail_ctrl' => $this->detail_ctrl, 'pics_ctrl' => $this->pics_ctrl, 'goods_kind' => $this->goods_kind]); $query->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'descript', $this->descript])->andFilterWhere(['like', 'price_hint', $this->price_hint])->andFilterWhere(['like', 'price_old_hint', $this->price_old_hint])->andFilterWhere(['like', 'detail', $this->detail])->andFilterWhere(['like', 'list_img_url', $this->list_img_url])->andFilterWhere(['like', 'body_img_url', $this->body_img_url]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params, $pub_userid, $goods_kind) { //$query = MGoods::find(); if ($pub_userid == -1) { if ($goods_kind == 0) { //全部 $query = MGoods::find()->where(['status' => 1]); } else { $query = MGoods::find()->where(['status' => 1, 'goods_kind' => $goods_kind]); } } else { $user = User::findOne(['id' => $pub_userid]); if ($user->role == 1) { if ($goods_kind == 0) { //全部 $query = MGoods::find(); } else { $query = MGoods::find()->where(['pub_userid' => $pub_userid, 'goods_kind' => $goods_kind]); } } else { if ($goods_kind == 0) { //全部 $query = MGoods::find()->where(['pub_userid' => $pub_userid]); } else { $query = MGoods::find()->where(["pub_userid" => $pub_userid, 'goods_kind' => $goods_kind]); } } } $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); 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; } $query->andFilterWhere(['goods_id' => $this->goods_id, 'goods_kind' => $this->goods_kind, 'price' => $this->price, 'price_old' => $this->price_old, 'quantity' => $this->quantity, 'status' => $this->status, 'create_time' => $this->create_time, 'update_time' => $this->update_time]); $query->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'descript', $this->descript])->andFilterWhere(['like', 'price_hint', $this->price_hint])->andFilterWhere(['like', 'detail', $this->detail])->andFilterWhere(['like', 'list_img_url', $this->list_img_url])->andFilterWhere(['like', 'body_img_url', $this->body_img_url]); return $dataProvider; }
<p> <?php echo Html::a('新增商品', ['create'], ['class' => 'btn btn-success']); ?> </p> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'showOnEmpty' => false, 'tableOptions' => ['class' => 'table table-striped'], 'columns' => [['attribute' => 'goods_id', 'label' => '商品编号', 'headerOptions' => array('style' => 'width:50px;')], 'title', ['attribute' => 'goods_kind', 'label' => '分类', 'value' => function ($model, $key, $index, $column) { return MGoods::getGoodsKindOption($model->goods_kind); }, 'filter' => MGoods::getGoodsKindOption(), 'headerOptions' => array('style' => 'width:120px;')], ['attribute' => 'list_img_url', 'label' => '小图', 'format' => 'html', 'value' => function ($model, $key, $index, $column) { if (!empty($model->list_img_url)) { $list_img_url = '<img src=' . $model->list_img_url . ' width=64px height=64px>'; } else { $list_img_url = ''; } return $list_img_url; }, 'headerOptions' => array('style' => 'width:80px;')], ['attribute' => 'pub_userid', 'label' => '发布者', 'value' => function ($model, $key, $index, $column) { //return MGoods::getDetailCtrlOption($model->detail_ctrl); $user = MUser::findOne(['id' => $model->pub_userid]); return empty($user) ? "" : $user->username; }, 'headerOptions' => array('style' => 'width:90px;')], ['attribute' => 'status', 'format' => 'html', 'label' => '发布状态', 'value' => function ($model, $key, $index, $column) { if ($model->status == 0) { return "<span style='color:red'>" . MGoods::getStatusOption($model->status) . "</span>"; } else { return "<span style='color:green'>" . MGoods::getStatusOption($model->status) . "</span>"; } }, 'filter' => MGoods::getStatusOption(), 'headerOptions' => array('style' => 'width:120px;')], ['class' => 'yii\\grid\\ActionColumn', 'headerOptions' => array('style' => 'width:90px;')]]]); ?> </div>
public function actionGoodssave() { $this->layout = false; $gh_id = U::getSessionParam('gh_id'); $openid = U::getSessionParam('openid'); Yii::$app->wx->setGhId($gh_id); $order = new MOrder(); $order->oid = MOrder::generateOid(); $order->gh_id = $gh_id; $order->openid = $openid; $order->cid = $_GET["cid"]; $good = MGoods::findOne(['goods_id' => $order->cid]); $order->title = $good->title; //利用该字段做一个标记,在myorder 页面中兼容老的商品表item。 $order->attr = 'goods'; $order->val_pkg_3g4g = isset($_GET['pkg3g4g']) ? $_GET['pkg3g4g'] : ''; $order->val_pkg_period = isset($_GET['pkgPeriod']) ? $_GET['pkgPeriod'] : 0; $order->val_pkg_monthprice = isset($_GET['pkgMonthprice']) ? $_GET['pkgMonthprice'] : 0; $order->val_pkg_plan = isset($_GET['pkgPlan']) ? $_GET['pkgPlan'] : ''; //$order->feesum = $_GET['feeSum'] * 100; $order->feesum = $_GET['feeSum'] * 100; $order->office_id = isset($_GET['office']) && $_GET['office'] != MOrder::NO_CHOICE ? $_GET['office'] : 0; $order->userid = isset($_GET['userid']) && $_GET['userid'] != MOrder::NO_CHOICE ? $_GET['userid'] : ''; $order->username = isset($_GET['username']) && $_GET['username'] != MOrder::NO_CHOICE ? $_GET['username'] : ''; $order->usermobile = isset($_GET['usermobile']) && $_GET['usermobile'] != MOrder::NO_CHOICE ? $_GET['usermobile'] : ''; //$order->pay_kind = isset($_GET['pay_kind']) ? $_GET['pay_kind'] : MOrder::PAY_KIND_CASH; $order->address = isset($_GET['address']) && $_GET['address'] != MOrder::NO_CHOICE ? $_GET['address'] : ''; $order->kaitong = isset($_GET['kaitong']) && $_GET['kaitong'] != MOrder::NO_CHOICE ? $_GET['kaitong'] : ''; $order->memo = isset($_GET['memo']) && $_GET['memo'] != MOrder::NO_CHOICE ? $_GET['memo'] : ''; $order->detail = $order->getDetailStr(); /* if ($_GET['selectNum'] != MOrder::NO_CHOICE) { $order->select_mobnum = $_GET['selectNum']; $mobnum = MMobnum::findOne($_GET['selectNum']); if ($mobnum === null || $mobnum->status != MMobnum::STATUS_UNUSED) { return json_encode(['status' => 1, 'errmsg' => $mobnum === null ? "mobile doest not exist" : "mobile locked!"]); } } else { $order->select_mobnum = ''; } */ $order->select_mobnum = ''; /* $wid = Yii::$app->request->get('wid', ''); if (!empty($wid)) { list($scene_id, $scene_src_id) = explode('_', $wid); $order->scene_id = $scene_id; $order->scene_src_id = $scene_src_id; if (empty($order->item)) { U::W("@@@@@@@@@@@@@@@@@@@NULL@@@@@@@@@@@@@@@@@@@@@@@@@@@"); } $order->scene_amt = $order->feesum * $order->item->scene_percent / 100; } */ if ($order->save(false)) { //send wx message and sm $manager = MStaff::findOne(['office_id' => $order->office_id, 'is_manager' => 1]); if ($manager !== null && !empty($manager->openid)) { //U::W('sendWxm'); $manager->sendWxm($order->getWxNoticeToManager()); //U::W('sendSm'); //$manager->sendSm($order->getSmNoticeToManager()); try { $arr = $order->sendTemplateNoticeToManager($manager); } catch (\Exception $e) { U::W($e->getMessage()); } } else { U::W(['Have no manager or the manager has not binded openid', $order]); } /* // send wx message to user //$arr = Yii::$app->wx->WxMessageCustomSend(['touser'=>$openid, 'msgtype'=>'text', 'text'=>['content'=>$order->getWxNotice()]]); $arr = $order->sendTemplateNoticeToCustom(); */ } else { U::W([__METHOD__, $order->getErrors()]); } $jsApiParameters = $order->GetOrderJsApiParameters(); return json_encode(['oid' => $order->oid, 'status' => 0, 'pay_url' => $jsApiParameters]); }
/** * Finds the MGoods model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return MGoods the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = MGoods::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
--> <?php echo $form->field($model, 'office_ctrl')->dropDownList(MGoods::getOfficeCtrlOption()); ?> <?php echo $form->field($model, 'package_ctrl')->dropDownList(MGoods::getPackageCtrlOption()); ?> <?php echo $form->field($model, 'detail_ctrl')->dropDownList(MGoods::getDetailCtrlOption()); ?> <?php echo $form->field($model, 'pics_ctrl')->dropDownList(MGoods::getPicsCtrlOption()); ?> <div class="form-group"> <?php echo Html::submitButton($model->isNewRecord ? '新增' : '修改', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']); ?> </div> <?php ActiveForm::end(); ?> </div>
public function actionClientGoodsView($id) { $g = MGoods::findOne(['goods_id' => $id]); return $this->render('clientGoodsView', ['model' => $g]); }
]; //} $menuItems[] = [ 'label' => '退出 (' . Yii::$app->user->identity->username . ')', 'url' => ['/site/logout'], 'linkOptions' => ['data-method' => 'post'] ]; } */ foreach ($goodscat as $gc) { if ($gc->value == 0) { /*全部*/ $goodsCnt = MGoods::find()->where(['status' => 1])->count(); } else { $goodsCnt = MGoods::find()->where(['status' => 1, 'goods_kind' => $gc->value])->count(); } if ($goodsCnt == 0) { $menuItems[] = ['label' => '<span> </span> ' . $gc->cat, 'url' => ['/site/client-goods-list', 'pub_userid' => Yii::$app->user->isGuest ? -1 : Yii::$app->user->identity->id, 'goods_kind' => $gc->value], 'linkOptions' => ['data-method' => 'post']]; } else { $menuItems[] = ['label' => '<span class="badge">' . $goodsCnt . '</span> ' . $gc->cat, 'url' => ['/site/client-goods-list', 'pub_userid' => Yii::$app->user->isGuest ? -1 : Yii::$app->user->identity->id, 'goods_kind' => $gc->value], 'linkOptions' => ['data-method' => 'post']]; } } echo Nav::widget(['options' => ['class' => 'navbar-nav navbar-right'], 'encodeLabels' => false, 'items' => [['label' => '<form class="navbar-form navbar-left" role="search"><div class="input-group"><input type="text" class="form-control" placeholder="Search"><span class="input-group-btn"><button class="btn btn-default" type="button"><span class="fa fa-search"></span></button></span></div></form>'], ['label' => '首页', 'url' => ['/site/index']], ['label' => '关于我们', 'items' => [['label' => '<i class="fa fa-globe"></i> 公司简介', 'url' => ['/site/about'], 'linkOptions' => ['data-method' => 'post']], ['label' => '<i class="fa fa-star"></i> 招才纳士', 'url' => ['#'], 'linkOptions' => ['data-method' => 'post']]]], $isAdmin ? "" : ['label' => '商品列表', 'items' => $menuItems], $isAdmin ? "" : ['label' => '新闻动态', 'items' => [['label' => '<i class="fa fa-chevron-right"></i> 行业新闻', 'url' => ['/site/client-news-list', 'cat' => 1], 'linkOptions' => ['data-method' => 'post']], ['label' => '<i class="fa fa-chevron-right"></i> 公司动态', 'url' => ['/site/client-news-list', 'cat' => 2], 'linkOptions' => ['data-method' => 'post']]]], ['label' => '会员', 'visible' => $isMember, 'items' => [['label' => '<i class="fa fa-tags"></i> 商品管理', 'url' => ['/goods/index', 'pub_userid' => Yii::$app->user->identity->id, 'goods_kind' => 0], 'linkOptions' => ['data-method' => 'post']], ['label' => '<i class="fa fa-list"></i> 我的订单', 'url' => ['/order/index', 'userid' => Yii::$app->user->identity->id], 'linkOptions' => ['data-method' => 'post']], '<li class="divider"></li>', ['label' => '<i class="fa fa-user"></i> 会员信息', 'url' => ['/site/client-user-view', 'id' => Yii::$app->user->identity->id], 'linkOptions' => ['data-method' => 'post']]]], ['label' => '管理', 'visible' => $isAdmin, 'items' => [['label' => '<i class="fa fa-user"></i> 用户管理', 'url' => ['/user/index'], 'linkOptions' => ['data-method' => 'post']], ['label' => '<i class="fa fa-tags"></i> 商品管理', 'url' => ['/goods/index', 'pub_userid' => Yii::$app->user->identity->id, 'goods_kind' => 0], 'linkOptions' => ['data-method' => 'post']], ['label' => '<i class="fa fa-list"></i> 订单管理', 'url' => ['/order/index', 'userid' => Yii::$app->user->identity->id], 'linkOptions' => ['data-method' => 'post']], '<li class="divider"></li>', ['label' => '<i class="fa fa-newspaper-o"></i> 新闻管理', 'url' => ['/news/index', 'cat' => 0], 'linkOptions' => ['data-method' => 'post']], ['label' => '<i class="fa fa-cog"></i> 网站配置', 'url' => ['/about/index'], 'linkOptions' => ['data-method' => 'post']]]], Yii::$app->user->isGuest ? ['label' => '登录', 'url' => ['/site/login']] : ['label' => '<span class="glyphicon glyphicon-user"></span> ' . Html::encode(Yii::$app->user->identity->username), 'items' => [['label' => '<i class="fa fa-sign-out"></i> 退出', 'url' => ['/site/logout'], 'linkOptions' => ['data-method' => 'post']]]]]]); NavBar::end(); ?> <div class="container"> <?php echo Breadcrumbs::widget(['links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : []]);
use yii\widgets\ActiveForm; use app\models\MGoods; use vova07\imperavi\Widget; /* @var $this yii\web\View */ /* @var $model app\models\MGoods */ /* @var $form yii\widgets\ActiveForm */ ?> <div class="mgoods-form"> <?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?> <?php echo $form->field($model, 'goods_kind')->dropDownList(MGoods::getGoodsKindOption()); ?> <?php if (Yii::$app->user->identity->role == 1) { ?> <p><?php echo Html::a('新建商品分类', ['goodscat/index']); ?> </p> <?php } ?> <?php echo $form->field($model, 'title')->textInput(['maxlength' => 64]);
<p> <?php echo Html::a('新增商品', ['create'], ['class' => 'btn btn-success']); ?> </p> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [['attribute' => 'goods_id', 'label' => '商品编号', 'headerOptions' => array('style' => 'width:50px;')], 'title', ['attribute' => 'goods_kind', 'label' => '分类', 'value' => function ($model, $key, $index, $column) { return MGoods::getGoodsKindOption($model->goods_kind); }, 'filter' => MGoods::getGoodsKindOption(), 'headerOptions' => array('style' => 'width:120px;')], ['attribute' => 'price', 'headerOptions' => array('style' => 'width:80px;')], ['attribute' => 'price_old', 'headerOptions' => array('style' => 'width:80px;')], ['attribute' => 'list_img_url', 'label' => '小图', 'format' => 'html', 'value' => function ($model, $key, $index, $column) { return '<img src=' . $model->list_img_url . ' width=64px height=64px>'; }, 'headerOptions' => array('style' => 'width:80px;')], ['attribute' => 'body_img_url', 'label' => '大图', 'format' => 'html', 'value' => function ($model, $key, $index, $column) { $len = 0; $imgHtml = ""; $imgs = explode(";", $model->body_img_url); foreach ($imgs as $img) { $len++; if (sizeof($imgs) == $len) { break; } //分号分割后,数组最后一项为空,剔除 $imgHtml = $imgHtml . '<img src=' . $img . ' width=45px height=45px>'; } return $imgHtml; }, 'headerOptions' => array('style' => 'width:160px;')], ['attribute' => 'detail_ctrl', 'label' => '显示详情', 'value' => function ($model, $key, $index, $column) { return MGoods::getDetailCtrlOption($model->detail_ctrl); }, 'filter' => MGoods::getDetailCtrlOption(), 'headerOptions' => array('style' => 'width:90px;')], ['class' => 'yii\\grid\\ActionColumn']]]); ?> </div>
public static function zujieAjax($goods_id, $user_id) { $goods = MGoods::findOne(['goods_id' => $goods_id]); $user = User::findOne(['id' => $user_id]); U::W($goods); $order = new MOrder(); if (empty($goods) || empty($user)) { U::W("----------goods or user is null--------"); return \yii\helpers\Json::encode(['code' => 1]); } $order->oid = uniqid(); $order->feesum = 0; $order->status = 1; $order->goods_id = $goods->goods_id; $order->title = $goods->title; $order->userid = $user->id; $order->username = $user->username; $order->usermobile = $user->mobile; $order->address = "--"; $order->memo = "--"; $order->memo_reply = "--"; $order->save(false); return \yii\helpers\Json::encode(['code' => 0]); }