Browse Source

开发运费区域视图方法

antshop
linyaostalker 5 years ago
parent
commit
773719d5b2
  1. 24
      backend/modules/shop/controllers/ExpressTemplateController.php
  2. 51
      backend/modules/shop/views/express-template/express_area_view.php

24
backend/modules/shop/controllers/ExpressTemplateController.php

@ -332,6 +332,15 @@ class ExpressTemplateController extends Controller
$cityIds = array_keys(Yii::$app->request->post('area'));
$data['city'] = implode(',', $cityIds);
$model->load($data, '');
$model->basic_price *= 100;
$model->extra_price *= 100;
if ($expressTemplateModel->calculation_type == ExpressTemplate::CALCULATION_TYPE_WEIGHT) {
$model->basic_count *= 10;
$model->extra_count *= 10;
} else {
$model->basic_count *= 1;
$model->extra_count *= 1;
}
$model->save();
return $this->redirect('express-area-list?id='.$model->express_template);
}
@ -364,4 +373,19 @@ class ExpressTemplateController extends Controller
'model' => $model, 'data' => $data, 'cities' => explode(',', $model->city), 'expressTemplateModel' => $expressTemplateModel
]);
}
/**
* @param $id
* @return string
* 运费区域模板区域查看方法
*/
public function actionExpressAreaView($id)
{
$expressTemplateId = Yii::$app->request->get('expressTemplateId');
$expressTemplateModel = ExpressTemplate::findOne($expressTemplateId);
return $this->render('express_area_view', [
'model' => ExpressArea::findOne($id),
'expressTemplateModel' => $expressTemplateModel
]);
}
}

51
backend/modules/shop/views/express-template/express_area_view.php

@ -0,0 +1,51 @@
<?php
use yii\helpers\Html;
use yii\widgets\DetailView;
use backend\modules\shop\models\ars\ExpressTemplate;
/* @var $this yii\web\View */
/* @var $model backend\modules\shop\models\ars\ExpressTemplate */
$this->title = $model->name;
$this->params['breadcrumbs'][] = ['label' => 'Express Templates', 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
\yii\web\YiiAsset::register($this);
?>
<div class="express-template-view">
<p>
<?= Html::a('返回列表', ['index'], ['class' => 'btn btn-success']) ?>
</p>
<?= DetailView::widget([
'model' => $model,
'attributes' => [
'id',
'name',
[
'attribute' => 'calculation_type',
'value' => function ($model) {
return ExpressTemplate::$calculationType[$model->calculation_type];
}
],
'basic_price',
'basic_count',
'extra_price',
'extra_count',
'updated_at:datetime',
'created_at:datetime',
['attribute' => 'city',
'value' => function ($model) {
$array = explode(',', $model->city);
$cities = [];
foreach (\backend\modules\shop\models\ars\City::find()->andWhere(['in', 'city_id', $array])->all() as $city) {
$cities[] = $city->name;
}
return implode(' // ', $cities);
},
],
],
]) ?>
</div>
Loading…
Cancel
Save