Переглянути джерело

Merge branch 'dev-mysql' into erp_batchToGoods_20180117

yujia 8 роки тому
батько
коміт
41c896e62d

+ 55 - 8
src/main/java/com/uas/platform/b2c/external/erp/prod/service/impl/ProdServiceImpl.java

@@ -21,6 +21,7 @@ import org.apache.log4j.Logger;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
@@ -60,15 +61,37 @@ public class ProdServiceImpl implements ProdService {
         List<Product> products = new ArrayList<Product>();
         List<Product> products = new ArrayList<Product>();
         Long enuu = SystemSession.getUser().getEnterprise().getUu();
         Long enuu = SystemSession.getUser().getEnterprise().getUu();
         for (Prod prod : prods) {
         for (Prod prod : prods) {
-            List<Product> productExists = productDao.getProductByEnUUAndProdNum(enuu, prod.getPr_code());
-            Product product = ModelConverter.convert(prod);
-            if (!CollectionUtils.isEmpty(productExists)) {
-                Product existProduct = productExists.get(0);
-                BeanUtils.copyProperties(product, productExists.get(0), "id");
-                existProduct.setCmpUuId(null);// 将已存在的变更过物料uuid置为null,以便后续进行重新匹配
-                products.add(existProduct);
+            if (StringUtils.isEmpty(prod.getPr_orispeccode()) || StringUtils.isEmpty(prod.getPr_brand())) {
+                List<Product> productList = productDao.findByEnUUAndPcmpcodeAndPbrandenAndB2cEnabledAndSourceApp(enuu,prod.getPr_orispeccode(),prod.getPr_brand(),IntegerConstant.YES_SHORT,"ERP");
+                if (!CollectionUtils.isEmpty(productList)) {
+                    Product product = ModelConverter.convert(prod);
+                    Product existProduct = productList.get(0);
+                    BeanUtils.copyProperties(product, productList.get(0), "id");
+                    existProduct.setCmpUuId(null);// 将已存在的变更过物料uuid置为null,以便后续进行重新匹配
+                    products.add(existProduct);
+                } else {
+                    List<Product> productExists = productDao.getProductByEnUUAndProdNum(enuu, prod.getPr_code());
+                    Product product = ModelConverter.convert(prod);
+                    if (!CollectionUtils.isEmpty(productExists)) {
+                        Product existProduct = productExists.get(0);
+                        BeanUtils.copyProperties(product, productExists.get(0), "id");
+                        existProduct.setCmpUuId(null);// 将已存在的变更过物料uuid置为null,以便后续进行重新匹配
+                        products.add(existProduct);
+                    } else {
+                        products.add(product);
+                    }
+                }
             } else {
             } else {
-                products.add(product);
+                List<Product> productExists = productDao.getProductByEnUUAndProdNum(enuu, prod.getPr_code());
+                Product product = ModelConverter.convert(prod);
+                if (!CollectionUtils.isEmpty(productExists)) {
+                    Product existProduct = productExists.get(0);
+                    BeanUtils.copyProperties(product, productExists.get(0), "id");
+                    existProduct.setCmpUuId(null);// 将已存在的变更过物料uuid置为null,以便后续进行重新匹配
+                    products.add(existProduct);
+                } else {
+                    products.add(product);
+                }
             }
             }
             ProductPrivate productPrivate = releaseProductByBatchService.findByPrId(prod.getPr_id());
             ProductPrivate productPrivate = releaseProductByBatchService.findByPrId(prod.getPr_id());
             if (null == productPrivate) {
             if (null == productPrivate) {
@@ -136,4 +159,28 @@ public class ProdServiceImpl implements ProdService {
         logger.log("物料资料", "ERP获取店铺路径,企业:" + SystemSession.getUser().getEnterprise().getEnName());
         logger.log("物料资料", "ERP获取店铺路径,企业:" + SystemSession.getUser().getEnterprise().getEnName());
         return url;
         return url;
     }
     }
+
+    @Override
+    public String setB2cEnable(String pr_code, Integer isEnable) {
+        List<Product> productList = productDao.getProductByEnUUAndProdNum(SystemSession.getUser().getEnterprise().getUu(),pr_code);
+        if (!CollectionUtils.isEmpty(productList)) {
+            for (Product product : productList) {
+                ProductPrivate productPrivate = releaseProductByBatchService.findByPrId(product.getId());
+                if (null == productPrivate) {
+                    productPrivate = new ProductPrivate();
+                    productPrivate.setPrId(product.getId());
+                }
+                if (isEnable.equals(IntegerConstant.YES_SHORT)) {
+                    productPrivate.setB2cEnabled(IntegerConstant.YES_SHORT);
+                } else {
+                    productPrivate.setB2cEnabled(IntegerConstant.NO_SHORT);
+                }
+                // 统计现在有多少在售信息
+                int batchCount = goodsDao.findCountByProductid(product.getId());
+                productPrivate.setBatchCount(batchCount);
+                productPrivateDao.save(productPrivate);
+            }
+        }
+        return "success";
+    }
 }
 }

+ 12 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/dao/ProductDao.java

@@ -80,6 +80,18 @@ public interface ProductDao extends JpaSpecificationExecutor<Product>, JpaReposi
             "p.pr_enuu=:enUU and p.pr_pcmpcode = :pcmpcode and p.pr_pbranden = :pbranden and pp.pr_b2cenabled = :b2cEnabled")
             "p.pr_enuu=:enUU and p.pr_pcmpcode = :pcmpcode and p.pr_pbranden = :pbranden and pp.pr_b2cenabled = :b2cEnabled")
     List<Product> findByEnUUAndPcmpcodeAndPbrandenAndB2cEnabled(@Param("enUU")Long enUU, @Param("pcmpcode")String pcmpcode, @Param("pbranden")String pbranden, @Param("b2cEnabled")Integer b2cEnabled);
     List<Product> findByEnUUAndPcmpcodeAndPbrandenAndB2cEnabled(@Param("enUU")Long enUU, @Param("pcmpcode")String pcmpcode, @Param("pbranden")String pbranden, @Param("b2cEnabled")Integer b2cEnabled);
 
 
