Browse Source

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

wangdy 7 years ago
parent
commit
8021f759cc

+ 2 - 0
src/main/java/com/uas/platform/b2c/advertise/ad/api/CarouselsController.java

@@ -16,7 +16,9 @@ import java.util.List;
  *
  * @author huxz
  * @version 2017-08-02 15:52:03 创建文件
+ * @version 2018-7-27 14:46 弃用,该用cms接口
  */
+@Deprecated
 @RestController
 @RequestMapping("/api/carousel")
 public class CarouselsController {

+ 2 - 0
src/main/java/com/uas/platform/b2c/advertise/ad/api/FloorsController.java

@@ -16,7 +16,9 @@ import java.util.List;
  *
  * @author suntg
  * @version 2017-08-02 15:55:44 创建文件
+ * @version 2018-07-27 弃用
  */
+@Deprecated
 @RestController
 @RequestMapping("/api/floors")
 public class FloorsController {

+ 1 - 0
src/main/java/com/uas/platform/b2c/advertise/ad/service/CarouselService.java

@@ -11,6 +11,7 @@ import java.util.List;
  * @author huxz
  * @version 2017-08-02 16:07:08 创建文件
  */
+@Deprecated
 public interface CarouselService {
 
     /**

+ 1 - 0
src/main/java/com/uas/platform/b2c/advertise/ad/service/FloorsService.java

@@ -10,6 +10,7 @@ import java.util.List;
  * @author suntg
  * @version 2017-03-23 16:08:02
  */
+@Deprecated
 public interface FloorsService {
 
 	/**

+ 1 - 0
src/main/java/com/uas/platform/b2c/advertise/ad/service/impl/CarouselsServiceImpl.java

@@ -17,6 +17,7 @@ import java.util.*;
  * @author huxz
  * @version 2017-08-02 16:11:37 创建文件
  */
+@Deprecated
 @Service
 public class CarouselsServiceImpl implements CarouselService{
 

+ 30 - 30
src/main/java/com/uas/platform/b2c/advertise/ad/service/impl/FloorsServiceImpl.java

@@ -4,12 +4,9 @@ import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2c.advertise.ad.constant.FloorsModule;
 import com.uas.platform.b2c.advertise.ad.service.FloorsService;
 import com.uas.platform.b2c.core.config.MicroServicesConf;
-import com.uas.platform.b2c.core.utils.FastjsonUtils;
-import com.uas.platform.b2c.core.utils.JacksonUtils;
 import com.uas.platform.b2c.prod.commodity.model.Goods;
 import com.uas.platform.b2c.prod.commodity.service.GoodsService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 import org.springframework.web.client.RestTemplate;
@@ -24,6 +21,7 @@ import java.util.Map;
  * @author  suntg
  * @version 2017-08-02 16:12:15 创建文件
  */
+@Deprecated
 @Service
 public class FloorsServiceImpl implements FloorsService {
 
@@ -42,42 +40,44 @@ public class FloorsServiceImpl implements FloorsService {
 
 	@Override
 	public List<JSONObject> getFloorsByModule(String module) {
-		String url = conf.getRequestUrlForFloor(20040, "/floors?usedFor=" + module);
-		String result = restTemplate.getForEntity(url, String.class).getBody();
-		return JacksonUtils.fromJsonArray(result, JSONObject.class);
+//		String url = conf.getRequestUrlForFloor(20040, "/floors?usedFor=" + module);
+//		String result = restTemplate.getForEntity(url, String.class).getBody();
+//		JacksonUtils.fromJsonArray(result, JSONObject.class);
+		return new ArrayList<>();
 	}
 
 	@Override
 	public Boolean setFloorsItem(JSONObject item){       //(String name, String brandEn ,String kind, String pictureUrl, String hrefUrl) {
 
-		String url = conf.getRequestUrlForFloor(20040, "/floors/"+item.get("floorId").toString()+"/item");
-		item.remove("floorId");
-		HttpStatus status = restTemplate.postForEntity(url,item,String.class).getStatusCode();
-		if (status.equals(HttpStatus.OK)){
-			return true;
-		}else{
-			return false;
-		}
+//		String url = conf.getRequestUrlForFloor(20040, "/floors/"+item.get("floorId").toString()+"/item");
+//		item.remove("floorId");
+//		HttpStatus status = restTemplate.postForEntity(url,item,String.class).getStatusCode();
+//		if (status.equals(HttpStatus.OK)){
+//			return true;
+//		}else{
+//			return false;
+//		}
+		return false;
 	}
 
 	@Override
 	public JSONObject isInHome(String batchCode) {
-		String url = conf.getRequestUrlForFloor(20040, "/floors?usedFor=home-v3");
-		String result = restTemplate.getForEntity(url, String.class).getBody();
-		List<JSONObject> floors = JacksonUtils.fromJsonArray(result,JSONObject.class);
-		List<Map<String, String>> items;
-		for (JSONObject floor : floors){
-			if (floor.get("name").equals("器件楼层")){
-				String floorId = floor.get("id").toString();
-				items = (List<Map<String, String>>)floor.get("items");
-				for (Map<String, String> item : items){
-					if (item.get("hrefUrl").toString().indexOf(batchCode) != -1){
-						JSONObject object = JSONObject.parseObject(FastjsonUtils.toJson(item));
-						return object.fluentPut("floorId",floorId);
-					}
-				}
-			}
-		}
+//		String url = conf.getRequestUrlForFloor(20040, "/floors?usedFor=home-v3");
+//		String result = restTemplate.getForEntity(url, String.class).getBody();
+//		List<JSONObject> floors = JacksonUtils.fromJsonArray(result,JSONObject.class);
+//		List<Map<String, String>> items;
+//		for (JSONObject floor : floors){
+//			if (floor.get("name").equals("器件楼层")){
+//				String floorId = floor.get("id").toString();
+//				items = (List<Map<String, String>>)floor.get("items");
+//				for (Map<String, String> item : items){
+//					if (item.get("hrefUrl").toString().indexOf(batchCode) != -1){
+//						JSONObject object = JSONObject.parseObject(FastjsonUtils.toJson(item));
+//						return object.fluentPut("floorId",floorId);
+//					}
+//				}
+//			}
+//		}
 		return null;
 	}
 

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

@@ -427,6 +427,13 @@ public interface GoodsService {
      */
     ResultMap offShelfGoodsByProvider(String batchCodes, String downMsg, Boolean isERP);
 
+    /**
+     * 在售产品下架之后,需要做的一系列动作,放到这里
+     * 1,修改推荐产品、2、首页推荐、3、统计在售产品
+     * @param list
+     */
+    void afterDownGoodsDo(List<Goods> list);
+
     /**
      * 分页获取批次信息
      *

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

@@ -527,7 +527,6 @@ public class GoodsServiceImpl implements GoodsService {
 		// 检查是否小于最小发货量
 		if (reserve.doubleValue() < goods.getMinBuyQty().doubleValue()) {
 			goods.setStatus(Status.UNAVAILABLE.value());
-            floorsService.updateHomeInfo(goods.getBatchCode());
 		}
 		goodsDao.modifyReserve(goods.getBatchCode(), goods.getUuid(), goods.getReserve(), goods.getStatus().intValue());
 		// 每次批次保存同时保存一遍历史信息
@@ -2720,8 +2719,6 @@ public class GoodsServiceImpl implements GoodsService {
 
 	@Override
 	public ResultMap offShelfGoodsByProvider(String batchCodes, String downMsg, Boolean isERP) {
-		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-		logger.info(String.format("%s 商城测试下架时间记录1", dateFormat.format(new Date())));
 		if (StringUtils.isEmpty(batchCodes)) {
 			return new ResultMap(CodeType.NO_INFO.code(), "待下架批次号字符串不能为空");
 		}
@@ -2732,36 +2729,19 @@ public class GoodsServiceImpl implements GoodsService {
 		Set<String> uuids = new HashSet<>();
 		List<String> batchCodeList = new ArrayList<>();
 
-        String storeUuid = "";
-        logger.info(String.format("%s 商城测试下架时间记录2", dateFormat.format(new Date())));
+        List<Goods> list = new ArrayList<>();
         for (String batchCode : batchCodeArr) {
-            logger.info(String.format("%s 商城测试下架时间记录 调用下架方法开始", dateFormat.format(new Date())));
             ResultMap resultMap = offShelfOneGoodsByProvider(batchCode, downMsg, isERP);
-            logger.info(String.format("%s 商城测试下架时间记录  调用下架方法结束", dateFormat.format(new Date())));
             if (resultMap.isSuccess()) {
                 Goods goods = (Goods) resultMap.getData();
                 if (goods.getUuid() != null) {
                     uuids.add(goods.getUuid());
                 }
                 batchCodeList.add(goods.getBatchCode());
-
-                storeUuid = goods.getStoreid();
+                list.add(goods);
             }
         }
-        for (String uuid : uuids) {
-            logger.info(String.format("%s 商城测试下架时间记录 更新器件库存信息 开始", dateFormat.format(new Date())));
-            updateComponentTradeInfos(uuid);
-            logger.info(String.format("%s 商城测试下架时间记录 更新器件库存信息 结束", dateFormat.format(new Date())));
-        }
-
-		if (!StringUtils.isEmpty(storeUuid)) {
-			logger.info(String.format("%s 商城测试下架时间记录 更新推荐库存信息开始", dateFormat.format(new Date())));
-			List<String> list = Arrays.asList(batchCodeArr);
-			Set<String> batchCodeSet = new HashSet<>(list);
-			recommendProductService.deleteProductsWhenSellerUpdateReserve(storeUuid, batchCodeSet);
-			logger.info(String.format("%s 商城测试下架时间记录 更新推荐库存信息结束", dateFormat.format(new Date())));
-		}
-
+        afterDownGoodsDo(list);
         if (batchCodeList.size() == 0) {
             return new ResultMap(CodeType.ERROR_STATE.code(), "下架商品失败");
         } else {
@@ -2769,6 +2749,48 @@ public class GoodsServiceImpl implements GoodsService {
         }
     }
 
+
+    /**
+     * 在售产品下架之后,需要做的一系列动作,放到这里
+     * 1,修改推荐产品、2、首页推荐、3、统计在售产品
+     * @param list
+     */
+    @Override
+    public void afterDownGoodsDo(List<Goods> list) {
+        if (CollectionUtils.isEmpty(list)) {
+            return ;
+        }
+        final Map<String, Set<String>> map = new HashedMap();
+        final Set<String> uids = new HashSet<>();
+        for (Goods goods : list) {
+            Set<String> list1 = map.get(goods.getStoreid());
+            if (list1 == null) {
+                list1 = new HashSet<>();
+            }
+            list1.add(goods.getBatchCode());
+            map.put(goods.getStoreid(), list1);
+            uids.add(goods.getUuid());
+        }
+        final Runnable afterDownGoodsDo = new Runnable() {
+            @Override
+            public void run() {
+                Set<String> stores = map.keySet();
+                for (String store : stores) {
+                    recommendProductService.deleteProductsWhenSellerUpdateReserve(store, map.get(store));
+                }
+
+                for (String uid : uids) {
+                    updateComponentTradeInfos(uid);
+                }
+            }
+        };
+        try {
+            executor.submitTask(afterDownGoodsDo);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+    }
+
     /**
      * 下架单个批次商品
      *
@@ -2820,7 +2842,6 @@ public class GoodsServiceImpl implements GoodsService {
 		//下架对应的批次 目前确定下架之后不做删除动作。
 		// goodsDao.deleteByBatchCode(goods.getBatchCode());
 		// 需要替换首页的信息。
-        floorsService.updateHomeInfo(updateGoods.getBatchCode());
 		return ResultMap.success(updateGoods);
 	}
 
@@ -3205,7 +3226,6 @@ public class GoodsServiceImpl implements GoodsService {
 
             GoodsHistory goodsHistory = goodsHistoryService.converTGoodsHist(goods, "批量下架公司产品",false);
             goodsHistory.setMessage(goodsHistory.getMessage() + "该批次下架");
-            goodsHistoryService.save(goodsHistory);
             histories.add(goodsHistory);
             goodsUpdate.add(goods);
 
@@ -3213,10 +3233,8 @@ public class GoodsServiceImpl implements GoodsService {
         }
 
         goodsDao.save(goodsUpdate);
-        goodsHistoryDao.save(histories);
-        for (String uuid : uuids) {
-            updateComponentTradeInfos(uuid);
-        }
+        goodsHistoryService.save(histories);
+        afterDownGoodsDo(goodsUpdate);
         return ResultMap.success(goodsUpdate.size());
     }
 
@@ -3241,7 +3259,6 @@ public class GoodsServiceImpl implements GoodsService {
             List<Order> orders = detailService.updateOrderDetailsByGoods(goods);
             orderService.save(orders);
 
-            Boolean aBoolean = floorsService.updateHomeInfo(goods.getBatchCode());
             List<GoodsHistory> histories = new ArrayList<>();
             if (goods.getStatus().equals(Status.AVAILABLE.value()) || goods.getStatus().equals(Status.UNAVAILABLE.value())) {
                 //先做下架记录
@@ -3538,7 +3555,6 @@ public class GoodsServiceImpl implements GoodsService {
         List<Order> orders = detailService.updateOrderDetailsByGoods(goods);
         orderService.save(orders);
 
-        Boolean aBoolean = floorsService.updateHomeInfo(goods.getBatchCode());
         List<GoodsHistory> histories = new ArrayList<>();
         if (goods.getStatus().equals(Status.AVAILABLE.value()) || goods.getStatus().equals(Status.UNAVAILABLE.value())) {
             //先做下架记录
@@ -3624,19 +3640,12 @@ public class GoodsServiceImpl implements GoodsService {
 
             orders.addAll(detailService.updateOrderDetailsByGoods(goods));
 
-
-            Boolean aBoolean = floorsService.updateHomeInfo(goods.getBatchCode());
-
             if (goods.getStatus().equals(Status.AVAILABLE.value()) || goods.getStatus().equals(Status.UNAVAILABLE.value())) {
                 goods.setStatus(Status.REMOVED.value());
-                GoodsHistory goodsHistoryRemoved = goodsHistoryService.converTGoodsHist(goods, OperateType.Down.getPhrase(),false);
+                GoodsHistory goodsHistoryRemoved = goodsHistoryService.converTGoodsHist(goods, OperateType.Down.getPhrase(), false);
                 histories.add(goodsHistoryRemoved);
             }
             //删除库存信息
-            goods.setStatus(Status.REMOVED.value());
-            GoodsHistory goodsHistoryDown = goodsHistoryService.converTGoodsHist(goods, OperateType.Down.getPhrase(),false);
-            histories.add(goodsHistoryDown);
-            //删除库存信息
             goods.setStatus(Status.DELETED.value());
             GoodsHistory goodsHistoryDelete = goodsHistoryService.converTGoodsHist(goods, OperateType.DELETE.getPhrase(),false);
             histories.add(goodsHistoryDelete);

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

@@ -235,13 +235,13 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 						}
 					}
 
-					if (!StringUtils.isEmpty(releaseProductByBatch.getErrmsg())) {
+					if (StringUtils.isEmpty(releaseProductByBatch.getErrmsg())) {
+						releaseProductByBatch.setReleaseCode(ReleaseStatus.success.value());
+						releaseProductByBatch.setReleaseStatus(ReleaseStatus.success.getPhrase());
+					} else {
 						releaseProductByBatch.setErrmsg(releaseProductByBatch.getErrmsg().substring(1));
 						releaseProductByBatch.setReleaseCode(ReleaseStatus.lack_info.value());
 						releaseProductByBatch.setReleaseStatus(ReleaseStatus.lack_info.getPhrase());
-					} else {
-						releaseProductByBatch.setReleaseCode(ReleaseStatus.success.value());
-						releaseProductByBatch.setReleaseStatus(ReleaseStatus.success.getPhrase());
 					}
 					// 简单验证数据,防止空行保存的情况(品牌、类目、型号、库存量)
 					if (blankNum != 4) {
@@ -1827,7 +1827,7 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 					Product product = new Product();
 					product.setReleaseByBatch(releaseProductByBatch);
 					// releaseProductByBatch.getCode(); 在公有库生成
-					prodNum = "PNUM" + time + CreateNumberServiceImpl.formatIntToStr(num++, 8);
+					prodNum = "PNUM" + time + CreateNumberServiceImpl.formatIntToStr(++num, 8);
 					product.setProdNum(prodNum);
 					products.add(product);
 				} else {
@@ -1900,8 +1900,6 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 			productIds.addAll(prIds);
             //添加个人关系
             String res  = restTemplate.postForEntity(productServiceIp + "/product/assign/batch?userUU=" + SystemSession.getUser().getUserUU(), productIds, String.class).getBody();
-            // 默认为b2c Enable开启
-			productPrivateService.newProductPrivateIfNotExist(productIds);
         }
 		return "sucesss";
 //		User user = SystemSession.getUser();

+ 1 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/task/CommodityTask.java

@@ -66,7 +66,7 @@ public class CommodityTask {
         });
         //更新首页的信息
         for (String bathcode : list) {
-            floorsService.updateHomeInfo(bathcode);
+            //floorsService.updateHomeInfo(bathcode);
             Goods goods = goodsDao.findByBatchCode(bathcode);
             Set<String> baList = (Set<String>)map.get(goods.getStoreid());
             if(CollectionUtils.isEmpty(baList)) {

+ 1 - 1
src/main/webapp/WEB-INF/views/normal/index.html

@@ -37,7 +37,7 @@
 
 	<div ng-include src="'static/view/common/advert.html'"></div>
 
-	<div ng-include src="'static/view/common/floor.html'"></div>
+	<!--<div ng-include src="'static/view/common/floor.html'"></div>-->
 
 	<div ng-include src="'static/view/home/news.html'"></div>
 

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

@@ -258,23 +258,23 @@ define([ 'app/app' ], function(app) {
 
 	// 搜索框Ctrl
 	app.controller('SearchCtrl', ['$scope', '$http', '$rootScope', 'SessionService', function($scope, $http, $rootScope, SessionService) {
-		// $scope.searchType = {
-		// 	original: false,
-		// 	inaction: false,
-		// 	proffing: false,
-		// 	brand: false,
-		// 	isCmp: function() {
-		// 		var me = this;
-		// 		return me.original || me.inaction || me.proffing;
-		// 	}
-		// };
         // 默认搜索类型
         $scope.searchType = 'component';
+        $scope.placeholderSearch = '请输入型号';
 
 		// 选搜索类型
         $scope.setTypeClick = function (type) {
-        	$scope.searchType = type
-            $scope.search()
+            $scope.keyword = '';
+        	$scope.searchType = type;
+			if (type === 'kind') {
+                $scope.placeholderSearch = '请输入物料名称';
+			} else if (type === 'store') {
+                $scope.placeholderSearch = '请输入卖家名称';
+            } else if (type === 'brand') {
+                $scope.placeholderSearch = '请输入品牌';
+            } else {
+                $scope.placeholderSearch = '请输入型号';
+            }
 		};
 
         // 搜索
@@ -382,8 +382,7 @@ define([ 'app/app' ], function(app) {
 				$http.get('search/similarKeywords', {
 					params : params
 				}).success(function(data){
-					$scope.associates = data;// 联想词数组
-					console.log('1', data)
+					$scope.associates = data.result;// 联想词数组
 				}).error(function(response) {
 					console.log(response)
 				});

+ 8 - 11
src/main/webapp/resources/view/sso/header.html

@@ -222,23 +222,20 @@
             <div class="search-list">
                 <ul class="list-inline">
                     <li ng-class="{'active': searchType === 'component'}" ng-click="setTypeClick('component')">型号</li>
-                    <li ng-class="{'active': searchType === 'product'}" ng-click="setTypeClick('product')">物料名称</li>
+                    <li ng-class="{'active': searchType === 'kind'}" ng-click="setTypeClick('kind')">物料名称</li>
                     <li ng-class="{'active': searchType === 'store'}" ng-click="setTypeClick('store')">卖家</li>
                     <li ng-class="{'active': searchType === 'brand'}" ng-click="setTypeClick('brand')">品牌</li>
                 </ul>
             </div>
-            <input type="text" ng-model="keyword" ng-change="onChange()" ng-search="search()" ng-focus="onFocus()" ng-blur="onBlur()" ng-keyup="onKeyup()"placeholder="品牌/物料名称/型号" />
+            <input type="text" ng-model="keyword" ng-change="onChange()" ng-search="search()" ng-focus="onFocus()" ng-blur="onBlur()" ng-keyup="onKeyup()" placeholder="{{placeholderSearch}}" />
             <a class="seek" ng-click="search()">搜索</a>
-            <ul class="association" ng-show="associate || associateEnter"  ng-class="{'none': !associate || !associateEnter}" ng-mouseenter="onAssociateEnter()" ng-mouseleave="onAssociateLeave()">
-                <li class="similar-title" ng-if="associates.component && associates.brand.length > 0">品牌:</li>
-                <li ng-repeat="as in associates.brand" ng-bind="as.nameCn" ng-class="{'active': $index==selectIndex}"
-                    ng-click="onAssociateClick(as.nameCn)"></li>
-                <li class="similar-title" ng-if="associates.component && associates.kind.length > 0">物料名称(类目):</li>
-                <li ng-repeat="as in associates.kind" ng-bind="as.nameCn" ng-class="{'active': $index==selectIndex}"
-                    ng-click="onAssociateClick(as.nameCn)"></li>
-                <li class="similar-title" ng-if="associates.component && associates.component.length > 0">型号:</li>
-                <li ng-repeat="as in associates.component" ng-bind="as.code" ng-class="{'active': $index==selectIndex}"
+            <ul class="association" ng-show="keyword && (associate || associateEnter)"  ng-class="{'none': !associate || !associateEnter}" ng-mouseenter="onAssociateEnter()" ng-mouseleave="onAssociateLeave()">
+                <li ng-repeat="as in associates" ng-bind="as.code" ng-class="{'active': $index==selectIndex}"
                     ng-click="onAssociateClick(as.code)"></li>
+                <li ng-repeat="as in associates" ng-bind="as.nameCn" ng-class="{'active': $index==selectIndex}"
+                    ng-click="onAssociateClick(as.nameCn)"></li>
+                <li ng-repeat="as in associates" ng-bind="as.name" ng-class="{'active': $index==selectIndex}"
+                    ng-click="onAssociateClick(as.name)"></li>
             </ul>
         </div>
     </div>

+ 8 - 11
src/main/webapp/resources/view/usercenter/header.html

@@ -222,23 +222,20 @@
             <div class="search-list">
                 <ul class="list-inline">
                     <li ng-class="{'active': searchType === 'component'}" ng-click="setTypeClick('component')">型号</li>
-                    <li ng-class="{'active': searchType === 'product'}" ng-click="setTypeClick('product')">物料名称</li>
+                    <li ng-class="{'active': searchType === 'kind'}" ng-click="setTypeClick('kind')">物料名称</li>
                     <li ng-class="{'active': searchType === 'store'}" ng-click="setTypeClick('store')">卖家</li>
                     <li ng-class="{'active': searchType === 'brand'}" ng-click="setTypeClick('brand')">品牌</li>
                 </ul>
             </div>
-            <input type="text" ng-model="keyword" ng-change="onChange()" ng-search="search()" ng-focus="onFocus()" ng-blur="onBlur()" ng-keyup="onKeyup()"placeholder="品牌/物料名称/型号" />
+            <input type="text" ng-model="keyword" ng-change="onChange()" ng-search="search()" ng-focus="onFocus()" ng-blur="onBlur()" ng-keyup="onKeyup()" placeholder="{{placeholderSearch}}" />
             <a class="seek" ng-click="search()">搜索</a>
-            <ul class="association" ng-show="associate || associateEnter"  ng-class="{'none': !associate || !associateEnter}" ng-mouseenter="onAssociateEnter()" ng-mouseleave="onAssociateLeave()">
-                <li class="similar-title" ng-if="associates.component && associates.brand.length > 0">品牌:</li>
-                <li ng-repeat="as in associates.brand" ng-bind="as.nameCn" ng-class="{'active': $index==selectIndex}"
-                    ng-click="onAssociateClick(as.nameCn)"></li>
-                <li class="similar-title" ng-if="associates.component && associates.kind.length > 0">类目:</li>
-                <li ng-repeat="as in associates.kind" ng-bind="as.nameCn" ng-class="{'active': $index==selectIndex}"
-                    ng-click="onAssociateClick(as.nameCn)"></li>
-                <li class="similar-title" ng-if="associates.component && associates.component.length > 0">型号:</li>
-                <li ng-repeat="as in associates.component" ng-bind="as.code" ng-class="{'active': $index==selectIndex}"
+            <ul class="association" ng-show="keyword && (associate || associateEnter)"  ng-class="{'none': !associate || !associateEnter}" ng-mouseenter="onAssociateEnter()" ng-mouseleave="onAssociateLeave()">
+                <li ng-repeat="as in associates" ng-bind="as.code" ng-class="{'active': $index==selectIndex}"
                     ng-click="onAssociateClick(as.code)"></li>
+                <li ng-repeat="as in associates" ng-bind="as.nameCn" ng-class="{'active': $index==selectIndex}"
+                    ng-click="onAssociateClick(as.nameCn)"></li>
+                <li ng-repeat="as in associates" ng-bind="as.name" ng-class="{'active': $index==selectIndex}"
+                    ng-click="onAssociateClick(as.name)"></li>
             </ul>
         </div>
     </div>

+ 8 - 11
src/main/webapp/resources/view/vendor/header.html

@@ -219,23 +219,20 @@
             <div class="search-list">
                 <ul class="list-inline">
                     <li ng-class="{'active': searchType === 'component'}" ng-click="setTypeClick('component')">型号</li>
-                    <li ng-class="{'active': searchType === 'product'}" ng-click="setTypeClick('product')">物料名称</li>
+                    <li ng-class="{'active': searchType === 'kind'}" ng-click="setTypeClick('kind')">物料名称</li>
                     <li ng-class="{'active': searchType === 'store'}" ng-click="setTypeClick('store')">卖家</li>
                     <li ng-class="{'active': searchType === 'brand'}" ng-click="setTypeClick('brand')">品牌</li>
                 </ul>
             </div>
-            <input type="text" ng-model="keyword" ng-change="onChange()" ng-search="search()" ng-focus="onFocus()" ng-blur="onBlur()" ng-keyup="onKeyup()"placeholder="品牌/物料名称/型号" />
+            <input type="text" ng-model="keyword" ng-change="onChange()" ng-search="search()" ng-focus="onFocus()" ng-blur="onBlur()" ng-keyup="onKeyup()" placeholder="{{placeholderSearch}}" />
             <a class="seek" ng-click="search()">搜索</a>
-            <ul class="association" ng-show="associate || associateEnter" ng-mouseenter="onAssociateEnter()" ng-mouseleave="onAssociateLeave()" ng-class="{'none': !associate || !associateEnter}">
-                <li class="similar-title" ng-if="associates.component && associates.brand.length > 0">品牌:</li>
-                <li ng-repeat="as in associates.brand" ng-bind="as.nameCn" ng-class="{'active': $index==selectIndex}"
-                    ng-click="onAssociateClick(as.nameCn)"></li>
-                <li class="similar-title" ng-if="associates.component && associates.kind.length > 0">类目:</li>
-                <li ng-repeat="as in associates.kind" ng-bind="as.nameCn" ng-class="{'active': $index==selectIndex}"
-                    ng-click="onAssociateClick(as.nameCn)"></li>
-                <li class="similar-title" ng-if="associates.component && associates.component.length > 0">型号:</li>
-                <li ng-repeat="as in associates.component" ng-bind="as.code" ng-class="{'active': $index==selectIndex}"
+            <ul class="association" ng-show="keyword && (associate || associateEnter)"  ng-class="{'none': !associate || !associateEnter}" ng-mouseenter="onAssociateEnter()" ng-mouseleave="onAssociateLeave()">
+                <li ng-repeat="as in associates" ng-bind="as.code" ng-class="{'active': $index==selectIndex}"
                     ng-click="onAssociateClick(as.code)"></li>
+                <li ng-repeat="as in associates" ng-bind="as.nameCn" ng-class="{'active': $index==selectIndex}"
+                    ng-click="onAssociateClick(as.nameCn)"></li>
+                <li ng-repeat="as in associates" ng-bind="as.name" ng-class="{'active': $index==selectIndex}"
+                    ng-click="onAssociateClick(as.name)"></li>
             </ul>
         </div>
     </div>