Browse Source

增加代采企业对付款公司的维护

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@8208 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
hejq 9 years ago
parent
commit
e45025b81c

+ 37 - 1
src/main/java/com/uas/platform/b2b/controller/DeputyOrderController.java

@@ -13,6 +13,7 @@ import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -260,9 +261,44 @@ public class DeputyOrderController {
 	 * @param enuu
 	 * @return
 	 */
-	@RequestMapping(value = "/paycompanys/{enuu}", method = RequestMethod.GET)
+	@RequestMapping(value = "/paycompanies/{enuu}", method = RequestMethod.GET)
 	@ResponseBody
 	public List<DeputyPaymentCompany> getList(@PathVariable Long enuu) {
 		return deputyOrderService.getList(enuu);
 	}
+	
+	/**
+	 * 保存付款企业信息
+	 * 
+	 * @param pay
+	 * @return
+	 */
+	@RequestMapping(value = "/savePayCompanies", method = RequestMethod.POST)
+	@ResponseBody
+	public DeputyPaymentCompany savePayCompanies(@RequestBody String pay) {
+		DeputyPaymentCompany payCompany = JSON.parseObject(pay, DeputyPaymentCompany.class);
+		return deputyOrderService.savePayCompanies(payCompany);
+	}
+
+	/**
+	 * 删除一个付款企业信息
+	 * 
+	 * @param id
+	 */
+	@RequestMapping(value = "/removePayCompany/{id}", method = RequestMethod.DELETE)
+	@ResponseBody
+	public void removePayCompany(@PathVariable Long id) {
+		deputyOrderService.removePayCompany(id);
+	}
+
+	/**
+	 * 判断当前企业是否是代采企业
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/isDeputyEnterprise", method = RequestMethod.GET)
+	@ResponseBody
+	public ModelMap isDeputyEnterprise() {
+		return deputyOrderService.isDeputyEnterprise();
+	}
 }

+ 7 - 0
src/main/java/com/uas/platform/b2b/mobile/dao/DeputyEnterpriseDao.java

@@ -8,4 +8,11 @@ import com.uas.platform.b2b.model.DeputyEnterprise;
 public interface DeputyEnterpriseDao
 		extends JpaRepository<DeputyEnterprise, Long>, JpaSpecificationExecutor<DeputyEnterprise> {
 
+	/**
+	 * 查询代采企业信息
+	 * 
+	 * @param deputyenuu
+	 * @return
+	 */
+	public DeputyEnterprise findByDeputyenuu(Long deputyenuu);
 }

+ 26 - 0
src/main/java/com/uas/platform/b2b/model/DeputyPaymentCompany.java

@@ -51,6 +51,16 @@ public class DeputyPaymentCompany implements Serializable {
 	@JoinColumn(name = "dpc_enuu", insertable = false, updatable = false)
 	private Enterprise deputyEnterprise;
 
+	/**
+	 * 设置人uu
+	 */
+	@Column(name = "dpc_depuseruu")
+	private Long depuseruu;
+
+	@OneToOne(cascade = { CascadeType.REFRESH, CascadeType.MERGE })
+	@JoinColumn(name = "dpc_depuseruu", insertable = false, updatable = false)
+	private UserBaseInfo depuser;
+
 	/**
 	 * 付款企业名称(因付款企业可能不属于平台,未设置uu)
 	 */
@@ -145,4 +155,20 @@ public class DeputyPaymentCompany implements Serializable {
 		this.date = date;
 	}
 
+	public Long getDepuseruu() {
+		return depuseruu;
+	}
+
+	public void setDepuseruu(Long depuseruu) {
+		this.depuseruu = depuseruu;
+	}
+
+	public UserBaseInfo getDepuser() {
+		return depuser;
+	}
+
+	public void setDepuser(UserBaseInfo depuser) {
+		this.depuser = depuser;
+	}
+
 }

+ 22 - 0
src/main/java/com/uas/platform/b2b/service/DeputyOrderService.java

