Преглед изворни кода

Merge branch 'dev-mysql' into liusw-seekpurchase-v1.0.12.12

# Conflicts:
#	src/main/java/com/uas/platform/b2c/prod/commodity/dao/GoodsDao.java
liusw пре 8 година
родитељ
комит
472df4751d
32 измењених фајлова са 4003 додато и 805 уклоњено
  1. 20 1
      src/main/java/com/uas/platform/b2c/common/account/controller/SecurityController.java
  2. 5 1
      src/main/java/com/uas/platform/b2c/common/account/controller/UserController.java
  3. 16 0
      src/main/java/com/uas/platform/b2c/common/account/model/User.java
  4. 13 2
      src/main/java/com/uas/platform/b2c/external/erp/commodity/service/impl/BankInfoServiceImpl.java
  5. 30 7
      src/main/java/com/uas/platform/b2c/external/erp/order/service/impl/B2cOrderServiceImpl.java
  6. 2 0
      src/main/java/com/uas/platform/b2c/external/erp/order/util/ModelConverter.java
  7. 22 1
      src/main/java/com/uas/platform/b2c/prod/commodity/controller/GoodsController.java
  8. 18 0
      src/main/java/com/uas/platform/b2c/prod/commodity/dao/GoodsDao.java
  9. 7 1
      src/main/java/com/uas/platform/b2c/prod/commodity/model/GoodsHistory.java
  10. 7 0
      src/main/java/com/uas/platform/b2c/prod/commodity/service/GoodsService.java
  11. 49 1
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/GoodsServiceImpl.java
  12. 2 0
      src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderServiceImpl.java
  13. 69 61
      src/main/java/com/uas/platform/b2c/trade/rate/service/impl/RateServiceImpl.java
  14. 2 0
      src/main/webapp/WEB-INF/views/normal/erp/user_center.html
  15. 2 0
      src/main/webapp/WEB-INF/views/normal/erp/vendor_center.html
  16. 1 0
      src/main/webapp/resources/css/common.css
  17. 46 6
      src/main/webapp/resources/js/admin/controllers/AuditRealAuthCtrl.js
  18. 20 0
      src/main/webapp/resources/js/common/controllers/commonCtrls.js
  19. 6 3
      src/main/webapp/resources/js/usercenter/controllers/forstore/account_manager_ctrl.js
  20. 1 2
      src/main/webapp/resources/js/usercenter/controllers/forstore/buyer_home_ctrl.js
  21. 6 3
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_account_management_ctrl.js
  22. 14 8
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_materialCtrl.js
  23. 1 1
      src/main/webapp/resources/view/admin/audit_realAuth.html
  24. 12 0
      src/main/webapp/resources/view/admin/modal/realAuth_remarks.html
  25. 53 24
      src/main/webapp/resources/view/usercenter/forstore/account_manager.html
  26. 18 6
      src/main/webapp/resources/view/usercenter/left_nav.html
  27. 1727 293
      src/main/webapp/resources/view/vendor/forstore/erp/vendor_material_erp.html
  28. 1739 323
      src/main/webapp/resources/view/vendor/forstore/erp/vendor_material_unstandard_erp.html
  29. 3 3
      src/main/webapp/resources/view/vendor/forstore/erp/vendor_onSale_erp.html
  30. 3 3
      src/main/webapp/resources/view/vendor/forstore/erp/vendor_undercarriage_erp.html
  31. 61 39
      src/main/webapp/resources/view/vendor/forstore/vendor_account_management.html
  32. 28 16
      src/main/webapp/resources/view/vendor/left_nav.html

+ 20 - 1
src/main/java/com/uas/platform/b2c/common/account/controller/SecurityController.java

@@ -2,6 +2,8 @@ package com.uas.platform.b2c.common.account.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.uas.account.entity.UserView;
+import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
+import com.uas.platform.b2c.common.account.dao.UserDao;
 import com.uas.platform.b2c.common.account.dao.UserLoginTimeDao;
 import com.uas.platform.b2c.common.account.model.Enterprise;
 import com.uas.platform.b2c.common.account.model.SigninLog;
@@ -52,6 +54,12 @@ public class SecurityController {
 	@Autowired
 	private UserLoginTimeDao userLoginTimeDao;
 
+	@Autowired
+	private EnterpriseDao enterpriseDao;
+
+	@Autowired
+	private UserDao userDao;
+
 	private final DeviceResolver deviceResolver = new LiteDeviceResolver();
 
 	/**
@@ -282,7 +290,18 @@ public class SecurityController {
 			if (authedUser != null && authedUser.getEnterprises() != null) {
 				// 企业资料在client系统自己的唯一标识,比如en_uu
 				if (tokenUser.getSpaceDialectUID() != null) {
-					authedUser.setCurrentEnterprise(Long.parseLong(tokenUser.getSpaceDialectUID()));
+					// 如果企业不存在则更新该企业
+					for (Enterprise enterprise : authedUser.getEnterprises()) {
+						if (enterprise.getUu().equals(Long.parseLong(tokenUser.getSpaceDialectUID()))){
+							authedUser.setEnterprise(enterprise);
+						}
+					}
+					if (null == authedUser.getEnterprise()) {
+						Enterprise newEnterprise = enterpriseDao.findByUu(Long.parseLong(tokenUser.getSpaceDialectUID()));
+						authedUser.getEnterprises().add(newEnterprise);
+						userDao.save(authedUser);
+						authedUser.setEnterprise(newEnterprise);
+					}
 				} else if (tokenUser.getSpaceUID() != null) {
 					for (Enterprise enterprise : authedUser.getEnterprises()) {
 						// 企业资料在所有系统公认的唯一标识,这里使用商业登记证号

+ 5 - 1
src/main/java/com/uas/platform/b2c/common/account/controller/UserController.java

@@ -258,7 +258,7 @@ public class UserController {
 			throw new IllegalOperatorException("新邮箱地址与旧邮箱地址相同");
 		}
 		// 正则校验邮箱地址
-		if(!newUserEmail.matches("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+")){
+		if(!newUserEmail.matches("^[A-Za-z0-9\\u4e00-\\u9fa5]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$")){
 			throw new IllegalOperatorException("新邮箱地址格式不正确");
 		}
 		String _checkCode = (String) session.getAttribute("checkCode");
@@ -770,7 +770,11 @@ public class UserController {
 	public ResponseEntity<String> updateIdEnable(final User user) {
 		User oldUser = userService.findUserByUserUU(user.getUserUU());
 		oldUser.setIdEnable(user.getIdEnable());
+		oldUser.setIdRemarks(user.getIdRemarks());
 		User newUser = userService.saveRealAuth(oldUser);
+		if (!StringUtils.isEmpty(user.getIdRemarks())) {
+			smsService.send("bda635e5-156d-4e86-894b-a83071a678e8", newUser.getUserTel(), new Object[] {newUser.getIdRemarks()});
+		}
 		assert logger != null;
 		logger.log("用户信息", SystemSession.getUser().getUserUU()+"后台审核实名认证,UU:" +  newUser.getUserUU());
 		return new ResponseEntity<String>(HttpStatus.OK);

+ 16 - 0
src/main/java/com/uas/platform/b2c/common/account/model/User.java

@@ -194,9 +194,18 @@ public class User implements Serializable {
 	@Column(name = "user_pwdseclevel")
 	private Short pwdSecLevel;
 
+	/**
+	 * 最后一次登录时间
+	 */
 	@Column(name = "user_lastlogintime")
 	private Long lastLoginTime;
 
+	/**
+	 * 身份审核不通过备注
+	 */
+	@Column(name = "user_idRemarks")
+	private String idRemarks;
+
 	public Long getLastLoginTime() {
 		return lastLoginTime;
 	}
@@ -474,4 +483,11 @@ public class User implements Serializable {
 		}
 	}
 
+	public String getIdRemarks() {
+		return idRemarks;
+	}
+
+	public void setIdRemarks(String idRemarks) {
+		this.idRemarks = idRemarks;
+	}
 }

+ 13 - 2
src/main/java/com/uas/platform/b2c/external/erp/commodity/service/impl/BankInfoServiceImpl.java

@@ -7,8 +7,11 @@ import com.uas.platform.b2c.fa.payment.dao.BankInfoDao;
 import com.uas.platform.b2c.fa.payment.model.BankInfo;
 import com.uas.platform.core.model.Status;
 import com.uas.platform.core.model.Type;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.List;
