Browse Source

产品后台表头调整

hulh 8 years ago
parent
commit
215d9dae73

+ 5 - 5
src/main/java/com/uas/platform/b2c/prod/commodity/constant/StringConstant.java

@@ -6,11 +6,11 @@ package com.uas.platform.b2c.prod.commodity.constant;
  */
 public class StringConstant {
 
-    public static final String consignment = "寄售";
-    public static final String saleSelf = "自营";
-    public static final String defaultImg = "默认图片";
-    public static final String newImg = "新图片";
-    public static final String oldImg = "旧图片";
+    public static final String CONSIGNMENT = "寄售";
+    public static final String SALE_SELF = "自营";
+    public static final String DEFAULT_IMG = "默认图片";
+    public static final String NEW_IMG = "新图片";
+    public static final String OLD_IMG = "旧图片";
 
     /**
      * 自定义标签

+ 2 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/dao/TitleDao.java

@@ -3,6 +3,7 @@ package com.uas.platform.b2c.prod.commodity.dao;
 import com.uas.platform.b2c.prod.commodity.model.Title;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -18,5 +19,6 @@ public interface TitleDao extends JpaSpecificationExecutor<Title>,
      * 删除指定表头记录下的表头信息
      * @param recordid 表头记录id
      */
+    @Modifying
     void deleteByRecordid(Long recordid);
 }

+ 1 - 3
src/main/java/com/uas/platform/b2c/prod/commodity/service/GoodsService.java