@@ -79,4 +79,26 @@ public interface DeputyOrderService {
 	 * @return
 	 */
 	public List<DeputyPaymentCompany> getList(Long enuu);
+
+	/**
+	 * 保存付款企业信息
+	 * 
+	 * @param payCompany
+	 * @return
+	 */
+	public DeputyPaymentCompany savePayCompanies(DeputyPaymentCompany payCompany);
+
+	/**
+	 * 删除付款企业信息
+	 * 
+	 * @param id
+	 */
+	public void removePayCompany(Long id);
+
+	/**
+	 * 判断是否属于代采企业
+	 * 
+	 * @return
+	 */
+	public ModelMap isDeputyEnterprise();
 }

+ 37 - 0
src/main/java/com/uas/platform/b2b/service/impl/DeputyOrderServiceImpl.java

@@ -1,6 +1,7 @@
 package com.uas.platform.b2b.service.impl;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import org.apache.commons.collections.CollectionUtils;
@@ -267,4 +268,40 @@ public class DeputyOrderServiceImpl implements DeputyOrderService {
 		return deputyPaymentCompanyDao.findByEnuu(enuu);
 	}
 
+	@Override
+	public DeputyPaymentCompany savePayCompanies(DeputyPaymentCompany payCompany) {
+		payCompany.setDate(new Date());
+		payCompany.setDepuseruu(SystemSession.getUser().getUserUU());
+		payCompany.setEnuu(SystemSession.getUser().getEnterprise().getUu());
+		if (payCompany.getId() == null) {
+			logger.log("付款企业", "新增付款企业", SystemSession.getUser().getUserUU(), SystemSession.getUser().getIp());
+		} else {
+			logger.log("付款企业", "修改付款企业信息", SystemSession.getUser().getUserUU(), SystemSession.getUser().getIp());
+		}
+		return deputyPaymentCompanyDao.save(payCompany);
+	}
+
+	@Override
+	public void removePayCompany(Long id) {
+		try {
+			deputyPaymentCompanyDao.delete(id);
+			logger.log("付款企业", "删除款企业信息(" + id + ")", SystemSession.getUser().getUserUU(),
+					SystemSession.getUser().getIp());
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
+	@Override
+	public ModelMap isDeputyEnterprise() {
+		ModelMap map = new ModelMap();
+		DeputyEnterprise enter = deputyEnterpriseDao.findByDeputyenuu(SystemSession.getUser().getEnterprise().getUu());
+		if (null == enter) {
+			map.put("deputyEnterprise", false);
+		} else {
+			map.put("deputyEnterprise", true);
+		}
+		return map;
+	}
+
 }

+ 95 - 5
src/main/webapp/resources/js/index/app.js

@@ -6714,13 +6714,20 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 		}
 	}]);
 