+
 /**
  * Created by wangyc on 2017/11/10.
  *
@@ -24,14 +27,22 @@ public class BankInfoServiceImpl implements BankInfoService {
 
     @Override
     public BankInfoERP findOne() {
-        BankInfo bankInfo = bankInfoService.getEnterpriseBankInfoContainsStatus(Type.SUP.value(), Status.ALLOW.value()).get(0);
+        List<BankInfo> bankInfoList = bankInfoService.getEnterpriseBankInfoContainsStatus(Type.SUP.value(), Status.ALLOW.value());
+        if (CollectionUtils.isEmpty(bankInfoList)) {
+            return null;
+        }
+        BankInfo bankInfo = bankInfoList.get(0);
         BankInfoERP bankInfoERP = ModelConverter.convert(bankInfo);
         return bankInfoERP;
     }
 
     @Override
     public void callback(String erpNum) {
-        BankInfo bankInfo = bankInfoService.getEnterpriseBankInfoContainsStatus(Type.SUP.value(), Status.ALLOW.value()).get(0);
+        List<BankInfo> bankInfoList = bankInfoService.getEnterpriseBankInfoContainsStatus(Type.SUP.value(), Status.ALLOW.value());
+        if (CollectionUtils.isEmpty(bankInfoList)) {
+            return;
+        }
+        BankInfo bankInfo = bankInfoList.get(0);
         bankInfo.setErpNum(erpNum);
         bankInfoDao.save(bankInfo);
     }

+ 30 - 7
src/main/java/com/uas/platform/b2c/external/erp/order/service/impl/B2cOrderServiceImpl.java

@@ -5,7 +5,9 @@ import com.uas.api.b2c_erp.buyer.model.B2cOrderDetail;
 import com.uas.api.b2c_erp.buyer.model.Payment;
 import com.uas.api.b2c_erp.buyer.service.B2cOrderService;
 import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
+import com.uas.platform.b2c.common.account.dao.UserDao;
 import com.uas.platform.b2c.common.account.model.Enterprise;
+import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.FastjsonUtils;
@@ -22,6 +24,7 @@ import com.uas.platform.b2c.trade.order.dao.OrderDao;
 import com.uas.platform.b2c.trade.order.model.Order;
 import com.uas.platform.b2c.trade.order.model.OrderDetail;
 import com.uas.platform.b2c.trade.order.service.OrderService;
+import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.model.Status;
 import com.uas.platform.core.model.Type;
 import com.uas.platform.core.persistence.criteria.LogicalExpression;
@@ -68,9 +71,17 @@ public class B2cOrderServiceImpl implements B2cOrderService {
     @Autowired
     private BankInfoService bankInfoService;
 
+    @Autowired
+    private UserDao userDao;
+
     @Autowired
     private EnterpriseDao enterpriseDao;
 
+    /**
+     * 成功标语
+     */
+    private static final String SUCCESS = "success";
+
     @Override
     public List<B2cOrder> getAllOrder() {
         // 要获取的采购的状态
@@ -105,13 +116,14 @@ public class B2cOrderServiceImpl implements B2cOrderService {
                 GoodsHistory goodsHistory = goodsHistoryDao.findNewByBatchCode(orderDetail.getBatchCode());
                 if (goodsHistory != null) {
                     List<Product> products = productDao.findByEnUUAndCmpUuId(enuu, goodsHistory.getUuid());
+                    B2cOrderDetail b2cOrderDetail = ModelConverter.convertUas(orderDetail);
                     if (!CollectionUtils.isEmpty(products)) {
-                        B2cOrderDetail b2cOrderDetail = ModelConverter.convertUas(orderDetail);
                         b2cOrderDetail.setProductCode(products.get(0).getProdNum());// 添加erp物料编号
-                        b2cOrderDetails.add(b2cOrderDetail);
-                    } else {
-                        productExists = false;
                     }
+                    b2cOrderDetails.add(b2cOrderDetail);
+                    // else {
+                    //     productExists = false;
+                    // }
                 }
             }
             if (productExists) {
@@ -149,17 +161,28 @@ public class B2cOrderServiceImpl implements B2cOrderService {
         if (!CollectionUtils.isEmpty(mallBankInfos)) {
             bankTransfer.setJsonReceive(FastjsonUtils.toJson(mallBankInfos.get(0)));
         }
-
+        // erp部分修改当前处理人信息
+        Order order = orderDao.findByOrderid(payment.getOrderid());
+        List<User> users = userDao.findUserByUserUU(order.getBuyeruu());
+        if (!SystemSession.getUser().getEnterprise().getUu().equals(order.getBuyerenuu())){
+            throw new IllegalOperatorException("警告!订单不能确认!您无权限操作");
+        }
+        if (!CollectionUtils.isEmpty(users)){
+            users.get(0).setCurrentEnterprise(order.getBuyerenuu());
+        }
+        SystemSession.setUser(users.get(0));
         bankTransferService.save(bankTransfer, payment.getOrderid());
         return true;
     }
 
     @Override
-    public B2cOrder ensury(String orderid) {
+    public String ensury(String orderid) {
         Order order = orderDao.findByOrderid(orderid);
         if (order != null) {
             orderService.ensureOrderAccept(order.getId().toString());
+            return SUCCESS;
+        } else {
+            throw new IllegalOperatorException("警告!订单编号有误");
         }
-        return null;
     }
 }

+ 2 - 0
src/main/java/com/uas/platform/b2c/external/erp/order/util/ModelConverter.java

@@ -130,6 +130,8 @@ public class ModelConverter {
 		b2cOrderDetail.setTaxes(orderDetail.getTaxes());
 		b2cOrderDetail.setUnitprice(orderDetail.getTaxUnitprice());
 		b2cOrderDetail.setUuid(orderDetail.getUuid());
+		b2cOrderDetail.setBrandNameCn(orderDetail.getBrandNameCn());
+		b2cOrderDetail.setBrName(orderDetail.getBrName());
 
 		return b2cOrderDetail;
 	}

+ 22 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/controller/GoodsController.java

@@ -719,13 +719,34 @@ public class GoodsController {
         return goodsService.deleteGoods(id);
     }
 
-    @RequestMapping(value = "/arrange", method = RequestMethod.GET)
+	/**
+	 * 修正正式系统的数据
+	 *
+	 * @return
+	 */
+	@RequestMapping(value = "/arrange", method = RequestMethod.GET)
     public String arrangeGoods() {
 		return goodsService.arrangeGoods();
 	}
 
+	/**
+	 *	获取删除 的信息
+	 *
+	 * @param productid
+	 * @return
+	 */
 	@RequestMapping(value = "/{productid}/deleteMessage", method = RequestMethod.GET)
 	public ResultMap getDeleteProductMessage(@PathVariable("productid") Long productid) {
 		return goodsService.getDeleteProductMessage(productid);
 	}
+
+	/**
+	 * 修正正式系统的分段价格数据
+	 *
+	 * @return
+	 */
+	@RequestMapping(value = "/data/modify", method = RequestMethod.GET)
+	public String modifyData() {
+		return  goodsService.modifyData();
+	}
 }

+ 18 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/dao/GoodsDao.java

@@ -652,6 +652,24 @@ public interface GoodsDao extends JpaSpecificationExecutor<Goods>, JpaRepository
     @Query(value = "select count(1) from Goods g where g.enUU = :enUU and g.brandNameEn = :brandEn and g.code = :code and g.tag = :tag")
     int findCountByTagInGoods(@Param("enUU") Long enUU, @Param("brandEn") String brandEn, @Param("code") String code, @Param("tag") String tag);
 
+    /**
+     * 分页获取库存的信息
+     *
+     * @param start 起始值
+     * @param length 结束值
+     * @return List<Goods>
+     */
+    @Query(value = "select * from trade$goods order by go_id desc limit :start, :length", nativeQuery = true)
+    List<Goods> findGoodsByPage(@Param("start") Long start, @Param("length") Long length);
+
+    /**
+     * 获取数据总的在售信息
+     *
+     * @return
+     */
+    @Query(value = "select count(1) from Goods")
+    Long getCountGoods();
+
     /**
      * 根据型号和品牌获取商城现货id
      * @param code

+ 7 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/model/GoodsHistory.java

@@ -961,9 +961,15 @@ public class GoodsHistory {
 		/**
 		 * {@code, 614 手动删除}
 		 */
-		DELETE(614, "手动删除");
+		DELETE(614, "手动删除"),
+
+		/**
+		 * 修改价格信息
+		 */
+		MODIFY_PRICE(615, "修改价格信息");
 
 		private final int value;
+
 		private final String phrase;
 
 		OperateType(int value, String phrase) {

+ 7 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/GoodsService.java

@@ -642,4 +642,11 @@ public interface GoodsService {
      */
     ResultMap getDeleteProductMessage(Long
                                               productid);
+
+    /**
+     * 修正测试的数据
+     *
+     * @return
+     */
+    String modifyData();
 }

+ 49 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/GoodsServiceImpl.java

@@ -16,9 +16,11 @@ import com.uas.platform.b2c.core.constant.SplitChar;
 import com.uas.platform.b2c.core.constant.Status;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.DoubleArith;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.core.utils.NumberUtil;
 import com.uas.platform.b2c.core.utils.PatternUtil;
 import com.uas.platform.b2c.external.erp.commodity.util.ModelConverter;
+import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
 import com.uas.platform.b2c.prod.commodity.constant.IntegerConstant;
 import com.uas.platform.b2c.prod.commodity.constant.StringConstant;
 import com.uas.platform.b2c.prod.commodity.dao.*;
@@ -3016,7 +3018,7 @@ public class GoodsServiceImpl implements GoodsService {
 
 
     /**
-     * 根据productid
+     * 根据productid 获取删除的信息
      *
      * @param productid
      */
@@ -3090,4 +3092,50 @@ public class GoodsServiceImpl implements GoodsService {
 
         return ResultMap.success(null);
     }
+
+    /**
+     * 修正测试的数据
+     *
+     * @return
+     */
+    @Override
+    public String modifyData() {
+        Long countGoods = goodsDao.getCountGoods();
+        Long start = 0l, length = 1000l;
+        List<GoodsHistory> histories = new ArrayList<>();
+        List<Goods> goodses = new ArrayList<>();
+        Boolean isModify = false;
+        while (Long.compare(start, countGoods) < 0) {
+            List<Goods> goodsByPage = goodsDao.findGoodsByPage(start, length);
+            for (Goods goods : goodsByPage) {
+                isModify = false;
+                String qtyPrice = goods.getQtyPrice();
+                List<GoodsQtyPrice> list = FastjsonUtils.fromJsonArray(qtyPrice, GoodsQtyPrice.class);
+                int size = list.size() - 1;
+                GoodsQtyPrice goodsQtyPrice = list.get(size);
+                goodsQtyPrice.setEnd(DoubleConstant.maxReserve);
+                Double end1 = list.get(0).getEnd();
+                while (NumberUtil.compare(goods.getMinBuyQty(), end1) >= 0) {
+                    list.remove(0);
+                    end1 = list.get(0).getEnd();
+                    isModify = true;
+                }
+                if (NumberUtil.compare(goods.getMinBuyQty(), list.get(0).getStart()) != 0) {
+                    list.get(0).setStart(goods.getMinBuyQty());
+                    isModify = true;
+                }
+                if (isModify) {
+                    goods.setQtyPrice(FastjsonUtils.toJson(list));
+                    GoodsHistory goodsHistory = goodsHistoryService.converTGoodsHist(goods, OperateType.MODIFY_PRICE.getPhrase());
+                    histories.add(goodsHistory);
+                    goodses.add(goods);
+                }
+
+            }
+            start = start + length;
+        }
+        goodsHistoryService.save(histories);
+        goodsDao.save(goodses);
+        return String.valueOf(goodses.size());
+    }
 }

+ 2 - 0
src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderServiceImpl.java

@@ -2829,6 +2829,8 @@ public class OrderServiceImpl implements OrderService {
             }
         }
         order.setStatus(Status.DELETED.value(), userUU);
+        // 用户自动取消订单,将erp下载状态更新为待下载状态
+        order.setSendstatus(Status.NOT_UPLOAD.value());
         orderDao.save(order);
     }
 

