Просмотр исходного кода

Merge remote-tracking branch 'origin/feature/yc-mobile_maimai-0525' into feature/yc-mobile_maimai-0525

dongbw 7 лет назад
Родитель
Сommit
35b9784dfe
33 измененных файлов с 433 добавлено и 369 удалено
  1. 14 0
      src/main/java/com/uas/platform/b2c/common/account/model/Enterprise.java
  2. 14 0
      src/main/java/com/uas/platform/b2c/common/account/model/User.java
  3. 1 12
      src/main/java/com/uas/platform/b2c/common/search/constant/SearchUrl.java
  4. 3 8
      src/main/java/com/uas/platform/b2c/common/search/rpc/service/Impl/SearchServiceImpl.java
  5. 0 5
      src/main/java/com/uas/platform/b2c/core/filter/SSOInterceptor.java
  6. 2 2
      src/main/java/com/uas/platform/b2c/fa/payment/service/impl/InstallmentStoreServiceImpl.java
  7. 24 19
      src/main/java/com/uas/platform/b2c/prod/commodity/constant/ModifyConstant.java
  8. 6 11
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java
  9. 10 31
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ReleaseProductByBatchServiceImpl.java
  10. 11 21
      src/main/java/com/uas/platform/b2c/trade/vendor/service/impl/VendorIntroductionServiceImpl.java
  11. BIN
      src/main/resources/jxls-tpl/trade/goods.xls
  12. BIN
      src/main/resources/jxls-tpl/trade/products-error.xls
  13. BIN
      src/main/resources/jxls-tpl/trade/products.xls
  14. BIN
      src/main/resources/jxls-tpl/trade/releaseByBatch-rmb.xls
  15. BIN
      src/main/resources/jxls-tpl/trade/releaseByBatchError-rmb.xls
  16. BIN
      src/main/resources/jxls-tpl/trade/releaseByBatchError-usd.xls
  17. BIN
      src/main/resources/jxls-tpl/trade/releasebyBatch-usd.xls
  18. 31 31
      src/main/webapp/resources/js/common/controllers/commonCtrls.js
  19. 13 13
      src/main/webapp/resources/js/usercenter/controllers/forstore/buyer_home_ctrl.js
  20. 120 89
      src/main/webapp/resources/js/usercenter/controllers/forstore/order_pay_ctrl.js
  21. 36 38
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_index_ctrl.js
  22. 3 0
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_onSaleCtrl.js
  23. 48 18
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_order_ctrl.js
  24. 5 1
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_upload_ctrl.js
  25. 18 20
      src/main/webapp/resources/view/usercenter/forstore/buyer_transfer.html
  26. 1 1
      src/main/webapp/resources/view/usercenter/forstore/seekPurchase.html
  27. 13 7
      src/main/webapp/resources/view/usercenter/left_nav.html
  28. 3 3
      src/main/webapp/resources/view/vendor/forstore/purchaseOffer.html
  29. 3 3
      src/main/webapp/resources/view/vendor/forstore/seekPurchase.html
  30. 10 1
      src/main/webapp/resources/view/vendor/forstore/vendor_material.html
  31. 2 2
      src/main/webapp/resources/view/vendor/forstore/vendor_store_maintain.html
  32. 10 1
      src/main/webapp/resources/view/vendor/forstore/vendor_upload.html
  33. 32 32
      src/main/webapp/resources/view/vendor/left_nav.html

+ 14 - 0
src/main/java/com/uas/platform/b2c/common/account/model/Enterprise.java