-	
-	app.controller('EnterpriseCtrl', ['$scope', 'AccountEnterprise', 'toaster', '$state', '$modal', 'BaseService', 'ShipAddress', '$http', function($scope, AccountEnterprise, toaster, $state, $modal, BaseService, ShipAddress, $http){
+	// 企业信息设置
+	app.controller('EnterpriseCtrl', ['$scope', 'AccountEnterprise', 'toaster', '$state', '$modal', 'BaseService', 'ShipAddress', '$http', 'DeputyOrder', function($scope, AccountEnterprise, toaster, $state, $modal, BaseService, ShipAddress, $http, DeputyOrder){
 		BaseService.scrollBackToTop();
 		$scope.loading = true;
 		AccountEnterprise.get({}, function(data){
 			$scope.loading = false;
 			$scope.enterprise = data;
+			
+			// 获取付款企业信息
+			DeputyOrder.paycompanies({enuu: $scope.enterprise.uu}, {}, function(data) {
+				$scope.pays = data;
+			}, function(response) {
+				toaster.pop('error', '提示', response.data);
+			});
 		});
 		AccountEnterprise.growth({}, function(data){
 			if(data != null && data.length > 0) {
@@ -6778,6 +6785,11 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 			$scope.ships = data;
 		});
 		
+		// 判断是否是代采企业 
+		DeputyOrder.isDeputyEnterprise({}, function(data) {
+			$scope.deputyEnter = data;
+		});
+		
 		// 获取地址信息
 		$http.get('resources/citydata/city.json',  {"Accept": "application/json;charset=utf-8", "Accept-Charset": "charset=utf-8"
 		   }).then(function(response) {
@@ -6829,6 +6841,53 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 			});
 		};
 		
+		
+		// 新增付款企业
+		$scope.savePayCompany = function(pay) {
+			pay.address = pay.province + pay.city + pay.district;
+			DeputyOrder.savePaycompany( {}, pay, function(data) {
+				DeputyOrder.paycompanies({enuu: $scope.enterprise.uu}, {}, function(data) {
+					$scope.pays = data;
+				}, function(response) {
+					toaster.pop('error', '提示', response.data);
+				});
+				toaster.pop('success', '提示', '保存成功');
+			}, function(response) {
+				toaster.pop('error', '提示', response.data);
+			});
+		}
+		
+		// 删除付款企业
+		$scope.removePay = function(id, index) {
+			DeputyOrder.removePayCompany({id: id}, {}, function(data) {
+				$scope.pays.splice(index, 1);
+				toaster.pop('success', '提示', '付款企业信息删除成功');
+			}, function(response) {
+				toaster.pop('error', '提示', response.data);
+			});
+		};
+		
+		// 编辑付款企业
+		$scope.editPay = function(pay, uu) {
+			var modalInstance = $modal.open({
+				animation: true,
+				templateUrl: 'static/tpl/index/approvalFlow/paycompany_modal.html',
+				controller: 'PayCompanyCtrl',
+				resolve: {
+					pay: function(){return pay;}
+				}
+			});
+			
+			modalInstance.result.then(function() {
+				DeputyOrder.paycompanies({enuu: uu}, {}, function(data) {
+					$scope.pays = data;
+				}, function(response) {
+					toaster.pop('error', '提示', response.data);
+				});
+			}, function(){
+			});
+		};
+		
 		// 设置logo
 		$scope.showImageDialog = function(modal) {
 			require([ 'jquery-uploadify' ], function() {
@@ -6847,10 +6906,11 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 				});
 			});
 		}
+		
 	}]);
 	
 	// 编辑收货地址
-	app.controller('ShipAddressCtrl', ['$scope', 'ShipAddress', 'ship', '$modalInstance', 'toaster', '$http', function($scope, ShipAddress, ship, $modalInstance, toaster, $http) {
+	app.controller('ShipAddressCtrl', ['$scope', 'DeputyOrder', 'pay', '$modalInstance', 'toaster', '$http', function($scope, DeputyOrder, pay, $modalInstance, toaster, $http) {
 		$scope.ship = ship;
 		
 		// 获取地址信息
@@ -6860,7 +6920,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 		});
 		
 		// 新增收货地址保存
-		$scope.saveShipAddress = function(ship) {
+		$scope.savePayCompany = function(pay) {
 			ship.address = ship.province + ship.city + ship.district;
 			ShipAddress.saveAddress( {}, ship, function(data) {
 				if(data.success) {
@@ -6878,6 +6938,36 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 		}
 	}]);
 	
+	// 编辑付款企业信息
+	app.controller('PayCompanyCtrl', ['$scope', 'ShipAddress', 'ship', '$modalInstance', 'toaster', '$http', function($scope, ShipAddress, ship, $modalInstance, toaster, $http) {
+		$scope.ship = ship;
+		
+		// 获取地址信息
+		$http.get('resources/citydata/city.json',  {"Accept": "application/json;charset=utf-8", "Accept-Charset": "charset=utf-8"
+		   }).then(function(response) {
+			$scope.provinces = response.data;
+		});
+		
+		// 新增收货地址保存
+		$scope.saveShipAddress = function(ship) {
+			pay.address = pay.province + pay.city + pay.district;
+			DeputyOrder.savePaycompany( {}, pay, function(data) {
+				DeputyOrder.paycompanies({enuu: $scope.enterprise.uu}, {}, function(data) {
+					$scope.pays = data;
+				}, function(response) {
+					toaster.pop('error', '提示', response.data);
+				});
+				toaster.pop('success', '提示', '保存成功');
+			}, function(response) {
+				toaster.pop('error', '提示', response.data);
+			});
+		}
+		
+		$scope.cancel = function() {
+			$modalInstance.dismiss();
+		}
+	}]);
+	
 	// 申请Saas Controller
 	app.controller('ApplySaasCtrl', ['$scope', '$modalInstance', 'enterprise', 'AccountEnterprise', 'toaster', '$http', function($scope, $modalInstance, enterprise, AccountEnterprise, toaster, $http){
 		$scope.enterprise = enterprise;
@@ -11092,7 +11182,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 	app.controller('DbfindDeputyPayCompanyCtrl', ['$scope', 'toaster', '$upload', '$modalInstance', 'deputyuu', 'DeputyOrder', 'BaseService', 'ngTableParams', function($scope, toaster, $upload, $modalInstance, deputyuu, DeputyOrder, BaseService, ngTableParams) {
 		$scope.prod = false;
 		BaseService.scrollBackToTop();
-		DeputyOrder.paycompanys({enuu: deputyuu}, {}, function(data) {
+		DeputyOrder.paycompanies({enuu: deputyuu}, {}, function(data) {
 			$scope.paycompanys = data;
 		}, function(response) {
 			toaster.pop('error', '提示', response.data);

+ 14 - 2
src/main/webapp/resources/js/index/services/DeputyOrder.js

@@ -34,10 +34,22 @@ define(['ngResource'], function() {
             	url: 'deputyOrder/vendors',
                 method: 'GET'
             },
-            paycompanys: {
-            	url: 'deputyOrder/paycompanys/:enuu',
+            paycompanies: {
+            	url: 'deputyOrder/paycompanies/:enuu',
             	method: 'GET',
             	isArray: true
+            },
+            savePaycompany: {
+            	url: 'deputyOrder/savePayCompanies',
+            	method: 'POST'
+            },
+            removePayCompany: {
+            	url: 'deputyOrder/removePayCompany/:id',
+            	method: 'DELETE'
+            },
+            isDeputyEnterprise: {
+            	url: 'deputyOrder/isDeputyEnterprise',
+            	method: 'GET'
             }
 		})
 	}]).factory('getDeOrder', ['$resource', function($resource) {

+ 130 - 10
src/main/webapp/resources/tpl/index/approvalFlow/enterprise.html

@@ -415,13 +415,13 @@
 			</div>
 		</form>
 	</div>
-		<div class="com_title01"><span>收货人信息</span>
-		<a href="javascript:void(0);" class="open" ng-if="ships.length>1">展开<i class="fa fa-angle-down"></i></a>
-		<a ng-show="!connectionEditings"  class="pull-right add-address" ng-click="">+新增收货人</a>
-		<a ng-show="connectionEditings" ng-click="connectionEditings = false" class="pull-right text-simple color01"><i
-				class="fa fa-reply-all fa-fw"></i>取消</a>
-		<a ng-show="connectionEditings" ng-click="updateDetailInfo()" class="pull-right text-simple color02"><i
-				class="fa fa-save fa-fw"></i>保存</a>
+	<div class="com_title01"><span>收货人信息</span>
+	<a href="javascript:void(0);" class="open" ng-if="ships.length>1">展开<i class="fa fa-angle-down"></i></a>
+	<a ng-show="!connectionEditings"  class="pull-right add-address" ng-click="">+新增收货人</a>
+	<a ng-show="connectionEditings" ng-click="connectionEditings = false" class="pull-right text-simple color01"><i
+			class="fa fa-reply-all fa-fw"></i>取消</a>
+	<a ng-show="connectionEditings" ng-click="updateDetailInfo()" class="pull-right text-simple color02"><i
+			class="fa fa-save fa-fw"></i>保存</a>
 	</div>
 	<!--收货人信息-->
 	<div class="pane-body" id="address-list">
@@ -493,6 +493,67 @@
 			</div>
 		</form>
 	</div>
+	<div ng-if="deputyEnter.deputyEnterprise">
+		<div class="com_title01"><span>付款企业信息</span>
+			<a href="javascript:void(0);" class="open" ng-if="ships.length>1">展开<i class="fa fa-angle-down"></i></a>
+			<a ng-show="!connectionEditings"  class="pull-right add-paycompany" ng-click="">+新增付款企业</a>
+			<a ng-show="connectionEditings" ng-click="connectionEditings = false" class="pull-right text-simple color01"><i
+					class="fa fa-reply-all fa-fw"></i>取消</a>
+			<a ng-show="connectionEditings" ng-click="updateDetailInfo()" class="pull-right text-simple color02"><i
+					class="fa fa-save fa-fw"></i>保存</a>
+		</div>
+		<!--收货人信息-->
+		<div class="pane-body" id="address-list">
+			<form name="detailForm" ng-if="pays.length != 0">
+				<div class="row row-sm item" ng-repeat="pay in pays| orderBy: '-id'">
+					<div class="col-xs-12">
+						<div class="com-text col-xs-6">
+							<span class="title">企业名称:</span>
+							<div class="content">
+								<span ng-bind="pay.enname"></span>
+							</div>
+						</div>
+						<div class="com-text col-xs-6">
+							<span class="title">联系人:</span>
+							<div class="content">
+								<span ng-bind="pay.user"></span>
+							</div>
+						</div>
+					</div>
+					<div class="col-xs-12">
+						<div class="com-text col-xs-6">
+							<span class="title">电话:</span>
+							<div class="content">
+								<span ng-bind="pay.usertel"></span>
+							</div>
+						</div>
+						<div class="com-text col-xs-6">
+							<span class="title">地址:</span>
+							<div class="content">
+								<span ng-bind="pay.address"></span>
+							</div>
+						</div>
+					</div>
+					<div class="col-xs-12">
+						<div class="com-text col-xs-6"></div>
+						<div class="edit-icon com-text col-xs-6">
+							<span class="title">&nbsp;</span>
+							<div class="content">
+								<a ng-click="editPay(pay, enterprise.uu)">编辑</a>
+								<a ng-click="removePay(pay.id, $index)">删除</a>
+							</div>
+						</div>
+					</div>
+	
+				</div>
+			</form>
+			<form ng-if="pays.length == 0" id="message">
+				<div class="row row-sm item" >
+					<span style="line-height: 186px;text-align: center;font-size: 16px;width: 100%;display: inline-block;color: #999;"><i class="fa fa-spinner"></i> 暂未设置付款企业信息</span>
+				</div>
+			</form>
+		</div>
+	</div>
 	<div class="com_title01"><span>你拥有的服务</span></div>
 	<div class="pane-body">
 		<div class="row">
@@ -504,7 +565,7 @@
 		<!-- <button class="btn01">保存</button> -->
 	</div>
 </div>
-<div class="bomb-box" style="display: none">
+<div class="bomb-box" style="display: none" id="ship">
     <form class="box04 box" name="shipAddress" id="shipAddress">
         <i class="off"><img src="resources/img/purc/close.png" alt="" /></i>
         <p>收货人资料</p>
@@ -560,18 +621,66 @@
         </div>
     </form>
 </div>
+<!-- 付款企业信息编辑  -->
+<div class="bomb-box" style="display: none" id="paycompany">
+    <form class="box04 box" name="payCompany" id="payCompany">
+        <i class="off"><img src="resources/img/purc/close.png" alt="" /></i>
+        <p>付款企业资料</p>
+        <ul>
+            <li class="line01">
+                <div class="fl">
+                    <span class="fl">企业名称<em>*</em>:</span>
+                    <span class="fr"><input type="text" placeholder="填写企业名称" ng-model="pay.enname" required="true"/></span>
+                </div>
+                <div class="fr">
+                    <span class="fl">联系人<em>*</em>:</span>
+                    <span class="fr"><input type="text" ng-model="pay.user" required="true"/></span>
+                </div>
+            </li>
+            <li class="line01">
+                <div class="fl">
+                    <span class="fl">手机<em>*</em>:</span>
+                    <span class="fr"><input type="text" ng-model="pay.usertel"  ng-pattern="/^1(3|4|5|7|8)\d{9}$/"/></span>
+                </div>
+            </li>
+            <li class="line02 margin-top40">
+                <div class="fl">所在地址<em>*</em>:</div>
+				 <div class="select fr">
+                    <select required="" class="area-select" ng-model="pay.province" ng-options="key as key for (key,value) in provinces"
+                            ng-change="pay.city='';pay.district='';" required="true">  
+                        <option value="">省</option>  
+                    </select>
+                    <select class="area-select" ng-model="pay.city" ng-options="key as key for (key,value) in provinces[pay.province]"
+                            ng-change="ship.district='';" required="true">  
+                        <option value="">市</option>  
+                    </select>
+                    <select class="area-select" ng-model="pay.district" ng-options="value as value for value in provinces[pay.province][pay.city]" required="true">
+                        <option value="">区</option>  
+                    </select>  
+				</div>
+            </li>
+            <li class="line02">
+                <div class="fl">详细地址<em>*</em>:</div>
+                <div class="fr"><input type="text" ng-model="pay.addressdet" required="true"/></div>
+            </li>
+        </ul>
+        <div class="many-file-btn">
+            <button class="btn01" ng-click="savePayCompany(pay)" ng-disabled="payCompany.$invalid">保存</button><a class="btn02" ng-click="">取消</a>
+        </div>
+    </form>
+</div>
 <script src="static/lib/jquery/jquery.min.js"></script>
 <script>
     $(function(){
         //新增收货地址
         $(".com_title01 .add-address").click(function(){
         	document.getElementById('shipAddress').reset();
-            $(".bomb-box").show();
+            $("#ship").show();
         });
         
         $("#message .add-address").click(function(){
         	document.getElementById('shipAddress').reset();
-            $(".bomb-box").show();
+            $("#ship").show();
         });
         
         $(".bomb-box .box04 .off,.box04 .many-file-btn .btn02").click(function(){
@@ -596,5 +705,16 @@
 				$("#address-list").css("height","186px");
 			}
 		});
+		
+		 //新增付款企业信息
+        $(".com_title01 .add-paycompany").click(function(){
+        	document.getElementById('payCompany').reset();
+            $("#paycompany").show();
+        });
+        
+        $("#message .add-paycompany").click(function(){
+        	document.getElementById('payCompany').reset();
+            $("#paycompany").show();
+        });
     })
 </script>

+ 59 - 0
src/main/webapp/resources/tpl/index/approvalFlow/paycompany_modal.html

@@ -0,0 +1,59 @@
+<link rel="stylesheet" href="static/css/add.css "/>
+<style>
+.bomb-box .box {
+    position: absolute;
+    left: 0;
+    right: 0;
+    top: 440px;
+    bottom: 0;
+    margin: auto;
+    box-shadow: 0 0 3px #888;
+}
+</style>
+<div class="bomb-box" style="display: none" id="paycompany">
+    <form class="box04 box" name="payCompany" id="payCompany">
+        <i class="off"><img src="resources/img/purc/close.png" alt="" /></i>
+        <p>付款企业资料</p>
+        <ul>
+            <li class="line01">
+                <div class="fl">
+                    <span class="fl">企业名称<em>*</em>:</span>
+                    <span class="fr"><input type="text" placeholder="填写企业名称" ng-model="pay.enname" required="true"/></span>
+                </div>
+                <div class="fr">
+                    <span class="fl">联系人<em>*</em>:</span>
+                    <span class="fr"><input type="text" ng-model="pay.user" required="true"/></span>
+                </div>
+            </li>
+            <li class="line01">
+                <div class="fl">
+                    <span class="fl">手机<em></em>:</span>
+                    <span class="fr"><input type="text" ng-model="pay.usertel"  ng-pattern="/^1(3|4|5|7|8)\d{9}$/||/([0-9]{3,4}-)?[0-9]{7,8}/"/></span>
+                </div>
+            </li>
+            <li class="line02 margin-top40">
+                <div class="fl">所在地址<em>*</em>:</div>
+				 <div class="select fr">
+                    <select required="" class="area-select" ng-model="pay.province" ng-options="key as key for (key,value) in provinces"
+                            ng-change="ship.city='';ship.district='';" required="true">  
+                        <option value="">省</option>  
+                    </select>
+                    <select class="area-select" ng-model="pay.city" ng-options="key as key for (key,value) in provinces[ship.province]"
+                            ng-change="ship.district='';" required="true">  
+                        <option value="">市</option>  
+                    </select>
+                    <select class="area-select" ng-model="pay.district" ng-options="value as value for value in provinces[ship.province][ship.city]" required="true">
+                        <option value="">区</option>  
+                    </select>  
+				</div>
+            </li>
+            <li class="line02">
+                <div class="fl">详细地址<em>*</em>:</div>
+                <div class="fr"><input type="text" ng-model="pay.addressdet" required="true"/></div>
+            </li>
+        </ul>
+        <div class="many-file-btn">
+            <button class="btn01" ng-click="savePayCompany(pay)" ng-disabled="payCompany.$invalid">保存</button><a class="btn02" ng-click="">取消</a>
+        </div>
+    </form>
+</div>