+ 69 - 61
src/main/java/com/uas/platform/b2c/trade/rate/service/impl/RateServiceImpl.java

@@ -37,7 +37,7 @@ import java.util.List;
  * Created by wangdy on 2017-08-30.
  */
 @Service
-public class RateServiceImpl implements RateService{
+public class RateServiceImpl implements RateService {
 
     @Autowired
     RateVendorDao rateVendorDao;
@@ -49,7 +49,7 @@ public class RateServiceImpl implements RateService{
     RateTemplateDao rateTemplateDao;
 
     @Autowired
-    RateBuyerDao  rateBuyerDao;
+    RateBuyerDao rateBuyerDao;
 
     @Autowired
     OrderDao orderDao;
@@ -60,7 +60,7 @@ public class RateServiceImpl implements RateService{
     final private short isAnony = 1;
 
     @Override
-    public RateVendor saveRateVendor(String orderId , RateVendor rateVendor) {
+    public RateVendor saveRateVendor(String orderId, RateVendor rateVendor) {
         rateVendor.setUserUU(SystemSession.getUser().getUserUU());
         rateVendor.setUserEnuu(SystemSession.getUser().getEnterprise().getUu());
         rateVendor.setOrderId(orderId);
@@ -70,11 +70,11 @@ public class RateServiceImpl implements RateService{
     }
 
     @Override
-    public void saveRateGoods(String orderId , List<RateGoods> rateGoodsList) {
-        if (rateGoodsDao.findByOrderId(orderId) != null && rateGoodsDao.findByOrderId(orderId).size() != 0){
+    public void saveRateGoods(String orderId, List<RateGoods> rateGoodsList) {
+        if (rateGoodsDao.findByOrderId(orderId) != null && rateGoodsDao.findByOrderId(orderId).size() != 0) {
             throw new RuntimeException();
         }
-        for (RateGoods rateGoods : rateGoodsList){
+        for (RateGoods rateGoods : rateGoodsList) {
             //默认匿名评价
             rateGoods.setIsAnony(rateGoods.getIsAnony() == null ? isAnony : rateGoods.getIsAnony());
             rateGoods.setUserUU(SystemSession.getUser().getUserUU());
@@ -95,55 +95,57 @@ public class RateServiceImpl implements RateService{
     @Override
     @Transactional
     public void savebuyerRate(String orderId, RateVendor rateVendor, List<RateGoods> rateGoodsList) {
-        if (null != getRateVendorByOrderId(orderId)){
+        if (null != getRateVendorByOrderId(orderId)) {
             throw new RuntimeException();
         }
-        saveRateVendor(orderId,rateVendor);
-        saveRateGoods(orderId,rateGoodsList);
+        saveRateVendor(orderId, rateVendor);
+        saveRateGoods(orderId, rateGoodsList);
     }
 
     @Override
-    public void autosavebuyerRate(String ids){
-            String[] idArray = ids.split(SplitChar.HYPHEN);
-            for (String id : idArray) {
-                Order order = orderDao.findByOrderid(id);
-                if (null == order){
-                    continue;
-                }
-                if (order.getRateStatus() == 523 || order.getRateStatus() == 522) { continue;}
-                rateGoodsDao.delete(rateGoodsDao.findByOrderId(order.getOrderid()));
-                for (OrderDetail orderDetail : order.getOrderDetails()){
-                    RateGoods rateGoods = new RateGoods();
-                    rateGoods.setBuyerRateTime(new Date(System.currentTimeMillis()));
-                    rateGoods.setBuyerRate("此用户未及时做出评价,系统默认好评!");
-                    rateGoods.setIsAnony(isAnony);
-                    rateGoods.setEnuu(order.getSellerenuu());
-                    rateGoods.setGoodsId(orderDetail.getId());
-                    rateGoods.setLevel(isAnony);
-                    rateGoods.setOrderId(order.getOrderid());
-                    rateGoods.setStoreId(order.getStoreid());
-                    rateGoods.setUserEnuu(order.getBuyerenuu());
-                    rateGoods.setUserUU(order.getBuyeruu());
-                    rateGoodsDao.save(rateGoods);
-                }
-                RateVendor rateVendor = new RateVendor();
-                rateVendor.setUserUU(order.getBuyeruu());
-                rateVendor.setUserEnuu(order.getBuyerenuu());
-                rateVendor.setOrderId(order.getOrderid());
-                rateVendor.setTime(new Date(System.currentTimeMillis()));
-                rateVendor.setStoreId(order.getStoreid());
-                rateVendor.setEnuu(order.getSellerenuu());
-                rateVendor.setDescribeLevel((short)5);
-                rateVendor.setLogisticsLevel((short)5);
-                rateVendor.setVendorLevel((short)5);
-                rateVendorDao.save(rateVendor);
-                //订单状态变更
+    public void autosavebuyerRate(String ids) {
+        String[] idArray = ids.split(SplitChar.HYPHEN);
+        for (String id : idArray) {
+            Order order = orderDao.findByOrderid(id);
+            if (null == order) {
+                continue;
+            }
+            if (null != order.getRateStatus() && (order.getRateStatus().intValue() == Status.REVIEWED.value() || order.getRateStatus().intValue() == Status.TO_BE_AFTERREVIEWED.value())) {
+                continue;
+            }
+            rateGoodsDao.delete(rateGoodsDao.findByOrderId(order.getOrderid()));
+            for (OrderDetail orderDetail : order.getOrderDetails()) {
+                RateGoods rateGoods = new RateGoods();
+                rateGoods.setBuyerRateTime(new Date(System.currentTimeMillis()));
+                rateGoods.setBuyerRate("此用户未及时做出评价,系统默认好评!");
+                rateGoods.setIsAnony(isAnony);
+                rateGoods.setEnuu(order.getSellerenuu());
+                rateGoods.setGoodsId(orderDetail.getId());
+                rateGoods.setLevel(isAnony);
+                rateGoods.setOrderId(order.getOrderid());
+                rateGoods.setStoreId(order.getStoreid());
+                rateGoods.setUserEnuu(order.getBuyerenuu());
+                rateGoods.setUserUU(order.getBuyeruu());
+                rateGoodsDao.save(rateGoods);
+            }
+            RateVendor rateVendor = new RateVendor();
+            rateVendor.setUserUU(order.getBuyeruu());
+            rateVendor.setUserEnuu(order.getBuyerenuu());
+            rateVendor.setOrderId(order.getOrderid());
+            rateVendor.setTime(new Date(System.currentTimeMillis()));
+            rateVendor.setStoreId(order.getStoreid());
+            rateVendor.setEnuu(order.getSellerenuu());
+            rateVendor.setDescribeLevel((short) 5);
+            rateVendor.setLogisticsLevel((short) 5);
+            rateVendor.setVendorLevel((short) 5);
+            rateVendorDao.save(rateVendor);
+            //订单状态变更
                 /*if (order.getStatus().intValue() < Status.RECEIVED.value()) {
                     throw new IllegalOperatorException("当前订单不在已完成状态,不能收货!");
                 }*/
-                order.setStatusToBeAfterReviewed(SystemSession.getUser().getUserUU());
-                orderDao.save(order);
-            }
+            order.setStatusToBeAfterReviewed(SystemSession.getUser().getUserUU());
+            orderDao.save(order);
+        }
     }
 
     @Override
@@ -152,7 +154,9 @@ public class RateServiceImpl implements RateService{
         for (String id : idArray) {
             //订单状态变更
             Order order = orderDao.findByOrderid(id);
-            if (order.getRateStatus() == 522){continue;}
+            if (order.getRateStatus() == 522) {
+                continue;
+            }
             if (order.getRateStatus().intValue() != Status.TO_BE_AFTERREVIEWED.value()) {
                 throw new IllegalOperatorException("当前订单未完成初评,不能追评!");
             }
@@ -177,15 +181,17 @@ public class RateServiceImpl implements RateService{
     }
 
     @Override
-    public void autosaveVendorRate(String ids ,boolean isFirst) {
+    public void autosaveVendorRate(String ids, boolean isFirst) {
         String[] idArray = ids.split(SplitChar.HYPHEN);
         for (String id : idArray) {
             //订单状态变更
             Purchase purchase = purchaseDao.findByPurchaseid(id);
-            if(isFirst){
+            if (isFirst) {
                 Order order = orderDao.findByOrderid(purchase.getOrderid());
 
-                if(rateBuyerDao.findByOrderId(order.getOrderid()) !=null ){continue;}
+                if (rateBuyerDao.findByOrderId(order.getOrderid()) != null) {
+                    continue;
+                }
                 RateBuyer rateBuyer = new RateBuyer();
                 rateBuyer.setLevel(isAnony);
                 rateBuyer.setOrderId(purchase.getOrderid());
@@ -199,14 +205,16 @@ public class RateServiceImpl implements RateService{
                 rateBuyerDao.save(rateBuyer);
                 //purchase.setTobeRate(SystemSession.getUser().getUserUU());
                 //purchaseDao.save(purchase);
-            }else {
+            } else {
                 RateBuyer rateBuyer;
                 try {
-                     rateBuyer = rateBuyerDao.findByOrderId(purchase.getOrderid()).get(0);
-                }catch (Exception e ){
+                    rateBuyer = rateBuyerDao.findByOrderId(purchase.getOrderid()).get(0);
+                } catch (Exception e) {
+                    continue;
+                }
+                if (rateBuyer.getVendorAfterRateTime() != null) {
                     continue;
                 }
-                if(rateBuyer.getVendorAfterRateTime() !=null ){continue;}
                 rateBuyer.setVendorAfterRateTime(new Date(System.currentTimeMillis()));
                 rateBuyerDao.save(rateBuyer);
                 //purchase.setTobeAfterRate(SystemSession.getUser().getUserUU());
@@ -224,7 +232,7 @@ public class RateServiceImpl implements RateService{
 
     @Override
     public RateGoods saveReply(String orderId, Long goodsId, String reply) {
-        RateGoods rateGoods = rateGoodsDao.findByOrderIdAndGoodsId(orderId,goodsId).get(0);
+        RateGoods rateGoods = rateGoodsDao.findByOrderIdAndGoodsId(orderId, goodsId).get(0);
         rateGoods.setReturnMeg(reply);
         rateGoods.setReturnMegTime(new Date(System.currentTimeMillis()));
         return rateGoodsDao.save(rateGoods);
@@ -232,7 +240,7 @@ public class RateServiceImpl implements RateService{
 
     @Override
     public RateGoods saveAfterReply(String orderId, Long goodsId, String reply) {
-        RateGoods rateGoods = rateGoodsDao.findByOrderIdAndGoodsId(orderId,goodsId).get(0);
+        RateGoods rateGoods = rateGoodsDao.findByOrderIdAndGoodsId(orderId, goodsId).get(0);
         rateGoods.setAfterReturnMeg(reply);
         rateGoods.setAfterReturnMegTime(new Date(System.currentTimeMillis()));
         return rateGoodsDao.save(rateGoods);
@@ -250,10 +258,10 @@ public class RateServiceImpl implements RateService{
 
     @Override
     public RateBuyer getRateBuyerByOrderId(String orderId) {
-        RateBuyer rateBuyer ;
+        RateBuyer rateBuyer;
         try {
             rateBuyer = rateBuyerDao.findByOrderId(orderId).get(0);
-        }catch (IndexOutOfBoundsException e){
+        } catch (IndexOutOfBoundsException e) {
             return null;
         }
         return rateBuyer;
@@ -264,7 +272,7 @@ public class RateServiceImpl implements RateService{
         RateVendor rateVendor;
         try {
             rateVendor = rateVendorDao.findByOrderId(orderId).get(0);
-        }catch (IndexOutOfBoundsException e){
+        } catch (IndexOutOfBoundsException e) {
             return null;
         }
         return rateVendor;
@@ -275,7 +283,7 @@ public class RateServiceImpl implements RateService{
         RateGoods rateGoods;
         try {
             rateGoods = rateGoodsDao.findByGoodsId(goodsId).get(0);
-        }catch (IndexOutOfBoundsException e){
+        } catch (IndexOutOfBoundsException e) {
             return null;
         }
         return rateGoods;

+ 2 - 0
src/main/webapp/WEB-INF/views/normal/erp/user_center.html

@@ -42,6 +42,8 @@
 			</div>
 		</div>
 	</section>
+	<div ng-controller="AuthenticationCtrl">
+	</div>
 	<footer class="clearfix">
 		<div ng-include src="'static/view/common/footer_erp.html'" style="margin-top: 40px;"></div>
 	</footer>

+ 2 - 0
src/main/webapp/WEB-INF/views/normal/erp/vendor_center.html

@@ -39,6 +39,8 @@
 			</div>
 		</div>
 	</section>
+	<div ng-controller="AuthenticationCtrl">
+	</div>
 	<footer class="clearfix" style="margin-top: 40px;">
 		<div ng-include src="'static/view/common/footer_erp.html'"></div>
 	</footer>

+ 1 - 0
src/main/webapp/resources/css/common.css

@@ -403,6 +403,7 @@ input.ng-invalid.ng-dirty,textarea.ng-invalid.ng-dirty {
 .modal-open .modal {
     overflow-x: hidden;
     overflow-y: hidden;
+		z-index: 1000000 !important;
 }
 
 

+ 46 - 6
src/main/webapp/resources/js/admin/controllers/AuditRealAuthCtrl.js

@@ -1,6 +1,6 @@
 define(['app/app'], function (app) {
   'use strict';
-  app.register.controller('AuditRealAuthCtrl', ['$scope', 'ngTableParams', 'User', 'toaster', 'BaseService', function ($scope, ngTableParams, User, toaster, BaseService) {
+  app.register.controller('AuditRealAuthCtrl', ['$scope', 'ngTableParams', 'User', 'toaster', 'BaseService', '$modal', function ($scope, ngTableParams, User, toaster, BaseService, $modal) {
     $scope.active = 'tobeAudit';
     $scope.status = 2;
     //table设置
@@ -12,22 +12,62 @@ define(['app/app'], function (app) {
       getData : function ($defer, params) {
         const param = BaseService.parseParams(params.url());
         param.status = $scope.status;
-        //param.keyword = $scope.keyword;
         User.getPageStatusRealAuth(param, function (data) {
           params.total(data.totalElements);
           $defer.resolve(data.content);
         }, function (response) {
-          toaster.pop('error', '获取账户信息失败');
+          toaster.pop('error', response.data);
         });
       }
     });
 
-    $scope.updateIdEnable = function(idEnable,info){
+    $scope.updateIdEnable = function(idEnable, info){
         User.updateIdEnable({userUU:info.userUU,idEnable:idEnable},{},function(data){
-            location.reload();
+            toaster.pop('success', '审批完成');
+            $scope.realAuthTableParams.reload();
         },function(response){
-
+            toaster.pop('error', response.data);
         });
     }
+
+    $scope.remarks  = function (info) {
+      openModal(info);
+    }
+
+    // 备注模态框
+    var openModal = function(info) {
+      var modalInstance = $modal.open({
+        templateUrl : 'static/view/admin/modal/realAuth_remarks.html',  //指向上面创建的视图
+        controller : 'AuthRemarksEditCtrl',// 初始化模态范围
+        size : 'sm', // 大小配置
+        resolve: {
+          info: function() {
+            return info;
+          }
+        }
+      });
+      modalInstance.opened.then(function(){// 模态窗口打开之后执行的函数
+
+      });
+      modalInstance.result.then(function(updatedProperty){
+        $scope.realAuthTableParams.reload();
+      }, function(res){
+      });
+    }
+  }]);
+
+  app.register.controller('AuthRemarksEditCtrl', ['$scope','info', '$modalInstance','ngTableParams', 'User', 'toaster', 'BaseService', function ($scope, info, $modalInstance, ngTableParams, User, toaster, BaseService) {
+    $scope.confirm = function(){
+      User.updateIdEnable({userUU: info.userUU,idEnable: 0,idRemarks: $scope.idRemarks},{},function(data){
+        toaster.pop('success', '审批完成,已将审批不通过原因发送给用户');
+        $modalInstance.close();
+      },function(response){
+        toaster.pop('error', response.data);
+      });
+    }
+
+    $scope.cancel = function() {
+      $modalInstance.dismiss();
+    }
   }]);
 });

+ 20 - 0
src/main/webapp/resources/js/common/controllers/commonCtrls.js

@@ -1737,6 +1737,26 @@ define([ 'app/app' ], function(app) {
 		};
 	}]);
 
+  /**
+   * 左侧导航栏控制器
+   */
+	app.controller('leftNavCtrl', ["$scope", "toaster", function($scope, toaster){
+		$scope.promptUpdate = function() {
+			console.info($scope.userInfo.pwdEnable);
+			if (!$scope.userInfo.pwdEnable) {
+        toaster.pop("info", "请修改登录密码");
+        return;
+			}
+      if (!$scope.userInfo.userEmail) {
+        toaster.pop("info", "请绑定邮箱");
+        return;
+      }
+      if (!$scope.userInfo.haveUserQuestion) {
+        toaster.pop("info",  "请设置密保问题 ");
+        return;
+      }
+		}
+  }]);
 	var getOriginalData = function(data) {
 		var result = {};
 		if(data&&data.length) {

+ 6 - 3
src/main/webapp/resources/js/usercenter/controllers/forstore/account_manager_ctrl.js

@@ -14,6 +14,9 @@ define(['app/app'], function (app) {
           $rootScope.active = 'account_manager';
           $scope.tab = 'base';
           $scope.userInfo = $rootScope.userInfo;
+          // $scope.userInfo.pwdEnable = false;
+          // $scope.userInfo.haveUserQuestion = false;
+          // $scope.userInfo.userEmail = null;
           $scope.userInfoBackup = angular.copy($scope.userInfo);
           $scope.canAddTotal = 20;
           //手机号和邮箱号的部分隐藏
@@ -806,7 +809,7 @@ define(['app/app'], function (app) {
           $scope.emailEnable = function (newUserEmail) {
             //邮箱不可用
             if ((newUserEmail == null || newUserEmail.length > 30)
-                || !/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/.test(
+                || !/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(
                     newUserEmail)) {
               $scope.checkSuccess1 = false;
               $scope.checkFailed1 = true;
@@ -837,12 +840,12 @@ define(['app/app'], function (app) {
           $scope.codeSuccess = false;
           //发送验证码
           $scope.sendCheckCode = function (newUserEmail) {
+            $scope.sendSuccess = false;
             User.sendCheckCode({newUserEmail: newUserEmail}, function () {
               $scope.codeSuccess = true;
               $interval.cancel(timePromise);
               var second = 60,
                   timePromise = $interval(function () {
-                    $scope.sendSuccess = false;
                     if (second <= 0) {
                       $interval.cancel(timePromise);
                       second = 60;
@@ -1003,12 +1006,12 @@ define(['app/app'], function (app) {
           $scope.codeSuccess = false;
           //发送验证码
           $scope.sendTelCheckCode = function (newUserTel) {
+            $scope.sendSuccess = false;
             User.sendTelCheckCode({newUserTel: newUserTel}, function () {
               $scope.codeSuccess = true;
               $interval.cancel(timePromise);
               var second = 60,
                   timePromise = $interval(function () {
-                    $scope.sendSuccess = false;
                     if (second <= 0) {
                       $interval.cancel(timePromise);
                       second = 60;

+ 1 - 2
src/main/webapp/resources/js/usercenter/controllers/forstore/buyer_home_ctrl.js

@@ -29,7 +29,7 @@ define(['app/app', 'calendar'], function(app) {
       }
 
         //安全级别
-        if(!($scope.userInfo.pwdEnable && $scope.userInfo.haveUserQuestion && ($scope.userInfo.userEmail==null?false:true))){
+        if(!($scope.userInfo.pwdEnable && $scope.userInfo.haveUserQuestion && $scope.userInfo.userEmail)){
           $scope.openHomeCenterModel();
         }
 
@@ -216,7 +216,6 @@ define(['app/app', 'calendar'], function(app) {
             width: 270,
             height: 220
         });
-
     }]);
   app.register.controller('homeModalCtrl', ['$scope',  '$modalInstance', 'toaster', '$http', 'ShippingAddress','$state', function($scope, $modalInstance, toaster, $http, ShippingAddress,$state){
     $scope.goLink = function(op){

+ 6 - 3
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_account_management_ctrl.js

@@ -10,6 +10,9 @@ define(['app/app'], function(app) {
 		$scope.tab = 'base';
         $scope.userInfo = $rootScope.userInfo;
 		$scope.updateState = false;
+        // $scope.userInfo.pwdEnable = false;
+        // $scope.userInfo.haveUserQuestion = false;
+        // $scope.userInfo.userEmail = null;
 
       //手机号和邮箱号的部分隐藏
       if($scope.userInfo.userTel){
@@ -747,7 +750,7 @@ define(['app/app'], function(app) {
           $scope.emailEnable = function (newUserEmail) {
             //邮箱不可用
             if ((newUserEmail == null || newUserEmail.length > 30)
-                || !/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/.test(
+                || !/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(
                     newUserEmail)) {
               $scope.checkSuccess1 = false;
               $scope.checkFailed1 = true;
@@ -778,12 +781,12 @@ define(['app/app'], function(app) {
           $scope.codeSuccess = false;
           //发送验证码
           $scope.sendCheckCode = function (newUserEmail) {
+            $scope.sendSuccess = false;
             User.sendCheckCode({newUserEmail: newUserEmail}, function () {
               $scope.codeSuccess = true;
               $interval.cancel(timePromise);
               var second = 60,
                   timePromise = $interval(function () {
-                    $scope.sendSuccess = false;
                     if (second <= 0) {
                       $interval.cancel(timePromise);
                       second = 60;
@@ -944,12 +947,12 @@ define(['app/app'], function(app) {
           $scope.codeSuccess = false;
           //发送验证码
           $scope.sendTelCheckCode = function (newUserTel) {
+            $scope.sendSuccess = false;
             User.sendTelCheckCode({newUserTel: newUserTel}, function () {
               $scope.codeSuccess = true;
               $interval.cancel(timePromise);
               var second = 60,
                   timePromise = $interval(function () {
-                    $scope.sendSuccess = false;
                     if (second <= 0) {
                       $interval.cancel(timePromise);
                       second = 60;

+ 14 - 8
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_materialCtrl.js

@@ -47,13 +47,6 @@ define([ 'app/app', 'jquery-uploadify' ], function(app) {
 		};
 
 		$scope.goods = { editBreakUp: false, editSelfSale: 2, editPrices: [{}] };
-		if ($location.$$path.endsWith('vendor_material_unstandard_erp')) {
-			$scope.tab = 'unstandard_material';
-			// $scope.standard_tab = 'unstandard';
-            $scope.param.type = "nStandard";
-            // $scope.param.sorting = {code : 'ASC'};
-            $scope.isBatch = false;
-		}
 
         $scope.sortByERP = 'none';
         $scope.sortByERPReserve = function () {
@@ -791,7 +784,7 @@ define([ 'app/app', 'jquery-uploadify' ], function(app) {
 			var form = $("<form>");   //定义一个form表单
 			form.attr('style', 'display:none');   //在form表单中添加查询参数
 			form.attr('target', '');
-			form.attr('method', 'post');
+			form.attr('method', 'get');
 			form.attr('action', url);
 
 			var input1 = $('<input>');
@@ -1046,6 +1039,19 @@ define([ 'app/app', 'jquery-uploadify' ], function(app) {
 			loadData();
 		};
 
+		var init = function () {
+			$scope.param.keyword = '';
+			if ($scope.standard_tab == 'standard') {
+				$scope.param.type = "standard";
+			} else if ($scope.standard_tab == 'unstandard') {
+				$scope.param.type = "nStandard";
+			}
+			$scope.isBatch = false;
+			$scope.param.count = 10;
+		};
+
+		init();
+
 		loadData();
 
 		var saveNoSaleInfo = function (product) {

+ 1 - 1
src/main/webapp/resources/view/admin/audit_realAuth.html

@@ -107,7 +107,7 @@
 					<td ng-bind="::info.idEnable"></td>
 					<td ng-if="active=='tobeAudit'" class="text-center" style="position: relative;">
 						<a class="btn btn-sm btn-primary" ng-click="updateIdEnable(1,info)">审核通过</a>
-						<a class="btn btn-sm btn-default" ng-click="updateIdEnable(0,info)">审核未通过</a>
+						<a class="btn btn-sm btn-default" ng-click="remarks(info)">审核未通过</a>
 					</td>
 				</tr>
 				<tr ng-if="$data.length == 0">

+ 12 - 0
src/main/webapp/resources/view/admin/modal/realAuth_remarks.html

@@ -0,0 +1,12 @@
+<div class="modal-header">
+	<h3 class="modal-title">备注</h3>
+</div>
+<div class="modal-body">
+	<div class="form-group">
+		<textarea rows="5" cols="40"  type="text" maxlength="30" ng-model="idRemarks"/>
+	</div>
+</div>
+<div class="modal-footer">
+	<button  class="btn btn-success" ng-click="confirm()">确认</button>
+	<button class="btn btn-default" ng-click="cancel()">取消</button>
+</div>

+ 53 - 24
src/main/webapp/resources/view/usercenter/forstore/account_manager.html

@@ -22,6 +22,16 @@
 		color: #666;
 		font-size: 14px;
 	}
+	.rt_menu span.last-login {
+		font-size: 12px;
+		margin: 0 22px 0 0;
+		font-weight: normal;
+	}
+	.rt_menu span.last-login span {
+		font-size: 12px;
+		font-weight: normal;
+		margin: 0;
+	}
 	.count01 .count-content{
 		width: 100%;
 		background: #fff;
@@ -102,6 +112,18 @@
 		color: #666;
 		margin-right: 7px;
 	}
+	.count01 ul li.safe-level .safe-remind {
+		float: right;
+		margin-right: 87px;
+	}
+	.count01 ul li.safe-level .safe-remind a {
+		color: #ff0000;
+		float: none !important;
+	}
+	.count01 ul li.active-safe-box {
+		background: #fef2f2;
+		border: 1px solid #faaebe;
+	}
 	.count01 ul li span font {
 		font-size: 14px;
 		color: #333;
@@ -205,7 +227,9 @@
 	</div>
 	<!--您的安全服务-->
 	<div class="count01 clearfix" ng-if="tab=='safe'">
-		<div class="rt_menu"><span>您的安全服务</span></div>
+		<div class="rt_menu"><span>您的安全服务</span>
+      <span class="last-login pull-right">上次登录时间:<span>{{userInfo.lastLoginTime | date:'yyyy-MM-dd HH:mm:ss'}} </span></span>
+    </div>
 		<ul>
 			<li class="safe-level">
 				<span>安全等级:
@@ -217,21 +241,14 @@
 					<i ng-if="userInfo.secLevel==5 || userInfo.secLevel==6">强</i>
 					<!--完成<a href="javascript:void(0)"> 密保设置</a>,提升账户安全。-->
 				</span>
-				<div class="last-login">上次登录时间:<span>{{userInfo.lastLoginTime | date:'yyyy-MM-dd HH:mm:ss'}} </span></div>
+        <span class="safe-remind" ng-hide="userInfo.pwdEnable && userInfo.haveUserQuestion && userInfo.userEmail">
+          你的账户的安全等级过低,请 <a ng-hide="userInfo.pwdEnable" ng-click="updatePassword()"> 修改密码 </a>
+          <a ng-hide="userInfo.haveUserQuestion" ng-click="updateUserQuestion()"> 设置密保问题 </a>
+          <a  ng-hide="userInfo.userEmail" ng-click="updateUserEmail()"> 绑定邮箱 </a>
+          来保障您的账户安全!
+        </span>
 			</li>
-			<li ng-switch="userInfo.idEnable">
-				<span>
-					<h5 ng-switch-when="1"><img class="ok-icon" src="static/img/user/images/ok-account.png"/></h5>
-					<h5 ng-switch-when="0"><img src="static/img/user/images/safe.png"/></h5>
-					<h5 ng-switch-when="2"><img src="static/img/user/images/safe.png"/></h5>
-					<font>实名认证:</font>
-					<span>实名认证后,可通过实名信息找回支付密码、修改手机号等,提高账户安全性。</span>
-				</span>
-					<a ng-switch-when="0" ng-click="updateRealAuth()" class="mall-btn-default">立即设置</a>
-					<a ng-switch-when="1">审核通过</a>
-					<a ng-switch-when="2">待审核</a>
-			</li>
-			<li>
+			<li ng-class="{'active-safe-box': !userInfo.pwdEnable}">
 				<span>
 					<h5 ng-show="userInfo.pwdEnable"><img class="ok-icon" src="static/img/user/images/ok-account.png"/></h5>
 					<h5 ng-hide="userInfo.pwdEnable"><img src="static/img/user/images/safe.png"/></h5>
@@ -241,7 +258,7 @@
 				<a ng-show="userInfo.pwdEnable" ng-click="updatePassword()">修改</a>
 				<a ng-hide="userInfo.pwdEnable" ng-click="updatePassword()" class="mall-btn-default">立即设置</a>
 			</li>
-			<li>
+			<li ng-class="{'active-safe-box': !userInfo.haveUserQuestion}">
 				<span>
 					<h5 ng-show="userInfo.haveUserQuestion"><img class="ok-icon" src="static/img/user/images/ok-account.png"/></h5>
 					<h5 ng-hide="userInfo.haveUserQuestion"><img src="static/img/user/images/safe.png"/></h5>
@@ -251,6 +268,17 @@
 				<a ng-hide="userInfo.haveUserQuestion" ng-click="updateUserQuestion()" class="mall-btn-default">立即设置</a>
 				<a ng-show="userInfo.haveUserQuestion" ng-click="updateUserQuestion()">修改</a>
 			</li>
+			<li ng-class="{'active-safe-box': !userInfo.userEmail}">
+				<span>
+					<h5 ng-show="userInfo.userEmail"><img class="ok-icon" src="static/img/user/images/ok-account.png"/></h5>
+					<h5 ng-hide="userInfo.userEmail"><img src="static/img/user/images/safe.png"/></h5>
+					<font>邮箱认证:</font>
+					<span ng-show="userInfo.userEmail"><i ng-modal="userInfo.userEmail" style="color:#666;">{{userInfo.userEmail}}</i></span>
+					<span ng-hide="userInfo.userEmail">绑定邮箱可帮助您找回登录密码,并可订阅获取最新的订单动态、促销信息。</span>
+				</span>
+				<a ng-show="userInfo.userEmail" ng-click="updateUserEmail()">修改</a>
+				<a ng-hide="userInfo.userEmail" ng-click="updateUserEmail()" class="mall-btn-default">立即设置</a>
+			</li>
 			<li>
 				<span>
 					<h5><img class="ok-icon" src="static/img/user/images/ok-account.png"/></h5>
@@ -259,16 +287,17 @@
 				</span>
 				<a ng-click="updateUserTel()">修改</a>
 			</li>
-			<li>
+			<li ng-switch="userInfo.idEnable">
 				<span>
-					<h5 ng-show="userInfo.userEmail==null?false:true"><img class="ok-icon" src="static/img/user/images/ok-account.png"/></h5>
-					<h5 ng-hide="userInfo.userEmail==null?false:true"><img src="static/img/user/images/safe.png"/></h5>
-					<font>邮箱认证:</font>
-					<span ng-show="userInfo.userEmail==null?false:true"><i ng-modal="userInfo.userEmail" style="color:#666;">{{userInfo.userEmail}}</i></span>
-					<span ng-hide="userInfo.userEmail==null?false:true">绑定邮箱可帮助您找回登录密码,并可订阅获取最新的订单动态、促销信息。</span>
+					<h5 ng-switch-when="1"><img class="ok-icon" src="static/img/user/images/ok-account.png"/></h5>
+					<h5 ng-switch-when="0"><img src="static/img/user/images/safe.png"/></h5>
+					<h5 ng-switch-when="2"><img src="static/img/user/images/safe.png"/></h5>
+					<font>实名认证:</font>
+					<span>实名认证后,可通过实名信息找回支付密码、修改手机号等,提高账户安全性。</span>
 				</span>
-				<a ng-show="userInfo.userEmail==null?false:true" ng-click="updateUserEmail()">修改</a>
-				<a ng-hide="userInfo.userEmail==null?false:true" ng-click="updateUserEmail()">立即设置</a>
+					<a ng-switch-when="0" ng-click="updateRealAuth()" class="mall-btn-default">立即设置</a>
+					<a ng-switch-when="1">审核通过</a>
+					<a ng-switch-when="2">待审核</a>
 			</li>
 			<li>
 				<span>

+ 18 - 6
src/main/webapp/resources/view/usercenter/left_nav.html

@@ -17,22 +17,34 @@
     #left-nav-fragment .user_left ul li a {
         padding-left: 0;
     }
+    .disabled {
+        cursor: not-allowed;
+    }
+    #toast-container {
+        top: 36px;
+    }
+    #toast-container > .toast-info {
+        background-color: #d88f2c;
+        font-size: 14px;
+        font-weight: normal;
+        width: auto;
+    }
 </style>
 <body>
-    <div id="left-nav-fragment">
+    <div id="left-nav-fragment" ng-controller="leftNavCtrl">
         <div class="user_left fl">
             <a href="user#/home"><p ng-class="{'active' : active == 'home'}"><span>买家中心</span></p></a>
             <ul>
                 <li ng-class="{'active' : active == 'buyer_cart'}"><a  ui-sref="buyer_cart">购物车<em>(<span ng-bind="countCart || 0 | number"></span>)</em></a> </li>
-                <div ng-hide="!(userInfo.pwdEnable && userInfo.haveUserQuestion && (userInfo.userEmail==null?false:true))">
+                <div ng-hide="!(userInfo.pwdEnable && userInfo.haveUserQuestion && userInfo.userEmail)">
                     <li ng-class="{'active' : active == 'buyer_order'}"><a  ui-sref="buyer_order">订单中心</a></li>
                     <li ng-class="{'active' : active == 'pay_center'}"><a  ui-sref="pay_center">支付中心</a></li>
                     <li ng-class="{'active' : active == 'buyer_invoice'}"><a  ui-sref="buyer_invoice">发票管理</a></li>
                 </div>
-                <div ng-hide="userInfo.pwdEnable && userInfo.haveUserQuestion && (userInfo.userEmail==null?false:true)">
-                    <li  ng-class="{'active' : active == 'buyer_order'}"><a ng-disabled="true" >订单中心</a></li>
-                    <li ng-class="{'active' : active == 'pay_center'}"><a ng-disabled="true" >支付中心</a></li>
-                    <li ng-class="{'active' : active == 'buyer_invoice'}"><a ng-disabled="true" >发票管理</a></li>
+                <div ng-hide="userInfo.pwdEnable && userInfo.haveUserQuestion && userInfo.userEmail">
+                    <li ng-class="{'active' : active == 'buyer_order'}"><a ng-click="promptUpdate()" class="disabled">订单中心</a></li>
+                    <li ng-class="{'active' : active == 'pay_center'}"><a ng-click="promptUpdate()" class="disabled" >支付中心</a></li>
+                    <li ng-class="{'active' : active == 'buyer_invoice'}"><a ng-click="promptUpdate()" class="disabled" >发票管理</a></li>
                 </div>
                 <li ng-class="{'active' : active == 'seek_purchase'}"><a  ui-sref="buyerSeekPurchase">我的求购</a></li>
 

Разлика између датотеке није приказан због своје велике величине
+ 1727 - 293
src/main/webapp/resources/view/vendor/forstore/erp/vendor_material_erp.html


Разлика између датотеке није приказан због своје велике величине
+ 1739 - 323
src/main/webapp/resources/view/vendor/forstore/erp/vendor_material_unstandard_erp.html


+ 3 - 3
src/main/webapp/resources/view/vendor/forstore/erp/vendor_onSale_erp.html

@@ -512,9 +512,9 @@
     <div class="pro_management device">
         <div class="com_tab">
             <ul class="fl" style="width: 100%">
-                <li ng-class="{'active': tab == 'material'}"><a ui-sref="vendor_material_erp">可上架产品</a></li>
-                <li ng-class="{'active': tab == 'unstandard_material'}"><a ui-sref="vendor_material_unstandard_erp">暂不可上架产品</a></li>
-                <li ng-class="{'active': tab == 'onSale'}"><a ui-sref="vendor_onSale_erp">已上架</a></li>
+                <li ng-class="{'active': tab == 'unstandard_material'}"><a ui-sref="vendor_material_unstandard_erp">非标产品</a></li>
+                <li ng-class="{'active': tab == 'material'}"><a ui-sref="vendor_material_erp">标准产品</a></li>
+                <li ng-class="{'active': tab == 'onSale'}"><a ui-sref="vendor_onSale_erp">在售产品</a></li>
                 <li ng-class="{'active': tab == 'undercarriage'}"><a ui-sref="vendor_undercarriage_erp">上下架历史</a></li>
                 <li class="down-goods">
                     <!--<span ng-click="downGoods()">

+ 3 - 3
src/main/webapp/resources/view/vendor/forstore/erp/vendor_undercarriage_erp.html

@@ -539,9 +539,9 @@
     <div class="pro_management device">
         <div class="com_tab">
             <ul class="fl" style="width: 100%">
-                <li ng-class="{'active': tab == 'vendor_material'}"><a ui-sref="vendor_material_erp">可上架产品</a></li>
-                <li ng-class="{'active': tab == 'unstandard_material'}"><a ui-sref="vendor_material_unstandard_erp">暂不可上架产品</a></li>
-                <li ng-class="{'active': tab == 'onSale'}"><a ui-sref="vendor_onSale_erp">已上架</a></li>
+                <li ng-class="{'active': tab == 'unstandard_material'}"><a ui-sref="vendor_material_unstandard_erp">非标产品</a></li>
+                <li ng-class="{'active': tab == 'vendor_material'}"><a ui-sref="vendor_material_erp">标准产品</a></li>
+                <li ng-class="{'active': tab == 'onSale'}"><a ui-sref="vendor_onSale_erp">在售产品</a></li>
                 <li ng-class="{'active': tab == 'undercarriage'}"><a ui-sref="vendor_undercarriage_erp">上下架历史</a></li>
             </ul>
         </div>

+ 61 - 39
src/main/webapp/resources/view/vendor/forstore/vendor_account_management.html

@@ -338,6 +338,28 @@
   .count01 ul li span h5 {
     width: 30px;
   }
+  .count01 ul li.safe-level .safe-remind {
+    float: right;
+    margin-right: 87px;
+  }
+  .count01 ul li.safe-level .safe-remind a {
+    color: #ff0000;
+    float: none !important;
+  }
+  .rt_menu span.last-login {
+    font-size: 12px;
+    margin: 0 22px 0 0;
+    font-weight: normal;
+  }
+  .rt_menu span.last-login span {
+    font-size: 12px;
+    font-weight: normal;
+    margin: 0;
+  }
+  .count01 ul li.active-safe-box {
+    background: #fef2f2;
+    border: 1px solid #faaebe;
+  }
 </style>
 <!--右侧主体部分-->
 <div class="count user_right fr">
@@ -584,7 +606,9 @@
     </div>
     <!--安全设置-->
     <div class="count01 clearfix" ng-if="tab=='safe'">
-      <div class="rt_menu"><span>您的安全服务</span></div>
+      <div class="rt_menu"><span>您的安全服务</span>
+        <span class="last-login pull-right">上次登录时间:<span>{{userInfo.lastLoginTime | date:'yyyy-MM-dd HH:mm:ss'}} </span></span>
+      </div>
       <ul>
         <li class="safe-level">
 				<span>安全等级:
@@ -596,74 +620,72 @@
 					<i ng-if="userInfo.secLevel==5 || userInfo.secLevel==6">强</i>
           <!--完成<a href="javascript:void(0)"> 密保设置</a>,提升账户安全。-->
 				</span>
-          <div class="last-login">上次登录时间:<span>{{userInfo.lastLoginTime | date:'yyyy-MM-dd HH:mm:ss'}} </span></div>
-        </li>
-        <li ng-switch="userInfo.idEnable">
-				<span>
-					<h5 ng-switch-when="1"><img class="ok-icon" src="static/img/user/images/ok-account.png"/></h5>
-					<h5 ng-switch-when="0"><img src="static/img/user/images/safe.png"/></h5>
-					<h5 ng-switch-when="2"><img src="static/img/user/images/safe.png"/></h5>
-					<font>实名认证:</font>
-					<span>实名认证后,可通过实名信息找回支付密码、修改手机号等,提高账户安全性。</span>
-				</span>
-          <a ng-switch-when="0" ng-click="updateRealAuth()" class="mall-btn-default">立即设置</a>
-          <a ng-switch-when="1">审核通过</a>
-          <a ng-switch-when="2">待审核</a>
+          <span class="safe-remind" ng-hide="userInfo.pwdEnable && userInfo.haveUserQuestion && userInfo.userEmail">
+          你的账户的安全等级过低,请 <a ng-hide="userInfo.pwdEnable" ng-click="updatePassword()"> 修改密码 </a>
+          <a ng-hide="userInfo.haveUserQuestion" ng-click="updateUserQuestion()"> 设置密保问题 </a>
+          <a ng-hide="userInfo.userEmail" ng-click="updateUserEmail()"> 绑定邮箱 </a>
+          来保障您的账户安全!
+        </span>
         </li>
-        <li>
+        <li ng-class="{'active-safe-box': !userInfo.pwdEnable}">
 				<span>
-					<h5 ng-show="userInfo.pwdEnable"><img class="ok-icon"
-                                                src="static/img/user/images/ok-account.png"/></h5>
+					<h5 ng-show="userInfo.pwdEnable"><img class="ok-icon" src="static/img/user/images/ok-account.png"/></h5>
 					<h5 ng-hide="userInfo.pwdEnable"><img src="static/img/user/images/safe.png"/></h5>
 					<font>登录密码:</font>
 					<span>安全性高的密码可以使账号更安全,建议您定期更换密码,并且设置一个包含数字和字母,长度超过8位以上的密码。</span>
 				</span>
-          <a ng-click="updatePassword()">修改</a>
+          <a ng-show="userInfo.pwdEnable" ng-click="updatePassword()">修改</a>
+          <a ng-hide="userInfo.pwdEnable" ng-click="updatePassword()" class="mall-btn-default">立即设置</a>
         </li>
-        <li>
+        <li ng-class="{'active-safe-box': !userInfo.haveUserQuestion}">
 				<span>
-					<h5 ng-show="userInfo.haveUserQuestion"><img class="ok-icon"
-                                                       src="static/img/user/images/ok-account.png"/></h5>
+					<h5 ng-show="userInfo.haveUserQuestion"><img class="ok-icon" src="static/img/user/images/ok-account.png"/></h5>
 					<h5 ng-hide="userInfo.haveUserQuestion"><img src="static/img/user/images/safe.png"/></h5>
 					<font>密保问题:</font>
 					<span>是您找回登录密码的方法之一。建议您设置一个容易记住,且最不容易被他人获取的问题及答案。</span>
 				</span>
-          <a ng-hide="userInfo.haveUserQuestion" ng-click="updateUserQuestion()"
-             class="mall-btn-default">立即设置</a>
+          <a ng-hide="userInfo.haveUserQuestion" ng-click="updateUserQuestion()" class="mall-btn-default">立即设置</a>
           <a ng-show="userInfo.haveUserQuestion" ng-click="updateUserQuestion()">修改</a>
         </li>
+        <li ng-class="{'active-safe-box': !userInfo.userEmail}">
+				<span>
+					<h5 ng-show="userInfo.userEmail"><img class="ok-icon" src="static/img/user/images/ok-account.png"/></h5>
+					<h5 ng-hide="userInfo.userEmail"><img src="static/img/user/images/safe.png"/></h5>
+					<font>邮箱认证:</font>
+					<span ng-show="userInfo.userEmail"><i ng-modal="userInfo.userEmail" style="color:#666;">{{userInfo.userEmail}}</i></span>
+					<span ng-hide="userInfo.userEmail">绑定邮箱可帮助您找回登录密码,并可订阅获取最新的订单动态、促销信息。</span>
+				</span>
+          <a ng-show="userInfo.userEmail" ng-click="updateUserEmail()">修改</a>
+          <a ng-hide="userInfo.userEmail" ng-click="updateUserEmail()" class="mall-btn-default">立即设置</a>
+        </li>
         <li>
 				<span>
 					<h5><img class="ok-icon" src="static/img/user/images/ok-account.png"/></h5>
 					<font>手机验证:</font>
-					<span>您绑定的手机:{{userInfo.userTel}}。若已丢失或停用,请立即更换,避免账户被盗。</span>
+					<span>您绑定的手机:<i ng-modal="userInfo.userTel" style="color:#666;">{{userInfo.userTel}}</i>。若已丢失或停用,请立即更换,避免账户被盗。</span>
 				</span>
           <a ng-click="updateUserTel()">修改</a>
         </li>
-        <li>
+        <li ng-switch="userInfo.idEnable">
 				<span>
-					<h5 ng-show="userInfo.userEmail==null?false:true"><img class="ok-icon"
-                                                                 src="static/img/user/images/ok-account.png"/></h5>
-					<h5 ng-hide="userInfo.userEmail==null?false:true"><img
-              src="static/img/user/images/safe.png"/></h5>
-					<font>邮箱认证:</font>
-					<span ng-show="userInfo.userEmail==null?false:true">{{userInfo.userEmail}}</span>
-					<span
-              ng-hide="userInfo.userEmail==null?false:true">绑定邮箱可帮助您找回登录密码,并可订阅获取最新的订单动态、促销信息。</span>
+					<h5 ng-switch-when="1"><img class="ok-icon" src="static/img/user/images/ok-account.png"/></h5>
+					<h5 ng-switch-when="0"><img src="static/img/user/images/safe.png"/></h5>
+					<h5 ng-switch-when="2"><img src="static/img/user/images/safe.png"/></h5>
+					<font>实名认证:</font>
+					<span>实名认证后,可通过实名信息找回支付密码、修改手机号等,提高账户安全性。</span>
 				</span>
-          <a ng-show="userInfo.userEmail==null?false:true" ng-click="updateUserEmail()">修改</a>
-          <a ng-hide="userInfo.userEmail==null?false:true" ng-click="updateUserEmail()">立即设置</a>
+          <a ng-switch-when="0" ng-click="updateRealAuth()" class="mall-btn-default">立即设置</a>
+          <a ng-switch-when="1">审核通过</a>
+          <a ng-switch-when="2">待审核</a>
         </li>
         <li>
 				<span>
-					<h5 ng-show="userInfo.havePayPwd"><img class="ok-icon"
-                                                 src="static/img/user/images/ok-account.png"/></h5>
+					<h5 ng-show="userInfo.havePayPwd"><img class="ok-icon" src="static/img/user/images/ok-account.png"/></h5>
 					<h5 ng-hide="userInfo.havePayPwd"><img src="static/img/user/images/safe.png"/></h5>
 					<font>支付密码:</font>
 					<span>在使用账户中余额或确认收货时,需输入支付密码。</span>
 				</span>
-          <a ng-hide="userInfo.havePayPwd" ng-click="updateUserPay()"
-             class="mall-btn-default">立即设置</a>
+          <a ng-hide="userInfo.havePayPwd" ng-click="updateUserPay()" class="mall-btn-default">立即设置</a>
           <a ng-show="userInfo.havePayPwd" ng-click="updateUserPay()">修改</a>
         </li>
       </ul>

+ 28 - 16
src/main/webapp/resources/view/vendor/left_nav.html

@@ -17,11 +17,23 @@
 	#vendor_left_bar.user_left ul li a {
 		padding-left: 0;
 	}
+	.disabled {
+		cursor: not-allowed;
+	}
+	#toast-container {
+		top: 36px;
+	}
+	#toast-container > .toast-info {
+		background-color: #d88f2c;
+		font-size: 14px;
+		font-weight: normal;
+		width: auto;
+	}
 </style>
-<div id="vendor_left_bar" class="user_left fl" ng-controller="VendorMenuCtrl">
+<div id="vendor_left_bar" class="user_left fl" ng-controller="leftNavCtrl">
 	<a  ui-sref="vendor_index"><p ng-class="{'active' : active == 'index'}"><span>卖家中心</span></p></a>
 	<ul>
-		<div ng-hide="!(userInfo.pwdEnable && userInfo.haveUserQuestion && (userInfo.userEmail==null?false:true))">
+		<div ng-hide="!(userInfo.pwdEnable && userInfo.haveUserQuestion && userInfo.userEmail)">
 		<li ng-class="{'active' : active == 'vendor_order'}"><a  ui-sref="vendor_order">订单中心</a></li>
 		<li ng-class="{'active' : active == 'vendor_logistics'}">
 			<a  ui-sref="vendor_logistics" ng-hide="store && (!store.status || store.status === 'OPENED')">物流管理</a>
@@ -55,18 +67,18 @@
 			<a  ui-sref="vendor_store_maintain" ng-if="store && store.status && store.status !== 'OPENED'">我的店铺</a>
 		</li>
 		</div>
-		<div ng-hide="userInfo.pwdEnable && userInfo.haveUserQuestion && (userInfo.userEmail==null?false:true)">
-			<li ng-class="{'active' : active == 'vendor_order'}"><a  ng-disabled="true">订单中心</a></li>
-			<li ng-class="{'active' : active == 'vendor_logistics'}"><a  ng-disabled="true">物流管理</a></li>
-			<li ng-class="{'active' : active == 'vendor_invoice'}"><a  ng-disabled="true" >发票管理</a></li>
+		<div ng-hide="userInfo.pwdEnable && userInfo.haveUserQuestion && userInfo.userEmail">
+			<li ng-class="{'active' : active == 'vendor_order'}"><a ng-click="promptUpdate()" ng-click="promptUpdate()" class="disabled">订单中心</a></li>
+			<li ng-class="{'active' : active == 'vendor_logistics'}"><a ng-click="promptUpdate()" class="disabled">物流管理</a></li>
+			<li ng-class="{'active' : active == 'vendor_invoice'}"><a ng-click="promptUpdate()" class="disabled" >发票管理</a></li>
 			<!--	<li ng-class="{'active' : active == 'vendor_logistics'}"><a  ui-sref="vendor_logistics">物流管理</a></li>-->
-			<li ng-class="{'active' : active == 'pay_center'}"><a   ng-disabled="true" >结算中心</a></li>
-			<li ng-class="{'active' : active == 'vendor_brand_apply'}"><a   ng-disabled="true" >品牌申请</a></li>
-			<li ng-class="{'active' : active == 'vendor_component_apply'}"><a   ng-disabled="true" >器件申请</a></li>
+			<li ng-class="{'active' : active == 'pay_center'}"><a ng-click="promptUpdate()" class="disabled" >结算中心</a></li>
+			<li ng-class="{'active' : active == 'vendor_brand_apply'}"><a ng-click="promptUpdate()" class="disabled" >品牌申请</a></li>
+			<li ng-class="{'active' : active == 'vendor_component_apply'}"><a ng-click="promptUpdate()" class="disabled" >器件申请</a></li>
 			<!--	<li ng-class="{'active' : active == 'vendor_productOn'}"><a  ui-sref="vendor_productOn">产品导入</a></li>-->
-			<li ng-class="{'active' : active == 'vendor_productOn'}"><a   ng-disabled="true" >产品导入</a></li>
+			<li ng-class="{'active' : active == 'vendor_productOn'}"><a ng-click="promptUpdate()" class="disabled" >产品导入</a></li>
 			<!--<li ng-class="{'active' : active == 'vendor_repository'}"><a  ui-sref="vendor_repository">仓库管理</a></li>-->
-			<li ng-class="{'active' : active == 'vendor_material'}"><a   ng-disabled="true" >产品管理</a></li>
+			<li ng-class="{'active' : active == 'vendor_material'}"><a ng-click="promptUpdate()" class="disabled" >产品管理</a></li>
 			<!--<li ng-class="{'active' : active == 'vendor_after_sale'}" class="undo">-->
 			<!--&lt;!&ndash;<a  ui-sref="vendor_after_sale">售后处理</a>&ndash;&gt;-->
 			<!--售后处理-->
@@ -74,15 +86,15 @@
 			<!--<li ng-class="{'active' : active == 'vendor_manufacture'}"><a  ui-sref="vendor_manufacture">原厂认证</a></li>-->
 			<li ng-class="{'active' : active == 'vendor_store'}">
 				<!-- 我要开店 !store && applyStatus == 'NONE' -->
-				<a  ng-disabled="true"  ng-if="!store && applyStatus == 'NONE'">开店申请</a>
+				<a ng-click="promptUpdate()" class="disabled"  ng-if="!store && applyStatus == 'NONE'">开店申请</a>
 				<!-- 店铺申请中 !store && applyStatus == 'PREPARE' -->
-				<a  ng-disabled="true"  ng-if="!store && applyStatus == 'PREPARE'">开店申请</a>
+				<a ng-click="promptUpdate()" class="disabled"  ng-if="!store && applyStatus == 'PREPARE'">开店申请</a>
 				<!-- 我的店铺 !store && applyStatus == 'PASS' -->
-				<a  ng-disabled="true"  ng-if="!store && applyStatus == 'PASS'">我的店铺</a>
+				<a ng-click="promptUpdate()" class="disabled"  ng-if="!store && applyStatus == 'PASS'">我的店铺</a>
 				<!-- 我的店铺 store -->
-				<a  ng-disabled="true"  ng-if="store && (!store.status || store.status === 'OPENED')">我的店铺</a>
+				<a ng-click="promptUpdate()" class="disabled"  ng-if="store && (!store.status || store.status === 'OPENED')">我的店铺</a>
 				<!-- 我的店铺申述 store -->
-				<a  ng-disabled="true"  ng-if="store && store.status && store.status !== 'OPENED'">我的店铺</a>
+				<a ng-click="promptUpdate()" class="disabled"  ng-if="store && store.status && store.status !== 'OPENED'">我的店铺</a>
 			</li>
 
 		</div>

Неке датотеке нису приказане због велике количине промена