diff --git a/common/models/Address.php b/common/models/Address.php index b593ad0a..cc8dc4d3 100644 --- a/common/models/Address.php +++ b/common/models/Address.php @@ -94,6 +94,6 @@ public static function findByUser($user_id) { return static::find()->where('user_id=:user_id and status=:status', ['user_id'=>$user_id, 'status'=>static::STATUS_ACTIVE]) - ->with(['area'])->all(); + ->with(['area'])->orderBy('is_default desc')->all(); } } diff --git a/wap/controllers/AddressController.php b/wap/controllers/AddressController.php index e697c571..959a9605 100644 --- a/wap/controllers/AddressController.php +++ b/wap/controllers/AddressController.php @@ -55,12 +55,16 @@ public function actionCreatePost() $area_id = Yii::$app->request->post('area_id'); $detail_address = Yii::$app->request->post('detail_address'); $telephone = Yii::$app->request->post('telephone'); - $is_default = Yii::$app->request->post('is_default'); + $is_default = Yii::$app->request->post('is_default') ? 1 : 0; if(!$fullname || !$area_id || !$detail_address || !$telephone){ return $this->jsonFail([], "请把信息填写完整"); } + if(!is_numeric($telephone) || strlen($telephone) < 11 || substr($telephone,0,1) != '1'){ + return $this->jsonFail([], "请输入正确手机号"); + } + $area = Area::findOne($area_id); if (!$area) { return $this->jsonFail([], "区域地址(ID:$area_id) 不存在"); @@ -71,47 +75,43 @@ public function actionCreatePost() // return $this->jsonFail([], '请填写门牌地址,用于收货'); //} - //清除默认地址, 因为把每次添加的地址作为默认地址 - Address::updateAll(['is_default'=>Address::NO], 'user_id=:user_id', [':user_id'=>$user_id]); + //取消默认地址 + if($is_default) { + Address::updateAll(['is_default' => Address::NO], 'user_id=:user_id', [':user_id' => $user_id]); + } //添加收货地址 $address = new Address(); - $addressData = $_REQUEST; - $addressData['is_default'] = Address::YES; - $addressData['user_id'] = $user_id; + $addressData = [ + 'user_id' => $user_id, + 'is_default' => $is_default, + 'telephone' => $telephone, + 'detail_address' => $detail_address, + 'area_id' => $area_id, + 'fullname' => $fullname + ]; if(!($address->load($addressData, '') && $address->save())) { return $this->jsonFail([], $address->errorsToString()); } //我的收货列表 - $addresses = Address::findByUser($user_id); - $addressesArr = []; - foreach($addresses as $item){ - $addressesArr[] = $item->toArray([], ['area']); - } - - //带有区域对象的新地址 - $addrArr = []; - $addrArr[] = $address->toArray(); - $addrArr['area'] = $address->area->toArray(); - $addrArr['area']['path_names_4print'] = $address->area->getPathNames4Print(); +// $addresses = Address::findByUser($user_id); +// $addressesArr = []; +// foreach($addresses as $item){ +// $addressesArr[] = $item->toArray([], ['area']); +// } +// +// //带有区域对象的新地址 +// $addrArr = []; +// $addrArr[] = $address->toArray(); +// $addrArr['area'] = $address->area->toArray(); +// $addrArr['area']['path_names_4print'] = $address->area->getPathNames4Print(); +// +// $data = [ +// 'addresses' => $addressesArr, +// 'address' => $addrArr, +// ]; + return $this->jsonSuccess([], '添加成功'); - $data = [ - 'addresses' => $addressesArr, - 'address' => $addrArr, - ]; - return $this->jsonSuccess($data); - - } - - /** - * 获得所有地址对象, json编码 - * @link http://local.m.eleteam.com/address/get-all-areas - */ - public function actionGetAllAreas() - { - $areas = AreaHelper::getTree(); - //$areas = Area::findToTree(); - return $this->jsonSuccess(['areas'=>$areas]); } } \ No newline at end of file diff --git a/wap/controllers/AreaController.php b/wap/controllers/AreaController.php new file mode 100644 index 00000000..89b34af9 --- /dev/null +++ b/wap/controllers/AreaController.php @@ -0,0 +1,36 @@ +jsonSuccess(['areas'=>$areas]); + } +} \ No newline at end of file diff --git a/wap/views/address/create.php b/wap/views/address/create.php index 7fe211d9..f361f8da 100644 --- a/wap/views/address/create.php +++ b/wap/views/address/create.php @@ -30,7 +30,7 @@
- +
@@ -49,9 +49,7 @@
- - - +
@@ -78,7 +76,7 @@
  • diff --git a/wap/views/address/index.php b/wap/views/address/index.php index 40e8dfc9..4f9e2702 100644 --- a/wap/views/address/index.php +++ b/wap/views/address/index.php @@ -37,7 +37,7 @@
    • -
      +
      fullname?> diff --git a/wap/web/js/site.js b/wap/web/js/site.js index 9668f02f..6a27b3bc 100644 --- a/wap/web/js/site.js +++ b/wap/web/js/site.js @@ -444,6 +444,8 @@ myApp.onPageInit('address-create', function(page){ rotateEffect: true, toolbarCloseText: '完成', formatValue: function (picker, values, displayValues) { + var area_id = values[values.length-1]; + $$('#area_id').val(area_id); return displayValues; //逗号风格的string, 如广东,深圳,福田 }, cols: [