+    /**
+     *
+     * @param enUU 企业enuu
+     * @param pcmpcode 型号
+     * @param pbranden 品牌
+     * @param b2cEnabled 启用
+     * @return
+     */
+    @Query(nativeQuery = true, value = "select p.* from products p left join product$private pp on pp.pr_id = p.pr_id where " +
+            "p.pr_enuu=:enUU and p.pr_pcmpcode = :pcmpcode and p.pr_pbranden = :pbranden and pp.pr_b2cenabled = :b2cEnabled and p.pr_sourceapp <> :sourceApp")
+    List<Product> findByEnUUAndPcmpcodeAndPbrandenAndB2cEnabledAndSourceApp(@Param("enUU")Long enUU, @Param("pcmpcode")String pcmpcode, @Param("pbranden")String pbranden, @Param("b2cEnabled")Integer b2cEnabled, @Param("sourceApp")String sourceApp);
+
 
 
     /**
     /**
      * 根据器件型号,品牌 、enuu
      * 根据器件型号,品牌 、enuu

+ 6 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/model/ReleaseProductByBatch.java

@@ -597,6 +597,12 @@ public class ReleaseProductByBatch implements Serializable {
 			} catch (UnsupportedEncodingException e) {
 			} catch (UnsupportedEncodingException e) {
 				throw new RuntimeException(e + "指定字符集不支持");
 				throw new RuntimeException(e + "指定字符集不支持");
 			}
 			}
+		} else {
+			try {
+				packagingData = com.uas.platform.b2c.fa.payment.utils.StringUtils.cutOutString(packagingData, 150);
+			} catch (UnsupportedEncodingException e) {
+				throw new RuntimeException(e + "指定字符集不支持");
+			}
 		}
 		}
 		setPackaging(packagingData);
 		setPackaging(packagingData);
 	}
 	}

+ 5 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ReleaseProductByBatchServiceImpl.java

@@ -350,6 +350,11 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 	 */
 	 */
 	private void setProductDefaultInfo(ReleaseProductByBatch aProduct, String batch, String currency, StoreIn storeIn) {
 	private void setProductDefaultInfo(ReleaseProductByBatch aProduct, String batch, String currency, StoreIn storeIn) {
 		// 设置初始状态
 		// 设置初始状态
+		aProduct.setMinBuyQtyStr("");
+		aProduct.setProductDate("");
+		aProduct.setMinPackageStr("");
+		aProduct.setSelfMaxDeliveryStr("");
+		aProduct.setSelfMinDeliveryStr("");
 		aProduct.setReleaseCode(ReleaseStatus.success.value());
 		aProduct.setReleaseCode(ReleaseStatus.success.value());
 		aProduct.setReleaseStatus(ReleaseStatus.success.getPhrase());
 		aProduct.setReleaseStatus(ReleaseStatus.success.getPhrase());
 		aProduct.setRelbatchid(batch);
 		aProduct.setRelbatchid(batch);

BIN
src/main/resources/jxls-tpl/trade/releaseByBatchError-person.xls


+ 14 - 8
src/main/webapp/resources/js/usercenter/controllers/forstore/account_manager_ctrl.js

@@ -849,7 +849,10 @@ define(['app/app'], function (app) {
           $scope.sendSuccess = true;
           $scope.sendSuccess = true;
           //发送验证码
           //发送验证码
           $scope.sendCheckCode = function (newUserEmail) {
           $scope.sendCheckCode = function (newUserEmail) {
-            if (!$scope.checkSuccess1 || ($scope.userInfo.userEmail==null && !$scope.checkSuccess)) {
+            if (!$scope.checkSuccess1 || ($scope.userInfo.userEmail!=null && !$scope.checkSuccess)) {
+                if ($scope.userInfo.userEmail!=null && !$scope.checkSuccess) {
+                    $scope.checkFailed = true;
+                }
               return;
               return;
 						}
 						}
             $scope.sendSuccess = false;
             $scope.sendSuccess = false;
@@ -881,8 +884,8 @@ define(['app/app'], function (app) {
           //校验验证码
           //校验验证码
           $scope.validCheckCode = function (checkCode) {
           $scope.validCheckCode = function (checkCode) {
             if(!checkCode){
             if(!checkCode){
-              // $scope.checkSuccess2 = false;
-              $scope.checkFailed2 = false;
+              $scope.checkSuccess2 = false;
+              $scope.checkFailed2 = true;
                 return false;
                 return false;
             }
             }
             User.validCheckCode({checkCode: checkCode,newUserEmail:$scope.user.newUserEmail}, function (data) {
             User.validCheckCode({checkCode: checkCode,newUserEmail:$scope.user.newUserEmail}, function (data) {
@@ -1019,9 +1022,12 @@ define(['app/app'], function (app) {
           $scope.sendSuccess = true;
           $scope.sendSuccess = true;
           // 发送验证码
           // 发送验证码
           $scope.sendTelCheckCode = function (newUserTel) {
           $scope.sendTelCheckCode = function (newUserTel) {
-            if (!$scope.checkSuccess1) {
-              return;
-            }
+              if (!$scope.checkSuccess1 || ($scope.userInfo.userTel!=null && !$scope.checkSuccess)) {
+                  if ($scope.userInfo.userTel!=null && !$scope.checkSuccess) {
+                      $scope.checkFailed = true;
+                  }
+                  return;
+              }
             $scope.sendSuccess = false;
             $scope.sendSuccess = false;
             User.sendTelCheckCode({newUserTel: newUserTel}, function () {
             User.sendTelCheckCode({newUserTel: newUserTel}, function () {
               $scope.codeSuccess = true;
               $scope.codeSuccess = true;
@@ -1051,8 +1057,8 @@ define(['app/app'], function (app) {
           //校验验证码
           //校验验证码
           $scope.validTelCheckCode = function (telCheckCode) {
           $scope.validTelCheckCode = function (telCheckCode) {
             if(!telCheckCode){
             if(!telCheckCode){
-              // $scope.checkSuccess2 = false;
-              $scope.checkFailed2 = false;
+              $scope.checkSuccess2 = false;
+              $scope.checkFailed2 = true;
               return false;
               return false;
             }
             }
             User.validTelCheckCode({telCheckCode: telCheckCode,newUserTel:$scope.user.newUserTel},
             User.validTelCheckCode({telCheckCode: telCheckCode,newUserTel:$scope.user.newUserTel},

+ 13 - 7
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_account_management_ctrl.js

@@ -788,7 +788,10 @@ define(['app/app'], function(app) {
           $scope.sendSuccess = true;
           $scope.sendSuccess = true;
           //发送验证码
           //发送验证码
           $scope.sendCheckCode = function (newUserEmail) {
           $scope.sendCheckCode = function (newUserEmail) {
-            if (!$scope.checkSuccess1 || ($scope.userInfo.userEmail==null && !$scope.checkSuccess)) {
+            if (!$scope.checkSuccess1 || ($scope.userInfo.userEmail!=null && !$scope.checkSuccess)) {
+                if ($scope.userInfo.userEmail!=null && !$scope.checkSuccess) {
+                    $scope.checkFailed = true;
+                }
               return;
               return;
             }
             }
             $scope.sendSuccess = false;
             $scope.sendSuccess = false;
@@ -820,8 +823,8 @@ define(['app/app'], function(app) {
           //校验验证码
           //校验验证码
           $scope.validCheckCode = function (checkCode) {
           $scope.validCheckCode = function (checkCode) {
             if(!checkCode){
             if(!checkCode){
-              // $scope.checkSuccess2 = false;
-              $scope.checkFailed2 = false;
+              $scope.checkSuccess2 = false;
+              $scope.checkFailed2 = true;
               return false;
               return false;
             }
             }
             User.validCheckCode({checkCode: checkCode,newUserEmail:$scope.user.newUserEmail}, function (data) {
             User.validCheckCode({checkCode: checkCode,newUserEmail:$scope.user.newUserEmail}, function (data) {
@@ -958,8 +961,11 @@ define(['app/app'], function(app) {
           $scope.sendSuccess = true;
           $scope.sendSuccess = true;
           //发送验证码
           //发送验证码
           $scope.sendTelCheckCode = function (newUserTel) {
           $scope.sendTelCheckCode = function (newUserTel) {
-            if (!$scope.checkSuccess1) {
-              return;
+            if (!$scope.checkSuccess1 || ($scope.userInfo.userTel!=null && !$scope.checkSuccess)) {
+                if ($scope.userInfo.userTel!=null && !$scope.checkSuccess) {
+                    $scope.checkFailed = true;
+                }
+                return;
             }
             }
             $scope.sendSuccess = false;
             $scope.sendSuccess = false;
             User.sendTelCheckCode({newUserTel: newUserTel}, function () {
             User.sendTelCheckCode({newUserTel: newUserTel}, function () {
@@ -990,8 +996,8 @@ define(['app/app'], function(app) {
           //校验验证码
           //校验验证码
           $scope.validTelCheckCode = function (telCheckCode) {
           $scope.validTelCheckCode = function (telCheckCode) {
             if(!telCheckCode){
             if(!telCheckCode){
-              // $scope.checkSuccess2 = false;
-              $scope.checkFailed2 = false;
+              $scope.checkSuccess2 = false;
+              $scope.checkFailed2 = true;
               return false;
               return false;
             }
             }
             User.validTelCheckCode({telCheckCode: telCheckCode,newUserTel:$scope.user.newUserTel},
             User.validTelCheckCode({telCheckCode: telCheckCode,newUserTel:$scope.user.newUserTel},

+ 1 - 0
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_materialCtrl.js

@@ -718,6 +718,7 @@ define([ 'app/app', 'jquery-uploadify' ], function(app) {
 
 
 		$scope.deleteIdArray = [];
 		$scope.deleteIdArray = [];
 		$scope.ensureDeleteRepeat = function () {
 		$scope.ensureDeleteRepeat = function () {
+			$scope.deleteIdArray = [];
 			for (var i = 0; i < $scope.repeatList.length; i++) {
 			for (var i = 0; i < $scope.repeatList.length; i++) {
 				if (!$scope.repeatList[i].selected) {
 				if (!$scope.repeatList[i].selected) {
 					toaster.pop("info", "请选择要保留的产品信息");
 					toaster.pop("info", "请选择要保留的产品信息");

+ 332 - 335
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_upload_ctrl.js

@@ -1,327 +1,281 @@
 define([ 'app/app' ], function(app) {
 define([ 'app/app' ], function(app) {
 	'use strict';
 	'use strict';
-	app.register.controller('vendorUploadCtrl', ['$scope', '$rootScope', 'Material', function ($scope, $rootScope, Material) {
-		$rootScope.$$productOn = {};
+	app.register.controller('vendorUploadCtrl', ['$scope', '$rootScope', 'ngTableParams', '$upload', '$q', 'AuthenticationService', 'BaseService', 'StoreInfo', 'SessionService', '$modal', 'toaster', 'ReleaseProductByBatch', 'Loading', 'Enterprise', 'DistributionRule', '$state', function ($scope, $rootScope, ngTableParams, $upload, $q, AuthenticationService, BaseService, StoreInfo, SessionService, $modal, toaster, ReleaseProductByBatch, Loading, Enterprise, DistributionRule, $state) {
+	    if (!$rootScope.$$productOn) {
+            $rootScope.$$productOn = {};
+            $rootScope.$$productOn.leadIn = 'bathOn';
+            $rootScope.$$productOn.tab = 'bathOn';
+        }
 		$rootScope.active = 'vendor_productOn';
 		$rootScope.active = 'vendor_productOn';
-		$rootScope.$$productOn.leadIn = 'bathOn';
-        $rootScope.$$productOn.tab = 'bathOn';
 		document.title = '产品导入-优软商城';
 		document.title = '产品导入-优软商城';
         //切换展示的信息
         //切换展示的信息
         $scope.toggleActive = function(active) {
         $scope.toggleActive = function(active) {
             if($scope.tab != active) {
             if($scope.tab != active) {
                 $rootScope.$$productOn.tab = active;
                 $rootScope.$$productOn.tab = active;
+                $state.reload();
             }
             }
         };
         };
-	}]);
-
-	//批量上架的Ctrl
-	app.register.controller('batchPutOnCtrl', ['$scope', '$rootScope', 'ngTableParams', '$upload', '$q', 'AuthenticationService', 'BaseService', 'StoreInfo', 'SessionService', '$modal', 'toaster', 'ReleaseProductByBatch', 'Loading', 'Enterprise', 'DistributionRule', function ($scope, $rootScope, ngTableParams, $upload, $q, AuthenticationService, BaseService, StoreInfo, SessionService, $modal, toaster, ReleaseProductByBatch, Loading, Enterprise, DistributionRule) {
-
-		$scope.deletePop = false;
+        $scope.deletePop = false;
         $scope.personMedol =false;
         $scope.personMedol =false;
         $scope.setPersonMedol = function () {
         $scope.setPersonMedol = function () {
-        	$scope.personMedol =false;
+            $scope.personMedol =false;
         };
         };
 
 
-		//获取币别信息
-		Enterprise.getCurrencyByRegisterAddress(null, function (data) {
-			if(data.code == 1) {
-				$scope.batch.currency = data.data;
-			}else {
-				toaster.pop('info', '提示', '您公司的注册地址为空,无法确定币别,系统默认为人民币');
-				$scope.batch.currency = 'RMB';
-			}
-		}, function (response) {
-			toaster.pop('info', '提示', '获取不到公司的币别信息');
-		});
-
-		//切换展示的信息
-		$scope.toggleActive = function(active) {
-			if($scope.tab != active) {
-				$rootScope.$$productOn.tab = active;
-			}
-		};
+        //获取币别信息
+        Enterprise.getCurrencyByRegisterAddress(null, function (data) {
+            if(data.code == 1) {
+                $scope.batch.currency = data.data;
+            }else {
+                toaster.pop('info', '提示', '您公司的注册地址为空,无法确定币别,系统默认为人民币');
+                $scope.batch.currency = 'RMB';
+            }
+        }, function (response) {
+            toaster.pop('info', '提示', '获取不到公司的币别信息');
+        });
 
 
-		$scope.batch = {};
-		$scope.batch.myFiles = null;
-		//批量发布的类型
-		$scope.batch.sellType = null;
+        $scope.batch = {};
+        $scope.batch.myFiles = null;
+        //批量发布的类型
+        $scope.batch.sellType = null;
 
 
-		//翻页的信息
-		$scope.pageParams = {};
+        //翻页的信息
+        $scope.pageParams = {};
 
 
-		//选择相应的销售类型
-		$scope.sellType = function(type) {
-			if($scope.batch.selfSellEabled) {
-				$scope.batch.sellType = type;
-			}else {
-				$scope.batch.sellType = 'UAS';
-			}
+        //选择相应的销售类型
+        $scope.sellType = function(type) {
+            if($scope.batch.selfSellEabled) {
+                $scope.batch.sellType = type;
+            }else {
+                $scope.batch.sellType = 'UAS';
+            }
 
 
-		};
+        };
 
 
-		//上架信息展示
-		$scope.relTableParams = new ngTableParams({
-			count : 10,
-			page : 1
-		}, {
-			total : 0,
-			getData : function($defer, params) {
-				var param = BaseService.parseParams(params.url());
-				if($scope.result && $scope.result.batch) {
-					param.batch = $scope.result.batch;
-					ReleaseProductByBatch.getPageBatchRelease(param, function(page) {
-						$defer.resolve(page.content);
-						params.total(page.totalElements);
-						$scope.pageParams.number = page.number;
-						$scope.pageParams.content = page.content;
-						$scope.pageParams.totalElements = page.totalElements;
-						$scope.pageParams.totalPages = page.totalPages;
-						$scope.pageParams.start = ((page.number - 1) * page.size) + 1;
-						$scope.pageParams.end =  page.number * page.size;
-						if($scope.pageParams.end > $scope.pageParams.totalElements) {
-							$scope.pageParams.end = $scope.pageParams.totalElements
-						}
-					}, function(data) {
-						toaster.pop();
-					});
-				}
-			}
-		});
+        //上架信息展示
+        $scope.relTableParams = new ngTableParams({
+            count : 10,
+            page : 1
+        }, {
+            total : 0,
+            getData : function($defer, params) {
+                var param = BaseService.parseParams(params.url());
+                if($scope.result && $scope.result.batch) {
+                    param.batch = $scope.result.batch;
+                    ReleaseProductByBatch.getPageBatchRelease(param, function(page) {
+                        $defer.resolve(page.content);
+                        params.total(page.totalElements);
+                        $scope.pageParams.number = page.number;
+                        $scope.pageParams.content = page.content;
+                        $scope.pageParams.totalElements = page.totalElements;
+                        $scope.pageParams.totalPages = page.totalPages;
+                        $scope.pageParams.start = ((page.number - 1) * page.size) + 1;
+                        $scope.pageParams.end =  page.number * page.size;
+                        if($scope.pageParams.end > $scope.pageParams.totalElements) {
+                            $scope.pageParams.end = $scope.pageParams.totalElements
+                        }
+                    }, function(data) {
+                        toaster.pop();
+                    });
+                }
+            }
+        });
 
 
-		/**
-		 * 打开删除的模态框
-		 */
-		$scope.showDelete = function (item) {
-			var modalInstance = $modal.open({
-				animation: true,
-				templateUrl: 'static/view/common/modal/delete_modal.html',
-				controller: 'product_delete_ctrl',
-				resolve: {
-					id : function() {
-						return item.id;
-					}
-				}
-			});
-			modalInstance.result.then(function(){
-				if (item.releaseCode == 112){
-					$scope.result.success = $scope.result.success - 1;
-				}else if(item.releaseCode == 113){
-					$scope.result.failure = $scope.result.failure - 1;
-				}
-				//不需要返回的第一页
-				$scope.relTableParams.reload();
-			}, function(){
-			});
-		};
+        /**
+         * 打开删除的模态框
+         */
+        $scope.showDelete = function (item) {
+            var modalInstance = $modal.open({
+                animation: true,
+                templateUrl: 'static/view/common/modal/delete_modal.html',
+                controller: 'product_delete_ctrl',
+                resolve: {
+                    id : function() {
+                        return item.id;
+                    }
+                }
+            });
+            modalInstance.result.then(function(){
+                if (item.releaseCode == 112){
+                    $scope.result.success = $scope.result.success - 1;
+                }else if(item.releaseCode == 113){
+                    $scope.result.failure = $scope.result.failure - 1;
+                }
+                //不需要返回的第一页
+                $scope.relTableParams.reload();
+            }, function(){
+            });
+        };
 
 
-		var initRuleCount = function () {
-			return DistributionRule.findCountOfActiveRule({},{},function (data) {
-				if (data.success){
-					$scope.needShowTip = data.data;
-				}
-			}, function (error) {
-				toaster.pop("error", error.data);
-			})
-		};
-		initRuleCount();
+        var initRuleCount = function () {
+            return DistributionRule.findCountOfActiveRule({},{},function (data) {
+                if (data.success){
+                    $scope.needShowTip = data.data;
+                }
+            }, function (error) {
+                toaster.pop("error", error.data);
+            })
+        };
+        initRuleCount();
 
 
-		// 查看范例
-		$scope.showImg = function() {
-			var src = '';
-			if($scope.batch.currency === 'RMB') {
-				src = $rootScope.rootPath + "/static/img/product/releaseByBatch-rmb.png";
-			}else {
-				src = $rootScope.rootPath + "/static/img/product/releaseByBatch-usd.png";
-			}
-			var box = $('#image-box');
-			box.find('img').attr('src', src);
-			box.find('a').click(function(){
-				box.hide();
-			});
-			box.dblclick(function(){
-				box.hide();
-			});
-			box.show();
-		};
+        // 查看范例
+        $scope.showImg = function() {
+            var src = '';
+            if($scope.batch.currency === 'RMB') {
+                src = $rootScope.rootPath + "/static/img/product/releaseByBatch-rmb.png";
+            }else {
+                src = $rootScope.rootPath + "/static/img/product/releaseByBatch-usd.png";
+            }
+            var box = $('#image-box');
+            box.find('img').attr('src', src);
+            box.find('a').click(function(){
+                box.hide();
+            });
+            box.dblclick(function(){
+                box.hide();
+            });
+            box.show();
+        };
 
 
-		//获取登录的信息
-		var getAuthentication = function () {
-			return AuthenticationService.getAuthentication().success(function(data) {
-				if(data && data.enterprises) {
-					data.enterprise = data.enterprises[data.enterprises.length - 1];
-					if(data.enterprises.length > 1) {
-						var enSelect = [];
-						angular.forEach(data.enterprises, function(e){
-							if(e.current)
-								data.enterprise = e;
-							else
-								enSelect.push(e);
-						});
-						data.enSelect = enSelect;
-					}
-				}
-				$rootScope.userInfo = data;
-			}).error(function(response) {
-				toaster.pop('info', '获取定单的信息' + response);
-			});
-		};
+        //获取登录的信息
+        var getAuthentication = function () {
+            return AuthenticationService.getAuthentication().success(function(data) {
+                if(data && data.enterprises) {
+                    data.enterprise = data.enterprises[data.enterprises.length - 1];
+                    if(data.enterprises.length > 1) {
+                        var enSelect = [];
+                        angular.forEach(data.enterprises, function(e){
+                            if(e.current)
+                                data.enterprise = e;
+                            else
+                                enSelect.push(e);
+                        });
+                        data.enSelect = enSelect;
+                    }
+                }
+                $rootScope.userInfo = data;
+            }).error(function(response) {
+                toaster.pop('info', '获取定单的信息' + response);
+            });
+        };
 
 
-		//判断是否是商城管理公司,是否可以选择自营。
-		$q.all([getAuthentication()]).then(function() {
-			//获取店铺的信息
-			StoreInfo.getStoreInfoByEnuu({enUU : $rootScope.userInfo.enterprise.uu}, function(data) {
-				$scope.storeInfo = data;
-				if(!data.uuid || data.storeName.indexOf('优软测试二') > -1 || data.storeName.indexOf('优软商城') > -1) {
-					$scope.batch.sellType = 'UAS';
-					$scope.batch.selfSellEabled = false;
-				}else {
-					$scope.batch.sellType = 'self';
-					$scope.batch.selfSellEabled = true;
-				}
-			}, function(response) {
-				toaster.pop('error', '获取店铺的信息失败, ' + response.data);
-			});
-		});
+        //判断是否是商城管理公司,是否可以选择自营。
+        $q.all([getAuthentication()]).then(function() {
+            //获取店铺的信息
+            StoreInfo.getStoreInfoByEnuu({enUU : $rootScope.userInfo.enterprise.uu}, function(data) {
+                $scope.storeInfo = data;
+                if(!data.uuid || data.storeName.indexOf('优软测试二') > -1 || data.storeName.indexOf('优软商城') > -1) {
+                    $scope.batch.sellType = 'UAS';
+                    $scope.batch.selfSellEabled = false;
+                }else {
+                    $scope.batch.sellType = 'self';
+                    $scope.batch.selfSellEabled = true;
+                }
+            }, function(response) {
+                toaster.pop('error', '获取店铺的信息失败, ' + response.data);
+            });
+        });
 
 
 
 
-		//选择文件
-		$scope.selectFile = function(value) {
-			if(value != null) {
-				upload_text.value = value;
-			}else {
-				var fileInput = angular.element('#uploadCommodity')[0];
-				upload_text.value = fileInput.value;
-			}
-		};
+        //选择文件
+        $scope.selectFile = function(value) {
+            if(value != null) {
+                upload_text.value = value;
+            }else {
+                var fileInput = angular.element('#uploadCommodity')[0];
+                upload_text.value = fileInput.value;
+            }
+        };
 
 
-		// 上传Excel批量发布(大量)
-		$scope.upload = function() {
-			if(($scope.batch.myFiles == null) || ($scope.batch.myFiles.length == 0)) {
-				return ;
-			}
-			var file = $scope.batch.myFiles[0];
-			if(!file) {
-				toaster.pop('info', '请选择需要上传的文件');
-				return;
-			}
-			if ($rootScope.$$productOn.tab === 'bathOnPerson') {
-				var param = {selfSale : $scope.batch.sellType == 'self', currency : $scope.batch.currency, isPerson : 1};
-			} else {
+        // 上传Excel批量发布(大量)
+        $scope.upload = function() {
+            if(($scope.batch.myFiles == null) || ($scope.batch.myFiles.length == 0)) {
+                return ;
+            }
+            var file = $scope.batch.myFiles[0];
+            if(!file) {
+                toaster.pop('info', '请选择需要上传的文件');
+                return;
+            }
+            if ($rootScope.$$productOn.tab === 'bathOnPerson') {
+                var param = {selfSale : $scope.batch.sellType == 'self', currency : $scope.batch.currency, isPerson : 1};
+            } else {
                 var param = {selfSale : $scope.batch.sellType == 'self', currency : $scope.batch.currency};
                 var param = {selfSale : $scope.batch.sellType == 'self', currency : $scope.batch.currency};
-			}
-			$upload.upload({
-				url: 'release/product/release/excel',
-				file: file,
-				method: 'POST',
-				params : param
-			}).success(function(data) {
-				$scope.selectFile(' ');
-				$scope.batch.myFiles = [];
-				$scope.proInfo = data.info;
-				$scope.result = data;
-				$scope.hadImport = false;
-				// var message = "";
-				// if($scope.result.success) {
-				// 	message = '标准产品' + $scope.result.success + '个';
-				// }
-				// if($scope.result.failure) {
-				// 	if(message) {
-				// 		message = message + ',非标产品' + $scope.result.failure +  '个';
-				// 	}else {
-				// 		message = '非标产品' + $scope.result.failure +  '个';
-				// 	}
-				// }
-				// if($scope.result.filter) {
-				// 	if(message) {
-				// 		message = message + ',过滤' + $scope.result.filter +  '条';
-				// 	}else {
-				// 		message = '过滤' + $scope.result.filter +  '条';
-				// 	}
-				// }
-				// if(!message) {
-				// 	message = '没有提交任何信息'
-				// }
-				toaster.pop('info', '提示', '上传完成');
-				$scope.relTableParams.page(1);
-				$scope.relTableParams.reload();
+            }
+            $upload.upload({
+                url: 'release/product/release/excel',
+                file: file,
+                method: 'POST',
+                params : param
+            }).success(function(data) {
+                $scope.selectFile(' ');
+                $scope.batch.myFiles = [];
+                $scope.proInfo = data.info;
+                $scope.result = data;
+                $scope.hadImport = false;
+                // var message = "";
+                // if($scope.result.success) {
+                // 	message = '标准产品' + $scope.result.success + '个';
+                // }
+                // if($scope.result.failure) {
+                // 	if(message) {
+                // 		message = message + ',非标产品' + $scope.result.failure +  '个';
+                // 	}else {
+                // 		message = '非标产品' + $scope.result.failure +  '个';
+                // 	}
+                // }
+                // if($scope.result.filter) {
+                // 	if(message) {
+                // 		message = message + ',过滤' + $scope.result.filter +  '条';
+                // 	}else {
+                // 		message = '过滤' + $scope.result.filter +  '条';
+                // 	}
+                // }
+                // if(!message) {
+                // 	message = '没有提交任何信息'
+                // }
+                toaster.pop('info', '提示', '上传完成');
+                $scope.relTableParams.page(1);
+                $scope.relTableParams.reload();
                 if ($rootScope.$$productOn.tab === 'bathOnPerson') {
                 if ($rootScope.$$productOn.tab === 'bathOnPerson') {
                     publicPersonProduct();
                     publicPersonProduct();
                 }
                 }
-			}).error(function(response) {
-				$scope.result = {};
-				$scope.result.total = 0;
-				$scope.pageParams.number = 0;
-				$scope.pageParams.content = null;
-				$scope.pageParams.totalElements = 0;
-				$scope.pageParams.totalPages = 0;
-				toaster.pop('error', response.data || response);
-			});
-		};
-
-		// 下载模板
-		$scope.download = function() {
-			var show = SessionService.get($scope.userInfo.userUU + "-releasetip");
-			if (!show) {
-				var modalInstance = $modal.open({
-					animation: true,
-					templateUrl : $rootScope.rootPath + '/static/view/vendor/modal/releaseProductByBatchTip.html',
-					controller : 'releaseProductByBatchTipCtrl'
-				});
-				modalInstance.result.then(function(response) {
-				}, function(res) {
-					window.location.href = $rootScope.rootPath + '/release/product/release/template?currency' + '=' + $scope.batch.currency + ($rootScope.$$productOn.tab == 'bathOnPerson' ? '&isPerson=1' : '');
-				});
-			} else {
-				window.location.href = $rootScope.rootPath + '/release/product/release/template?currency' + '=' + $scope.batch.currency + ($rootScope.$$productOn.tab == 'bathOnPerson' ? '&isPerson=1' : '');
-			}
-		};
+            }).error(function(response) {
+                $scope.result = {};
+                $scope.result.total = 0;
+                $scope.pageParams.number = 0;
+                $scope.pageParams.content = null;
+                $scope.pageParams.totalElements = 0;
+                $scope.pageParams.totalPages = 0;
+                toaster.pop('error', response.data || response);
+            });
+        };
 
 
-		//批量发布
-		$scope.publish = function(event) {
-			if ($scope.pageParams.totalElements > 0) {
-				ReleaseProductByBatch.batchRelease({batch : $scope.result.batch}, null, function(data) {
-					if ($scope.needShowTip){
-						$scope.relTableParams.page(1);
-						$scope.relTableParams.reload();
-						$scope.result.success = 0;//设置成0,让前端用户不能点击
-						$modal.open({
-							animation : true,
-							templateUrl : 'static/view/common/modal/product_upload_modal.html',
-							controller : 'rule_tip_ctrl',
-							resolve : {
-								type : function() {
-									return 'upload';
-								},
-								tipModal : function() {
-									return true;
-								}
-							}
-						});
-						return ;
-					}
-					// toaster.pop("success", "提示", "发布成功 :" + data.data + "条");
-					toaster.pop("success", "提示", "发布成功");
-					$scope.relTableParams.page(1);
-					$scope.relTableParams.reload();
-					$scope.result.success = 0;//设置成0,让前端用户不能点击
-					$scope.hadImport = true; //上架后隐藏提示语
-				}, function(res) {
-					toaster.pop("error", "发布失败", res.data);
-				});
-			} else {
-				event.stopPropagation();//阻止冒泡事件
-				event.preventDefault();//阻止默认的事件。
-				toaster.pop("info", "提示", "没有信息发布");
-			}
-		};
+        // 下载模板
+        $scope.download = function() {
+            var show = SessionService.get($scope.userInfo.userUU + "-releasetip");
+            if (!show) {
+                var modalInstance = $modal.open({
+                    animation: true,
+                    templateUrl : $rootScope.rootPath + '/static/view/vendor/modal/releaseProductByBatchTip.html',
+                    controller : 'releaseProductByBatchTipCtrl'
+                });
+                modalInstance.result.then(function(response) {
+                }, function(res) {
+                    window.location.href = $rootScope.rootPath + '/release/product/release/template?currency' + '=' + $scope.batch.currency + ($rootScope.$$productOn.tab == 'bathOnPerson' ? '&isPerson=1' : '');
+                });
+            } else {
+                window.location.href = $rootScope.rootPath + '/release/product/release/template?currency' + '=' + $scope.batch.currency + ($rootScope.$$productOn.tab == 'bathOnPerson' ? '&isPerson=1' : '');
+            }
+        };
 
 
-		function publicPersonProduct() {
-			ReleaseProductByBatch.batchReleasePerson({batch : $scope.result.batch}, null, function(data) {
+        //批量发布
+        $scope.publish = function(event) {
+            if ($scope.pageParams.totalElements > 0) {
+                ReleaseProductByBatch.batchRelease({batch : $scope.result.batch}, null, function(data) {
                     if ($scope.needShowTip){
                     if ($scope.needShowTip){
                         $scope.relTableParams.page(1);
                         $scope.relTableParams.page(1);
                         $scope.relTableParams.reload();
                         $scope.relTableParams.reload();
-                        //$scope.result.success = 0;//设置成0,让前端用户不能点击
+                        $scope.result.success = 0;//设置成0,让前端用户不能点击
                         $modal.open({
                         $modal.open({
                             animation : true,
                             animation : true,
                             templateUrl : 'static/view/common/modal/product_upload_modal.html',
                             templateUrl : 'static/view/common/modal/product_upload_modal.html',
@@ -338,61 +292,104 @@ define([ 'app/app' ], function(app) {
                         return ;
                         return ;
                     }
                     }
                     // toaster.pop("success", "提示", "发布成功 :" + data.data + "条");
                     // toaster.pop("success", "提示", "发布成功 :" + data.data + "条");
-                    $scope.personMedol = true;
+                    toaster.pop("success", "提示", "发布成功");
                     $scope.relTableParams.page(1);
                     $scope.relTableParams.page(1);
                     $scope.relTableParams.reload();
                     $scope.relTableParams.reload();
-                    //$scope.result.success = 0;//设置成0,让前端用户不能点击
-                    /*$scope.hadImport = true; //上架后隐藏提示语*/ // 个人上传不隐藏
+                    $scope.result.success = 0;//设置成0,让前端用户不能点击
+                    $scope.hadImport = true; //上架后隐藏提示语
                 }, function(res) {
                 }, function(res) {
                     toaster.pop("error", "发布失败", res.data);
                     toaster.pop("error", "发布失败", res.data);
-			});
+                });
+            } else {
+                event.stopPropagation();//阻止冒泡事件
+                event.preventDefault();//阻止默认的事件。
+                toaster.pop("info", "提示", "没有信息发布");
+            }
+        };
+
+        function publicPersonProduct() {
+            ReleaseProductByBatch.batchReleasePerson({batch : $scope.result.batch}, null, function(data) {
+                if ($scope.needShowTip){
+                    $scope.relTableParams.page(1);
+                    $scope.relTableParams.reload();
+                    //$scope.result.success = 0;//设置成0,让前端用户不能点击
+                    $modal.open({
+                        animation : true,
+                        templateUrl : 'static/view/common/modal/product_upload_modal.html',
+                        controller : 'rule_tip_ctrl',
+                        resolve : {
+                            type : function() {
+                                return 'upload';
+                            },
+                            tipModal : function() {
+                                return true;
+                            }
+                        }
+                    });
+                    return ;
+                }
+                // toaster.pop("success", "提示", "发布成功 :" + data.data + "条");
+                $scope.personMedol = true;
+                $scope.relTableParams.page(1);
+                $scope.relTableParams.reload();
+                //$scope.result.success = 0;//设置成0,让前端用户不能点击
+                /*$scope.hadImport = true; //上架后隐藏提示语*/ // 个人上传不隐藏
+            }, function(res) {
+                toaster.pop("error", "发布失败", res.data);
+            });
         }
         }
 
 
-		//下载未匹配成功的数据
-		$scope.downloadExcel = function(){
-			if ($rootScope.$$productOn.tab === 'bathOnPerson') {
+        //下载未匹配成功的数据
+        $scope.downloadExcel = function(){
+            if ($rootScope.$$productOn.tab === 'bathOnPerson') {
                 var datatem = {isAjax : true, batch : $scope.result.batch, isPerson : 1};
                 var datatem = {isAjax : true, batch : $scope.result.batch, isPerson : 1};
-			} else {
+            } else {
                 var datatem = {isAjax : true, batch : $scope.result.batch};
                 var datatem = {isAjax : true, batch : $scope.result.batch};
-			}
-			if($scope.result && $scope.result.batch && $scope.result.filter) {
-				var form = document.getElementById('load-error');
-				form.action= 'release/product/release/failure/xls';
-				form.submit();
-				Loading.show();
-				var intervalId = null;
-				var getDownLoadStatus = function () {
-					$.ajax({
-						type: 'GET',
-						url: 'release/product/release/failure/xls',
-						data : datatem,
-						dataType : 'json',
-						success: function (data) {
-							if(!data.load) {
-								$scope.$apply(function () {
-									Loading.hide();
-									/*toaster.pop('success', '数据处理完毕,正在下载文件,请稍等。');*/
-								});
-								clearInterval(intervalId);
-							}
-						},
-						error: function () {
-							Loading.hide();
-							clearInterval(intervalId);
-						}
-					});
-				};
-				intervalId= setInterval(function () {
-					getDownLoadStatus();
-				}, 500);
-			}else {
-				if(!$scope.result || !$scope.result.batch) {
-					toaster.pop('info', '提示', '您没有上传信息');
-				}else if(!$scope.result.filter) {
-					toaster.pop('info', '提示', '您没有匹配不成功的数据');
-				}
-			}
-		};
+            }
+            if($scope.result && $scope.result.batch && $scope.result.filter) {
+                var form = document.getElementById('load-error');
+                form.action= 'release/product/release/failure/xls';
+                form.submit();
+                Loading.show();
+                var intervalId = null;
+                var getDownLoadStatus = function () {
+                    $.ajax({
+                        type: 'GET',
+                        url: 'release/product/release/failure/xls',
+                        data : datatem,
+                        dataType : 'json',
+                        success: function (data) {
+                            if(!data.load) {
+                                $scope.$apply(function () {
+                                    Loading.hide();
+                                    /*toaster.pop('success', '数据处理完毕,正在下载文件,请稍等。');*/
+                                });
+                                clearInterval(intervalId);
+                            }
+                        },
+                        error: function () {
+                            Loading.hide();
+                            clearInterval(intervalId);
+                        }
+                    });
+                };
+                intervalId= setInterval(function () {
+                    getDownLoadStatus();
+                }, 500);
+            }else {
+                if(!$scope.result || !$scope.result.batch) {
+                    toaster.pop('info', '提示', '您没有上传信息');
+                }else if(!$scope.result.filter) {
+                    toaster.pop('info', '提示', '您没有匹配不成功的数据');
+                }
+            }
+        };
+	}]);
+
+	//批量上架的Ctrl
+	app.register.controller('batchPutOnCtrl', ['$scope', '$rootScope', 'ngTableParams', '$upload', '$q', 'AuthenticationService', 'BaseService', 'StoreInfo', 'SessionService', '$modal', 'toaster', 'ReleaseProductByBatch', 'Loading', 'Enterprise', 'DistributionRule', function ($scope, $rootScope, ngTableParams, $upload, $q, AuthenticationService, BaseService, StoreInfo, SessionService, $modal, toaster, ReleaseProductByBatch, Loading, Enterprise, DistributionRule) {
+
+
 	}]);
 	}]);
 
 
 	//下载表格时显示提示信息
 	//下载表格时显示提示信息

+ 1 - 1
src/main/webapp/resources/view/common/modal/delivery_rule_modal.html

@@ -12,7 +12,7 @@
         margin: -145px 0 0 -77px;
         margin: -145px 0 0 -77px;
     }
     }
     .com-del-box{
     .com-del-box{
-        height: 155px;
+        height: 161px;
         width: 290px;
         width: 290px;
     }
     }
     .com-del-box .title {
     .com-del-box .title {

+ 6 - 1
src/main/webapp/resources/view/vendor/forstore/vendor_upload.html

@@ -79,6 +79,11 @@
         text-decoration: none;
         text-decoration: none;
         height: 31px;
         height: 31px;
     }
     }
+    .ng-table-pagination .page-a:hover {
+        border: 1px solid #5078cb !important;
+        background: #5078cb !important;
+        color: #fff !important;
+    }
 
 
     div.ng-table-pager div.page-go-block {
     div.ng-table-pager div.page-go-block {
         float: right;
         float: right;
@@ -407,7 +412,7 @@
             </ul>
             </ul>
         </div>
         </div>
         <div class="wanted_list01">
         <div class="wanted_list01">
-            <div class="tab" ng-if="$$productOn.leadIn == 'bathOn'" ng-class="{'active': leadIn == 'bathOn'}" ng-controller="batchPutOnCtrl">
+            <div class="tab" ng-if="$$productOn.leadIn == 'bathOn'" ng-class="{'active': leadIn == 'bathOn'}" >
                 <div class="load_next" ng-class="{'border-none':open01}">
                 <div class="load_next" ng-class="{'border-none':open01}">
                     <p>第一步,下载Excel模板
                     <p>第一步,下载Excel模板
                         <em class="open-icon" ng-click="open01=!open01" ng-class="{'active': !open01}"></em>
                         <em class="open-icon" ng-click="open01=!open01" ng-class="{'active': !open01}"></em>

+ 2 - 2
src/main/webapp/resources/view/vendor/modal/updateUserEmail.html

@@ -37,7 +37,7 @@
     }
     }
     .userEmail .modal-body .row.validate-code .col-md-8 .code-btn {
     .userEmail .modal-body .row.validate-code .col-md-8 .code-btn {
         width: 37%;
         width: 37%;
-        height: 30px;
+        height: 31px;
         text-align: center;
         text-align: center;
         line-height: 30px;
         line-height: 30px;
         vertical-align: middle;
         vertical-align: middle;
@@ -129,7 +129,7 @@
             <div class="col-md-8 col-sm-8 col">
             <div class="col-md-8 col-sm-8 col">
                 <input ng-model="checkCode"
                 <input ng-model="checkCode"
                        class="form-control input-sm" placeholder="请输入验证码" type="checkCode" ng-blur="validCheckCode(checkCode)">
                        class="form-control input-sm" placeholder="请输入验证码" type="checkCode" ng-blur="validCheckCode(checkCode)">
-                <input ng-click="sendCheckCode(user.newUserEmail)" ng-disabled="!sendSuccess" ng-init="paracont='获取验证码'" class="code-btn" ng-model="paracont"/>
+                <input ng-click="sendCheckCode(user.newUserEmail)" readonly ng-disabled="!sendSuccess" ng-init="paracont='获取验证码'" class="code-btn" ng-model="paracont"/>
             </div>
             </div>
             <div class="col">
             <div class="col">
                 <img ng-show="checkSuccess2" src="static/img/user/images/input-check-yes.png" alt="">
                 <img ng-show="checkSuccess2" src="static/img/user/images/input-check-yes.png" alt="">

+ 4 - 3
src/main/webapp/resources/view/vendor/modal/updateUserTel.html

@@ -37,7 +37,7 @@
     }
     }
     .userTel .modal-body .row.validate-code .col-md-8 .code-btn {
     .userTel .modal-body .row.validate-code .col-md-8 .code-btn {
         width: 37%;
         width: 37%;
-        height: 30px;
+        height: 31px;
         text-align: center;
         text-align: center;
         line-height: 30px;
         line-height: 30px;
         vertical-align: middle;
         vertical-align: middle;
@@ -101,6 +101,7 @@
             <label class="col-md-3 col-sm-3 col text-right">原手机号:</label>
             <label class="col-md-3 col-sm-3 col text-right">原手机号:</label>
             <div class="col-md-8 col-sm-8 col"><input ng-model="user.userTel" class="form-control input-sm"
             <div class="col-md-8 col-sm-8 col"><input ng-model="user.userTel" class="form-control input-sm"
                                                       type="userTel"  ng-blur="checkUserTel(user.userTel)"
                                                       type="userTel"  ng-blur="checkUserTel(user.userTel)"
+                                                      placeholder="请输入原手机号"
                                                       ></div>
                                                       ></div>
             <div class="col">
             <div class="col">
                 <img ng-show="checkSuccess" src="static/img/user/images/input-check-yes.png" alt="">
                 <img ng-show="checkSuccess" src="static/img/user/images/input-check-yes.png" alt="">
@@ -112,7 +113,7 @@
             <label class="col-md-3 col-sm-3 col text-right">新手机号:</label>
             <label class="col-md-3 col-sm-3 col text-right">新手机号:</label>
             <div class="col-md-8 col-sm-8 col">
             <div class="col-md-8 col-sm-8 col">
                 <input ng-model="user.newUserTel"
                 <input ng-model="user.newUserTel"
-                       class="form-control input-sm" type="newUserTel" ng-blur="telEnable(user.newUserTel)">
+                       class="form-control input-sm" placeholder="请输入新手机号" type="newUserTel" ng-blur="telEnable(user.newUserTel)">
                 <!-- <div>密码复杂度</div> -->
                 <!-- <div>密码复杂度</div> -->
             </div>
             </div>
             <div class="col">
             <div class="col">
@@ -128,7 +129,7 @@
             <span class="col-md-8 col-sm-8 col">
             <span class="col-md-8 col-sm-8 col">
                 <input ng-model="telCheckCode"
                 <input ng-model="telCheckCode"
                        class="form-control input-sm" placeholder="请输入验证码"  type="telCheckCode" ng-blur="validTelCheckCode(telCheckCode)">
                        class="form-control input-sm" placeholder="请输入验证码"  type="telCheckCode" ng-blur="validTelCheckCode(telCheckCode)">
-                <input class="code-btn" ng-click="sendTelCheckCode(user.newUserTel)" ng-init="paracont='获取验证码'" ng-disabled="!sendSuccess" ng-model="paracont" />
+                <input class="code-btn" readonly ng-click="sendTelCheckCode(user.newUserTel)" ng-init="paracont='获取验证码'" ng-disabled="!sendSuccess" ng-model="paracont" />
             </span>
             </span>
             <div class="col">
             <div class="col">
                 <img ng-show="checkSuccess2" src="static/img/user/images/input-check-yes.png" alt="">
                 <img ng-show="checkSuccess2" src="static/img/user/images/input-check-yes.png" alt="">