Explorar o código

Merge remote-tracking branch 'origin/release-201820-wangcz' into release-201820-wangcz

liusw %!s(int64=7) %!d(string=hai) anos
pai
achega
b40f6fcd15
Modificáronse 17 ficheiros con 1882 adicións e 55 borrados
  1. 24 1
      src/main/java/com/uas/platform/b2c/common/account/controller/AuthenticationController.java
  2. 5 0
      src/main/java/com/uas/platform/b2c/common/account/dao/EnterpriseDao.java
  3. 11 0
      src/main/java/com/uas/platform/b2c/common/account/model/Enterprise.java
  4. 1 1
      src/main/java/com/uas/platform/b2c/common/search/constant/SearchUrl.java
  5. 4 8
      src/main/java/com/uas/platform/b2c/common/search/rpc/service/Impl/SearchServiceImpl.java
  6. 1 1
      src/main/java/com/uas/platform/b2c/common/search/rpc/service/SearchService.java
  7. 50 10
      src/main/java/com/uas/platform/b2c/common/search/service/impl/SearcherServiceImpl.java
  8. 3 0
      src/main/java/com/uas/platform/b2c/core/filter/SSOInterceptor.java
  9. 9 12
      src/main/java/com/uas/platform/b2c/prod/product/component/service/impl/ComponentGoodsServiceImpl.java
  10. 9 7
      src/main/java/com/uas/platform/b2c/prod/product/component/service/impl/ComponentServiceImpl.java
  11. 2 2
      src/main/java/com/uas/platform/b2c/trade/vendor/model/VendorIntroduction.java
  12. 6 3
      src/main/webapp/resources/js/usercenter/controllers/forstore/order_pay_ctrl.js
  13. 1 1
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_upload_ctrl.js
  14. 1 0
      src/main/webapp/resources/view/common/footer.html
  15. 8 7
      src/main/webapp/resources/view/usercenter/forstore/order_pay.html
  16. 4 2
      src/main/webapp/resources/view/usercenter/forstore/store_focus.html
  17. 1743 0
      src/main/webapp/resources/view/vendor/forstore/vendor_onSale.html

+ 24 - 1
src/main/java/com/uas/platform/b2c/common/account/controller/AuthenticationController.java

@@ -8,7 +8,12 @@ import com.uas.platform.b2c.common.account.service.RoleService;
 import com.uas.platform.b2c.common.account.service.UserService;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.core.model.Constant;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
+import com.uas.sso.SSOHelper;
+import com.uas.sso.SSOToken;
+import com.uas.sso.entity.UserAccount;
 import net.sf.ehcache.CacheManager;
+import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.repository.query.Param;
 import org.springframework.http.HttpStatus;