@@ -189,6 +189,20 @@ public class Enterprise implements Serializable {
 	@Transient
 	private Integer receiptStatus;
 
+	/**
+	 * 企业简介
+	 */
+	@Column(name = "en_description", length = 1000)
+	private String description;
+
+	public String getDescription() {
+		return description;
+	}
+
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
 	public String getAccessSecret() {
 		return accessSecret;
 	}

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

@@ -226,6 +226,12 @@ public class User implements Serializable {
 	@Column(name = "user_emlstatus")
 	private Integer emailValidCode;
 
+	/**
+	 * 微信openId
+	 */
+	@Column(name = "user_openid")
+	private String openId;
+
 	public Long getLastLoginTime() {
 		return lastLoginTime;
 	}
@@ -534,4 +540,12 @@ public class User implements Serializable {
 	public void setIdRemarks(String idRemarks) {
 		this.idRemarks = idRemarks;
 	}
+
+	public String getOpenId() {
+		return openId;
+	}
+
+	public void setOpenId(String openId) {
+		this.openId = openId;
+	}
 }

+ 1 - 12
src/main/java/com/uas/platform/b2c/common/search/constant/SearchUrl.java

@@ -15,18 +15,7 @@ public class SearchUrl {
     /**
      * 获取企业物料
      */
-    public static final String ALL_PRODUCT_ID_URL = "/search/productIds?enUU={enUU}&keyword={keyword}&page={page}&size={size}";
-
-
-    /**
-     * 获取企业物料(标准)
-     */
-    public static final String STANDARD_PRODUCT_ID_URL = "/search/standardProductIds?enUU={enUU}&keyword={keyword}&page={page}&size={size}";
-
-    /**
-     * 获取企业物料(非标准)
-     */
-    public static final String NONSTANDARD_PRODUCT_ID_URL = "/search/nonStandardProductIds?enUU={enUU}&keyword={keyword}&page={page}&size={size}";
+    public static final String PRODUCT_ID_URL = "/search/productIds?enUU={enUU}&keyword={keyword}&page={page}&size={size}&type={type}";
 
     /**
      * 标准型号联想(物料)

+ 3 - 8
src/main/java/com/uas/platform/b2c/common/search/rpc/service/Impl/SearchServiceImpl.java

@@ -78,14 +78,9 @@ public class SearchServiceImpl implements SearchService{
     public SPage<Long> getProducts(Long enUU, String keyword, Integer page, Integer size, String type) throws SearchException {
         Map<String, Object> map = initSearchMap(keyword, page, size);
         map.put("enUU", enUU);
-        String str = "";
-        if (type.equals("standard")) {
-            str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.STANDARD_PRODUCT_ID_URL, String.class, map);
-        } else if (type.equals("nStandard")) {
-            str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.NONSTANDARD_PRODUCT_ID_URL, String.class, map);
-        } else if (type.equals("all")) {
-            str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.ALL_PRODUCT_ID_URL, String.class, map);
-        }
+        // standard 标准  nStandard 非标 其他为所有
+        map.put("type", type);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.PRODUCT_ID_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         } else {

+ 0 - 5
src/main/java/com/uas/platform/b2c/core/filter/SSOInterceptor.java

@@ -99,7 +99,6 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
 
     @Override
     protected boolean onAuthenticateFailed(HttpServletRequest request, HttpServletResponse response) {
-        logger.info("当前访问进入------------>>>>onAuthenticateFailed()方法!");
         SystemSession.clear();
         if (request.getRequestURI().endsWith(PathConstant.AUTHENTICATION_URL)) {
             return true;
@@ -180,11 +179,9 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
         if (request.getPathInfo() != null) {
             resourceUrl = resourceUrl + request.getPathInfo();
         }
-        logger.info("【"+user.getUserUU()+"当前访问路径】:*******"+"resourceUrl:"+resourceUrl);
         if (null == configAttributes || configAttributes.size() == 0 || user.isSys() || user.getEnterprise() == null) {
             return;
         }
-        logger.info("【"+user.getUserUU()+"当前资源的权限】:*******"+"configAttributes:"+FastjsonUtils.toJson(configAttributes));
         Iterator<ConfigAttribute> iterator = configAttributes.iterator();
         String needPermission = null;
         if (null == authorities || !authorities.containsKey(user.getUserUU())) {
@@ -192,7 +189,6 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
         }
         //获取当前登录用户的所有权限;
         Collection<GrantedAuthority> userAuthorities = authorities.get(user.getUserUU());
-        logger.info("【"+user.getUserUU()+"用户所有权限】:*******"+"userAuthorities:"+FastjsonUtils.toJson(userAuthorities));
         //匹配当前访问权限;
         while (iterator.hasNext()) {
             ConfigAttribute configAttribute = iterator.next();
@@ -248,7 +244,6 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
 				resourceMap.put(resource.getMethod() + ":" + resource.getUrl(), configAttributes);
 			}
 		}
-		logger.info("【权限控制资源】"+"size:"+resourceMap.size()+"*******"+"resourceMap:"+FastjsonUtils.toJSON(resourceMap));
     }
 
     /**

+ 2 - 2
src/main/java/com/uas/platform/b2c/fa/payment/service/impl/InstallmentStoreServiceImpl.java

@@ -90,9 +90,9 @@ public class InstallmentStoreServiceImpl implements InstallmentStoreService{
 
         InstallmentStore installmentStore = installmentStoreDao.findByEnuuAndEnable(SystemSession.getUser().getEnterprise().getUu(), (short) 1);
         if (installmentStore == null) {
-            return "fail";
-        } else {
             return "success";
+        } else {
+            return "fail";
         }
     }
 }

+ 24 - 19
src/main/java/com/uas/platform/b2c/prod/commodity/constant/ModifyConstant.java

@@ -23,12 +23,12 @@ public class ModifyConstant {
     /**
      * The constant TOTAL_ROW.
      */
-    public static final int TOTAL_COLUMN = 21;
+    public static final int TOTAL_COLUMN = 22;
 
     /**
      * The constant MAX_TOTAL_COLUMN.
      */
-    public static final int MAX_TOTAL_COLUMN = 22;
+    public static final int MAX_TOTAL_COLUMN = 23;
 
     /**
      * 产品编码
@@ -50,88 +50,93 @@ public class ModifyConstant {
      */
     public static final int PRODUCT_BRAND = 3;
 
+    /**
+     * The constant PRODUCT_BRAND.
+     */
+    public static final int PRODUCT_SPEC = 4;
+
     /**
      * The constant PRODUCE_DATE.
      */
-    public static final int PRODUCE_DATE = 4;
+    public static final int PRODUCE_DATE = 5;
 
     /**
      * The constant PACKAGE_METHOD.
      */
-    public static final int PACKAGE_METHOD = 5;
+    public static final int PACKAGE_METHOD = 6;
 
     /**
      * The constant MIN_DELIVERY.
      */
-    public static final int MIN_DELIVERY = 6;
+    public static final int MIN_DELIVERY = 7;
 
     /**
      * The constant MAX_DELIVERY.
      */
-    public static final int MAX_DELIVERY = 7;
+    public static final int MAX_DELIVERY = 8;
 
     /**
      * The constant BREAK_UP.
      */
-    public static final int BREAK_UP = 8;
+    public static final int BREAK_UP = 9;
 
     /**
      * The constant PACKAGE_NUMBER.
      */
-    public static final int PACKAGE_NUMBER = 9;
+    public static final int PACKAGE_NUMBER = 10;
 
     /**
      * 最小起订量
      */
-    public static final int BUY_MIN_QTY = 10;
+    public static final int BUY_MIN_QTY = 11;
 
     /**
      * 分段价格开始
      */
-    public static final int PRICE_FIRST = 11;
+    public static final int PRICE_FIRST = 12;
 
     /**
      * 第二个分段
      */
-    public static final int QTY_SECOND_START = 12;
+    public static final int QTY_SECOND_START = 13;
 
     /**
      * 第二个分段
      */
-    public static final int PRICE_SECOND = 13;
+    public static final int PRICE_SECOND = 14;
 
     /**
      * 第三个分段
      */
-    public static final int QTY_THIRD_START = 14;
+    public static final int QTY_THIRD_START = 15;
 
     /**
      * 第三个分段
      */
-    public static final int PRICE_THIRD = 15;
+    public static final int PRICE_THIRD = 16;
 
     /**
      * The constant SALE_METHOD.
      */
-    public static final int SALE_METHOD = 16;
+    public static final int SALE_METHOD = 17;
 
     /**
      * The constant RESERVE_NUMBER.
      */
-    public static final int RESERVE_NUMBER = 17;
+    public static final int RESERVE_NUMBER = 18;
 
     /**
      * The constant CUSTOM_LABEL.
      */
-    public static final int CUSTOM_LABEL = 18;
+    public static final int CUSTOM_LABEL = 19;
 
     /**
      * The constant SALE_STATUS.
      */
-    public static final int SALE_STATUS = 19;
+    public static final int SALE_STATUS = 20;
 
     /**
      * The constant MATCH_STATUS.
      */
-    public static final int MATCH_STATUS = 20;
+    public static final int MATCH_STATUS = 21;
 }

+ 6 - 11
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java

@@ -258,12 +258,12 @@ public class ProductServiceImpl implements ProductService {
     @Override
     public Page<V_ProductPrivate> getAllProducts(final PageInfo page, String keyword, String type, Long userUU) {
         Long enUU = SystemSession.getUser().getEnterprise().getUu();
-//        page.expression(PredicateUtils.eq("enUU", enuu, true));
-//        page.expression(PredicateUtils.isNotNull("pcmpcode"));
-//        page.expression(PredicateUtils.isNotNull("pbranden"));
         if (StringUtils.isEmpty(type)) {
             type = "nStandard";
         }
+//        page.expression(PredicateUtils.eq("enUU", enuu, true));
+//        page.expression(PredicateUtils.isNotNull("pcmpcode"));
+//        page.expression(PredicateUtils.isNotNull("pbranden"));
 //        if (type.contains("standard")) {
 //           SPage<Long> ids = searchService.get
 //        } else if (type.contains("nonStandard")) {
@@ -585,12 +585,6 @@ public class ProductServiceImpl implements ProductService {
                 }
                 productPrivate.setB2cEnabled(IntegerConstant.NO_SHORT);
                 productPrivateDao.save(productPrivate);
-                product.setB2cEnabled(IntegerConstant.NO_SHORT);
-                // 设置物料不可用时,为了更新索引,也需要更新物料资料
-                product.setIsSale(Constant.NO);
-                product.setIsPurchase(Constant.NO);
-                product.setErpDate(new Date());
-                productDao.save(product);
                 //productDao.delete(id);  不允许删除
             } else {
                 throw new
@@ -1600,8 +1594,9 @@ public class ProductServiceImpl implements ProductService {
             standard = v_productPersonDao.getCountByEnuuAndUserUUAndStatusAndEnabled(enUU, userUU, ShortConstant.YES_SHORT, IntegerConstant.YES_SHORT);
             nStandard = v_productPersonDao.getCountByEnuuAndUserUUAndStatusAndEnabled(enUU, userUU, ShortConstant.NO_SHORT, IntegerConstant.YES_SHORT);
         } else {
-            standard = productDao.getCountByEnuuAndStatusAndEnabled(enUU, ShortConstant.YES_SHORT, IntegerConstant.YES_SHORT);
-            nStandard = productDao.getCountByEnuuAndStatusAndEnabled(enUU, ShortConstant.NO_SHORT, IntegerConstant.YES_SHORT);
+            // 数据量大时,从数据库查询数量也变得很慢,所以改用查索引获取 dongbw 2018年5月28日 11:24:17
+            standard = (int) searchService.getProducts(enUU, null, 1, 10, "standard").getTotalElement();
+            nStandard = (int) searchService.getProducts(enUU, null, 1, 10, "nStandard").getTotalElement();
         }
         resultMap.put("standard", standard);
         resultMap.put("nStandard", nStandard);

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

@@ -12,22 +12,9 @@ import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.NumberUtil;
 import com.uas.platform.b2c.core.utils.RegexConstant;
 import com.uas.platform.b2c.core.utils.StringUtilB2C;
-import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
-import com.uas.platform.b2c.prod.commodity.constant.ErrorInfoConstant;
-import com.uas.platform.b2c.prod.commodity.constant.ModifyConstant;
-import com.uas.platform.b2c.prod.commodity.constant.ShortConstant;
-import com.uas.platform.b2c.prod.commodity.constant.UploadConstant;
-import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductPersonDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductPrivateDao;
-import com.uas.platform.b2c.prod.commodity.dao.ReleaseProductByBatchDao;
-import com.uas.platform.b2c.prod.commodity.model.Goods;
-import com.uas.platform.b2c.prod.commodity.model.GoodsQtyPrice;
-import com.uas.platform.b2c.prod.commodity.model.Product;
-import com.uas.platform.b2c.prod.commodity.model.ProductPerson;
-import com.uas.platform.b2c.prod.commodity.model.ProductPrivate;
-import com.uas.platform.b2c.prod.commodity.model.ReleaseProductByBatch;
+import com.uas.platform.b2c.prod.commodity.constant.*;
+import com.uas.platform.b2c.prod.commodity.dao.*;
+import com.uas.platform.b2c.prod.commodity.model.*;
 import com.uas.platform.b2c.prod.commodity.service.GoodsService;
 import com.uas.platform.b2c.prod.commodity.service.ReleaseProductByBatchService;
 import com.uas.platform.b2c.prod.commodity.util.GoodsUtil;
@@ -45,11 +32,7 @@ import com.uas.platform.core.persistence.criteria.SimpleExpression;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFDateUtil;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.DateUtil;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.dao.DataAccessException;
@@ -72,16 +55,7 @@ import java.sql.SQLException;
 import java.sql.Statement;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -455,6 +429,7 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 		} else {
 			goods.setSelfSale("1");
 		}
+		goods.setSpec(aBatch.getSpec());
 		goods.setStatus(aBatch.getStatus());
 	}
 
@@ -480,6 +455,10 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 				rowNum, ModifyConstant.PRODUCT_CODE);
 		aProduct.setCode(StringUtilB2C.getStr(codeValue));
 
+		Object specValue = readWorkBookCell(row.getCell(ModifyConstant.PRODUCT_SPEC), Cell.CELL_TYPE_STRING,
+				rowNum, ModifyConstant.PRODUCT_SPEC);
+		aProduct.setSpec(StringUtilB2C.getStr(specValue));
+
 		Cell productCell = row.getCell(ModifyConstant.PRODUCE_DATE);
 		if (productCell != null && productCell.getCellType() == 0) {
 			if (HSSFDateUtil.isCellDateFormatted(productCell)) {

+ 11 - 21
src/main/java/com/uas/platform/b2c/trade/vendor/service/impl/VendorIntroductionServiceImpl.java

@@ -1,12 +1,15 @@
 package com.uas.platform.b2c.trade.vendor.service.impl;
 
 import com.uas.platform.b2c.common.base.dao.CommonDao;
+import com.uas.platform.b2c.common.search.rpc.service.SearchService;
+import com.uas.platform.b2c.common.search.util.SPage;
 import com.uas.platform.b2c.core.constant.IntegerConstant;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.prod.commodity.dao.V_ProductPrivateDao;
 import com.uas.platform.b2c.prod.commodity.model.V_ProductPrivate;
 import com.uas.platform.b2c.trade.vendor.model.VendorIntroduction;
 import com.uas.platform.b2c.trade.vendor.service.VendorIntroductionService;
+import com.uas.ps.core.util.CollectionUtils;
 import com.uas.sso.support.Page;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -27,6 +30,9 @@ public class VendorIntroductionServiceImpl implements VendorIntroductionService
 	@Autowired
 	private V_ProductPrivateDao v_productPrivateDao;
 
+	@Autowired
+	private SearchService searchService;
+
 	/**
 	 * 类目
 	 */
@@ -103,28 +109,12 @@ public class VendorIntroductionServiceImpl implements VendorIntroductionService
 	 */
 	@Override
 	public Page<V_ProductPrivate> getVendorProductList(int page, int size, Long vendUU, String keyword) {
-		String whereCondition = " 1 = 1 ";
-		if (!StringUtils.isEmpty(keyword)) {
-		    keyword = keyword.trim();
-			// 物料名称、规格、品牌、原厂型号、单位
-			whereCondition = " (pr_title like '%" + keyword + "%' or pr_spec like '%" + keyword + "%' or pr_brand like '%"
-					+ keyword + "%' or pr_cmpcode like '%" + keyword + "%' or pr_unit like '%" + keyword + "%' or pr_kind like '%"
-					+ keyword + "%') ";
+		SPage<Long> ids = searchService.getProducts(vendUU, keyword, page, size, "all");
+		if (CollectionUtils.isEmpty(ids.getContent())) {
+			return null;
 		}
-		long start = System.currentTimeMillis();
-		// and Pr_Title not like '%测试%' and lower(Pr_Title) not like '%test%' and Pr_code not like '%测试%' and lower(Pr_code) not like '%test%'
-		String prodSql = "select a.* from (select pr_id id, pr_code prodNum, pr_title prodName, pr_spec spec, pr_cmpcode cmpCode, pr_unit unit, pr_kind kind, "
-				+ " pr_brand brand, pr_pbranden pbranden, pr_standard standard from v$product$private where pr_enuu = "
-				+ vendUU + " and " + whereCondition + " and pr_pbranden is not null and pr_pcmpcode is not null and ifnull(pr_b2cenabled, 1) <> 0 order by pr_standard desc, pr_id desc) a limit " + (page - 1) * size + "," + size;
-//		System.out.println("prod:" + prodSql);
-		// and Pr_Title not like '%测试%' and lower(Pr_Title) not like '%test%' and Pr_code not like '%测试%' and lower(Pr_code) not like '%test%'
-		String countSql = "select count(1) from v$product$private where pr_enuu = " + vendUU + " and " + whereCondition
-				+ " and pr_pbranden is not null and pr_pcmpcode is not null and ifnull(pr_b2cenabled, 1) <> 0";
-		Integer count = commonDao.queryForObject(countSql, Integer.class);
-//		System.out.println("count:" + countSql);
-		List<V_ProductPrivate> products = commonDao.query(prodSql, V_ProductPrivate.class);
-//		System.out.println("耗时" + (System.currentTimeMillis() - start));
-		return new Page<>(page, size, products, count);
+		List<V_ProductPrivate> productPrivateList = v_productPrivateDao.findAll(ids.getContent());
+		return new Page<>(page, size, productPrivateList, (int) ids.getTotalElement());
 	}
 
 	/**

BIN
src/main/resources/jxls-tpl/trade/goods.xls


BIN
src/main/resources/jxls-tpl/trade/products-error.xls


BIN
src/main/resources/jxls-tpl/trade/products.xls


BIN
src/main/resources/jxls-tpl/trade/releaseByBatch-rmb.xls


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


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


BIN
src/main/resources/jxls-tpl/trade/releasebyBatch-usd.xls


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

@@ -1774,21 +1774,21 @@ define([ 'app/app' ], function(app) {
 	app.controller('leftNavCtrl', ["$scope", "toaster", '$modal', '$rootScope', function($scope, toaster, $modal, $rootScope){
 		//安全设置提醒框
 
-		$scope.openHomeCenterModel = function() {
-			var modalInstance = $modal.open({
-				animation: true,
-				templateUrl: $rootScope.rootPath + '/static/view/usercenter/modal/homeCenter_modal.html',
-				controller:'homeModalCtrl'
-			});
-			modalInstance.result.then(function(){
-			}, function(){
-			});
-		};
-		$scope.promptUpdate = function() {
-			if (!$scope.userInfo.pwdEnable || !$scope.userInfo.userEmail || !$scope.userInfo.haveUserQuestion) {
-				$scope.openHomeCenterModel();
-			}
-		};
+		// $scope.openHomeCenterModel = function() {
+		// 	var modalInstance = $modal.open({
+		// 		animation: true,
+		// 		templateUrl: $rootScope.rootPath + '/static/view/usercenter/modal/homeCenter_modal.html',
+		// 		controller:'homeModalCtrl'
+		// 	});
+		// 	modalInstance.result.then(function(){
+		// 	}, function(){
+		// 	});
+		// };
+		// $scope.promptUpdate = function() {
+		// 	if (!$scope.userInfo.pwdEnable || !$scope.userInfo.userEmail || !$scope.userInfo.haveUserQuestion) {
+		// 		$scope.openHomeCenterModel();
+		// 	}
+		// };
   }]);
 
 	app.controller('homeModalCtrl', ['$rootScope', '$scope',  '$modalInstance', 'toaster', '$http', 'ShippingAddress','$state', function($rootScope, $scope, $modalInstance, toaster, $http, ShippingAddress,$state) {
@@ -1827,25 +1827,25 @@ define([ 'app/app' ], function(app) {
    */
 	app.controller('leftNavCtrl', ["$scope", "toaster", "$modal", "$rootScope", function($scope, toaster, $modal, $rootScope){
         //安全设置提醒框
-        $scope.openHomeCenterModel = function() {
-            var modalInstance = $modal.open({
-                animation: true,
-                templateUrl: $rootScope.rootPath + '/static/view/usercenter/modal/homeCenter_modal.html',
-                controller:'homeModalCtrl'
-            });
-            modalInstance.result.then(function(){
-            }, function(){
-            });
-        };
-
-	    $scope.promptUpdate = function() {
-            if (!$scope.userInfo.pwdEnable || !$scope.userInfo.haveUserQuestion||!$scope.userInfo.emailValidCode || $scope.userInfo.emailValidCode != 2) {
-                $scope.openHomeCenterModel();
-            }
+        // $scope.openHomeCenterModel = function() {
+        //     var modalInstance = $modal.open({
+        //         animation: true,
+        //         templateUrl: $rootScope.rootPath + '/static/view/usercenter/modal/homeCenter_modal.html',
+        //         controller:'homeModalCtrl'
+        //     });
+        //     modalInstance.result.then(function(){
+        //     }, function(){
+        //     });
+        // };
+
+	    // $scope.promptUpdate = function() {
+         //    if (!$scope.userInfo.pwdEnable || !$scope.userInfo.haveUserQuestion||!$scope.userInfo.emailValidCode || $scope.userInfo.emailValidCode != 2) {
+         //        $scope.openHomeCenterModel();
+         //    }
 			/*if (!$scope.userInfo.pwdEnable || !$scope.userInfo.userEmail || !$scope.userInfo.haveUserQuestion) {
 				$scope.openHomeCenterModel();
 			}*/
-		};
+		// };
 	}]);
 
     function checkNullStr (str) {

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

@@ -17,21 +17,21 @@ define(['app/app', 'calendar'], function(app) {
         getRecommendComps(null, null, {page: 0, size: 12});
 
         //安全设置提醒框
-      $scope.openHomeCenterModel = function() {
-        var modalInstance = $modal.open({
-          animation: true,
-          templateUrl: $rootScope.rootPath + '/static/view/usercenter/modal/homeCenter_modal.html',
-          controller:'homeModalCtrl'
-        });
-        modalInstance.result.then(function(){
-        }, function(){
-        });
-      }
+      // $scope.openHomeCenterModel = function() {
+      //   var modalInstance = $modal.open({
+      //     animation: true,
+      //     templateUrl: $rootScope.rootPath + '/static/view/usercenter/modal/homeCenter_modal.html',
+      //     controller:'homeModalCtrl'
+      //   });
+      //   modalInstance.result.then(function(){
+      //   }, function(){
+      //   });
+      // }
 
         //安全级别
-        if (!$scope.userInfo.pwdEnable || !$scope.userInfo.haveUserQuestion||!$scope.userInfo.emailValidCode || $scope.userInfo.emailValidCode != 2) {
-            $scope.openHomeCenterModel();
-        }
+        // if (!$scope.userInfo.pwdEnable || !$scope.userInfo.haveUserQuestion||!$scope.userInfo.emailValidCode || $scope.userInfo.emailValidCode != 2) {
+        //     $scope.openHomeCenterModel();
+        // }
 
       /*  if(!($scope.userInfo.pwdEnable && $scope.userInfo.haveUserQuestion && $scope.userInfo.userEmail)){
           $scope.openHomeCenterModel();

+ 120 - 89
src/main/webapp/resources/js/usercenter/controllers/forstore/order_pay_ctrl.js

@@ -4,7 +4,7 @@
  */
 define(['app/app'], function(app) {
 	app.register.controller('orderPayCtrl', ['$scope', '$rootScope', '$stateParams', '$modal', '$state', 'Bill', 'toaster', 'Order', '$filter', 'ShippingAddress', 'Ysepay', '$q', 'NumberService', 'Cart', '$timeout', 'DistributionRule', 'TakeSelf', 'StoreInfo', function($scope, $rootScope, $stateParams, $modal, $state, Bill, toaster, Order, $filter, ShippingAddress, Ysepay, $q, NumberService, Cart, $timeout, DistributionRule, TakeSelf, StoreInfo) {
-
+        $scope.userInfo = $rootScope.userInfo;
 		document.title = '结算页-优软商城';
 		$rootScope.active = 'buyer_cart';
 
@@ -571,97 +571,128 @@ define(['app/app'], function(app) {
 			window.open("user#/invoice", '_self');
 		};
 
+        // 安全设置提醒框
+        $scope.openHomeCenterModel = function() {
+          var modalInstance = $modal.open({
+            animation: true,
+            templateUrl: $rootScope.rootPath + '/static/view/usercenter/modal/homeCenter_modal.html',
+            controller:'homeModalCtrl'
+          });
+          modalInstance.result.then(function(){
+          }, function(){
+          });
+        };
+        // 安全级别模态框
+        app.register.controller('homeModalCtrl', ['$rootScope', '$scope',  '$modalInstance', 'toaster', '$http', 'ShippingAddress','$state', function($rootScope, $scope, $modalInstance, toaster, $http, ShippingAddress,$state){
+            $rootScope.$on('$stateChangeStart',
+                function(event, toState, toParams, fromState, fromParams){
+                    $modalInstance.dismiss();
+                })
+            $scope.goLink = function(op){
+                $state.go('account_manager',{op:op});
+                $modalInstance.dismiss('cancel');
+            }
+            $scope.cancel = function () {
+                $modalInstance.dismiss('cancel');
+            }
+        }]);
+
 		//确认付款
 		$scope.imperfect = false;//暂不完善
 		$scope.confirmPay = function() {
-			if($scope.order.status == 502 || $scope.order.status == 503) {
-				var arr = [];
-				if($scope.order.orderids) {
-					arr = $scope.order.orderids.split(",");
-				}else {
-					arr.push($scope.order.orderid);
-				}
-				if ($scope.order.currency == 'RMB' && $scope.order.paytype == '1102') {
-					paymentEnsure(arr);
-				} else if($scope.order.paytype == '1103') {
-					$state.go('order_transfer', {orderid : enIdFilter(arr.join("-"))});
-				}else {
-					toaster.pop('info', '美元请线下付款');
-				}
-				return ;
-			}
-			var validRule = checkRule();
-			if (!validRule){
-				toaster.pop("info", "当前地址部分卖家无法配送,请重新选择地址或与卖家协商处理");
-				return ;
-			}
-			var validTakeSelf = checkTakeSelf();
-			if (!validTakeSelf){
-				toaster.pop("info", "请选择一个自提点");
-				return ;
-			}
-			var orderInfos = [], orderInfo;
-			orderInfo = generateOrderInfo();
-			if(orderInfo == null) {
-				return ;
-			}
-			orderInfos.push(orderInfo);
-			if(!$scope.imperfect){
-				var validBill = checkBill();
-				if (!validBill){
-					// toaster.pop('info', '请完善专票信息');
-					$scope.showBillFrame = true;
-					return ;
-				}
-			}
-
-			Order.ensure({orderid: enIdFilter($scope.order.orderid)}, orderInfos, function(data){
-				if(data.code == 1) {
-					if (data.data && data.data[0]) {
-						var arr = [];
-						var batchCodes = [];
-						for(var i = 0; i < data.data.length; i++) {
-							arr.push(data.data[i].orderid);
-							for(var j = 0; j < data.data[i].orderDetails.length; j++) {
-								batchCodes.push(data.data[i].orderDetails[j].batchCode);
-							}
-						}
-						if(!$scope.order.buyNow) {
-							Cart.deleteByBatchCode({}, batchCodes, function(data) {
-							}, function(response) {
-							});
-						}
-						if ($scope.order.currency == 'RMB' && $scope.order.paytype == '1102') {
-							paymentEnsure(arr);
-						} else if($scope.order.paytype == '1103') {
-							console.log(arr.length)
-							if(arr.length != 1){
-								$state.go('downPayment', {orderid : enIdFilter(arr.join('-'))});
-							}else {
-								$state.go('order_transfer', {orderid : enIdFilter(arr.join('-'))});
-							}
-						}else {
-							toaster.pop('info', '美元请线下付款');
-							$state.go('buyer_order');
-						}
-
-					}
-				}else {
-					if(data.code == 6) { //产品信息有更新
-						toaster.pop('warning', data.message + ",请刷新界面之后重新操作");
-					}else if(data.code == 7){
-						toaster.pop('warning', data.message + ",将为您跳转到购物车界面");
-						$timeout(function () {
-							$state.go('buyer_cart');
-						}, 1000);
-					}else {
-						toaster.pop('warning', data.message);
-					}
-				}
-
-			}, function(response) {
-				toaster.pop('error', '确认订单失败,' + response.data);
-			});
+            // 安全级别
+            if (!$scope.userInfo.pwdEnable || !$scope.userInfo.haveUserQuestion||!$scope.userInfo.emailValidCode || $scope.userInfo.emailValidCode != 2) {
+                $scope.openHomeCenterModel();
+            } else {
+                if($scope.order.status == 502 || $scope.order.status == 503) {
+                    var arr = [];
+                    if($scope.order.orderids) {
+                        arr = $scope.order.orderids.split(",");
+                    }else {
+                        arr.push($scope.order.orderid);
+                    }
+                    if ($scope.order.currency == 'RMB' && $scope.order.paytype == '1102') {
+                        paymentEnsure(arr);
+                    } else if($scope.order.paytype == '1103') {
+                        $state.go('order_transfer', {orderid : enIdFilter(arr.join("-"))});
+                    }else {
+                        toaster.pop('info', '美元请线下付款');
+                    }
+                    return ;
+                }
+                var validRule = checkRule();
+                if (!validRule){
+                    toaster.pop("info", "当前地址部分卖家无法配送,请重新选择地址或与卖家协商处理");
+                    return ;
+                }
+                var validTakeSelf = checkTakeSelf();
+                if (!validTakeSelf){
+                    toaster.pop("info", "请选择一个自提点");
+                    return ;
+                }
+                var orderInfos = [], orderInfo;
+                orderInfo = generateOrderInfo();
+                if(orderInfo == null) {
+                    return ;
+                }
+                orderInfos.push(orderInfo);
+                if(!$scope.imperfect){
+                    var validBill = checkBill();
+                    if (!validBill){
+                        // toaster.pop('info', '请完善专票信息');
+                        $scope.showBillFrame = true;
+                        return ;
+                    }
+                }
+
+                Order.ensure({orderid: enIdFilter($scope.order.orderid)}, orderInfos, function(data){
+                    if(data.code == 1) {
+                        if (data.data && data.data[0]) {
+                            var arr = [];
+                            var batchCodes = [];
+                            for(var i = 0; i < data.data.length; i++) {
+                                arr.push(data.data[i].orderid);
+                                for(var j = 0; j < data.data[i].orderDetails.length; j++) {
+                                    batchCodes.push(data.data[i].orderDetails[j].batchCode);
+                                }
+                            }
+                            if(!$scope.order.buyNow) {
+                                Cart.deleteByBatchCode({}, batchCodes, function(data) {
+                                }, function(response) {
+                                });
+                            }
+                            if ($scope.order.currency == 'RMB' && $scope.order.paytype == '1102') {
+                                paymentEnsure(arr);
+                            } else if($scope.order.paytype == '1103') {
+                                console.log(arr.length)
+                                if(arr.length != 1){
+                                    $state.go('downPayment', {orderid : enIdFilter(arr.join('-'))});
+                                }else {
+                                    $state.go('order_transfer', {orderid : enIdFilter(arr.join('-'))});
+                                }
+                            }else {
+                                toaster.pop('info', '美元请线下付款');
+                                $state.go('buyer_order');
+                            }
+
+                        }
+                    }else {
+                        if(data.code == 6) { //产品信息有更新
+                            toaster.pop('warning', data.message + ",请刷新界面之后重新操作");
+                        }else if(data.code == 7){
+                            toaster.pop('warning', data.message + ",将为您跳转到购物车界面");
+                            $timeout(function () {
+                                $state.go('buyer_cart');
+                            }, 1000);
+                        }else {
+                            toaster.pop('warning', data.message);
+                        }
+                    }
+
+                }, function(response) {
+                    toaster.pop('error', '确认订单失败,' + response.data);
+                });
+            }
 		};
 
 		// 跳银盛支付页面

+ 36 - 38
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_index_ctrl.js

@@ -8,7 +8,6 @@ define(['app/app', 'calendar'], function(app) {
         $rootScope.active = 'index';
         $scope.count = 0;
         $scope.userInfo = $rootScope.userInfo;
-        console.log($scope.userInfo);
 
         // 申请
         $scope.auditApply = function (status, id, UU) {
@@ -167,47 +166,46 @@ define(['app/app', 'calendar'], function(app) {
         };
 
         //安全设置提醒框
-        $scope.openHomeCenterModel = function() {
-            var modalInstance = $modal.open({
-              animation: true,
-              templateUrl: $rootScope.rootPath + '/static/view/usercenter/modal/homeCenter_modal.html',
-              controller:'homeModalCtrl'
-            });
-            modalInstance.result.then(function(){
-            }, function(){
-            });
-        }
+        // $scope.openHomeCenterModel = function() {
+        //     var modalInstance = $modal.open({
+        //       animation: true,
+        //       templateUrl: $rootScope.rootPath + '/static/view/usercenter/modal/homeCenter_modal.html',
+        //       controller:'homeModalCtrl'
+        //     });
+        //     modalInstance.result.then(function(){
+        //     }, function(){
+        //     });
+        // }
 
         //安全级别
-        if(!($scope.userInfo.pwdEnable && $scope.userInfo.haveUserQuestion && ($scope.userInfo.userEmail==null?false:true))){
-            $scope.openHomeCenterModel();
-        } else {
-            $q.all([initRuleCount().$promise]).then(function (data) {
-                if (data){
-                    if ($scope.needShowTip){
-                        $modal.open({
-                            animation: true,
-                            templateUrl: 'static/view/common/modal/delivery_rule_modal.html',
-                            controller: 'rule_tip_ctrl',
-                            resolve : {
-                                type : function() {
-                                    return 'center';
-                                },
-                                tipModal : function() {
-                                    return true;
-                                },
-                                success : function () {
-                                    return false;
-                                },
-                                uuid: function () {
-                                    return null;
-                                }
+        $q.all([initRuleCount().$promise]).then(function (data) {
+            if (data){
+                if ($scope.needShowTip){
+                    $modal.open({
+                        animation: true,
+                        templateUrl: 'static/view/common/modal/delivery_rule_modal.html',
+                        controller: 'rule_tip_ctrl',
+                        resolve : {
+                            type : function() {
+                                return 'center';
+                            },
+                            tipModal : function() {
+                                return true;
+                            },
+                            success : function () {
+                                return false;
+                            },
+                            uuid: function () {
+                                return null;
                             }
-                        });
-                    }
+                        }
+                    });
                 }
-            });
-        }
+            }
+        });
+        // if(!($scope.userInfo.pwdEnable && $scope.userInfo.haveUserQuestion && ($scope.userInfo.userEmail==null?false:true))){
+        //     // $scope.openHomeCenterModel();
+        // } else {}
 
     }]);
 

+ 3 - 0
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_onSaleCtrl.js

@@ -1807,6 +1807,9 @@ define([ 'app/app' ], function(app) {
                 $scope.modifyData = data;
                 $scope.batchModify = false;
                 $scope.modifyResult = true;
+                if ($scope.modifyData.success > 0) {
+                    loadData();
+                }
             }).error(function(response) {
                 $scope.selectFile(' ');
                 $scope.myFile = [];

+ 48 - 18
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_order_ctrl.js

@@ -571,28 +571,44 @@ define(['app/app'], function (app) {
         };
         getCounts();
 
+        //安全设置提醒框
+        $scope.openHomeCenterModel = function() {
+            var modalInstance = $modal.open({
+              animation: true,
+              templateUrl: $rootScope.rootPath + '/static/view/usercenter/modal/homeCenter_modal.html',
+              controller:'homeModalCtrl'
+            });
+            modalInstance.result.then(function(){
+            }, function(){
+            });
+        }
+
         // 填写物流信息
         $scope.toBeShiped = function (purchase) {
-            bankInfoService.getVenderBankDefault(null, function (data) {
-                if (data && data.length > 0) {
-                    // 如果处于406,则直接跳转到物流页面
-                    if (purchase.inid) {
-                        // 填写物流信息
-                        $state.go("vendor_delivery", {ids: enIdFilter(purchase.inid)});
-                    } else {
-                        Purchase.tobeshiped({id: purchase.id}, function (data) {
-                            toaster.pop('success', '转出货单成功');
+            if(!($scope.userInfo.pwdEnable && $scope.userInfo.haveUserQuestion && ($scope.userInfo.userEmail==null?false:true))){
+                $scope.openHomeCenterModel();
+            } else {
+                bankInfoService.getVenderBankDefault(null, function (data) {
+                    if (data && data.length > 0) {
+                        // 如果处于406,则直接跳转到物流页面
+                        if (purchase.inid) {
                             // 填写物流信息
-                            $state.go("vendor_delivery", {ids: enIdFilter(data.inId)});
-                        }, function (response) {
-                            toaster.pop('error', '失败', '转出货单失败' + response.data);
-                        });
+                            $state.go("vendor_delivery", {ids: enIdFilter(purchase.inid)});
+                        } else {
+                            Purchase.tobeshiped({id: purchase.id}, function (data) {
+                                toaster.pop('success', '转出货单成功');
+                                // 填写物流信息
+                                $state.go("vendor_delivery", {ids: enIdFilter(data.inId)});
+                            }, function (response) {
+                                toaster.pop('error', '失败', '转出货单失败' + response.data);
+                            });
+                        }
+                    } else {
+                        purchase.showGotoSettle = true;
                     }
-                } else {
-                    purchase.showGotoSettle = true;
-                }
-            }, function (response) {
-            });
+                }, function (response) {
+                });
+            }
         };
 
         $scope.showDeletePurchase = function (purchase) {
@@ -1710,4 +1726,18 @@ define(['app/app'], function (app) {
         }
 
     }]);
+    app.register.controller('homeModalCtrl', ['$rootScope', '$scope',  '$modalInstance', 'toaster', '$http', 'ShippingAddress','$state', function($rootScope, $scope, $modalInstance, toaster, $http, ShippingAddress,$state){
+        $rootScope.$on('$stateChangeStart',
+            function(event, toState, toParams, fromState, fromParams){
+                $modalInstance.dismiss();
+            })
+        $scope.goLink = function(op) {
+            $state.go('vendor_account_management',{op:op});
+            $modalInstance.dismiss('cancel');
+        }
+
+        $scope.cancel = function () {
+            $modalInstance.dismiss('cancel');
+        }
+    }]);
 });

+ 5 - 1
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_upload_ctrl.js

@@ -274,7 +274,11 @@ define([ 'app/app' ], function(app) {
 				// if(!message) {
 				// 	message = '没有提交任何信息'
 				// }
-				toaster.pop('info', '提示', '上传完成');
+                if ($scope.result.filter && $scope.result.filter > 0) {
+                    toaster.pop('warning', '警告', '存在导入失败产品,可下载导入失败表格查看详情');
+                } else {
+                    toaster.pop('success', '提示', '上传完成');
+                }
 				$scope.relTableParams.page(1);
 				$scope.relTableParams.reload();
                 if ($rootScope.$$productOn.tab === 'bathOnPerson') {

+ 18 - 20
src/main/webapp/resources/view/usercenter/forstore/buyer_transfer.html

@@ -3,25 +3,24 @@
 <div class="user_right fr">
 	<div class="down-payment">
 		<div class="content">
-			<!--<div class="common-title margin-top-none">付款账户</div>-->
-			<!--<div class="payment-style">-->
-				<!--<ul>-->
-					<!--<li ng-if="buyAccount">-->
-						<!--<label class="check-act" style="margin-right: 64px;">-->
-							<!--<input type="radio" id="1" name="1" checked/>-->
-							<!--<label for="1"></label>-->
-							<!--<em class="word-in-10" ng-bind="buyAccount.bankname" title="{{buyAccount.bankname}}"></em>-->
-						<!--</label>-->
-						<!--<div ng-bind="buyAccount.filterAccount"></div>-->
-						<!--<div ng-bind="buyAccount.accountname"></div>-->
-						<!--<div ng-if="buyAccountInfos.length > 1"><button class="change-count" ng-click="changebuyAccount(buyAccount.id)">更换账户</button></div>-->
-					<!--</li>-->
-					<!--<li class="no-count" ng-if="!buyAccount">-->
-						<!--<span><i class="fa fa-exclamation-circle"></i>暂未设置付款账户,前往  <a href="javascript:void(0)" ng-click="editAccount()">设置付款账户</a></span>-->
-					<!--</li>-->
-				<!--</ul>-->
-			<!--</div>-->
-			<!--
+			<div class="common-title margin-top-none">付款账户</div>
+			<div class="payment-style">
+				<ul>
+					<li ng-if="buyAccount">
+						<label class="check-act" style="margin-right: 64px;">
+							<input type="radio" id="1" name="1" checked/>
+							<label for="1"></label>
+							<em class="word-in-10" ng-bind="buyAccount.bankname" title="{{buyAccount.bankname}}"></em>
+						</label>
+						<div ng-bind="buyAccount.filterAccount"></div>
+						<div ng-bind="buyAccount.accountname"></div>
+						<div ng-if="buyAccountInfos.length > 1"><button class="change-count" ng-click="changebuyAccount(buyAccount.id)">更换账户</button></div>
+					</li>
+					<li class="no-count" ng-if="!buyAccount">
+						<span><i class="fa fa-exclamation-circle"></i>暂未设置付款账户,前往  <a href="javascript:void(0)" ng-click="editAccount()">设置付款账户</a></span>
+					</li>
+				</ul>
+			</div>
 			<div class="common-title margin-top-8">收款账户</div>
 			<div class="payment-style">
 				<ul class="payment-80">
@@ -65,7 +64,6 @@
 					</li>
 				</ul>
 			</div>
-			-->
 			<div class="common-title margin-top-8" ng-if="type == 'PAIDTOVENDOR'">分期付款明细</div>
 			<div class="payment-detail" ng-if="type == 'PAIDTOVENDOR'">
 				<ul>

+ 1 - 1
src/main/webapp/resources/view/usercenter/forstore/seekPurchase.html

@@ -1010,7 +1010,7 @@
                 <th width="260">型号/规格</th>
                 <th width="110">采购数量(PCS)</th>
                 <th width="120">状态/截止时间</th>
-                <th width="136">操作</th>
+                <th width="140">操作</th>
             </tr>
             </thead>
             <tbody ng-repeat="seek in seekListData.content" ng-class="{'active': seek.$status && (seek.$status == 1 || seek.$status == 2)}">

+ 13 - 7
src/main/webapp/resources/view/usercenter/left_nav.html

@@ -36,18 +36,24 @@
             <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.emailValidCode && userInfo.emailValidCode == 2)">
+                <div>
                     <li ng-class="{'active' : active == 'buyer_order'}"><a  ui-sref="buyer_order">订单中心</a></li>
                     <li ng-class="{'active' : active == 'seek_purchase'}"><a  ui-sref="buyerSeekPurchase">我的求购</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.emailValidCode && userInfo.emailValidCode == 2">
-                    <li ng-class="{'active' : active == 'buyer_order'}"><a ng-click="promptUpdate()" class="disabled">订单中心</a></li>
-                    <li ng-class="{'active' : active == 'seek_purchase'}"><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>
+                <!--<div ng-hide="!(userInfo.pwdEnable && userInfo.haveUserQuestion &&  userInfo.emailValidCode && userInfo.emailValidCode == 2)">-->
+                    <!--<li ng-class="{'active' : active == 'buyer_order'}"><a  ui-sref="buyer_order">订单中心</a></li>-->
+                    <!--<li ng-class="{'active' : active == 'seek_purchase'}"><a  ui-sref="buyerSeekPurchase">我的求购</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.emailValidCode && userInfo.emailValidCode == 2">-->
+                    <!--<li ng-class="{'active' : active == 'buyer_order'}"><a ng-click="promptUpdate()" class="disabled">订单中心</a></li>-->
+                    <!--<li ng-class="{'active' : active == 'seek_purchase'}"><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>-->
 
 
 

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

@@ -662,12 +662,12 @@
         <table ng-table="seekPurchaseTableParams">
             <thead>
             <tr>
-                <th width="178">买家/发布时间</th>
+                <th width="180">买家/发布时间</th>
                 <th width="245">类目/品牌</th>
                 <th width="245">型号/规格</th>
                 <th width="110">采购数量(PCS)</th>
-                <th width="124">剩余时间</th>
-                <th width="88">操作</th>
+                <th width="130">剩余时间</th>
+                <th width="90">操作</th>
             </tr>
             </thead>
             <tbody ng-repeat="seek in $data track by $index" ng-class="{'active': seek.$active, 'hover': seek.$hover && (seek.status == 201 || seek.status == 202)}">

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

@@ -699,12 +699,12 @@
         <table ng-table="seekPurchaseTableParams">
             <thead>
                 <tr>
-                    <th width="178">买家/发布时间</th>
+                    <th width="180">买家/发布时间</th>
                     <th width="245">类目/品牌</th>
                     <th width="245">型号/规格</th>
                     <th width="110">采购数量(PCS)</th>
-                    <th width="124">剩余时间</th>
-                    <th width="88">操作</th>
+                    <th width="130">剩余时间</th>
+                    <th width="90">操作</th>
                 </tr>
             </thead>
             <tbody ng-repeat="seek in seekListData track by $index" ng-class="{'active': seek.$active}">

+ 10 - 1
src/main/webapp/resources/view/vendor/forstore/vendor_material.html

@@ -379,7 +379,8 @@
 		font-size: 12px;
 		line-height: 35px;
 		/* margin-top: 5px; */
-		padding-right: 22px
+		padding-right: 22px;
+		overflow: hidden;
 	}
 	.device .tab{
 		padding-bottom: 20px;
@@ -1930,6 +1931,13 @@
 	.edit-replace-box .content .content-line .form-item input.error {
 		border-color: #e30e16;
 	}
+	/*上架30分钟提示*/
+	.record-line .tip {
+		padding-left: 30px;
+		float: left;
+		font-size: 14px;
+		color: #f60e0e;
+	}
 </style>
 <div class="user_right fr">
 	<!--货品管理-->
@@ -2467,6 +2475,7 @@
 						<!--<strong class="text-inverse">*</strong>商城暂未收录的 品牌/器件,”原厂型号“将会显示为空且不可上架售卖,<br/>-->
 						<!--如需上架可先点击 【匹配】按钮,若匹配不成功,可前往<a ui-sref="vendor_brand_apply" target="_blank"> 品牌申请/</a><a ui-sref="vendor_component_apply" target="_blank">器件申请</a>,提出申请-->
 					<!--</div>-->
+					<div class="tip">* 上架成功30分钟后,方可被客户搜索到,并在业产品库展示。</div>
 					<div ng-if="currenctMaterial.length != 0">显示 {{(param.page - 1) * 10 + 1}}-
 						<span ng-if="param.currentPage == materialAll.totalPages" ng-bind="materialAll.totalElements"></span>
 						<span ng-if="param.currentPage != materialAll.totalPages" ng-bind="param.page * param.count"></span>, 共: <span ng-bind="materialAll.totalElements" style="color: #5078cb;"></span> 个</div>

+ 2 - 2
src/main/webapp/resources/view/vendor/forstore/vendor_store_maintain.html

@@ -699,7 +699,7 @@
 			</div>-->
 			<div class="row com_row">
 				<div class="col-md-2 custom_col">
-					<span>简&nbsp;&nbsp;&nbsp;&nbsp;介<strong class="text-inverse">*</strong></span>
+					<span>主营产品<strong class="text-inverse">*</strong></span>
 				</div>
 				<div class="col-md-10 custom_col">
 					<textarea class="form-control" style="border-radius: inherit;resize: none;height: 200px;" title="description" ng-model="sampleStore.description" maxlength="500" required></textarea>
@@ -715,7 +715,7 @@
 			</div>-->
 			<div class="row com_row" style="margin-top: 10px;">
 				<div class="col-md-2 custom_col">
-					<span>企业地址<strong class="text-inverse">*</strong></span>
+					<span>店铺地址<strong class="text-inverse">*</strong></span>
 				</div>
 				<div class="col-md-10 custom_col">
 					<input type="text" class="form-control" style="border-radius: inherit;" title="address" ng-model="sampleStore.enterprise.address" maxlength="50"/>

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

@@ -517,6 +517,12 @@
     .com_tab ul li.active:after{
         display: block
     }
+    /*上架30分钟提示*/
+    .device .load_next .tip {
+        margin-left: 15px;
+        font-size: 14px;
+        color: #f60e0e;
+    }
 </style>
 <div class="user_right fr">
     <!--货品管理-->
@@ -686,7 +692,10 @@
                             </tbody>
                         </table>
                         <div style="margin-top: -40px;" ng-if="$$productOn.tab == 'bathOn'">3、如核对信息无误之后,点击确认发布</div>
-                        <span class="blue-bg publish" href="javascript:void(0)" ng-click="publish($event)" ng-disabled="!pageParams.totalElements" ng-show="$$productOn.tab == 'bathOn'"><span>确认上架</span></span>
+                        <div>
+                            <span class="blue-bg publish" href="javascript:void(0)" ng-click="publish($event)" ng-disabled="!pageParams.totalElements" ng-show="$$productOn.tab == 'bathOn'"><span>确认上架</span></span>
+                            <b class="tip" ng-show="$$productOn.tab == 'bathOn'">* 上架成功30分钟后,方可被客户搜索到,并在业产品库展示。</b>
+                        </div>
                     </div>
                 </div>
                 <!--<div class="load_next">-->

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

@@ -43,7 +43,7 @@
 <div id="vendor_left_bar" class="user_left fl" ng-controller="leftNavCtrl">
 	<span  ui-sref="vendor_index"><p ng-class="{'active' : active == 'index'}"><span>卖家中心</span></p></span>
 	<ul>
-		<div ng-hide="!(userInfo.pwdEnable && userInfo.haveUserQuestion && userInfo.emailValidCode && userInfo.emailValidCode == 2)">
+		<div>
 		<li ng-class="{'active' : active == 'vendor_order'}"><span  ui-sref="vendor_order">订单中心</span></li>
 			<!--	<li ng-class="{'active' : active == 'vendor_productOn'}"><span  ui-sref="vendor_productOn">产品导入</span></li>-->
 			<li ng-class="{'active' : active == 'vendor_productOn'}"><span  ui-sref="vendor_upload">产品导入</span></li>
@@ -79,40 +79,40 @@
 		<!--</li>-->
 		<!--<li ng-class="{'active' : active == 'vendor_manufacture'}"><span  ui-sref="vendor_manufacture">原厂认证</span></li>-->
 		</div>
-		<div ng-hide="userInfo.pwdEnable && userInfo.haveUserQuestion && userInfo.emailValidCode && userInfo.emailValidCode == 2">
-			<li ng-class="{'active' : active == 'vendor_order'}"><span ng-click="promptUpdate()" class="disabled">订单中心</span></li>
-			<!--	<li ng-class="{'active' : active == 'vendor_productOn'}"><span  ui-sref="vendor_productOn">产品导入</span></li>-->
-			<li ng-class="{'active' : active == 'vendor_productOn'}"><span ng-click="promptUpdate()" class="disabled" >产品导入</span></li>
-			<li ng-class="{'active' : active == 'vendor_material'}"><span ng-click="promptUpdate()" class="disabled" >产品管理</span></li>
-			<li ng-class="{'active' : active == 'vendor_store'}">
-				<!-- 我要开店 !store && applyStatus == 'NONE' -->
-				<span ng-click="promptUpdate()" class="disabled"  ng-if="!store && applyStatus == 'NONE'">开店申请</span>
-				<!-- 店铺申请中 !store && applyStatus == 'PREPARE' -->
-				<span ng-click="promptUpdate()" class="disabled"  ng-if="!store && applyStatus == 'PREPARE'">开店申请</span>
-				<!-- 我的店铺 !store && applyStatus == 'PASS' -->
-				<span ng-click="promptUpdate()" class="disabled"  ng-if="!store && applyStatus == 'PASS'">店铺管理</span>
-				<!-- 我的店铺 store -->
-				<span ng-click="promptUpdate()" class="disabled"  ng-if="store && (!store.status || store.status === 'OPENED')">店铺管理</span>
-				<!-- 我的店铺申述 store -->
-				<span ng-click="promptUpdate()" class="disabled"  ng-if="store && store.status && store.status !== 'OPENED'">店铺管理</span>
-			</li>
-			<li ng-class="{'active' : active == 'vendor_seek_purchase'}"><span ng-click="promptUpdate()" class="disabled">我的商机</span></li>
-			<li ng-class="{'active' : active == 'vendor_logistics'}"><span ng-click="promptUpdate()" class="disabled">物流管理</span></li>
-			<li ng-class="{'active' : active == 'vendor_invoice'}"><span ng-click="promptUpdate()" class="disabled" >发票管理</span></li>
-			<!--	<li ng-class="{'active' : active == 'vendor_logistics'}"><span  ui-sref="vendor_logistics">物流管理</span></li>-->
-			<li ng-class="{'active' : active == 'pay_center'}"><span ng-click="promptUpdate()" class="disabled" >结算中心</span></li>
-			<li ng-class="{'active' : active == 'vendor_brand_apply'}"><span ng-click="promptUpdate()" class="disabled" >品牌申请</span></li>
-			<li ng-class="{'active' : active == 'vendor_component_apply'}"><span ng-click="promptUpdate()" class="disabled" >器件申请</span></li>
-			<!--<li ng-class="{'active' : active == 'vendor_repository'}"><span  ui-sref="vendor_repository">仓库管理</span></li>-->
-
-			<!--<li ng-class="{'active' : active == 'vendor_after_sale'}" class="undo">-->
-			<!--&lt;!&ndash;<span  ui-sref="vendor_after_sale">售后处理</span>&ndash;&gt;-->
-			<!--售后处理-->
+		<!--<div ng-hide="userInfo.pwdEnable && userInfo.haveUserQuestion && userInfo.emailValidCode && userInfo.emailValidCode == 2">-->
+			<!--<li ng-class="{'active' : active == 'vendor_order'}"><span ng-click="promptUpdate()" class="disabled">订单中心</span></li>-->
+			<!--&lt;!&ndash;	<li ng-class="{'active' : active == 'vendor_productOn'}"><span  ui-sref="vendor_productOn">产品导入</span></li>&ndash;&gt;-->
+			<!--<li ng-class="{'active' : active == 'vendor_productOn'}"><span ng-click="promptUpdate()" class="disabled" >产品导入</span></li>-->
+			<!--<li ng-class="{'active' : active == 'vendor_material'}"><span ng-click="promptUpdate()" class="disabled" >产品管理</span></li>-->
+			<!--<li ng-class="{'active' : active == 'vendor_store'}">-->
+				<!--&lt;!&ndash; 我要开店 !store && applyStatus == 'NONE' &ndash;&gt;-->
+				<!--<span ng-click="promptUpdate()" class="disabled"  ng-if="!store && applyStatus == 'NONE'">开店申请</span>-->
+				<!--&lt;!&ndash; 店铺申请中 !store && applyStatus == 'PREPARE' &ndash;&gt;-->
+				<!--<span ng-click="promptUpdate()" class="disabled"  ng-if="!store && applyStatus == 'PREPARE'">开店申请</span>-->
+				<!--&lt;!&ndash; 我的店铺 !store && applyStatus == 'PASS' &ndash;&gt;-->
+				<!--<span ng-click="promptUpdate()" class="disabled"  ng-if="!store && applyStatus == 'PASS'">店铺管理</span>-->
+				<!--&lt;!&ndash; 我的店铺 store &ndash;&gt;-->
+				<!--<span ng-click="promptUpdate()" class="disabled"  ng-if="store && (!store.status || store.status === 'OPENED')">店铺管理</span>-->
+				<!--&lt;!&ndash; 我的店铺申述 store &ndash;&gt;-->
+				<!--<span ng-click="promptUpdate()" class="disabled"  ng-if="store && store.status && store.status !== 'OPENED'">店铺管理</span>-->
 			<!--</li>-->
-			<!--<li ng-class="{'active' : active == 'vendor_manufacture'}"><span  ui-sref="vendor_manufacture">原厂认证</span></li>-->
+			<!--<li ng-class="{'active' : active == 'vendor_seek_purchase'}"><span ng-click="promptUpdate()" class="disabled">我的商机</span></li>-->
+			<!--<li ng-class="{'active' : active == 'vendor_logistics'}"><span ng-click="promptUpdate()" class="disabled">物流管理</span></li>-->
+			<!--<li ng-class="{'active' : active == 'vendor_invoice'}"><span ng-click="promptUpdate()" class="disabled" >发票管理</span></li>-->
+			<!--&lt;!&ndash;	<li ng-class="{'active' : active == 'vendor_logistics'}"><span  ui-sref="vendor_logistics">物流管理</span></li>&ndash;&gt;-->
+			<!--<li ng-class="{'active' : active == 'pay_center'}"><span ng-click="promptUpdate()" class="disabled" >结算中心</span></li>-->
+			<!--<li ng-class="{'active' : active == 'vendor_brand_apply'}"><span ng-click="promptUpdate()" class="disabled" >品牌申请</span></li>-->
+			<!--<li ng-class="{'active' : active == 'vendor_component_apply'}"><span ng-click="promptUpdate()" class="disabled" >器件申请</span></li>-->
+			<!--&lt;!&ndash;<li ng-class="{'active' : active == 'vendor_repository'}"><span  ui-sref="vendor_repository">仓库管理</span></li>&ndash;&gt;-->
 
+			<!--&lt;!&ndash;<li ng-class="{'active' : active == 'vendor_after_sale'}" class="undo">&ndash;&gt;-->
+			<!--&lt;!&ndash;&lt;!&ndash;<span  ui-sref="vendor_after_sale">售后处理</span>&ndash;&gt;&ndash;&gt;-->
+			<!--&lt;!&ndash;售后处理&ndash;&gt;-->
+			<!--&lt;!&ndash;</li>&ndash;&gt;-->
+			<!--&lt;!&ndash;<li ng-class="{'active' : active == 'vendor_manufacture'}"><span  ui-sref="vendor_manufacture">原厂认证</span></li>&ndash;&gt;-->
 
-		</div>
+
+		<!--</div>-->
 		<li ng-class="{'active' : active == 'vendor_account_management'}"><span  ui-sref="vendor_account_management">账户管理</span></li>
 	</ul>
 </div>