@@ -644,14 +644,12 @@ public interface GoodsService {
      * @return
      */
     Page<Goods> getPageDataOfBackground(PageInfo info, GoodsFilter goodsFilter);
-    void addVisitCount(String batchCode);
 
     /**
      * 根据productid
      * @param productid
      */
-    ResultMap getDeleteProductMessage(Long
-                                              productid);
+    ResultMap getDeleteProductMessage(Long productid);
 
     /**
      * 修正测试的数据

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

@@ -12,6 +12,7 @@ import com.uas.platform.b2c.trade.support.CodeType;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
 import java.util.Set;
@@ -40,6 +41,7 @@ public class BackgroundRecordServiceImpl implements BackgroundRecordService {
      * @param titleList 表头list
      * @return
      */
+    @Transactional
     @Override
     public ResultMap updateTitleInfo(Set<Title> titleList) {
         Long userUU = SystemSession.getUser().getUserUU();
@@ -54,7 +56,8 @@ public class BackgroundRecordServiceImpl implements BackgroundRecordService {
             return ResultMap.success(false);
         }
         titleDao.deleteByRecordid(record.getId());
-        titleDao.save(titleList);
+        record.setTitleSet(titleList);
+        backgroundRecordDao.save(record);
         return ResultMap.success(true);
     }
 

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

@@ -206,6 +206,9 @@ public class GoodsServiceImpl implements GoodsService {
     @Autowired
     private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
 
+    @Autowired
+    private GoodsModifyInfoDao goodsModifyInfoDao;
+
     private final Logger logger = Logger.getLogger(getClass());
 
     @Autowired
@@ -220,21 +223,6 @@ public class GoodsServiceImpl implements GoodsService {
         ExecutorService executorService = Executors.newCachedThreadPool();
         executor = new BoundedExecutor(executorService, 1600);
     }
-	@Autowired
-	private GoodsModifyInfoDao goodsModifyInfoDao;
-
-	@Autowired
-	public GoodsServiceImpl(KindService kindService, StoreInDao storeInDao, StoreInService storeInService, ProductStandardPutOnInfoDao productStandardPutOnInfoDao, ProductDao productDao, BrowsingHistoryService browsingHistoryService, RecommendProductService recommendProductService) {
-		this.kindService = kindService;
-		this.storeInDao = storeInDao;
-		this.storeInService = storeInService;
-		this.productStandardPutOnInfoDao = productStandardPutOnInfoDao;
-		this.productDao = productDao;
-		this.browsingHistoryService = browsingHistoryService;
-		this.recommendProductService = recommendProductService;
-		ExecutorService executorService = Executors.newCachedThreadPool();
-		executor = new BoundedExecutor(executorService, 1600);
-	}
 
     /**
      * 检测批次各属性的正确性
@@ -1292,161 +1280,128 @@ public class GoodsServiceImpl implements GoodsService {
         return ResultMap.success(resultGoods);
     }
 
-	/**
-	 * 比较两个Goods,得出修改后的信息
-	 * @param beforeGoods 原有的Goods
-	 * @param afterGoods  修改的Goods
-	 */
-	private void compareGoodsWithModify(Goods beforeGoods, Goods afterGoods) {
-		List<ModifyInfo> infoList = new ArrayList<>();
-		String beforeImg = beforeGoods.getImg();
-		String afterImg = afterGoods.getImg();
-		if (StringUtils.isEmpty(beforeImg) && StringUtils.hasText(afterImg)) {
-			ModifyInfo info = new ModifyInfo();
-			info.setModifyField(ModifyConstant.MODIFY_IMG.getPhrase());
-			info.setBefore(StringConstant.defaultImg);
-			info.setAfter(StringConstant.newImg);
-			infoList.add(info);
-		}
-		if (StringUtils.hasText(beforeImg) && !beforeImg.equals(afterImg)) {
-			ModifyInfo info = new ModifyInfo();
-			info.setModifyField(ModifyConstant.MODIFY_IMG.getPhrase());
-			info.setBefore(StringConstant.oldImg);
-			info.setAfter(StringConstant.newImg);
-			infoList.add(info);
-		}
-		String beforePackage = beforeGoods.getPackaging();
-		String afterPackage = afterGoods.getPackaging();
-		if (!beforePackage.equals(afterPackage)) {
-			ModifyInfo info = new ModifyInfo();
-			info.setModifyField(ModifyConstant.MODIFY_PACKAGE.getPhrase());
-			info.setBefore(beforePackage);
-			info.setAfter(afterPackage);
-			infoList.add(info);
-		}
-		String beforeProduce = beforeGoods.getProduceDate();
-		String afterProduce = afterGoods.getProduceDate();
-		if (!beforeProduce.equals(afterProduce)) {
-			ModifyInfo info = new ModifyInfo();
-			info.setModifyField(ModifyConstant.MODIFY_PRODUCE_DATE.getPhrase());
-			info.setBefore(beforeProduce);
-			info.setAfter(afterProduce);
-			infoList.add(info);
-		}
-		Boolean beforeBreak = beforeGoods.getBreakUp();
-		Boolean afterBreak = afterGoods.getBreakUp();
-		if (!beforeBreak.equals(afterBreak)) {
-			ModifyInfo info = new ModifyInfo();
-			info.setModifyField(ModifyConstant.MODIFY_BREAK_UP.getPhrase());
-			info.setBefore(beforeBreak.toString());
-			info.setAfter(afterBreak.toString());
-			infoList.add(info);
-		}
-		Double beforeReserve = beforeGoods.getReserve();
-		Double afterReserve = afterGoods.getReserve();
-		if (!beforeReserve.equals(afterReserve)) {
-			ModifyInfo info = new ModifyInfo();
-			info.setModifyField(ModifyConstant.MODIFY_RESERVE.getPhrase());
-			info.setBefore(beforeReserve.toString());
-			info.setAfter(afterReserve.toString());
-			infoList.add(info);
-		}
-		Double beforePackQty = beforeGoods.getMinPackQty();
-		Double afterPackQty = afterGoods.getMinPackQty();
-		if (!beforePackQty.equals(afterPackQty)) {
-			ModifyInfo info = new ModifyInfo();
-			info.setModifyField(ModifyConstant.MODIFY_PACKAGE_QTY.getPhrase());
-			info.setBefore(beforePackQty.toString());
-			info.setAfter(afterPackQty.toString());
-			infoList.add(info);
-		}
-		Double beforeBuyQty = beforeGoods.getMinBuyQty();
-		Double afterBuyQty = afterGoods.getMinBuyQty();
-		if (!beforeBuyQty.equals(afterBuyQty)) {
-			ModifyInfo info = new ModifyInfo();
-			info.setModifyField(ModifyConstant.MODIFY_BUY_QTY.getPhrase());
-			info.setBefore(beforeBuyQty.toString());
-			info.setAfter(afterBuyQty.toString());
-			infoList.add(info);
-		}
-		Short beforeMinDelivery = beforeGoods.getMinDelivery();
-		Short afterMinDelivery = afterGoods.getMinDelivery();
-		if (!beforeMinDelivery.equals(afterMinDelivery)) {
-			ModifyInfo info = new ModifyInfo();
-			info.setModifyField(ModifyConstant.MODIFY_MIN_DELIVERY.getPhrase());
-			info.setBefore(beforeMinDelivery.toString());
-			info.setAfter(afterMinDelivery.toString());
-			infoList.add(info);
-		}
-		Short beforeMaxDelivery = beforeGoods.getMaxDelivery();
-		Short afterMaxDelivery = afterGoods.getMaxDelivery();
-		if (!beforeMaxDelivery.equals(afterMaxDelivery)) {
-			ModifyInfo info = new ModifyInfo();
-			info.setModifyField(ModifyConstant.MODIFY_MAX_DELIVERY.getPhrase());
-			info.setBefore(beforeMaxDelivery.toString());
-			info.setAfter(afterMaxDelivery.toString());
-			infoList.add(info);
-		}
-		String beforeStore = beforeGoods.getStoreid();
-		String afterStore = afterGoods.getStoreid();
-		if (!beforeStore.equals(afterStore)) {
-			ModifyInfo info = new ModifyInfo();
-			info.setModifyField(ModifyConstant.MODIFY_SALE_METHOD.getPhrase());
-			if (beforeStore.equals(sysConf.getStoreid())) {
-				info.setBefore(StringConstant.consignment);
-				info.setAfter(StringConstant.saleSelf);
-			} else {
-				info.setBefore(StringConstant.saleSelf);
-				info.setAfter(StringConstant.consignment);
-			}
-			infoList.add(info);
-		}
-		if (!CollectionUtils.isEmpty(infoList)) {
-			beforeGoods.setAudited(ShortConstant.NO_SHORT);
-			GoodsModifyInfo modifyInfo = new GoodsModifyInfo();
-			modifyInfo.setEnuu(SystemSession.getUser().getEnterprise().getUu());
-			modifyInfo.setUseruu(SystemSession.getUser().getUserUU());
-			modifyInfo.setBatchCode(beforeGoods.getBatchCode());
-			modifyInfo.setStatus(ModifyInfoStatus.TO_BE_AUDITED.getCode());
-			modifyInfo.setUpdateTime(new Date());
-			modifyInfo.setInfoList(infoList);
-			goodsModifyInfoDao.save(modifyInfo);
-		}
-	}
+    /**
+     * 比较两个Goods,得出修改后的信息
+     * @param beforeGoods 原有的Goods
+     * @param afterGoods  修改的Goods
+     */
+    private void compareGoodsWithModify(Goods beforeGoods, Goods afterGoods) {
+        List<ModifyInfo> infoList = new ArrayList<>();
+        String beforeImg = beforeGoods.getImg();
+        String afterImg = afterGoods.getImg();
+        if (StringUtils.isEmpty(beforeImg) && StringUtils.hasText(afterImg)) {
+            ModifyInfo info = new ModifyInfo();
+            info.setModifyField(ModifyConstant.MODIFY_IMG.getPhrase());
+            info.setBefore(StringConstant.DEFAULT_IMG);
+            info.setAfter(StringConstant.NEW_IMG);
+            infoList.add(info);
+        }
+        if (StringUtils.hasText(beforeImg) && !beforeImg.equals(afterImg)) {
+            ModifyInfo info = new ModifyInfo();
+            info.setModifyField(ModifyConstant.MODIFY_IMG.getPhrase());
+            info.setBefore(StringConstant.OLD_IMG);
+            info.setAfter(StringConstant.NEW_IMG);
+            infoList.add(info);
+        }
+        String beforePackage = beforeGoods.getPackaging();
+        String afterPackage = afterGoods.getPackaging();
+        if (!beforePackage.equals(afterPackage)) {
+            ModifyInfo info = new ModifyInfo();
+            info.setModifyField(ModifyConstant.MODIFY_PACKAGE.getPhrase());
+            info.setBefore(beforePackage);
+            info.setAfter(afterPackage);
+            infoList.add(info);
+        }
+        String beforeProduce = beforeGoods.getProduceDate();
+        String afterProduce = afterGoods.getProduceDate();
+        if (!beforeProduce.equals(afterProduce)) {
+            ModifyInfo info = new ModifyInfo();
+            info.setModifyField(ModifyConstant.MODIFY_PRODUCE_DATE.getPhrase());
+            info.setBefore(beforeProduce);
+            info.setAfter(afterProduce);
+            infoList.add(info);
+        }
+        Boolean beforeBreak = beforeGoods.getBreakUp();
+        Boolean afterBreak = afterGoods.getBreakUp();
+        if (!beforeBreak.equals(afterBreak)) {
+            ModifyInfo info = new ModifyInfo();
+            info.setModifyField(ModifyConstant.MODIFY_BREAK_UP.getPhrase());
+            info.setBefore(beforeBreak.toString());
+            info.setAfter(afterBreak.toString());
+            infoList.add(info);
+        }
+        Double beforeReserve = beforeGoods.getReserve();
+        Double afterReserve = afterGoods.getReserve();
+        if (!beforeReserve.equals(afterReserve)) {
+            ModifyInfo info = new ModifyInfo();
+            info.setModifyField(ModifyConstant.MODIFY_RESERVE.getPhrase());
+            info.setBefore(beforeReserve.toString());
+            info.setAfter(afterReserve.toString());
+            infoList.add(info);
+        }
+        Double beforePackQty = beforeGoods.getMinPackQty();
+        Double afterPackQty = afterGoods.getMinPackQty();
+        if (!beforePackQty.equals(afterPackQty)) {
+            ModifyInfo info = new ModifyInfo();
+            info.setModifyField(ModifyConstant.MODIFY_PACKAGE_QTY.getPhrase());
+            info.setBefore(beforePackQty.toString());
+            info.setAfter(afterPackQty.toString());
+            infoList.add(info);
+        }
+        Double beforeBuyQty = beforeGoods.getMinBuyQty();
+        Double afterBuyQty = afterGoods.getMinBuyQty();
+        if (!beforeBuyQty.equals(afterBuyQty)) {
+            ModifyInfo info = new ModifyInfo();
+            info.setModifyField(ModifyConstant.MODIFY_BUY_QTY.getPhrase());
+            info.setBefore(beforeBuyQty.toString());
+            info.setAfter(afterBuyQty.toString());
+            infoList.add(info);
+        }
+        Short beforeMinDelivery = beforeGoods.getMinDelivery();
+        Short afterMinDelivery = afterGoods.getMinDelivery();
+        if (!beforeMinDelivery.equals(afterMinDelivery)) {
+            ModifyInfo info = new ModifyInfo();
+            info.setModifyField(ModifyConstant.MODIFY_MIN_DELIVERY.getPhrase());
+            info.setBefore(beforeMinDelivery.toString());
+            info.setAfter(afterMinDelivery.toString());
+            infoList.add(info);
+        }
+        Short beforeMaxDelivery = beforeGoods.getMaxDelivery();
+        Short afterMaxDelivery = afterGoods.getMaxDelivery();
+        if (!beforeMaxDelivery.equals(afterMaxDelivery)) {
+            ModifyInfo info = new ModifyInfo();
+            info.setModifyField(ModifyConstant.MODIFY_MAX_DELIVERY.getPhrase());
+            info.setBefore(beforeMaxDelivery.toString());
+            info.setAfter(afterMaxDelivery.toString());
+            infoList.add(info);
+        }
+        String beforeStore = beforeGoods.getStoreid();
+        String afterStore = afterGoods.getStoreid();
+        if (!beforeStore.equals(afterStore)) {
+            ModifyInfo info = new ModifyInfo();
+            info.setModifyField(ModifyConstant.MODIFY_SALE_METHOD.getPhrase());
+            if (beforeStore.equals(sysConf.getStoreid())) {
+                info.setBefore(StringConstant.CONSIGNMENT);
+                info.setAfter(StringConstant.SALE_SELF);
+            } else {
+                info.setBefore(StringConstant.SALE_SELF);
+                info.setAfter(StringConstant.CONSIGNMENT);
+            }
+            infoList.add(info);
+        }
+        if (!CollectionUtils.isEmpty(infoList)) {
+            beforeGoods.setAudited(ShortConstant.NO_SHORT);
+            GoodsModifyInfo modifyInfo = new GoodsModifyInfo();
+            modifyInfo.setEnuu(SystemSession.getUser().getEnterprise().getUu());
+            modifyInfo.setUseruu(SystemSession.getUser().getUserUU());
+            modifyInfo.setBatchCode(beforeGoods.getBatchCode());
+            modifyInfo.setStatus(ModifyInfoStatus.TO_BE_AUDITED.getCode());
+            modifyInfo.setUpdateTime(new Date());
+            modifyInfo.setInfoList(infoList);
+            goodsModifyInfoDao.save(modifyInfo);
+        }
+    }
 
-	/**
-	 * 根据前端修改的库存(oldGoods)更新数据库中的库存。
-	 * @param nowGoods 数据库中的库存。
-	 * @param oldGoods 前端修改的库存。
-	 * @return 更新之后的库存。
-	 */
-	@Override
-	@Transactional
-	public Goods updateGoods(Goods nowGoods, Goods oldGoods) {
-		Goods resultGoods = null;
-		nowGoods.setMaxDelivery(oldGoods.getMaxDelivery());
-		nowGoods.setMinDelivery(oldGoods.getMinDelivery());
-		nowGoods.setSelfDeliveryDemMaxTime(oldGoods.getSelfDeliveryDemMaxTime());
-		nowGoods.setSelfDeliveryDemMinTime(oldGoods.getSelfDeliveryDemMinTime());
-		nowGoods.setSelfDeliveryHKMaxTime(oldGoods.getSelfDeliveryHKMaxTime());
-		nowGoods.setSelfDeliveryHKMinTime(oldGoods.getSelfDeliveryHKMinTime());
-
-		if(Integer.valueOf(oldGoods.getSelfSale()).equals(IntegerConstant.B2C_SALE)) {
-			nowGoods.setStoreid(sysConf.getStoreid());
-			nowGoods.setStoreName(sysConf.getEnName());
-		}else if(Integer.valueOf(oldGoods.getSelfSale()).equals(IntegerConstant.SELF_SALE)){
-			StoreIn storeIn = storeInService.findByEnUU(nowGoods.getEnUU());
-			if(storeIn != null && storeIn.getStatus() == StoreStatus.OPENED) {
-				nowGoods.setStoreid(storeIn.getUuid());
-				nowGoods.setStoreName(storeIn.getStoreName());
-			}else {
-				throw new IllegalOperatorException("您还未开店铺,不能选择自营");
-			}
-		}else {
-			throw new IllegalOperatorException("您选择的销售方式不存在");
-		}
-		// 设置货到香港,货到大陆的延长时间
-		setB2CDelayTime(nowGoods);
     @Transactional
     @Override
     public ResultMap putOn(Long id) {
@@ -1467,12 +1422,11 @@ public class GoodsServiceImpl implements GoodsService {
                 updateComponentTradeInfos(goods.getUuid());
             }
             return ResultMap.success(persistGoods);
-        }else {
+        } else {
             return new ResultMap(CodeType.NO_INFO, "找不到对应的在售产品信息");
         }
     }
 
-
     /**
      * 添加保存的产品信息
      * @param goods
@@ -3311,8 +3265,6 @@ public class GoodsServiceImpl implements GoodsService {
         goodsDao.save(goodses);
         return String.valueOf(goodses.size());
     }
-		goodsDao.addVisitCount(batchCode);
-	}
 
 	@Override
 	public Page<Goods> getPageDataOfBackground(final PageInfo info, GoodsFilter goodsFilter) {

+ 61 - 11
src/main/webapp/resources/js/admin/controllers/product/productManageCtrl.js

@@ -1,6 +1,17 @@
 define(['app/app'], function(app) {
     'use strict';
-    app.register.controller('productManageCtrl', ['$scope', '$modal', 'toaster', 'ngTableParams', 'BaseService', '$http', 'Goods', function($scope, $modal, toaster, ngTableParams, BaseService, $http, Goods) {
+    app.register.controller('productManageCtrl', ['$scope', '$modal', 'toaster', 'ngTableParams', 'BaseService', '$http', 'Goods', 'BackgroundRecord', function($scope, $modal, toaster, ngTableParams, BaseService, $http, Goods, BackgroundRecord) {
+
+        var initTitleInfo = function () {
+            BackgroundRecord.getUserTitle({}, function (data) {
+                $scope.tableTabs = data;
+                $scope.titleInShow = {};
+                angular.forEach($scope.tableTabs, function (item) {
+                    $scope.titleInShow[item.titleName] = true;
+                });
+            });
+        };
+        initTitleInfo();
 
         // 获取分页Goods数据
         $scope.manageTableParams = new ngTableParams({
@@ -23,7 +34,7 @@ define(['app/app'], function(app) {
                 })
             }
         });
-        $scope.tableTabs = ['商家ID', '商家名称', '产品信息', 'SKU编码', '产品编号', '封装', '梯度', '单价', '交期(天)', '包装', '包装数量', '起订量', '拆包售卖', '在售数量', '锁库数', '冻结数量', '库存总数', '在售状态', '销售方式', '创建人', '创建时间', '产品类型', '图片类型', '产品图片'];
+        // $scope.tableTabs = ['商家ID', '商家名称', '产品信息', 'SKU编码', '产品编号', '封装', '梯度', '单价', '交期(天)', '包装', '包装数量', '起订量', '拆包售卖', '在售数量', '锁库数', '冻结数量', '库存总数', '在售状态', '销售方式', '创建人', '创建时间', '产品类型', '图片类型', '产品图片'];
 
         // 全选
         $scope.chooseAll = function () {
@@ -78,8 +89,7 @@ define(['app/app'], function(app) {
         var loadCityData = function () {
             $http.get('static/js/prod/data/city.json').success(function (data) {
                 $scope.cityJson = data;
-                $scope.cityData = convert($scope.cityJson)
-                console.log($scope.cityData)
+                $scope.cityData = convert($scope.cityJson);
             }).error(function (res) {
                 console.log(res);
             })
@@ -131,18 +141,30 @@ define(['app/app'], function(app) {
 
             })
         };
+
         // 更多信息事件
         $scope.moreInfo = function () {
             var modalInstance = $modal.open({
                 templateUrl: 'static/view/admin/modal/manage/moreInfo_modal.html',
                 controller: 'moreInfoCtrl',
                 resolve: {
-                    account: function () {
+                    titleInShow: function () {
+                        return angular.copy($scope.titleInShow);
                     }
                 }
             });
-            modalInstance.result.then(function (account) {
-
+            modalInstance.result.then(function (data) {
+                if (data && data.length > 0) {
+                    BackgroundRecord.updateUserTitle({}, data, function (data) {
+                        if (data.success) {
+                            if (data.data) {
+                                initTitleInfo();
+                            }
+                        } else {
+                            toaster.pop("info", data.message);
+                        }
+                    })
+                }
             }, function() {
 
             })
@@ -240,10 +262,38 @@ define(['app/app'], function(app) {
             $modalInstance.dismiss();
         }
     }]);
-    app.register.controller('moreInfoCtrl', ['$scope', 'account', '$modalInstance', function ($scope, account, $modalInstance) {
-        $scope.ensureAddAccount = function (tableTab) {
-            console.log(tableTab)
-        }
+
+    app.register.controller('moreInfoCtrl', ['$scope', '$modalInstance', 'titleInShow', function ($scope, $modalInstance, titleInShow) {
+
+        $scope.allTitle = [{titleName : '商家ID'}, {titleName : '商家名称'}, {titleName : '产品信息'}, {titleName : 'SKU编码'},
+            {titleName : '产品编号'}, {titleName : '封装'}, {titleName : '梯度'}, {titleName : '单价'}, {titleName : '交期(天)'},
+            {titleName : '包装'}, {titleName : '包装数量'}, {titleName : '起订量'}, {titleName : '拆包售卖'}, {titleName : '在售数量'},
+            {titleName : '锁库数'}, {titleName : '冻结数量'}, {titleName : '库存总数'}, {titleName : '在售状态'}, {titleName : '销售方式'},
+            {titleName : '创建人'}, {titleName : '创建时间'}, {titleName : '产品类型'}, {titleName : '图片类型'}, {titleName : '产品图片'}];
+
+        var initTitleInfo = function () {
+            angular.forEach($scope.allTitle, function (item) {
+                if (titleInShow[item.titleName]) {
+                    item.choosed = true;
+                }
+            })
+        };
+        initTitleInfo();
+
+        var getChooseInfo = function () {
+            $scope.titleSet = [];
+            angular.forEach($scope.allTitle, function (item) {
+                if (item.choosed) {
+                    $scope.titleSet.push(item);
+                }
+            })
+        };
+
+        $scope.ensureAddAccount = function () {
+            getChooseInfo();
+            $modalInstance.close($scope.titleSet);
+        };
+
         $scope.cancel = function () {
             $modalInstance.dismiss();
         }

+ 12 - 0
src/main/webapp/resources/js/common/query/logisticsPort.js

@@ -141,5 +141,17 @@ define([ 'ngResource' ], function() {
 				method: 'PUT'
 			}
 		})
+	}]).factory('BackgroundRecord', ['$resource', function ($resource) {
+		return $resource('background/record', {}, {
+			getUserTitle : {
+				url: 'background/record/title',
+				method: 'GET',
+				isArray: true
+			},
+			updateUserTitle : {
+				url: 'background/record/update',
+				method: 'POST'
+			}
+		})
 	}]);
 });

+ 120 - 120
src/main/webapp/resources/view/admin/modal/manage/moreInfo_modal.html

@@ -7,126 +7,126 @@
     </div>
     <div class="modal-center">
         <form class="form-inline" name="myForm">
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">商家ID
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">商家名称
-                </label>
-            </div>
-            <div class="checkbox" style="display:none;">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">产品信息
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">SKU编码
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">产品编号
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">封装
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">梯度
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">单价
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">交期(天)
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">包装
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">包装数量
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">起订量
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">拆包售卖
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">在售数量
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">锁库数
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">冻结数量
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">库存总数
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">在售状态
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">销售方式
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">创建人
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">创建时间
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">产品类型
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">图片类型
-                </label>
-            </div>
-            <div class="checkbox">
-                <label class="control-label">
-                    <input type="checkbox" name="moreinfo">产品图片
-                </label>
-            </div>
+            <div class="checkbox" ng-repeat="item in allTitle">
+                <label class="control-label">
+                    <input type="checkbox" ng-checked="item.choosed" ng-click="item.choosed = !item.choosed">{{item.titleName}}
+                </label>
+            </div>
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">商家名称-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox" style="display:none;">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">产品信息-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">SKU编码-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">产品编号-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">封装-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">梯度-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">单价-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">交期(天)-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">包装-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">包装数量-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">起订量-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">拆包售卖-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">在售数量-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">锁库数-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">冻结数量-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">库存总数-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">在售状态-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">销售方式-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">创建人-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">创建时间-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">产品类型-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">图片类型-->
+                <!--</label>-->
+            <!--</div>-->
+            <!--<div class="checkbox">-->
+                <!--<label class="control-label">-->
+                    <!--<input type="checkbox" name="moreinfo">产品图片-->
+                <!--</label>-->
+            <!--</div>-->
         </form>
     </div>
     <div class="form-btn">

+ 16 - 9
src/main/webapp/resources/view/admin/product/productManage.html

@@ -134,7 +134,7 @@
                        </label>
                    </th>
                    <th width="120">操作</th>
-                   <th width="130" ng-repeat="tab in tableTabs">{{tab}}</th>
+                   <th width="130" ng-repeat="tab in tableTabs">{{tab.titleName}}</th>
                </tr>
                </thead>
                <tbody>
@@ -149,9 +149,12 @@
                        <button ng-click="journalProduct()" style="margin-left:-1px;">日志</button>
                        <button ng-click="soldOutProduct()">下架</button>
                    </td>
+                   <td ng-if="titleInShow['商家ID']">
+                       <span ng-bind="list.enUU || '-'">商家ID</span>
+                   </td>
                    <td ng-repeat="item in tableTabs">
-                       <div ng-if="item === '商家ID'">
-                           <span ng-bind="list.storeid || '-'">商家ID</span>
+                       <div ng-if="titleInShow['商家ID']">
+
                        </div>
                        <div ng-if="item === '商家名称'">
                            <span ng-bind="list.storeName || '-'">商家名称</span>
@@ -162,19 +165,23 @@
                            <p>品牌:<span ng-bind="list.brandNameCn || '-'">****</span></p>
                        </div>
                        <div ng-if="item === 'SKU编码'">
-                           <span ng-bind="list.brandid || '-'">SKU编码</span>
+                           <span ng-bind="list.batchCode || '-'">SKU编码</span>
                        </div>
                        <div ng-if="item === '产品编号'">
-                           <span ng-bind="list.id || '-'">产品编号</span>
+                           <span ng-bind="list.prodNum || '-'">产品编号</span>
                        </div>
                        <div ng-if="item === '封装'">
                            <span ng-bind="list.encapsulation || '-'">封装</span>
                        </div>
                        <div ng-if="item === '梯度'">
-                           <span ng-bind="list.encapsulation || '-'">梯度</span>
+                           <span ng-repeat="qty in list.prices">
+                               <span ng-bind="qty.start"></span>-<span ng-bind="qty.end"></span>
+                           </span>
                        </div>
                        <div ng-if="item === '单价'">
-                           <span ng-bind="list.brandNameCn || '-'">单价</span>
+                           <span ng-repeat="price in list.prices">
+                               <span ng-bind="list.currencyName == 'RMB' ? price.rMBPrice : price.uSDPrice"></span>
+                           </span>
                        </div>
                        <div ng-if="item === '交期(天)'">
                            <span ng-bind="list.brandNameCn || '-'">交期(天)</span>
@@ -207,10 +214,10 @@
                            <span ng-bind="list.brandNameCn || '-'">销售方式</span>
                        </div>
                        <div ng-if="item === '创建人'">
-                           <span ng-bind="list.brandNameCn || '-'">创建人</span>
+                           <span ng-bind="list.publisherName || '-'">创建人</span>
                        </div>
                        <div ng-if="item === '创建时间'">
-                           <span ng-bind="list.brandNameCn || '-'">创建时间</span>
+                           <span ng-bind="list.createdDate || '-'">创建时间</span>
                        </div>
                        <div ng-if="item === '产品类型'">
                            <span ng-bind="list.brandNameCn || '-'">产品类型</span>