@@ -18,6 +23,7 @@ import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.util.List;
@@ -29,6 +35,9 @@ import java.util.List;
 @RequestMapping("/user/authentication")
 public class AuthenticationController {
 
+
+	private static final Logger logger = Logger.getLogger(AuthenticationController.class);
+
 	@Autowired
 	private UserService userService;
 
@@ -93,10 +102,24 @@ public class AuthenticationController {
 	 */
 	@RequestMapping(value = "/{enUU}")
 	@ResponseBody
-	public void switchEnterprise(@PathVariable("enUU") long enUU, HttpServletRequest request) {
+	public void switchEnterprise(@PathVariable("enUU") long enUU, HttpServletRequest request, HttpServletResponse response) {
 		userService.saveLoginTime(enUU);
 		User user = userService.switchEnterprise(enUU);
 		request.getSession().setAttribute("user", user);
+
+		SSOToken token = (SSOToken)SSOHelper.getToken(request);
+		logger.info(String.format("切换账套,用户:%s,获取用户信息成功,手机号:%s", user.getUserName(), token.getUid()));
+		UserAccount tokenUser = FlexJsonUtils.fromJson(token.getData(), UserAccount.class);
+		if (enUU == 0L) {
+			tokenUser.setSpaceUU(null);
+			tokenUser.setBusinessCode(null);
+			tokenUser.setSpaceName(null);
+		} else {
+			tokenUser.setSpaceUU(enUU);
+		}
+		token.setData(FlexJsonUtils.toJson(tokenUser));
+		// 设置cookie
+		SSOHelper.setSSOCookie(request, response, token, true);
 	}
 
 	/**

+ 5 - 0
src/main/java/com/uas/platform/b2c/common/account/dao/EnterpriseDao.java

@@ -24,6 +24,11 @@ public interface EnterpriseDao extends JpaSpecificationExecutor<Enterprise>, Jpa
 	@Query(value="select e.enName from Enterprise e where e.enName like %?1%")
 	public List<String> findEnNameByName(String name);
 
+	@Query(value = "select e.*, ifnull(s.id, 0) as isStore from sec$enterprises e " +
+			" left join store$info s on e.en_uu = s.st_enuu and s.st_status = 'OPENED' where e.en_uu = :uu  "
+			, nativeQuery = true)
+	public Enterprise findEnterpriseAndIsStoreByUu(@Param("uu") Long uu);
+
 	/**
 	 * 企业资料初始化
 	 *

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

@@ -189,6 +189,9 @@ public class Enterprise implements Serializable {
 	@Transient
 	private Integer receiptStatus;
 
+	@Transient
+	private Integer isStore;
+
 	/**
 	 * 企业简介
 	 */
@@ -235,6 +238,14 @@ public class Enterprise implements Serializable {
 		this.uu = uu;
 	}
 
+	public Integer getIsStore() {
+		return isStore;
+	}
+
+	public void setIsStore(Integer isStore) {
+		this.isStore = isStore;
+	}
+
 	public String getEnName() {
 		return enName;
 	}

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

@@ -20,7 +20,7 @@ public class SearchUrl {
     /**
      * 获取企业物料
      */
-    public static final String PRODUCT_ID_NENUU_URL = "/search/productIds?keyword={keyword}&page={page}&size={size}";
+    public static final String PRODUCT_ID_NENUU_URL = "/search/productIds?keyword={keyword}&page={page}&size={size}&duplicate=true";
 
     /**
      * 标准型号联想(物料)

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

@@ -190,7 +190,7 @@ public class SearchServiceImpl implements SearchService{
     }
 
     @Override
-    public Map<String, Object> getComponentIds(String keyword, PageParams var2) throws SearchException {
+    public String getComponentIds(String keyword, PageParams var2) throws SearchException {
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
         map.put("params", FlexJsonUtils.toJsonDeep(var2));
@@ -198,16 +198,12 @@ public class SearchServiceImpl implements SearchService{
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
-            try {
-                Map<String, Object> reMap = FastjsonUtils.fromJson(str, Map.class);
-                return reMap;
-            }catch (Exception e) {
-                e.printStackTrace();
-                return null;
-            }
+            return str;
         }
     }
 
+
+
     @Override
     public Set<Long> getKindIdsBySearchComponent(String keyword, String brandId) throws SearchException {
         Map<String, Object> map = new HashedMap();

+ 1 - 1
src/main/java/com/uas/platform/b2c/common/search/rpc/service/SearchService.java

@@ -29,7 +29,7 @@ public interface SearchService {
 
     SPage<Map<String, Object>> getbrandsAndSellers(String keyword, Integer page, Integer size) throws SearchException;
 
-    Map<String, Object> getComponentIds(String keyword, PageParams var2) throws SearchException;
+    String getComponentIds(String keyword, PageParams var2) throws SearchException;
 
     Set<Long> getKindIdsBySearchComponent(String keyword, String brandId) throws SearchException;
 

+ 50 - 10
src/main/java/com/uas/platform/b2c/common/search/service/impl/SearcherServiceImpl.java

@@ -200,23 +200,63 @@ public class SearcherServiceImpl implements SearcherService {
 	@Override
 	public ModelMap searchComponent(String keyword, PageParams page) {
 		ModelMap map = new ModelMap();
-		Map<String, Object> results = new HashMap<>();
+		String results = "";
 		try {
 			results = searchService.getComponentIds(keyword, convertPageParams(page));
 		} catch (SearchException e) {
 			throwSystemException(e);
 		}
-		List<Long> componentIds = (List<Long>) results.get("componentIds");
-		if (!CollectionUtils.isEmpty(componentIds)) {
-			List<ComponentInfo> components = componentInfoDao
-					.findByIdsInOrder(componentIds.toArray(new Long[componentIds.size()]));
+
+		ComponentIdsResult componentIdsResult = FastjsonUtils.fromJson(results, ComponentIdsResult.class);
+		Long[] componentIds = componentIdsResult.getComponentIds();
+
+		if (componentIds.length > 0) {
+			List<ComponentInfo> components = componentInfoDao.findByIdsInOrder(componentIds);
 			map.put("components", components);// 当前页器件内容
 		}
-		map.put("total", results.get("total"));// 搜索结果总数
-		map.put("page", results.get("page"));// 当前页面
-		map.put("size", results.get("size"));// 每页个数
+		map.put("total", componentIdsResult.getTotal());// 搜索结果总数
+		map.put("page", componentIdsResult.getPage());// 当前页面
+		map.put("size", componentIdsResult.getSize());// 每页个数
 		return map;
 	}
+    public static class ComponentIdsResult{
+        private int total;
+        private int size;
+        private int page;
+        private Long[] componentIds;
+
+        public int getTotal() {
+            return total;
+        }
+
+        public void setTotal(int total) {
+            this.total = total;
+        }
+
+        public int getSize() {
+            return size;
+        }
+
+        public void setSize(int size) {
+            this.size = size;
+        }
+
+        public int getPage() {
+            return page;
+        }
+
+        public void setPage(int page) {
+            this.page = page;
+        }
+
+        public Long[] getComponentIds() {
+            return componentIds;
+        }
+
+        public void setComponentIds(Long[] componentIds) {
+            this.componentIds = componentIds;
+        }
+    }
 	/**
 	 * 智能搜索批次
 	 *
@@ -327,7 +367,7 @@ public class SearcherServiceImpl implements SearcherService {
 
         if (!CollectionUtils.isEmpty(enUUs)) {
             for (Object enuu : enUUs) {
-                vendorIntroductionsFutures.add(VendorIntroduction.convertFromEnterprise(enterpriseDao.findByUu(Long.valueOf(enuu.toString()))));
+                vendorIntroductionsFutures.add(VendorIntroduction.convertFromEnterprise(enterpriseDao.findEnterpriseAndIsStoreByUu(Long.valueOf(enuu.toString()))));
             }
         }
 
@@ -458,7 +498,7 @@ public class SearcherServiceImpl implements SearcherService {
 
                 if (!CollectionUtils.isEmpty(enUUs)) {
                     for (Object enuu : enUUs) {
-                        vendorIntroductionsFutures.add(VendorIntroduction.convertFromEnterprise(enterpriseDao.findByUu(Long.valueOf(enuu.toString()))));
+                        vendorIntroductionsFutures.add(VendorIntroduction.convertFromEnterprise(enterpriseDao.findEnterpriseAndIsStoreByUu(Long.valueOf(enuu.toString()))));
                     }
                 }
 

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

@@ -156,12 +156,15 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
     protected void onAuthenticateSuccess(HttpServletRequest request, HttpServletResponse response) {
         User user = (User) request.getSession().getAttribute("user");
         SSOToken token = SSOHelper.attrToken(request);
+        logger.info(String.format("用户:%s,获取用户信息成功,手机号:%s", null == user ? "" : user.getUserName(), token.getUid()));
         // cookie变化的情况下,session可能还未变化
         if (user == null || (user.getUserTel() != null && !token.getUid().equals(user.getUserTel()))) {
             user = getUserByToken(token);
             if (user != null) {
                 user.setIp(AgentUtils.getIp(request));
                 request.getSession().setAttribute("user", user);
+            } else {
+                logger.error(String.format("用户获取用户信息失败,uid:%s", token.getUid()));
             }
         }
         setGrantedAuthorities(user);

+ 9 - 12
src/main/java/com/uas/platform/b2c/prod/product/component/service/impl/ComponentGoodsServiceImpl.java

@@ -2,6 +2,8 @@ package com.uas.platform.b2c.prod.product.component.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.uas.platform.b2c.common.search.rpc.service.SearchService;
+import com.uas.platform.b2c.common.search.service.impl.SearcherServiceImpl;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.commodity.model.Goods;
 import com.uas.platform.b2c.prod.product.component.dao.ComponentGoodsDao;
@@ -16,7 +18,6 @@ import com.uas.platform.b2c.common.search.util.PageParams.FilterField;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
-import org.springframework.data.domain.Sort;
 import org.springframework.data.domain.Sort.Direction;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
@@ -48,7 +49,7 @@ public class ComponentGoodsServiceImpl implements ComponentGoodsService {
 	@Override
 	public Page<ComponentGoods> getCompGoodsByKindid(final PageInfo info) {
 		Map<String, Object> filter = info.getFilters();
-		Map<String, Object> searchResult = null;
+		String searchResult = "";
 		//只能显示20页的数据
 		if(info.getPageNumber() > Constant.PAGEMAX) {
 			info.setPageNumber(Constant.PAGEMAX);
@@ -72,18 +73,14 @@ public class ComponentGoodsServiceImpl implements ComponentGoodsService {
 					filter.remove("code");
 				}
 				searchResult = searchService.getComponentIds(code, pageParams);
-				@SuppressWarnings("unchecked")
-				List<Integer> componentIds = (List<Integer>) searchResult.get("componentIds");
-				List<Long> componentIdsLong = new ArrayList<>();
-				for (Integer cid:componentIds) {
-					componentIdsLong.add(cid.longValue());
-				}
+				SearcherServiceImpl.ComponentIdsResult componentIdsResult = FastjsonUtils.fromJson(searchResult, SearcherServiceImpl.ComponentIdsResult.class);
+				Long[] componentIds = componentIdsResult.getComponentIds();
+
 				List<ComponentGoods> componentGoods = new ArrayList<>();
-				if (componentIds.size() > 0) {
-					Long[] idArr = new Long[componentIdsLong.size()];
-					componentGoods = componentGoodsDao.findByIdsInOrder(componentIdsLong.toArray(idArr));
+				if (componentIds.length > 0) {
+					componentGoods = componentGoodsDao.findByIdsInOrder(componentIds);
 				}
-				int length = (int)searchResult.get("total");
+				int length = componentIdsResult.getTotal();
 				if(length < componentGoods.size()) {
 					length = componentGoods.size();
 				}

+ 9 - 7
src/main/java/com/uas/platform/b2c/prod/product/component/service/impl/ComponentServiceImpl.java

@@ -2,9 +2,11 @@ package com.uas.platform.b2c.prod.product.component.service.impl;
 
 import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.common.search.rpc.service.SearchService;
+import com.uas.platform.b2c.common.search.service.impl.SearcherServiceImpl;
 import com.uas.platform.b2c.common.search.util.PageParams;
 import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.constant.SplitChar;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsHistoryDao;
 import com.uas.platform.b2c.prod.commodity.model.Goods;
@@ -192,7 +194,7 @@ public class ComponentServiceImpl implements ComponentService {
 	@Override
 	public Page<ComponentInfo> findInfoPage(final PageInfo info) {
 		Map<String, Object> filter = info.getFilters();
-		Map<String, Object> searchResult = null;
+		String searchResult = "";
 		// filter: kindid 可以筛选kindID及其子类目下属的所有器件
 		//只能显示40页的数据
 		if(info.getPageNumber() > Constant.PAGEMAX) {
@@ -218,14 +220,14 @@ public class ComponentServiceImpl implements ComponentService {
 					filter.remove("code");
 				}
 				searchResult = searchService.getComponentIds(code, pageParams);
-				@SuppressWarnings("unchecked")
-				List<Long> componentIds = (List<Long>) searchResult.get("componentIds");
+				SearcherServiceImpl.ComponentIdsResult componentIdsResult = FastjsonUtils.fromJson(searchResult, SearcherServiceImpl.ComponentIdsResult.class);
+				Long[] componentIds = componentIdsResult.getComponentIds();
+
 				List<ComponentInfo> components = new ArrayList<ComponentInfo>();
-				if (componentIds.size() > 0) {
-					Long[] idArr = new Long[componentIds.size()];
-					components = componentInfoDao.findByIdsInOrder(componentIds.toArray(idArr));
+				if (componentIds.length > 0) {
+					components = componentInfoDao.findByIdsInOrder(componentIds);
 				}
-				PageImpl<ComponentInfo> pageImpl = new PageImpl<ComponentInfo>(components, info, (int) searchResult.get("total"));
+				PageImpl<ComponentInfo> pageImpl = new PageImpl<ComponentInfo>(components, info, componentIdsResult.getTotal());
 				return pageImpl;
 			}
 			if (filter.get("kindid") != null) {

+ 2 - 2
src/main/java/com/uas/platform/b2c/trade/vendor/model/VendorIntroduction.java

@@ -260,10 +260,10 @@ public class VendorIntroduction {
         vendorIntroduction.setEnTel(enterprise.getEnTel());
         vendorIntroduction.setEnCorporation(enterprise.getEnCorporation());
         vendorIntroduction.setEnLogoUrl(enterprise.getEnLogoUrl());
-        if (null == enterprise.getEnMallVendorStatus()) {
+        if (null == enterprise.getIsStore()) {
             vendorIntroduction.setIsStore(new Short((short)0));
         } else {
-            vendorIntroduction.setIsStore(enterprise.getEnMallVendorStatus().intValue() ==  313 ? new Short("1") : 0);
+            vendorIntroduction.setIsStore(enterprise.getIsStore().intValue() != 0 ? new Short("1") : 0);
         }
        return vendorIntroduction;
     }

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

@@ -31,9 +31,12 @@ define(['app/app'], function(app) {
 			Bill.getListPersonal(null, function(data) {
 				$scope.bill = {};
 				$scope.bills = data;
-				$scope.bill.kind = '1205';
-				$scope.order.invoicetype = '1205';
-        $scope.order.paytype = '1102'
+        $scope.bill.kind = '1207';
+        $scope.order.invoicetype = '1207';
+        // $scope.bill.kind = '1205';
+        // $scope.order.invoicetype = '1205';
+        // $scope.order.paytype = '1102'
+        // $scope.selectBill($scope.order.invoicetype)
 				// angular.forEach($scope.bills, function(item) {
 				//     if(item.kind == '1205') {
 				//         $scope.bill = item;

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

@@ -415,7 +415,7 @@ define([ 'app/app' ], function(app) {
           speed = 100
           clearInterval($scope.AnimationCanvas)
           $scope.showCanvas = false
-            if ($scope.needShowTip) {
+            if ($scope.needShowTip && $rootScope.$$productOn.tab !== 'bathOnPerson') {
                 $scope.relTableParams.page(1);
                 $scope.relTableParams.reload();
                 //$scope.result.success = 0;//设置成0,让前端用户不能点击

+ 1 - 0
src/main/webapp/resources/view/common/footer.html

@@ -131,6 +131,7 @@ a:hover {
 		<a href="http://www.hiways.com" target="_blank" title="深圳市海威思科技">深圳市海威思科技</a>|
 		<a href="http://www.huashangweitai.com" target="_blank" title="深圳市华商维泰显示科技">深圳市华商维泰显示科技</a>|
 		<a href="http://www.ufct.com.cn/" target="_blank" title="联合创泰科技">联合创泰科技</a>
+		<a href="http://www.hi-mantech.com/" target="_blank" title="怡海能达">怡海能达</a>
 	</div>
 	<ul class="list-unstyled footer-bottom">
 		<li>客服电话:400-830-1818</li>

+ 8 - 7
src/main/webapp/resources/view/usercenter/forstore/order_pay.html

@@ -893,14 +893,14 @@
 			<div class="pay_com">
 				<span>发票信息详情
 					<!--<a ng-click="modifyInvoice(bill)" ng-if="order.invoicetype!='1207'&&order.status == 501"><i class="fa fa-plus-square" aria-hidden="true"></i>&nbsp;<em ng-if="!bill.name">新增发票</em><em ng-if="bill.name">修改发票</em></a>-->
-					<span ng-click="modifyInvoice(bill)" ng-if="order.invoicetype!='1207'&&(order.status == 501 || order.status == 503 || order.status == 504)"><i class="fa fa-plus-square" aria-hidden="true"></i>&nbsp;<button ng-if="!bill.name">新增发票</button><button ng-if="bill.name">修改发票</button></span>
+					<span ng-click="modifyInvoice(bill)" ng-if="order.invoicetype!='1207'&&order.status == 501"><i class="fa fa-plus-square" aria-hidden="true"></i>&nbsp;<button ng-if="!bill.name">新增发票</button><button ng-if="bill.name">修改发票</button></span>
 				</span>
 			</div>
-			<p class="bill-radio" ng-if="order.status == '501' || order.status == 503 || order.status == 504">
-				<!--<span  ng-click="selectBill('1207')">-->
-					<!--<input type="radio"  name="bill" ng-checked="order.invoicetype == '1207'"/>-->
-					<!--<label></label><em>暂不开票</em>-->
-				<!--</span>-->
+			<p class="bill-radio" ng-if="order.status == '501'">
+				<span  ng-click="selectBill('1207')">
+					<input type="radio"  name="bill" ng-checked="order.invoicetype == '1207'"/>
+					<label></label><em>暂不开票</em>
+				</span>
 				<span  ng-click="selectBill('1206')" ng-hide="storeArray.length == 1 && hideNormal">
 					<input type="radio"  name="bill" ng-checked="order.invoicetype == '1206'"/>
 					<label></label><em>增值税普通发票</em>
@@ -916,7 +916,7 @@
 			<div class="pay_oder_xq_list no-need-bill notice" ng-if="order.invoicetype!='1207' && !bill.name">
 				还没有对应的发票信息,请新增相应的发票信息
 			</div>
-			<div class="pay_oder_xq_list" ng-if="order.invoicetype&&order.invoicetype != '1207'&&bill.name">
+			<div class="pay_oder_xq_list" ng-if="order.invoicetype&&order.invoicetype != '1207'&& bill.name">
 				<p><em>发票类型:</em><span ng-bind="order.invoicetype | billTypeFilter "></span></p>
 				<p><em>发票抬头:</em><span ng-bind="bill.head || '空'"></span></p>
 				<p ng-if="order.invoicetype == '1205'"><em>单位地址:</em><span ng-bind="bill.companyAddress || '空'"></span></p>
@@ -928,6 +928,7 @@
 				<p><em>联系电话:</em><span ng-bind="bill.telephone || '空'"></span></p>
 				<p><em>详细地址:</em><span>{{bill.area}}, {{bill.detailAddress}}</span></p>
 			</div>
+			<div class="pay_oder_xq_list" ng-if="order.invoicetype === 1207 && !bill.name" style="font-size: 16px;line-height: 40px;text-align: center">暂无发票信息</div>
 		</div>
 		<!-- 付款金额 -->
 		<div class="sure_oder" style="margin-top: 10px">

+ 4 - 2
src/main/webapp/resources/view/usercenter/forstore/store_focus.html

@@ -65,13 +65,14 @@
     	font-weight: 700
 	}
 	.item-mark{
+		width: 760px;
 		margin: 10px;
     	line-height: 2;
     	overflow: hidden;
 	    text-overflow: ellipsis;
 	    display: -webkit-box;
 	    -webkit-box-orient: vertical;
-	    -webkit-line-clamp: 4;
+	    -webkit-line-clamp: 3;
 	}
 	.itme-delete{
 		margin-top:20px;
@@ -328,7 +329,8 @@
 	}
 	.no-store{
 		height: 215px;
-		width:100%;
+		width: 1026px;
+		float: right;
 		display:inline-flex;
 		justify-content: center;
 		align-items: center;

+ 1743 - 0
src/main/webapp/resources/view/vendor/forstore/vendor_onSale.html

@@ -0,0 +1,1743 @@
+<!--右侧主体部分-->
+<style>
+    .tab.active {
+        display: inline-block !important;
+    }
+    *{-webkit-box-sizing: border-box;  -moz-box-sizing: border-box;  box-sizing: border-box;}
+    div.wanted_list01 dt.paging-bar>span {
+        float: right;
+        width: 322px;
+        height: 40px;
+        font-weight: normal;
+    }
+    div.wanted_list01 dt.paging-bar>span button.paging-button {
+        padding: 0;
+        height: 40px;
+        line-height: 40px;
+        border: none;
+        background: #FFFFFF;
+    }
+    div.wanted_list01 dt.paging-bar>span button.paging-button:hover {
+        color: #0C3894;
+    }
+    div.wanted_list01 dt.paging-bar>span input.page-num {
+        width: 25px;
+        height: 25px;
+        line-height: 40px;
+        border: 1px #C7BEBE solid;
+        text-align: center;
+    }
+    label[disabled] {
+        cursor: not-allowed;
+    }
+    .com_tab ul li.down-goods span:hover {
+        cursor: pointer;
+        text-decoration: underline;
+    }
+    .materrial-list span.length01{
+        width: 10% !important;
+    }
+    .materrial-list span{
+        width: 20% !important;
+        white-space: nowrap;
+        overflow: hidden;
+        text-overflow: ellipsis;
+    }
+    ul.pagination.ng-table-pagination > li > a > span {
+        height: 17px;
+        line-height: 17px;
+    }
+
+    div.ng-table-pager  input.page-number {
+        vertical-align: inherit;
+        display: inline-block;
+        width: 40px;
+        height: 31px;
+        padding: 6px 6px;
+        font-size: 14px;
+        line-height: 1.42857143;
+        color: #9B9792;
+        text-align: center;
+        background-color: #F6F5F4;
+        background-image: none;
+        border: 1px solid #ccc;
+        border-top-left-radius: 4px;
+        border-bottom-left-radius: 4px;
+        box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
+        transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
+    }
+
+    div.ng-table-pager a.page-a {
+        color: #fff;
+        cursor: pointer;
+        background-color: #4574E8;
+        border-color: #4574E8;
+        padding: 6px 6px;
+        font-size: 14px;
+        border-top-right-radius: 4px;
+        border-bottom-right-radius: 4px;
+        text-decoration: none;
+        height: 31px;
+    }
+
+    div.ng-table-pager div.page-go-block {
+        float: right;
+        margin-left: 20px;
+        margin-top: 15px;
+        font-size: 0px;
+        height: 31px;
+        line-height: 31px;
+    }
+    .filter:hover .hover-show {
+        display: inline-block;
+        z-index: 1000;
+    }
+    .filter:hover .angle-hover-up {
+        -webkit-transform: rotateZ(180deg);
+        -moz-transform: rotateZ(180deg);
+        -o-transform: rotateZ(180deg);
+        -ms-transform: rotateZ(180deg);
+        transform: rotateZ(180deg);
+    }
+    .filter .hover-show{
+        width: 100%;
+        height: auto;
+        position: absolute;
+        background-color: #fff;
+        margin-top: -1px;
+        border: 1px solid #e8e8e8;
+        border-top: none;
+        display: none;
+        left: 0;
+        top: 40px;
+    }
+    .filter .hover-show a{
+        width: 100%;
+        height: 40px;
+        display: inline-block;
+        line-height: 40px;
+        text-align: center;
+        font-size: 14px;
+        font-weight: normal;
+    }
+    .filter .hover-show a:hover{
+        background: #ecf2fd;
+        color: #5078cb !important;
+    }
+    .wid02 .fr .hidden-ellipsis-110 {
+        width: 110px;
+        overflow: hidden;
+        word-break: normal;
+        white-space: nowrap;
+        text-overflow: ellipsis;
+    }
+    .com-out-box{
+        position: fixed;
+        z-index: 2;
+        height: 152px;
+        opacity: 1;
+        background-color: white;
+        width: 310px;
+        -webkit-box-shadow: 0 5px 15px rgba(0,0,0,.5);
+        box-shadow: 0 5px 15px rgba(0,0,0,.5);
+        margin: -155px 0 0 -75px;
+        top: 55%;
+        left: 50%;
+    }
+    .com-out-box .title{
+        height: 30px;
+        background-color: #5078cb;
+        text-align: right;
+        padding-right: 15px;
+        line-height: 30px;
+    }
+    .com-out-box .title a{
+        color: white;
+        font-size: 16px;
+    }
+    .pay_record .ticket_record_list dl dd{
+        position: relative;
+    }
+    .com-out-box .content{
+        width: 100%;
+        text-align: center;
+        margin: 0 auto;
+    }
+    .com-out-box .content p{
+        line-height: 50px;
+        font-size: 14px;
+        padding-top: 10px;
+    }
+    .com-out-box .content p i{
+        color: #5078cb;
+        font-size: 16px;
+        margin-right: 10px;
+    }
+    .com-out-box .content div{
+        width: 100%;
+        text-align: center;
+        margin: 0 auto;
+    }
+    .com-out-box .content div.red {
+        position: relative;
+        top: -10px;
+    }
+    .com-out-box .content div a{
+        width: 55px;
+        height: 26px;
+        line-height: 26px;
+        display: inline-block;
+        text-align: center;
+        font-size: 14px;
+    }
+    .com-out-box .content div a:first-child{
+        background: #b4b5b9;
+        color: #333;
+        margin-right: 10px;
+    }
+    .com-out-box .content div a:last-child{
+        background: #5078cb;
+        color: #fff;
+    }
+    .com-out-box .content div a:hover{
+        background: #3f7ae3;
+        color: #fff;
+    }
+    .com_tab ul li.down-goods {
+        float: right;
+        margin-right: 24px;
+        font-size: 14px;
+        color: #5078cb;
+    }
+
+    .com_tab ul li.down-goods span:hover {
+        cursor: pointer;
+        text-decoration: underline;
+    }
+    .check-input{
+        position: relative;
+        padding-left: 15px;
+    }
+    .check-input .check-show{
+        position: absolute;
+        top: 21px;
+        height: 15px;
+        line-height: 15px;
+        left: 18px;
+    }
+    .check-input input{
+        display: none;
+    }
+    .check-input > span {
+        padding-left: 10px;
+    }
+    .check-input label {
+        width: 15px;
+        height: 15px;
+        display: inline-block;
+        background: url(static/img/user/images/check.png) no-repeat;
+        position: relative;
+        padding-left: 0 !important;
+        overflow: hidden;
+        margin-bottom: 0 !important;
+        vertical-align: sub;
+        min-height: 15px !important;
+        left: 0 !important;
+    }
+    .check-input input[type="checkbox"]:checked + label{
+        background-position: -15px 0;
+    }
+    .pro_management .product_off dd:last-of-type{
+        border-bottom: #cfcfcf 1px solid;
+    }
+    .record-line{
+        /*height: 30px;*/
+        font-size: 12px;
+        line-height: 35px;
+        /* margin-top: 5px; */
+        padding-right: 22px
+    }
+    .wanted_list01 .pagination{
+        margin: 0;
+    }
+    .ng-table-pager{
+        padding-bottom: 20px;
+    }
+
+    /*编辑*/
+    .vendor-tab .img{
+        width: 60px;
+        height: 60px;
+        border: #e8e8e8 1px solid;
+        overflow: hidden;
+        line-height: 60px;
+        margin-top: 0;
+        border-radius: 3px;
+    }
+    .vendor-tab .img img{
+        width: 60px;
+        height: 60px;
+    }
+    .vendor-tab .img a{
+        margin: 0 !important;
+    }
+    .public-tab.table>tbody>tr>td{
+        font-size: 14px !important;
+        text-align: left !important;
+        border-bottom: #d0e8fd 1px dashed !important ;
+    }
+    .vendor-tab.table td .wid135{
+        width: 143px;
+        margin-left: 7px;
+        position: relative;
+        top: -10px;
+    }
+    .filter a{
+        color: #333 !important;
+    }
+    .vendor-tab.table td .wid135 p{
+        display: block;
+        width: 100%;
+        white-space: nowrap;
+        overflow: hidden;
+        text-overflow: ellipsis;
+    }
+    .vendor-tab.table td .wid135 p em.href {
+        cursor: pointer;
+    }
+    .vendor-tab.table td p{
+        font-size: 14px;
+        text-align: left;
+    }
+    /*.vendor-tab.table>tbody>tr{*/
+    /*height: 252px;*/
+    /*}*/
+    .public-tab.table tbody.bottom-no tr td{
+        border-bottom: none!important ;
+    }
+    .edit-form .form-control{
+        height: 24px;
+        padding: 0;
+        text-align: center;
+        font-size: 12px;
+        border-radius: 3px;
+    }
+    .edit-form select.form-control{
+        padding-left: 10px;
+    }
+    .edit-form div{
+        text-align: left;
+    }
+    .wid88{
+        width: 88px;
+    }
+    .wid48{
+        width: 48px;
+    }
+    .wid85{
+        width: 75px;
+    }
+    .wid68{
+        width: 68px;
+    }
+    .wid40{
+        width: 40px;
+    }
+    .wid25{
+        width: 25px;
+        text-align: center !important;
+        padding-left: 0 !important;
+    }
+    .wid56{
+        width: 56px;
+    }
+    .wid90{
+        width: 90px;
+    }
+    .edit-form td div{
+        float: left;
+        height: 24px;
+        margin-top: 5px;
+        line-height: 24px;
+        width: 100%;
+    }
+    .edit-form td div.margin0{
+        margin-top: 0;
+    }
+    .edit-form td div.margin0 .width45{
+        width: 45px;
+    }
+    .edit-form td div span{
+        float: left;
+    }
+    .edit-form td div span:first-child{
+        margin-right: 2px;
+    }
+    .filter{
+        position: relative;
+    }
+    .edit-form button {
+        width: 56px;
+        height: 24px;
+        border: none;
+        color: #fff;
+        float: left;
+    }
+    .edit-form button.ok {
+        background: #33b401;
+    }
+    .edit-form button.off {
+        background: #f15601;
+        margin-bottom: 5px;
+    }
+    .edit-form button:hover{
+        background: #5078cb;
+    }
+    .public-tab.table>tbody>tr>td.padding0{
+        padding: 8px 0;
+    }
+    .public-tab.table tbody .padding0 div{
+        text-align: center;
+        width: 50px;
+    }
+    .public-tab.table tbody .padding0 div.edit-a{
+        margin-top: -4px;
+    }
+    .public-tab.table tbody .padding0 div.down-a{
+        margin-top: 0;
+    }
+    .public-tab.table tbody .padding0 div.marginL10{
+        margin-left: -10px;
+    }
+    .edit-form .reduce{
+        color: #faa002 !important;
+        margin: 0 !important;
+        margin-left: 2px !important;
+    }
+    .edit-form .add{
+        color: #2ea001 !important;
+        margin: 0 !important;
+    }
+    .public-tab.table tr td{
+        vertical-align: top !important;
+    }
+    .public-tab.table tr td.middle{
+        vertical-align: middle !important;
+        padding-left: 0;
+        position: relative;
+    }
+    .record-line{
+        min-height: 30px;
+        font-size: 12px;
+        line-height: 35px;
+    }
+    .text-center{
+        margin-top: 30px;
+    }
+    .text-center .col-xs-2 img{
+        margin-left: 95px;
+    }
+    .text-center .col-xs-4 p{
+        margin-top: 33px;
+        font-size: 14px;
+    }
+    /*查看大图*/
+    .vendor-tab .img{
+        position: relative;
+    }
+    .vendor-tab .img a{
+        width: 60px;
+        height: 60px;
+        display: inline-block;
+    }
+    .vendor-tab .img .hover-show,.vendor-tab .img .edit-img{
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        background: rgba(0,0,0,.5);
+        left: 0;
+        top: 0;
+        font-size: 12px;
+        margin-top: 0;
+    }
+    .vendor-tab .img .hover-show{
+        top: 60px;
+    }
+    .vendor-tab .img:hover .hover-show{
+        top: 0;
+    }
+    .vendor-tab .img .hover-show a, .vendor-tab .img .edit-img a{
+        width: 100%;
+        height: 100%;
+        display: inline-block;
+        text-align: center;
+        line-height: 55px;
+        color: #fff !important;
+    }
+    .vendor-tab .img .hover-show i{
+        margin-right: 3px;
+    }
+    .vendor-tab .img .edit-img{
+
+    }
+    .vendor-tab .img .edit-img a img{
+        width: 38px;
+        height: 38px;
+    }
+    .vendor-tab .middle .prompt{
+        position: absolute;
+        bottom: 4px;
+        left: 0;
+        font-size: 10px;
+        /*color: #999;*/
+    }
+    .vendor-tab .middle .prompt em{
+        color: #ff0000;
+    }
+    .public-tab.table tr td.middle{
+        overflow: inherit;
+    }
+
+    .public-tab.table tr td.middle .img,.vendor-tab.table td .wid135{
+        margin-top: 15px;
+    }
+    .public-tab.table tr td.middle .img{
+        margin-top: 10px;
+    }
+    .public-tab.table tr td.middle div.marginL20{
+        margin-left: -20px;
+    }
+    .edit-form .error{
+        border: #f00 1px solid !important;
+    }
+
+    .edit-form .error:focus{
+        box-shadow: none;
+    }
+    .public-tab.table>tbody>tr>td div:last-child a.add[disabled], .public-tab.table>tbody>tr>td div:last-child a.reduce[disabled]{
+        color: #c7c7c7 !important;
+    }
+    .pro_management .table>tbody>tr>td div.img a.delete-img {
+        position: absolute;
+        top: 2px;
+        right: 0;
+        z-index: 20;
+        width: 20px;
+        height: 20px;
+        line-height: 16px;
+        border: none;
+    }
+    .pro_management .table>tbody>tr>td div.img a.delete-img i {
+        color: #fff;
+        font-size: 12px;
+    }
+    .public-tab.table tr td div span.switch{
+        width:39px;
+        height: 14px;
+        display: inline-block;
+    }
+    .public-tab.table tr td div span.switch button{
+        border: none;
+        position: relative;
+        top: 6px;
+        left: 5px;
+        width: 39px;
+        height: 14px;
+        background: url(static/img/icon/check-off.png) no-repeat center;
+    }
+    .public-tab.table tr td div span.switch button.active{
+        background: url("static/img/icon/check-ok.png") no-repeat center;
+    }
+
+    .text-overflow {
+        text-overflow: ellipsis;
+        overflow: hidden;
+        width: 100%;
+        white-space: nowrap;
+    }
+    .fa-minus-circle{
+        color: #faa002;
+    }
+    /*表格鼠标悬停效果*/
+    .wanted_list01 .tab table tbody.edit-border:hover{
+        background: #c7ebfd;
+        z-index: 10;
+    }
+
+    /*非编辑状态自定义标签*/
+    /*.wanted_list01 .tab table tr.define:hover{*/
+    /*background: none;*/
+    /*}*/
+    .wanted_list01 .tab table tr.define{
+        width: 100%;
+        height: 20PX;
+        line-height: 20px;
+    }
+    .wanted_list01 .tab table tr.define td{
+        position: relative;
+        width: 100%;
+        height: 20PX;
+        line-height: 20px;
+        overflow: hidden;
+        border-bottom: none!important ;
+    }
+    .wanted_list01 .tab table tr.define td img.standard{
+        position: absolute;
+        top: 0;
+        left: 0;
+        width: 27px;
+        height: 27px;
+    }
+    .wanted_list01 .tab table tr.define td .code{
+        padding: 4px 0 0 43px;
+        float: left;
+        font-size:14px;
+        color: #333;
+    }
+    .wanted_list01 .tab table tr.define td .code span{
+        font-size:14px;
+        color: #333;
+    }
+    .wanted_list01 .tab table tr.define td .labelling{
+        float: left;
+        padding-top: 4px;
+        margin-left: 40px;
+        font-size: 14px;
+        color: #333;
+    }
+    .wanted_list01 .tab table tr.define td .labelling span{
+        padding: 0 10px;
+        width: 124px;
+        height: 19px;
+        font-size: 12px;
+        color: #5078cb;
+        border-radius: 9px;
+        border: 1px solid #5078cb ;
+        background: #fff;
+
+    }
+    .device .wanted_list01 span.edits{
+        display: inline-block;
+        width: 56px;
+        height: 24px;
+        line-height: 24px;
+        font-size: 12px;
+        color: #5078cb;
+        cursor: pointer;
+    }
+    .device .wanted_list01 span.edits:hover{
+        color: #fff;
+        background: #5078cb;
+    }
+    /*非编辑状态自定义标签*/
+    .wanted_list01 .tab table tr.defines{
+        background: #ebf5fe;
+    }
+    .wanted_list01 .tab table tr.defines td .labelling input{
+        padding-left: 10px;
+        width: 157px;
+        height: 24px;
+        border: 1px solid #c9c9c9;
+        background: #fff;
+        border-radius: 4px;
+    }
+    .wanted_list01 .tab table tr.define td .labelling em{
+        color: #f00;
+    }
+    .wanted_list01 .tab table tr.edit-forms{
+        background: #ebf5fe;
+        padding: 0 8px;
+    }
+    .wanted_list01 .tab table tr.edit-forms td{
+        background: #fff;
+    }
+    /*批量导出按钮*/
+    .search-check .search a.down-goods-btn{
+        margin-top: 0!important;
+    }
+    .edit-form td div span em.margin5{
+        margin-left: 5px;
+    }
+    /*编辑状态*/
+    .wanted_list01 .tab table tr.edit-forms td{
+        background: #ebf5fe;
+        padding: 0 10px 10px;
+    }
+    .wanted_list01 .tab table tr.edit-forms td .bg-show{
+        width: 100%;
+        height: 124px;
+        background: #fff;
+        overflow: hidden;
+    }
+    .wanted_list01 .tab table tr.edit-forms td .bg-show .content-show{
+        margin-top: 4px;
+        float: left;
+    }
+    .content-show .select-item{
+        width: 88px;
+        height: 24px;
+        border: 1px solid #a9a9a9;
+        font-size: 12px;
+        text-align: center;
+        border-radius: 3px;
+        padding-left: 6px;
+    }
+    .wanted_list01 .tab table tr.edit-forms td .bg-show .width20{
+        width: 20px;
+    }
+    .wanted_list01 .tab table tr.edit-forms td .bg-show .width20 div{
+        height: 96px;
+        line-height: 96px;
+        padding-left: 3px;
+    }
+    .wanted_list01 .tab table tr.edit-forms td .bg-show .width200{
+        width: 235px;
+        margin-top: 10px;
+    }
+    .wanted_list01 .tab table tr.edit-forms td .bg-show .width200 .img{
+        margin-top: 10px;
+    }
+    .wanted_list01 .tab table tr.edit-forms td .bg-show .width120{
+        width: 110px;
+    }
+    .wanted_list01 .tab table tr.edit-forms td .bg-show .width130{
+        width: 145px;
+    }
+    .wanted_list01 .tab table tr.edit-forms td .bg-show .width135{
+        width: 110px;
+    }
+    .wanted_list01 .tab table tr.edit-forms td .bg-show .width130 div span:first-child{
+        width: 73px;
+        text-align: right;
+    }
+    .wanted_list01 .tab table tr.edit-forms td .bg-show .width100{
+        width: 140px;
+    }
+    .wanted_list01 .tab table tr.edit-forms td .bg-show .width90{
+        width: 90px;
+    }
+    .wanted_list01 .tab table tr.edit-forms td .bg-show .width70{
+        width: 85px;
+    }
+    .wanted_list01 .tab table tr.edit-forms td .bg-show .width60{
+        width: 60px;
+    }
+    /*.wanted_list01 .tab table tbody.edit-border{*/
+    /*border: 1px solid #84c5fb;*/
+    /*}*/
+    .table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th{
+        padding: 0 0 9px;
+    }
+    .edit-form td div span.marginL40{
+        margin-left: 45px;
+    }
+    .edit-form td div span.marginL27{
+        margin-left: 27px;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+        width: 92px;
+    }
+    .edit-form td div span.marginL10{
+        margin-left: 10px;
+    }
+    .edit-form td div span.marginL5{
+        margin-left: 5px;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+        width: 100%;
+    }
+    .filter i {
+        font-size: 16px;
+        font-weight: bold;
+    }
+    .filter:hover .fa-angle-up {
+        -webkit-transform: rotateZ(180deg);
+        -moz-transform: rotateZ(180deg);
+        -o-transform: rotateZ(180deg);
+        -ms-transform: rotateZ(180deg);
+        transform: rotateZ(180deg);
+        color: #5078cb !important;
+    }
+    .modal-open {
+        overflow-y: auto;
+        overflow-x: hidden;
+    }
+    .device .wanted_list01 a:hover {
+        border-bottom: 1px solid #ddd !important ;
+    }
+    .device .wanted_list01 a.page-a{
+        color: #fff !important ;
+    }
+    .search-check .check {
+        width: 100%;
+    }
+    .search-check .check > .operate-btn{
+        font-size: 14px;
+        margin-right: 20px;
+        color: #fff !important;
+        background: #5078cb;
+        position: relative;
+        display: inline-block;
+        height: 30px;
+        line-height: 30px;
+        padding: 0 10px;
+        cursor: pointer;
+    }
+    .search-check .check > .operate-btn .expander {
+        position: absolute;
+        color: #333;
+        right: 0;
+        display: none;
+        height: 108px;
+        line-height: 26px;
+        text-align: center;
+        background: #fff;
+        bottom: -108px;
+        width: 98px;
+        z-index: 10;
+        border: 1px solid #e4e5e5;
+    }
+    .search-check .check > .operate-btn.more-operate {
+        padding: 0;
+        width: 98px;
+        height: 30px;
+        line-height: 30px;
+        text-align: center;
+        display: inline-block;
+        margin-left: 300px;
+        background: #5078cb
+    }
+    .search-check .check > .operate-btn.more-operate:hover .expander {
+        display: block;
+    }
+    .search-check .check > .operate-btn.more-operate .expander span {
+        display: block;
+    }
+    .search-check .check > .operate-btn.more-operate .expander span:hover {
+        color: #5078cb;
+    }
+    .wanted_list01 .tab table > tbody > tr.batch-tr {
+        height: 40px;
+        text-align: center;
+    }
+    .wanted_list01 .tab table > tbody > tr.batch-tr td {
+        border-bottom: none;
+    }
+    .wanted_list01 .tab table > tbody > tr.batch-tr.active {
+        position: fixed;
+        bottom: 0;
+        z-index: 2000;
+    }
+    .wanted_list01 .tab table > tbody > tr.batch-tr.active td {
+        width: 1029px;
+        border-top: 0;
+    }
+    .wanted_list01 .tab table > tbody > tr.batch-tr td {
+        padding: 0;
+        border-top: #dff3fd 1px solid;
+    }
+    .wanted_list01 .tab table>tbody>tr>td .batch-line {
+        width: 100%;
+        height: 40px;
+        background: #dff3fd;
+        line-height: 40px;
+        text-align: center;
+    }
+    .com_tab ul li{
+        margin-left: 0px;
+        position: relative;
+    }
+    .pro_management .com_tab ul li.active a{
+        border-bottom: #fff;
+        background: #5078cb;
+        color: #fff;
+    }
+    .pro_management .com_tab ul li::after{
+        background: url('static/img/vendor/images/downicon.png');
+        width: 11px;
+        height: 6px;
+        position: absolute;
+        bottom: 0px;
+        left: 50%;
+        content: ' ';
+        margin-left: -5px;
+        display: none;
+    }
+    .pro_management .com_tab ul li.active:after{
+        display: block
+    }
+
+    .import-product {
+        border-radius: 3px;
+        width: 330px;
+        height: 170px;
+        left: 44%;
+    }
+    .import-product .content > i {
+        font-size: 12px;
+        float: right;
+        margin: 5px 5px 0 0;
+        color: #ddd;
+        cursor: pointer;
+    }
+    .import-product .content p a {
+        color: #5078cb;
+    }
+    .import-product .upload-content {
+        position: relative;
+        left: -29px;
+        margin-bottom: 10px !important;
+    }
+    .import-product .upload-content #upload_text {
+        width: 157px;
+        height: 25px;
+        border: #ccc 1px solid;
+        padding-left: 10px;
+        line-height: 25px;
+        font-size: 14px;
+    }
+    .import-product .upload-content i {
+        background: #5078cb;
+        width: 62px;
+        height: 25px;
+        display: inline-block;
+        text-align: center;
+        color: #fff;
+        line-height: 25px;
+        font-size: 12px;
+        position: absolute;
+        left: 232px;
+        top: 0;
+        border-left: #ccc 1px solid;
+        cursor: pointer;
+    }
+    .import-product .upload-content #uploadCommodity {
+        width: 218px;
+        height: 25px;
+        filter: alpha(opacity=0);
+        -moz-opacity: 0;
+        opacity: 0;
+        position: absolute;
+        left: 77px;
+        top: 0px;
+    }
+    .import-product h5 {
+        margin-bottom: 25px;
+    }
+    .import-result .content p {
+        padding: 0;
+    }
+    .import-result .content p span {
+        color: #5078cb;
+    }
+    .import-result .content h5 {
+        font-size: 14px;
+        margin-bottom: 10px;
+        margin-top: -10px;
+    }
+    .import-result .content h5 span {
+        color: red;
+    }
+    .import-result .content div a {
+        color: #fff !important;
+        background: #5078cb !important;
+    }
+
+    .import-result .content div span {
+        color: #4290f7;
+        cursor: pointer;
+    }
+
+    .wanted_list01 .tab table tr {
+        height: 104px;
+    }
+    .Regulpic img {
+        width: 24px;
+        height: 27px;
+    }
+    .edit-form td div.forAdminLook {
+        width: 70px;
+        height: 25px;
+        color: #333;
+        font-size: 14px;
+        border: 1px solid #5078cb;
+        border-radius: 3px;
+        text-align: center;
+        margin-top: 4px;
+    }
+    div.forAdminLook {
+        margin: 0 auto;
+        width: 70px;
+        height: 25px;
+        color: #333;
+        font-size: 14px;
+        border: 1px solid #5078cb;
+        border-radius: 3px;
+        text-align: center;
+        line-height: 25px;
+        margin-top: 4px;
+        position: absolute;
+        background: #fff;
+        display: none
+    }
+    .ToforAdminLook .nopass:hover ~.forAdminLook {
+        display: block;
+    }
+
+    .search-check .search .form-control{
+        width: 340px;
+        float: left;
+        height: 34px;
+        border-radius: 2px;
+        box-shadow: none;
+        border:1px solid #5078cb;
+    }
+
+    .search-check .search button{
+        background: #5078cb;
+        border-radius: 0;
+        border: #5078cb 1px solid;
+        border-left: none;
+        color: #fff;
+        border-radius: 2px;
+    }
+
+</style>
+<div class="user_right fr">
+    <!--货品管理-->
+    <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">公司产品库</a></li>
+                <li ng-class="{'active': tab == 'material_person'}"><a ui-sref="vendor_material_person">个人产品库</a></li>
+                <li ng-class="{'active': tab == 'onSale'}"><a ui-sref="vendor_onSale">在售产品</a></li>
+                <li ng-class="{'active': tab == 'undercarriage'}"><a ui-sref="vendor_undercarriage">上下架历史</a></li>
+                <li ng-if="isPcbStore"><a ui-sref="vendor_upload">产品导入</a></li>
+                <li class="down-goods">
+                    <!--<span ng-click="downGoods()">
+                        <i class="fa fa-file-excel-o fa-fw"></i>导出Excel
+                    </span>
+                    <form style="display: none;" id="down-load-goods" method="get">
+                        <input type="hidden" name="ids" ng-value="localInfo.ids">
+                    </form>-->
+                </li>
+            </ul>
+        </div>
+        <div class="search-check">
+            <div class="search fl check">
+                <input type="text" class="form-control" ng-model="keyword" ng-search="onSearch()" placeholder="品牌/产品型号/编码"/>
+                <button ng-click="onSearch()" style="float: left;">搜索</button>
+                <!--<a ng-click="downGoods()" class="down-goods-btn">批量导出</a>-->
+                <div class="operate-btn more-operate">
+                    <span>更多操作</span>
+                    <span class="expander">
+                        <span ng-click="download()">导出选中</span>
+                        <span ng-click="batchOperation(1)" name="delete-material">删除选中</span>
+                        <span ng-click="batchOperation(2)">下架选中</span>
+                        <span ng-click="modifyBatch()">批量修改</span>
+                    </span>
+                </div>
+                <form style="display: none;" id="down-load-goods" method="get">
+                    <input type="hidden" name="ids" ng-value="localInfo.ids">
+                </form>
+            </div>
+            <!--<div class="check fr">-->
+            <!--<a  ng-click="">批量操作</a>-->
+            <!--<span class="check-btn">-->
+            <!--<label class="check-active">-->
+            <!--<input type="checkbox" id="AllChoose"/>-->
+            <!--<label for="AllChoose"></label>-->
+            <!--<span>全选</span>-->
+            <!--</label>-->
+            <!--<a href="#">下架</a>-->
+            <!--<a href="#">取消</a>-->
+            <!--<a href="#">确定</a>-->
+            <!--</span>-->
+            <!--</div>-->
+        </div>
+        <!--搜索 批量操作-->
+        <!--<div class="search-check">
+            <div class="search fl">
+                <input type="text" class="form-control" placeholder="型号/品牌"/>
+                <button>搜索产品</button>
+                <a ng-click="">批量导出</a>
+            </div>
+            <div class="check fr">
+                <a  ng-click="">批量操作</a>
+                <span class="check-btn">
+                    <label class="check-active">
+                        <input type="checkbox" id="AllChoose"/>
+                        <label for="AllChoose"></label>
+                        <span>全选</span>
+                    </label>
+                    <a href="#">下架</a>
+                    <a href="#">取消</a>
+                    <a href="#">确定</a>
+                </span>
+            </div>
+        </div>-->
+        <div class="wanted_list01">
+            <!--在售产品-->
+            <div class="tab">
+                <table class="vendor-tab public-tab table">
+                    <thead>
+                    <tr>
+                        <th width="60" style="padding:8px 0;">
+                            <label class="check-active">
+                                <input ng-disabled="currenctGoods.length == 0" type="checkbox"  ng-click="chooseAllItem()" ng-checked="chooseAll || chooseAllPage" id="AllChoose"/>
+                                <label for="AllChoose"></label>
+                                <span>全选</span>
+                            </label>
+                        </th>
+                        <th width="220">产品信息</th>
+                        <th width="105">包装/生产日期</th>
+                        <th width="140">库存</th>
+                        <th width="105">梯度/pcs</th>
+                        <th ng-if="onsale.currency == 'USD'" width="116">单价<b style="font-size: 12px;font-weight: 600">($)</b></th>
+                        <th ng-if="onsale.currency == 'RMB'" width="116">单价<b style="font-size: 12px;font-weight: 600">(¥)</b></th>
+                        <th width="110">交期(天)</th>
+                        <th class="filter" width="100">
+                            <!--<a>{{selfSupport}}<i class="fa fa-angle-double-down angle-hover-up" aria-hidden="true"></i></a>-->
+                            <a ng-bind="selfSupport">销售方式</a> <i class="fa fa-angle-down fa-angle-up"></i>
+                            <div class="hover-show">
+                                <a ng-click="changeSupportType(selfSupportType.ALL)" title="销售方式">销售方式</a>
+                                <a ng-click="changeSupportType(selfSupportType.SELF_SUPPORT)" title="自营">自营</a>
+                                <a ng-click="changeSupportType(selfSupportType.CONSIGNMENT)" title="寄售">寄售</a>
+                            </div>
+                        </th>
+                        <th width="70" class="padding0">操作</th>
+                    </tr>
+                    </thead>
+                    <tbody class="bottom-no">
+                    <tr style="height: 14px;">
+                        <td colspan="10" class="hei16"></td>
+                    </tr>
+                    </tbody>
+                    <tbody ng-repeat="commodity in currenctGoods" ng-click="chooseOne(null, commodity)" class="edit-border">
+                    <!--非编辑状态自定义标签-->
+                    <tr class="define" ng-if="!commodity.edit">
+                        <td colspan="10">
+                            <div class="code">SKU编码 : <span ng-bind="commodity.batchCode">247823589235</span></div>
+                            <div class="labelling" ng-if="commodity.tag">
+                                <!--<em>*</em>-->
+                                自定义标签 : <span ng-bind="commodity.tag">散装出售散装出售</span>
+                            </div>
+                            <!--非标产品标志-->
+                            <img ng-if="!commodity.uuid" src="static/img/store/common/nonstandard.png" alt="" class="standard"/>
+                            <!--标准产品标志-->
+                            <img ng-if="commodity.uuid" src="static/img/store/common/standard.png" alt="" class="standard"/>
+                        </td>
+                    </tr>
+                    <tr class="edit-form" ng-if="!commodity.edit">
+                        <td class="middle padding0 check-input">
+                            <!-- <span><input type="checkbox" id="{{$index+1}}"/><label for="{{$index+1}}"></label><br/></span>-->
+                            <span name="check-one"><input type="checkbox" ng-checked="commodity.isChoosed" fid="{{$index+1}}"/><label for="{{$index+1}}"></label></span>
+                            <!--&lt;!&ndash;非标产品标志&ndash;&gt;-->
+                            <!--<img ng-if="!commodity.uuid" src="static/img/store/common/nonstandard.png" alt="" class="standard"/>-->
+                            <!--&lt;!&ndash;标产品标志&ndash;&gt;-->
+                            <!--<img ng-if="commodity.uuid" src="static/img/store/common/standard.png" alt="" class="standard"/>-->
+                        </td>
+                        <td class="middle"  style="vertical-align: top !important;">
+                            <div class="fl img marginL20">
+                                <a><img ng-src="{{commodity.img ? commodity.img : 'static/img/store/common/default.png'}}"/></a>
+                                <div class="hover-show" name="img-a">
+                                    <a ng-click="showImg(commodity.img || 'static/img/store/common/default.png')" title="查看大图"><i class="fa fa-search"></i>查看</a>
+                                </div>
+                            </div>
+                            <div class="fr wid135">
+                                <p ng-if="!commodity.uuid">品牌: <em ng-bind="commodity.brandNameEn" title="{{commodity.brandNameEn}}">NXP</em></a></p>
+                                <p ng-if="commodity.uuid" name="brand-a"><a href="product/brand/{{commodity.branduuid}}" style="margin: 0; color: #333;" target="_blank">品牌: <em ng-bind="commodity.brandNameEn" title="{{commodity.brandNameEn}}">NXP</em></a></p>
+                                <p ng-if="!commodity.uuid">物料名称: <em ng-bind="commodity.kindNameCn || '-'" title="{{commodity.kindNameCn}}"></em></a></p>
+                                <p ng-if="commodity.uuid" name="kind-a"><a href="product/kind/{{commodity.kindUuid}}" style="margin: 0; color: #333;" target="_blank">物料名称: <em ng-bind="commodity.kindNameCn || '-'" title="{{commodity.kindNameCn}}"></em></a></p>
+                                <p>型号: <em class="href" ng-bind="commodity.code" title="{{commodity.code}}"  ng-click="goToBatchDetail($event, commodity)">LPC1112</em></p>
+                                <p>规格: <em ng-bind="commodity.spec  || '-'" title="{{commodity.spec}}">LPC1112</em></p>
+                                <!--<div class="margin0">-->
+                                <!--<span class="marginL10">规格: </span>-->
+                                <!--<span ng-bind="commodity.spec  || '-'" title="{{commodity.spec}}" class="width45" style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"></span>-->
+                                <!--</div>-->
+                            </div>
+                        </td>
+                        <td style="white-space: inherit;">
+                            <div>
+                                <span class="text-overflow marginL5" ng-bind="commodity.packaging || '无包装信息'" title="{{commodity.packaging}}"></span><br/>
+                            </div>
+                            <div class="margin0">
+                                <span ng-bind="commodity.produceDate || '-'" title="{{commodity.produceDate}}" class="marginL5"></span>
+                            </div>
+                            <div class="margin0">
+                                <span ng-if="commodity.breakUp" class="marginL5">可拆卖</span>
+                            </div>
+                        </td>
+                        <td>
+                            <div>
+                                <span class="marginL10">库存: </span>
+                                <span ng-bind="commodity.reserve" title="{{commodity.reserve}}"style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;width: 80px;" ></span>
+                            </div>
+                            <div class="margin0">
+                                <span class="marginL10">最小起订量: </span>
+                                <span ng-bind="commodity.minBuyQty" title="{{commodity.minBuyQty}}" class="width45" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"></span>
+                            </div>
+                            <div class="margin0">
+                                <span class="marginL10">最小包装数: </span>
+                                <span ng-bind="commodity.minPackQty" title="{{commodity.minPackQty}}" class="width45" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"></span>
+                            </div>
+                        </td>
+                        <td>
+                            <div ng-repeat="price in commodity.prices" >
+                                <span title="{{price.start + '+'}}" ng-bind="price.start + '+'" class="marginL40" style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;width:60px;"></span>
+                            </div>
+                        </td>
+                        <td ng-if="onsale.currency == 'USD'">
+                            <div  ng-repeat="price in commodity.prices" ng-if="price.uSDPrice" >
+                                <span title="{{price.uSDPrice | formateNumber : 6 | currencySysmbol : commodity.currencyName}}" ng-bind="price.uSDPrice | formateNumber : 6 | currencySysmbol : commodity.currencyName" class="marginL27"></span>
+                            </div>
+                        </td>
+                        <td ng-if="onsale.currency == 'RMB'">
+                            <div ng-repeat="price in commodity.prices" ng-if="price.rMBPrice">
+                                <span title="{{price.rMBPrice | formateNumber : 6 | currencySysmbol : commodity.currencyName}}" ng-bind="price.rMBPrice | formateNumber : 6 | currencySysmbol : commodity.currencyName" class="marginL27"></span>
+                            </div>
+                        </td>
+                        <td style="overflow: inherit;">
+                            <div ng-if="onsale.currency == 'RMB'" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
+                                <span ng-if="commodity.b2cMaxDelivery && (commodity.b2cMaxDelivery != commodity.b2cMinDelivery)" ng-bind=" commodity.b2cMinDelivery + '-'+ commodity.b2cMaxDelivery" class="marginL40" style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;width:60px;"></span>
+                                <span ng-if="commodity.b2cMaxDelivery && (commodity.b2cMaxDelivery == commodity.b2cMinDelivery)" ng-bind=" commodity.b2cMinDelivery" class="marginL40" style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;width:60px;"></span>
+                            </div>
+                            <div ng-if="onsale.currency == 'USD'" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
+                                <span ng-if="commodity.b2cMaxDelivery && (commodity.b2cMinDelivery != commodity.b2cMaxDelivery)" ng-bind=" commodity.b2cMinDelivery + '-'+ commodity.b2cMaxDelivery" class="marginL40"></span>
+                                <span ng-if="commodity.b2cMaxDelivery && (commodity.b2cMinDelivery == commodity.b2cMaxDelivery)" ng-bind=" commodity.b2cMinDelivery" class="marginL40"></span>
+                            </div>
+                            <div class="Regulpic">
+                                <span>规格书:</span>
+                                <!--<span ng-if="!commodity.Regulpic">-</span>-->
+                                <div ng-if="commodity.attach || commodity.productAttachSubmit" style="position: relative;display: inline-block;width: auto;margin-top: 0px" class="ToforAdminLook">
+                                    <a style="text-decoration: none;margin: 0px;border-bottom:0px" target="_blank" href="{{commodity.attach || commodity.productAttachSubmit.uploadAttach}}" class="Regulpica">
+                                        <div style="width:24px;height:26px;position: relative">
+                                            <img style="width:24px;height:26px" src="static/img/vendor/images/pdf.png"/>
+                                            <div class="zhezhaodang" ng-if="commodity.productAttachSubmit.uploadAttach"></div>
+                                        </div>
+                                    </a>
+                                    <img ng-if="commodity.productAttachSubmit.uploadAttach" src="static/img/vendor/images/fireinfo_icon.png" width="18" height="18" style="width:18px;height:18px;border: 0px;margin-left:5px;" class="nopass"/>
+                                    <div class="forAdminLook">待审核</div>
+                                </div>
+                                <div style="position: relative;display: inline-block;width: auto;margin-top: 0px" ng-if="!commodity.attach && !commodity.productAttachSubmit">-</div>
+                                <!--<div class="forAdminLook" style="margin-left: 35px;">待审核</div>-->
+                            </div>
+                        </td>
+                        <td>
+                            <div>
+                                <span ng-bind="(storeInfo.uuid != 'undefind' && commodity.storeid == storeInfo.uuid && storeInfo.storeName.indexOf('优软测试二') < 0 && storeInfo.storeName.indexOf('优软商城') < 0) ? '自营' : '寄售'"  style="text-align: center; width: 100%;"></span>
+                            </div>
+                        </td>
+                        <td class="padding0">
+                            <div ng-if="!commodity.sourceId" name="edit-a" class="edit-a"><span class="edit edits" ng-click="editCommodity(commodity, $event)">编辑</span></div><!--updateCommodityInfo(commodity, false)-->
+                            <div ng-if="commodity.sourceId"><a style="margin: 0;">来源UAS</a></div>
+                            <div ng-if="!commodity.sourceId" name="down-a" class="down-a"><span class='edits' ng-click="soldOut($event, commodity)">下架</span></div>
+                        </td>
+                    </tr>
+                    <!--编辑状态自定义标签-->
+                    <tr class="define defines" ng-if="commodity.edit">
+                        <td colspan="10">
+                            <div class="code">SKU编码 : <span ng-bind="commodity.batchCode">247823589235</span></div>
+                            <div class="labelling">
+                                <!--<em>*</em>-->
+                                自定义标签 : <input type="text" ng-blur="editTag(commodity)" ng-model="commodity.editTag" ng-change="changeTag(commodity)"
+                                               ng-class="{'error' : commodity.editTagInvalid}" maxlength="20"
+                                               placeholder="请设置产品标签"></div>
+                            <!--非标产品标志-->
+                            <img ng-if="!commodity.uuid" src="static/img/store/common/nonstandard.png" alt="" class="standard"/>
+                            <!--标准产品标志-->
+                            <img ng-if="commodity.uuid" src="static/img/store/common/standard.png" alt="" class="standard"/>
+                        </td>
+                    </tr>
+                    <tr class="edit-form edit-forms" ng-if="commodity.edit">
+                        <td colspan="9">
+                            <div class="bg-show">
+                                <div class="content-show width20">
+                                    <!--<div> {{$index + 1}}</div>-->
+                                </div>
+                                <div class="content-show width200">
+                                    <div class="fl img">
+                                        <a><img ng-src="{{commodity.editPic ? commodity.editPic : 'static/img/store/common/default.png'}}"/></a>
+                                        <div class="edit-img">
+                                            <a ng-click="commodity.editPic = null" class="delete-img" title="删除" ng-if="commodity.editPic"><i class="fa fa-trash"></i></a>
+                                            <a ng-click="editGoodsPicture(commodity.editPic || 'static/img/store/common/default.png', commodity)" title="修改图片"><img src="static/img/icon/update-img.png" /></a>
+                                        </div>
+                                    </div>
+                                    <div class="fr wid135" style="margin-top: 0px">
+                                        <p style="margin-top: 5px">
+                                            品牌:
+                                            <input style="border-radius: 3px;border: 1px solid #a9a9a9;height: 24px;line-height: 24px;width: 107px" type="text" ng-model="commodity.brandNameEn" style="width:106px" maxlength="25" ng-change="onBrandChange(commodity.brandNameEn)"/>
+                                        </p>
+                                        <p style="margin-top: 5px">
+                                            物料名称:
+                                            <input style="border-radius: 3px;border: 1px solid #a9a9a9;height: 24px;line-height: 24px;width: 79px" type="text" ng-model="commodity.kindNameCn" style="width:78px" maxlength="20" ng-change="onCodeChange(commodity.kindNameCn)"/>
+                                        </p>
+                                        <p style="margin-top: 5px">
+                                            型号:
+                                            <input style="border-radius: 3px;border: 1px solid #a9a9a9;height: 24px;line-height: 24px;width: 107px" type="text" ng-model="commodity.code" style="width:106px" maxlength="100" />
+                                        </p>
+                                        <p style="margin-top: 5px">
+                                            规格:
+                                            <input style="border-radius: 3px;border: 1px solid #a9a9a9;height: 24px;line-height: 24px;width: 107px" type="text" ng-model="commodity.spec" maxlength="50" style="width:106px"/>
+                                        </p>
+                                        <!--<p>品牌: <em ng-bind="commodity.brandNameEn" title="{{commodity.brandNameEn}}">NXP</em></p>-->
+                                        <!--<p>物料名称: <em ng-bind="commodity.kindNameCn || '-'" title="{{commodity.kindNameCn}}"></em></p>-->
+                                        <!--<p>型号: <em ng-bind="commodity.code" title="{{commodity.code}}">LPC1112</em></p>-->
+                                        <!--<p>规格: <em ng-bind="commodity.spec || '-'" title="{{commodity.spec}}">LPC1112</em></p>-->
+                                        <!--<p>-->
+                                        <!--<span style="width: 32px;">规格: </span>-->
+                                        <!--<span><input style="width:90px" type="text"-->
+                                        <!--placeholder="请输入规格" maxlength="50" ng-model="commodity.spec" class="wid48 form-control"/></span>-->
+                                        <!--</p>-->
+                                    </div>
+                                </div>
+                                <div class="content-show width120">
+                                    <div>
+                                        <span><!--<input type="text" ng-blur="editPackaging(commodity, true)" ng-change="changePackaging(commodity)" placeholder="包装方式" maxlength="10" ng-model="commodity.editPackaging" ng-class="{'error' : commodity.editPackagingInvalid}" class="wid88 form-control"/>-->
+                                            <select ng-model="commodity.editPackaging" class="select-adder select-item" title="包装">
+                                                <option ng-repeat="item in packageArray" ng-click="showText(goods, item)">{{item}}</option>
+                                            </select>
+                                        </span>
+                                    </div>
+                                    <div>
+                                        <span><input type="text" ng-change="editProduceDateFa(commodity)" placeholder="生产日期" maxlength="12" ng-model="commodity.editProduceDate" ng-class="{'error' : commodity.editProduceDateInvalid}" class="wid88 form-control"/></span>
+                                    </div>
+                                    <div>
+                                        <span>可拆卖:</span>
+                                        <span class="switch"><button ng-class="{'active' : commodity.editBreakUp}" ng-click="toggleIsBreadUp(commodity)"></button></span>
+                                    </div>
+                                </div>
+                                <div class="content-show width130">
+                                    <div>
+                                        <span>库存: </span>
+                                        <span><input type="text" ng-blur="changeReserve(commodity)" ng-class="{'error' : commodity.editReserveInvalid}"
+                                                     placeholder="数量" maxlength="9" ng-model="commodity.editReserve" class="wid48 form-control"/></span>
+                                    </div>
+                                    <div>
+                                        <span>最小起订量: </span>
+                                        <span><input type="text" ng-change="updateStartNumber(commodity)" ng-blur="changeMinBuyQty(commodity)" ng-class="{'error' : commodity.editMinBuyQtyInValid}" placeholder="数量" maxlength="6" ng-model="commodity.editMinBuyQty" class="wid48 form-control"/></span>
+                                    </div>
+                                    <div>
+                                        <span>最小包装数: </span>
+                                        <span><input type="text" ng-blur="changeMinPackQty(commodity)"
+                                                     ng-class="{'error' : commodity.editMinPackQtyInValid}" placeholder="数量" maxlength="6" ng-model="commodity.editMinPackQty" class="wid48 form-control"/></span>
+                                    </div>
+                                </div>
+                                <div class="content-show width135">
+                                    <div ng-repeat="price in commodity.editPrices">
+                                        <span style="margin-right: 0;overflow: hidden;"><input type="text" ng-disabled="$index == 0" ng-blur="editQty(commodity, $index, false, price.start)" ng-class="{'error' : price.startInValid}" placeholder="数量"  ng-model="price.start" class="wid40 form-control fl"/><em class="fl margin5" ng-if="$last">以上</em></span>
+                                        <span ng-if="!$last">-</span>
+                                        <span ng-if="!$last"><input type="text" ng-blur="editQty(commodity, $index, true, price.end)" ng-class="{'error' : price.endInValid}" placeholder="数量" ng-model="price.end" class="wid40 form-control"/></span>
+                                    </div>
+                                </div>
+                                <div class="content-show width135" ng-if="onsale.currency == 'USD'">
+                                    <div style="width: 99px;" ng-repeat="price in commodity.editPrices">
+                                    <span ng-if="commodity.currencyName.indexOf('USD') > -1">
+                                        <form name="usdForm">
+                                            <input type="text" name="usd" ng-class="{'error' : price.priceInvalid}" placeholder="单价($)" autocomplete="off" ng-blur="changePrices(commodity.editPrices, price.uSDPrice, $index)" ng-model="price.uSDPrice" class="wid85 form-control" validata-price/>
+                                        </form>
+                                    </span>
+                                        <a name="reduce-a" class="reduce" ng-disabled="commodity.editPrices.length < 2" ng-click="deleteFragment(commodity, $index)"><i class="fa fa-minus-circle"></i></a>
+                                        <a name="add-a" class="add" ng-disabled="commodity.editPrices.length >= 3" ng-click="addFragment(commodity)"><i class="fa fa-plus-circle"></i></a>
+                                    </div>
+                                </div>
+                                <div class="content-show width100"  ng-if="onsale.currency == 'RMB'">
+                                    <div style="width: 99px;" ng-repeat="price in commodity.editPrices">
+                                    <span ng-if="commodity.currencyName.indexOf('RMB') > -1">
+                                        <form name="rmbForm">
+                                            <input type="text" name="rmb" ng-class="{'error' : price.priceInvalid}" placeholder="单价(¥)" autocomplete="off" ng-blur="changePrices(commodity.editPrices, price.rMBPrice, $index)" ng-model="price.rMBPrice" class="wid85 form-control" validata-price/>
+                                        </form>
+                                    </span>
+                                        <a name="reduce-a" class="reduce" ng-disabled="commodity.editPrices.length < 2" ng-click="deleteFragment(commodity, $index)"><i class="fa fa-minus-circle"></i></a>
+                                        <a name="add-a" class="add" ng-disabled="commodity.editPrices.length >= 3" ng-click="addFragment(commodity)"><i class="fa fa-plus-circle"></i></a>
+                                    </div>
+                                </div>
+                                <div class="content-show width90">
+                                    <div ng-if="onsale.currency == 'RMB'">
+                                        <!--<span>大陆:</span>-->
+                                        <span><input type="text" ng-class="{'error' : commodity.editMinDeliveryinValid}" ng-blur="changeDelivery(commodity.editMinDelivery, commodity.editMaxDelivery, true, false, commodity)" placeholder="大陆最短交期" ng-model="commodity.editMinDelivery" class="wid25 form-control" oninput="if(value.length>3)value=value.slice(0,3)"/></span>
+                                        <span>-</span>
+                                        <span><input type="text" ng-class="{'error' : commodity.editMaxDeliveryinValid}" ng-blur="changeDelivery(commodity.editMinDelivery, commodity.editMaxDelivery, false, false, commodity)" placeholder="大陆最长交期" ng-model="commodity.editMaxDelivery" class="wid25 form-control" oninput="if(value.length>3)value=value.slice(0,3)"/></span>
+                                    </div>
+                                    <div ng-if="onsale.currency == 'USD'">
+                                        <!--<span>香港:</span>-->
+                                        <span><input type="text" placeholder="香港最短交期" ng-class="{'error' : commodity.editMinDeliveryinValid}" ng-blur="changeDelivery(commodity.editMinDelivery, commodity.editMaxDelivery, true, true, commodity)" ng-model="commodity.editMinDelivery" class="wid25 form-control" oninput="if(value.length>3)value=value.slice(0,3)"/></span>
+                                        <span>-</span>
+                                        <span><input type="text" placeholder="香港最长交期" ng-class="{'error' : commodity.editMaxDeliveryinValid}" ng-blur="changeDelivery(commodity.editMinDelivery, commodity.editMaxDelivery, false, true, commodity)" ng-model="commodity.editMaxDelivery" class="wid25 form-control" oninput="if(value.length>3)value=value.slice(0,3)"/></span>
+                                    </div>
+                                    <div class="Regulpic">
+                                        <span>规格书:</span>
+                                        <div style="position: relative;display: inline-block;width: auto;margin-top: 0px" class="ToforAdminLook">
+                                            <a style="text-decoration: none;margin: 0px;border-bottom:0px" target="_blank" href="{{commodity.attach}}" class="Regulpica" ng-if="commodity.attach">
+                                                <img style="width:24px;height:26px" src="static/img/vendor/images/pdf.png"/>
+                                            </a>
+                                            <a class="Regulpica" ng-click="editRegulPicture(commodity.productAttachSubmit.uploadAttach || 'static/img/vendor/images/upload_file_icon.png', commodity)" ng-if="!commodity.attach" style="margin: 0px">
+                                                <div style="width:24px;height:26px;position: relative">
+                                                    <img style="width:24px;height:26px" src="static/img/vendor/images/pdf.png"/>
+                                                    <div class="zhezhaodang"></div>
+                                                </div>
+                                            </a>
+                                            <img ng-if="commodity.productAttachSubmit.uploadAttach" src="static/img/vendor/images/fireinfo_icon.png" width="18" height="18" style="width:18px;height:18px;border: 0px;margin-left:5px;" class="nopass"/>
+                                            <div class="forAdminLook">待审核</div>
+                                        </div>
+                                    </div>
+                                    <!--<div class="Regulpic">-->
+                                    <!--<span>规格书:</span>-->
+                                    <!--<img style="width:24px;height:26px;cursor: pointer" src="static/img/vendor/images/pdf.png" ng-click="editRegulPicture(commodity.Regulpic || 'static/img/store/common/default.png', commodity)"/>-->
+                                    <!--<img src="static/img/vendor/images/fireinfo_icon.png" width="18" height="18" style="width:18px;height:18px;border: 0px;margin-left:5px;"/>-->
+                                    <!--<div class="forAdminLook">待审核</div>-->
+                                    <!--</div>-->
+                                </div>
+                                <div class="content-show width70">
+                                    <div>
+                                        <span>
+                                            <select ng-change="changeSaleMode(commodity)" class="wid68 select-adder form-control" ng-model="commodity.editSelfSale">
+                                                <option value="1">自营</option>
+                                                <option value="2">寄售</option>
+                                            </select>
+                                        </span>
+                                    </div>
+                                </div>
+                                <div class="content-show width60">
+                                    <div>
+                                        <span name="save-a"><button class="ok" ng-mouseleave="recoveryBlur()" ng-mouseenter="impedeBlur()" ng-click="updateGoods(commodity, $index)">保存</button></span>
+                                    </div>
+                                    <div>
+                                        <span name="cancle-a"><button class="off" ng-click="cancleEdit(commodity)">取消</button></span>
+                                    </div>
+                                </div>
+                            </div>
+                        </td>
+                        <!--<td class="middle padding0 check-input">-->
+                        <!--<div>{{$index + 1}}</div>-->
+                        <!--</td>-->
+                        <!--<td class="middle"  style="vertical-align: top !important;">-->
+                        <!--<div class="fl img">-->
+                        <!--<a><img ng-src="{{commodity.editPic ? commodity.editPic : 'static/img/store/common/default.png'}}"/></a>-->
+                        <!--<div class="edit-img">-->
+                        <!--<a ng-click="commodity.editPic = null" class="delete-img" title="删除" ng-if="commodity.editPic"><i class="fa fa-trash"></i></a>-->
+                        <!--<a ng-click="editGoodsPicture(commodity.editPic || 'static/img/store/common/default.png', commodity)" title="修改图片"><img src="static/img/icon/update-img.png" /></a>-->
+                        <!--</div>-->
+                        <!--</div>-->
+                        <!--<div class="fr wid135">-->
+                        <!--<p>类目: <em ng-bind="commodity.kindNameCn || '-'" title="{{commodity.kindNameCn}}"></em></p>-->
+                        <!--<p>型号: <em ng-bind="commodity.code" title="{{commodity.code}}">LPC1112</em></p>-->
+                        <!--<p>品牌: <em ng-bind="commodity.brandNameEn" title="{{commodity.brandNameEn}}">NXP</em></p>-->
+                        <!--</div>-->
+                        <!--</td>-->
+                        <!--<td>-->
+                        <!--<div>-->
+                        <!--<span><input type="text" ng-blur="editPackaging(commodity)" placeholder="包装方式" maxlength="10" ng-model="commodity.editPackaging" ng-class="{'error' : commodity.editPackagingInvalid}" class="wid88 form-control"/></span>-->
+                        <!--</div>-->
+                        <!--<div>-->
+                        <!--<span><input type="text" ng-blur="editProduceDateFa(commodity)" placeholder="生产日期" maxlength="11" ng-model="commodity.editProduceDate" ng-class="{'error' : commodity.editProduceDateInvalid}" class="wid88 form-control"/></span>-->
+                        <!--</div>-->
+                        <!--<div>-->
+                        <!--<span>可拆卖:</span>-->
+                        <!--<span class="switch"><button ng-class="{'active' : commodity.editBreakUp}" ng-click="toggleIsBreadUp(commodity)"></button></span>-->
+                        <!--</div>-->
+                        <!--</td>-->
+                        <!--<td>-->
+                        <!--<div>-->
+                        <!--<span>库存: </span>-->
+                        <!--<span><input type="text" ng-blur="changeReserve(commodity)" ng-class="{'error' : commodity.editReserveInvalid}" placeholder="库存" ng-model="commodity.editReserve" class="wid48 form-control"/></span>-->
+                        <!--</div>-->
+                        <!--<div>-->
+                        <!--<span>起订量: </span>-->
+                        <!--<span><input type="text" ng-blur="changeMinBuyQty(commodity)" ng-class="{'error' : commodity.editMinBuyQtyInValid}" placeholder="起拍" ng-model="commodity.editMinBuyQty" class="wid48 form-control"/></span>-->
+                        <!--</div>-->
+                        <!--<div>-->
+                        <!--<span>包装数量: </span>-->
+                        <!--<span><input type="text" ng-blur="changeMinPackQty(commodity)" ng-class="{'error' : commodity.editMinPackQtyInValid}" placeholder="倍数" ng-model="commodity.editMinPackQty" class="wid48 form-control"/></span>-->
+                        <!--</div>-->
+                        <!--&lt;!&ndash;<div>&ndash;&gt;-->
+                        <!--&lt;!&ndash;<span>&ndash;&gt;-->
+                        <!--&lt;!&ndash;<select class="wid85 select-adder form-control" style="width: 81px;">&ndash;&gt;-->
+                        <!--&lt;!&ndash;<option value="1">可拆卖</option>&ndash;&gt;-->
+                        <!--&lt;!&ndash;<option value="2">不可拆卖</option>&ndash;&gt;-->
+                        <!--&lt;!&ndash;</select>&ndash;&gt;-->
+                        <!--&lt;!&ndash;</span>&ndash;&gt;-->
+                        <!--&lt;!&ndash;</div>&ndash;&gt;-->
+                        <!--</td>-->
+                        <!--<td>-->
+                        <!--<div ng-repeat="price in commodity.editPrices">-->
+                        <!--<span style="margin-right: 0;overflow: hidden;"><input type="text" ng-blur="editQty(commodity, $index, false, price.start)" ng-class="{'error' : price.startInValid}" placeholder="数量"  ng-model="price.start" class="wid40 form-control fl"/><em class="fl margin5" ng-if="$index == (commodity.editPrices.length-1)">以上</em></span>-->
+                        <!--<span ng-if="$index != (commodity.editPrices.length-1)">-</span>-->
+                        <!--<span ng-if="$index != (commodity.editPrices.length-1)"><input type="text" ng-blur="editQty(commodity, $index, true, price.end)" ng-class="{'error' : price.endInValid}" placeholder="数量" ng-model="price.end" class="wid40 form-control"/></span>-->
+                        <!--</div>-->
+                        <!--</td>-->
+                        <!--<td ng-if="onsale.currency == 'USD'">-->
+                        <!--<div style="width: 99px;" ng-repeat="price in commodity.editPrices">-->
+                        <!--<span ng-if="commodity.currencyName.indexOf('USD') > -1">-->
+                        <!--<form name="usdForm">-->
+                        <!--<input type="text" name="usd" ng-blur="priceBlur(price, true)" ng-keyup="priceValid(price, true)" ng-class="{'error' : price.usdPriceInvalid}" placeholder="香港交货($)" autocomplete="off" ng-model="price.uSDPrice" ng-model-options="{debounce : 100}" class="wid85 form-control"/>-->
+                        <!--</form>-->
+                        <!--</span>-->
+                        <!--<a name="reduce-a" class="reduce" ng-disabled="commodity.editPrices.length < 2" ng-click="deleteFragment(commodity, $index)"><i class="fa fa-minus-circle"></i></a>-->
+                        <!--<a name="add-a" class="add" ng-disabled="commodity.editPrices.length >= 3" ng-click="addFragment(commodity)"><i class="fa fa-plus-circle"></i></a>-->
+                        <!--</div>-->
+                        <!--</td>-->
+                        <!--<td ng-if="onsale.currency == 'RMB'">-->
+                        <!--<div style="width: 99px;" ng-repeat="price in commodity.editPrices">-->
+                        <!--<span ng-if="commodity.currencyName.indexOf('RMB') > -1">-->
+                        <!--<form name="rmbForm">-->
+                        <!--<input type="text" name="rmb" ng-blur="priceBlur(price, false)" ng-keyup="priceValid(price, false)" ng-class="{'error' : price.rmbPriceInvalid}" placeholder="大陆交货(¥)" autocomplete="off" ng-model="price.rMBPrice" ng-model-options="{debounce : 100}" class="wid85 form-control"/>-->
+                        <!--</form>-->
+                        <!--</span>-->
+                        <!--<a name="reduce-a" class="reduce" ng-disabled="commodity.editPrices.length < 2" ng-click="deleteFragment(commodity, $index)"><i class="fa fa-minus-circle"></i></a>-->
+                        <!--<a name="add-a" class="add" ng-disabled="commodity.editPrices.length >= 3" ng-click="addFragment(commodity)"><i class="fa fa-plus-circle"></i></a>-->
+                        <!--</div>-->
+                        <!--</td>-->
+                        <!--<td>-->
+                        <!--<div ng-if="onsale.currency == 'RMB'">-->
+                        <!--&lt;!&ndash;<span>大陆:</span>&ndash;&gt;-->
+                        <!--<span><input type="text" ng-class="{'error' : commodity.editMinDeliveryinValid}" ng-blur="changeDelivery(commodity.editMinDelivery, commodity.editMaxDelivery, true, false, commodity)" placeholder="大陆最短交期" ng-model="commodity.editMinDelivery" class="wid25 form-control"/></span>-->
+                        <!--<span>-</span>-->
+                        <!--<span><input type="text" ng-class="{'error' : commodity.editMaxDeliveryinValid}" ng-blur="changeDelivery(commodity.editMinDelivery, commodity.editMaxDelivery, false, false, commodity)" placeholder="大陆最长交期" ng-model="commodity.editMaxDelivery" class="wid25 form-control"/></span>-->
+                        <!--</div>-->
+                        <!--<div ng-if="onsale.currency == 'USD'">-->
+                        <!--&lt;!&ndash;<span>香港:</span>&ndash;&gt;-->
+                        <!--<span><input type="text" placeholder="香港最短交期" ng-class="{'error' : commodity.editMinDeliveryinValid}" ng-blur="changeDelivery(commodity.editMinDelivery, commodity.editMaxDelivery, true, true, commodity)" ng-model="commodity.editMinDelivery" class="wid25 form-control"/></span>-->
+                        <!--<span>-</span>-->
+                        <!--<span><input type="text" placeholder="香港最长交期" ng-class="{'error' : commodity.editMaxDeliveryinValid}" ng-blur="changeDelivery(commodity.editMinDelivery, commodity.editMaxDelivery, false, true, commodity)" ng-model="commodity.editMaxDelivery" class="wid25 form-control"/></span>-->
+                        <!--</div>-->
+
+                        <!--</td>-->
+                        <!--<td>-->
+                        <!--<div>-->
+                        <!--<span>-->
+                        <!--<select ng-change="changeSaleMode(commodity)" class="wid68 select-adder form-control" ng-model="commodity.editSelfSale">-->
+                        <!--<option value="1">自营</option>-->
+                        <!--<option value="2">寄售</option>-->
+                        <!--</select>-->
+                        <!--</span>-->
+                        <!--</div>-->
+                        <!--</td>-->
+                        <!--<td class="padding0">-->
+                        <!--<div>-->
+                        <!--<span-->
+                        <!--name="cancle-a"><button class="off" ng-click="cancleEdit(commodity)">取消</button></span>-->
+                        <!--</div>-->
+                        <!--<div>-->
+                        <!--<span-->
+                        <!--name="save-a"><button class="ok" ng-click="updateGoods(commodity, $index)">保存</button></span>-->
+                        <!--</div>-->
+                        <!--</td>-->
+                    </tr>
+                    </tbody>
+                    <tbody ng-if="!currenctGoods || currenctGoods.length <= 0">
+                    <tr style="height: 252px;">
+                        <td colspan="12">
+                            <div class="empty">
+                                <p class="empty-img">
+                                    <img src="static/img/all/empty-cart.png">
+                                </p>
+                                <div class="empty-info">
+                                    <p class="grey"> 暂无产品信息,赶快上传让更多人看到你的产品吧 </p>
+                                    <a href="/vendor#/vendor_upload"><i></i>马上去上传</a>
+                                </div>
+                            </div>
+                        </td>
+                        <!--<td colspan="10" style="padding: 74px 0;">-->
+                        <!--<div style="line-height: 106px;">-->
+                        <!--<div class="col-xs-2" style="margin-left: 35%;">-->
+                        <!--<img src="static/img/all/empty-cart.png">-->
+                        <!--</div>-->
+                        <!--<div class="col-xs-4 text-right" style="line-height: 124px;">-->
+                        <!--<p class="grey f14">-->
+                        <!--暂无产品信息,赶快上传让更多人看到你的产品吧!-->
+                        <!--<a href="vendor#/vendor_upload" style="margin-left:20px;font-size: 14px;color:#5078cb"><i class="fa fa-mail-reply"></i>&nbsp;马上去上传</a>-->
+                        <!--</p>-->
+                        <!--</div>-->
+                        <!--</div>-->
+                        <!--</td>-->
+                    </tr>
+                    </tbody>
+                    <tbody>
+                    <tr class="no-hover batch-tr" ng-if="(chooseAll || chooseAllPage) && currenctGoods.length != 0">
+                        <td colspan="9">
+                            <div class="batch-line" ng-if="chooseAll && !chooseAllPage">
+                                已选中当前页
+                                <em class="red" ng-bind="goodsAll.numberOfElements"></em>个产品,
+                                <a ng-click="turnAllPage()" class="blue">点击此处</a>切换选中所有页面<em class="red" ng-bind="goodsAll.totalElements"></em>个产品
+                            </div>
+                            <div class="batch-line" ng-if="chooseAllPage">
+                                已选中所有页面
+                                <em class="red" ng-bind="goodsAll.totalElements"></em>个产品,
+                                <a ng-click="cancelAllPage()" class="blue">点击此处</a>全部取消选中
+                            </div>
+                        </td>
+                    </tr>
+                    <!--<tr class="no-hover batch-tr" ng-if="chooseAll && !chooseAllPage" ng-class="{'active': $data.length > 10}">-->
+                    </tbody>
+                </table>
+                <div class="record-line text-right" ng-if="currenctGoods.length != 0">显示 {{(param.page - 1) * 10 + 1}}-
+                    <span ng-bind="endNumber"></span>, 共: <span ng-bind="goodsAll.totalElements" style="color: #5078cb;"></span> 个</div>
+                <div class="ng-cloak ng-table-pager" style="text-align: right;margin-right: 60px;" ng-if="goodsAll.totalPages>1">
+                    <ul class="pagination ng-table-pagination">
+                        <li ng-class="{'disabled': !page.active && !page.current, 'active': page.current}" ng-repeat="page in pages" ng-switch="page.type">
+                            <a ng-switch-when="prev" ng-click="setPage(page.type, -1)" href="">&laquo;</a>
+                            <a ng-switch-when="first" ng-click="setPage(page.type, page.number)" href=""><span ng-bind="page.number"></span></a>
+                            <a ng-switch-when="page" ng-click="setPage(page.type, page.number)" href=""><span ng-bind="page.number"></span></a>
+                            <a ng-switch-when="more" ng-click="setPage(page.type, -1)" href="">&#8230;</a>
+                            <a ng-switch-when="last" ng-click="setPage(page.type, page.number)" href=""><span ng-bind="page.number"></span></a>
+                            <a ng-switch-when="next" ng-click="setPage(page.type, -1)" href="">&raquo;</a>
+                        </li>
+                    </ul>
+                    <div class="page-go-block">
+                        <input class="page-number" type="number" ng-model="param.currentPage" ng-keyup="listenEnter()"/>
+                        <a class="page-a" ng-click="setPage('page', param.currentPage)" href="">GO</a>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<!--下架操作-->
+<div class="com-modal-wrap" ng-if="isSoldOut" ng-click="cancleSoldOut($event)">
+    <div class="com-out-box">
+        <div class="title">
+            <a ng-click="cancleSoldOut()"><i class="fa fa-close fa-lg"></i></a>
+        </div>
+        <div class="content">
+            <p><i class="fa fa-exclamation-circle"></i>确认下架?</p>
+            <div><a ng-click="cancleSoldOut()">取消</a><a ng-click="updateCommodityInfo(soldOutCommodity)">确认</a></div>
+        </div>
+    </div>
+</div>
+<div class="com-modal-wrap" ng-if="batchStatus" ng-click="cancelBatch($event)">
+    <div class="com-out-box">
+        <div class="title">
+            <a ng-click="cancelBatch()"><i class="fa fa-close fa-lg"></i></a>
+        </div>
+        <div class="content">
+            <p><i class="fa fa-exclamation-circle"></i>{{batchTitle}}</p>
+            <div class="red" ng-if="batchType==1">*<i ng-if="batchType==1">已有交易记录的产品无法删除</i>
+            </div>
+            <div>
+                <a ng-click="cancelBatch()">取消</a>
+                <a ng-if="batchType==1" ng-click="batchDelete()">确认</a>
+                <a ng-if="batchType==2" ng-click="batchDown()">确认</a>
+            </div>
+        </div>
+    </div>
+</div>
+
+<!--查看大图-->
+<div id="image-box"
+     style="display: none">
+    <div class="x-floating-wrap"></div>
+    <div class="x-floating">
+        <div id="item-content">
+            <div class="x-close-wrap"><a href="javascript:void(0);">×</a></div>
+            <div class="img"><img/></div>
+        </div>
+    </div>
+</div>
+
+<div class="com-modal-wrap" ng-show="batchModify">
+    <div class="com-mall-del-box import-product">
+        <div class="content">
+            <i class="fa fa-close" ng-click="batchModify=false"></i>
+            <p><i class="fa fa-exclamation-circle"></i>请先<a ng-click="download()">导出产品信息</a>,将内容修改后重新导入</p>
+            <div class="upload-content">
+                <input type="text" name="txt" id="upload_text">
+                <i>选择文件</i>
+                <input type="file" id="uploadCommodity" ng-file-select="" ng-change="selectFile()" accept="*.xls,*.xlsx" ng-model="myFile" ng-multiple="false" />
+                <!--<input type="file" id="uploadCommodity">-->
+            </div>
+            <h5>温馨提示:仅修改现有产品信息</h5>
+            <div>
+                <a ng-click="batchModify=false">取消</a>
+                <a ng-click="importExcel()">导入</a>
+            </div>
+        </div>
+    </div>
+</div>
+
+
+<div class="com-modal-wrap" ng-show="modifyResult">
+    <div class="com-mall-del-box import-result">
+        <div class="title" ng-click="modifyResult=false">
+            <i></i>
+        </div>
+        <div class="content">
+            <p><i class="fa fa-exclamation-circle"></i><span ng-bind="modifyData.success">583</span>个产品修改成功,</p>
+            <h5><span class="red" ng-bind="modifyData.filter">5</span>个产品修改失败!</h5>
+            <div>
+                <a ng-click="modifyResult=false">确定</a>
+                <span ng-if="modifyData.filter" ng-click="downloadExcel()">下载失败列表</span>
+                <form id="load-error" style="display: none;" method="get">
+                    <input type="hidden" name="batch" ng-value="modifyData.batch">
+                </form>
+            </div>
+        </div>
+    </div>
+</div>
+<style>
+    /**/
+    .wanted_list01 .empty{
+        overflow: hidden;
+        width:100%;
+        display:inline-flex;
+        justify-content:center;
+        align-items: center;
+        height:360px;
+    }
+    .wanted_list01 .empty-info{
+        line-height: 28px;
+        padding-top:10px;
+        margin-left:10px;
+        text-align:left;
+    }
+    .wanted_list01 .empty-info .grey{
+        color: #999;
+        font-size: 14px;
+    }
+    .wanted_list01 .empty .empty-info>a{
+        font-size: 14px;
+        color: #5078cb;
+    }
+    .wanted_list01 .empty .empty-info i{
+        display: inline-block;
+        width: 18px;
+        height: 18px;
+        margin-right: 5px;
+        background: url('static/img/vendor/images/upload-icon.png')no-repeat 0px 0px;
+        position: relative;
+        top: 7px;
+    }
+    .device .wanted_list01 a.Regulpica:hover{
+        border-bottom: 0 !important;
+    }
+    .zhezhaodang {
+        position: absolute;
+        left: 0;
+        top: 0;
+        width: 24px !important;
+        height: 26px !important;
+        background: url('static/img/vendor/images/upload_file_no_pass.png') no-repeat 0px 0px;
+        background-size: 100% 100%;
+        margin-top: 0px !important;;
+    }
+</style>
+<script>
+    $(function(){
+        $(document).on('click', function () {
+            if ($(document).scrollTop() + $(window).height() < $('.record-line').offset().top + $('.record-line').height()) {
+                $('.wanted_list01 .tab table>tbody>tr.batch-tr').addClass('active')
+            } else {
+                $('.wanted_list01 .tab table>tbody>tr.batch-tr').removeClass('active')
+            }
+        })
+        $(window).bind("scroll",function() {
+            if ($(document).scrollTop() + $(window).height() < $('.record-line').offset().top + $('.record-line').height()) {
+                $('.wanted_list01 .tab table>tbody>tr.batch-tr').addClass('active')
+            } else {
+                $('.wanted_list01 .tab table>tbody>tr.batch-tr').removeClass('active')
+            }
+        });
+    })
+</script>