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

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

hejq 7 лет назад
Родитель
Сommit
2465db8d51
17 измененных файлов с 126 добавлено и 73 удалено
  1. 9 1
      src/main/java/com/uas/platform/b2c/common/base/service/impl/RestSmsServiceImpl.java
  2. 2 2
      src/main/java/com/uas/platform/b2c/logistics/controller/InvoiceController.java
  3. 1 0
      src/main/java/com/uas/platform/b2c/logistics/model/InvoiceDetail.java
  4. 5 1
      src/main/java/com/uas/platform/b2c/logistics/service/InvoiceService.java
  5. 14 4
      src/main/java/com/uas/platform/b2c/logistics/service/impl/InvoiceServiceImpl.java
  6. 1 1
      src/main/java/com/uas/platform/b2c/prod/commodity/model/ReleaseProductByBatch.java
  7. 3 0
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/GoodsServiceImpl.java
  8. 44 36
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ReleaseProductByBatchServiceImpl.java
  9. 2 0
      src/main/webapp/resources/js/usercenter/controllers/forstore/buyer_transfer_ctrl.js
  10. 20 9
      src/main/webapp/resources/js/usercenter/controllers/forstore/order_detail_ctrl.js
  11. 11 5
      src/main/webapp/resources/js/vendor/controllers/forstore/purchase_detail.js
  12. 8 1
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_materialCtrl.js
  13. 1 1
      src/main/webapp/resources/view/usercenter/forstore/buyer_order.html
  14. 2 9
      src/main/webapp/resources/view/usercenter/forstore/order_detail.html
  15. 1 1
      src/main/webapp/resources/view/vendor/forstore/purchase_detail.html
  16. 1 1
      src/main/webapp/resources/view/vendor/forstore/vendor_material.html
  17. 1 1
      src/main/webapp/resources/view/vendor/forstore/vendor_order.html

+ 9 - 1
src/main/java/com/uas/platform/b2c/common/base/service/impl/RestSmsServiceImpl.java

@@ -6,6 +6,8 @@ import com.uas.message.common.domain.SimpleMessage;
 import com.uas.message.sms.domain.SmsLog;
 import com.uas.message.sms.service.SmsService;
 import com.uas.platform.b2c.core.utils.FastjsonUtils;
+import com.uas.platform.b2c.fa.settlement.service.ExchangeRateService;
+import com.uas.platform.b2c.trade.util.BoundedExecutor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpEntity;
@@ -20,6 +22,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 /**
  * 基于RestTemplate实现的短信息发送接口
@@ -31,6 +35,8 @@ public class RestSmsServiceImpl implements SmsService {
 
     private RestTemplate restTemplate;
 
+    private final BoundedExecutor executor;
+
     /**
      * 短信服务主机地址
      */
@@ -48,8 +54,10 @@ public class RestSmsServiceImpl implements SmsService {
     private static final String SMS_SEND_MANY_URL = "sms/send/o2m";
 
     @Autowired
-    public RestSmsServiceImpl(RestTemplate restTemplate) {
+    public RestSmsServiceImpl(RestTemplate restTemplate, ExchangeRateService exchangeRateService) {
         this.restTemplate = restTemplate;
+        ExecutorService executorService = Executors.newCachedThreadPool();
+        executor = new BoundedExecutor(executorService, 1600);
     }
 
     @Override

+ 2 - 2
src/main/java/com/uas/platform/b2c/logistics/controller/InvoiceController.java

@@ -388,7 +388,7 @@ public class InvoiceController {
 	 * @return ResultMap
 	 */
 	@RequestMapping(value = "/enterprise/inbound", method = RequestMethod.GET)
-    public Page<Invoice> getEnterpriseInboundInvoice(PageParams pageParams, String keyword) {
-		return invoiceService.getEnterpriseInboundInvoice(pageParams, keyword);
+    public Page<Invoice> getEnterpriseInboundInvoice(PageParams pageParams, String keyword, Long fromDate, Long toDate) {
+		return invoiceService.getEnterpriseInboundInvoice(pageParams, keyword, fromDate, toDate);
 	}
 }

+ 1 - 0
src/main/java/com/uas/platform/b2c/logistics/model/InvoiceDetail.java

@@ -608,6 +608,7 @@ public class InvoiceDetail {
 		this.b2cMaxDelivery = puDetail.getB2cMaxDelivery();
 		this.remark = puDetail.getRemark();
 		this.goodsnumber = puDetail.getGoodsnumber();
+		this.spec = puDetail.getSpec();
 		this.productid = puDetail.getProductid();
 		this.orderDetailId = puDetail.getOrDetailId();
 		this.orderDetailid = puDetail.getOrderdetailid();

+ 5 - 1
src/main/java/com/uas/platform/b2c/logistics/service/InvoiceService.java

@@ -213,7 +213,11 @@ public interface InvoiceService {
 
     /**
      * 获取买家的待收货出库单
+     * @param pageParams 分页信息。
+     * @param keyword 搜索关键字
+     * @param fromDate 开始时间
+     * @param toDate 结束时间
      * @return Page<Invoice>
      */
-    Page<Invoice> getEnterpriseInboundInvoice(PageParams pageParams, String keyword);
+    Page<Invoice> getEnterpriseInboundInvoice(PageParams pageParams, String keyword, Long fromDate, Long toDate);
 }

+ 14 - 4
src/main/java/com/uas/platform/b2c/logistics/service/impl/InvoiceServiceImpl.java

@@ -57,6 +57,7 @@ import com.uas.sso.util.FlexJsonUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Sort;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -923,10 +924,10 @@ public class InvoiceServiceImpl implements InvoiceService {
         Invoice inFpu = new Invoice(purchase);
 
         //保存适用配送规则和自提点信息
-        if (purchase.getJsonRule() != null){
+        if (purchase.getJsonRule() != null) {
             inFpu.setJsonRule(purchase.getJsonRule());
         }
-        if (purchase.getJsonTakeSelf() != null){
+        if (purchase.getJsonTakeSelf() != null) {
             inFpu.setJsonTakeSelf(purchase.getJsonTakeSelf());
         }
         // 生成出货单号
@@ -1225,7 +1226,7 @@ public class InvoiceServiceImpl implements InvoiceService {
     }
 
     @Override
-    public Page<Invoice> getEnterpriseInboundInvoice(PageParams pageParams, String keyword) {
+    public Page<Invoice> getEnterpriseInboundInvoice(PageParams pageParams, String keyword, Long fromDate, Long toDate) {
         final PageInfo info = new PageInfo(pageParams);
         User user = SystemSession.getUser();
         Enterprise enterprise = user.getEnterprise();
@@ -1235,14 +1236,23 @@ public class InvoiceServiceImpl implements InvoiceService {
         } else {
             info.filter("buyerenuu", user.getEnterprise().getUu());
         }
+        if (StringUtilB2C.isEmpty(info.getSort())) {
+            info.sorting("createtime", Sort.Direction.DESC);
+        }
         if (org.apache.commons.lang3.StringUtils.isNotEmpty(keyword)) {
             CriterionExpression[] expressions = new CriterionExpression[2];
             expressions[0] = PredicateUtils.like("invoiceid", keyword, true);
             expressions[1] = PredicateUtils.like("sellername", keyword, true);
-
             LogicalExpression logicalExpression = PredicateUtils.or(expressions);
             info.expression(logicalExpression);
         }
+        if (fromDate != null && toDate != null) {
+            CriterionExpression[] expressions = new CriterionExpression[2];
+            expressions[0] = PredicateUtils.gte("createtime", new Date(fromDate), false);
+            expressions[1] = PredicateUtils.lte("createtime", new Date(toDate), false);
+            LogicalExpression logicalExpression = PredicateUtils.and(expressions);
+            info.expression(logicalExpression);
+        }
         info.filter("status", com.uas.platform.b2c.core.constant.Status.INBOUND.value());
         return invoiceDao.findAll(new Specification<Invoice>() {
             @Override

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

@@ -45,7 +45,7 @@ public class ReleaseProductByBatch implements Serializable {
 	 */
 	private static final List<String> PACKAGING_LIST;
 
-	private static final List<String> STATUS_LIST;
+	public static final List<String> STATUS_LIST;
 
 	static {
 		String[] array = {"Bulk-散装", "Reel-卷装", "Tape/Reel-编带", "Tray-盘装",

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

@@ -1640,6 +1640,9 @@ public class GoodsServiceImpl implements GoodsService {
                 if (!StringUtilB2C.isEmpty(nowGoods.getMinPackQty()) && !nowGoods.getMinPackQty().equals(oldGoods.getMinPackQty())) {
                     product.setMinPackQty(oldGoods.getMinPackQty());
                 }
+                if (!StringUtilB2C.isEmpty(oldGoods.getCostPrice()) && !oldGoods.getCostPrice().equals(nowGoods.getCostPrice())) {
+                    product.setPrice(oldGoods.getCostPrice());
+                }
                 if (!StringUtilB2C.isEmpty(nowGoods.getReserve()) && !StringUtilB2C.isEmpty(product.getErpReserve())
                         && !product.getErpReserve().equals(oldGoods.getReserve())) {
                     product.setErpReserve(oldGoods.getReserve());

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

@@ -97,16 +97,7 @@ import java.sql.SQLException;
 import java.sql.Statement;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.regex.Matcher;
@@ -461,6 +452,7 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 			throw new IllegalOperatorException("您上传的信息超过2000条,请拆分成2000以再在上传");
 		}
 		List<ReleaseProductByBatch> batchList = new ArrayList<>(rowNum);
+		List<ReleaseProductByBatch> repeatBatchList = new ArrayList<>(rowNum);
 		String batch = createNumberService.getTimeNumber("product$goods", 8, rowNum);
 		Row headerRow = sheet.getRow(1);
 		validateModifyExcel(headerRow);
@@ -496,7 +488,7 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 				aBatch.setReleaseCode(ReleaseStatus.lack_info.value());
 				aBatch.setReleaseStatus(ReleaseStatus.lack_info.getPhrase());
 			} else {
-				validateRepeatInExcel(batchList, aBatch, true);
+				validateRepeatInExcel(batchList, aBatch, true, repeatBatchList);
 			}
 			batchList.add(aBatch);
 			total++;
@@ -507,10 +499,11 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 //		resetRepeatData(batchList, true, false);
 //		setDefaultTag(batchList);
 		commonDao.save(batchList, ReleaseProductByBatch.class);
+		commonDao.save(repeatBatchList, ReleaseProductByBatch.class);
 		Integer filter = releaseProductByBatchDao.getCountOfImportFail(userUU, batch, failCode);
 		modelMap.put("total", total);
 		modelMap.put("success", success);
-		modelMap.put("fail", batchList.size() - success);
+		modelMap.put("fail", batchList.size() - success + repeatBatchList.size());
 		modelMap.put("filter", filter);
 		modelMap.put("batch", batch);
 		return modelMap;
@@ -528,11 +521,12 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 		List<Long> productIds = new ArrayList<>(batchList.size());
 		List<String> batchCodes = new ArrayList<>();
 		for (ReleaseProductByBatch aBatch : batchList) {
-			if (!StringUtilB2C.isEmpty(aBatch.getBatchCode()) && RegexConstant.isNumber(aBatch.getBatchCode())) {
+			if (!StringUtilB2C.isEmpty(aBatch.getBatchCode()) && RegexConstant.isNumber(aBatch.getBatchCode())
+					&& StringUtilB2C.isEmpty(aBatch.getErrmsg())) {
 				productIds.add(Long.parseLong(aBatch.getBatchCode()));
 				continue;
 			}
-			if (!StringUtilB2C.isEmpty(aBatch.getBatchCode())) {
+			if (!StringUtilB2C.isEmpty(aBatch.getBatchCode()) && StringUtilB2C.isEmpty(aBatch.getErrmsg())) {
 				batchCodes.add(aBatch.getBatchCode());
 			}
 		}
@@ -760,6 +754,9 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 		} else {
 			goods.setSelfSale("1");
 		}
+		if (null != aBatch.getCostPrice()) {
+			goods.setCostPrice(aBatch.getCostPrice());
+		}
 		goods.setSpec(aBatch.getSpec());
 		goods.setStatus(aBatch.getStatus());
 	}
@@ -892,6 +889,18 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
         if (!StringUtils.isEmpty(statusValue)) {
             aProduct.setCostPriceByExcel(statusValue);
         }
+		Object status = readWorkBookCell(row.getCell(ModifyConstant.SALE_STATUS), Cell.CELL_TYPE_STRING,
+				rowNum, ModifyConstant.SALE_STATUS);
+        if (!StringUtils.isEmpty(status)) {
+        	List<String> statuss = ReleaseProductByBatch.STATUS_LIST;
+        	if (statuss.contains(status)) {
+        		if (statuss.get(0).equals(status)) {
+					aProduct.setStatus(601);
+				} else {
+        			aProduct.setStatus(612);
+				}
+			}
+		}
 
 //		Object tagValue = readWorkBookCell(row.getCell(ModifyConstant.CUSTOM_LABEL), Cell.CELL_TYPE_STRING,
 //				rowNum, ModifyConstant.CUSTOM_LABEL);
@@ -920,29 +929,28 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 	 * @param 	aBatch
 	 * @param 	isImport
 	 */
-	private void validateRepeatInExcel(List<ReleaseProductByBatch> batchList, ReleaseProductByBatch aBatch, Boolean isImport) {
+	private void validateRepeatInExcel(List<ReleaseProductByBatch> batchList, ReleaseProductByBatch aBatch, Boolean isImport,
+									   List<ReleaseProductByBatch> repeatBatchList) {
 		if (CollectionUtils.isEmpty(batchList) || !StringUtils.isEmpty(aBatch.getErrmsg()))
-			return ;
-		for (ReleaseProductByBatch each : batchList) {
-			if (StringUtils.isEmpty(each.getErrmsg()) && each.equals(aBatch)) {
-				aBatch.setErrmsg(ErrorInfoConstant.REPEAT_IN_EXCEL.getInfo());
-				aBatch.setReleaseCode(ReleaseStatus.had_exists.value());
-				aBatch.setReleaseStatus(ReleaseStatus.had_exists.getPhrase());
-//				if (!isImport) {
-//					aBatch.setErrmsg(ErrorInfoConstant.REPEAT_IN_EXCEL.getInfo());
-//					aBatch.setReleaseCode(ReleaseStatus.had_exists.value());
-//					aBatch.setReleaseStatus(ReleaseStatus.had_exists.getPhrase());
-//					break;
-//				} else {
-//					if (GoodsUtil.compareWithQtyPrice(each.getPrices(), aBatch.getPrices(), each.getCurrency())) {
-//						aBatch.setErrmsg(ErrorInfoConstant.REPEAT_IN_EXCEL.getInfo());
-//						aBatch.setReleaseCode(ReleaseStatus.had_exists.value());
-//						aBatch.setReleaseStatus(ReleaseStatus.had_exists.getPhrase());
-//						break;
-//					}
-//				}
-			}
-		}
+			return;
+		Iterator<ReleaseProductByBatch> iterator = batchList.iterator();
+		while (iterator.hasNext()) {
+			ReleaseProductByBatch byBatch = iterator.next();
+			if (StringUtils.isEmpty(byBatch.getErrmsg()) && byBatch.equals(aBatch)) {
+				byBatch.setErrmsg(ErrorInfoConstant.REPEAT_IN_EXCEL.getInfo());
+				byBatch.setReleaseCode(ReleaseStatus.had_exists.value());
+				byBatch.setReleaseStatus(ReleaseStatus.had_exists.getPhrase());
+				repeatBatchList.add(byBatch);
+				iterator.remove();
+			}
+		}
+//		for (ReleaseProductByBatch each : batchList) {
+//			if (StringUtils.isEmpty(each.getErrmsg()) && each.equals(aBatch)) {
+//				aBatch.setErrmsg(ErrorInfoConstant.REPEAT_IN_EXCEL.getInfo());
+//				aBatch.setReleaseCode(ReleaseStatus.had_exists.value());
+//				aBatch.setReleaseStatus(ReleaseStatus.had_exists.getPhrase());
+//			}
+//		}
 	}
 
 	/**

+ 2 - 0
src/main/webapp/resources/js/usercenter/controllers/forstore/buyer_transfer_ctrl.js

@@ -578,6 +578,7 @@ define([ 'app/app' ], function(app) {
 			});
 
 			modalInstance.result.then(function(account) {
+
 				if(account.kind) {
 					bankInfoService.saveBuyPersonalBank({}, account, function(data) {
 						toaster.pop('success', '成功','信息已添加');
@@ -1005,6 +1006,7 @@ define([ 'app/app' ], function(app) {
 			}
 
 			var method = 'saveBuyPersonalBank'; //不区分个人和企业账户
+      $scope.account.accountType = 'PAY_TYPE'
 			bankInfoService[method].call(null, null, $scope.account, function(data) {
 				toaster.pop('success', '保存成功');
 				$modalInstance.close(data)

+ 20 - 9
src/main/webapp/resources/js/usercenter/controllers/forstore/order_detail_ctrl.js

@@ -27,16 +27,17 @@ define(['app/app'], function(app) {
 	          } else {
               $scope.orderStatus = false
 	          }
+              $scope.order.status = data.data.status;
             var _data = data.data.invoiceDetails
             var _details = $scope.order.orderDetails
-	          $scope.order.logistics = data.data.logistics
+			  $scope.order.logistics = data.data.logistics
             $scope.logistics = data.data.logistics
 
-            for (var j = 0; j < _data.length; j++) {
+            for (var j = 0; j < _details.length; j++) {
               _details[j].receiveCount = ''
-              for (var k = 0; k < _details.length; k++) {
-                if (_data[j].orderDetailId === _details[k].id) {
-                  _details[k].receiveCount = _data[j].qty
+              for (var k = 0; k < _data.length; k++) {
+                if (_data[k].orderDetailId === _details[j].id) {
+                  _details[j].receiveCount = _data[k].qty
                 }
               }
             }
@@ -55,9 +56,11 @@ define(['app/app'], function(app) {
             KdnLogistics.kdnQuery(params, {}, function(response){
               if(!response.errorInfo) {
                 $scope.logisticsInfo = eval ("(" + response.traces + ")");
-                if($scope.logisticsInfo.length != 0) {
+                if($scope.logisticsInfo.length > 0) {
                   $scope.hasInfo = true;
-                }
+                } else {
+                    $scope.hasInfo = false;
+				}
               }
             }, function(err){
               toaster.pop('info', err.data);
@@ -73,10 +76,12 @@ define(['app/app'], function(app) {
 			step5 : false
 		};
 
-		//物流信息的数组,待付款(503-504) 待发货(505-406-407-403-408)状态下是没有物流信息的。
+		//物流信息的数组,待付款(503-504-524-525) 待发货(505-406-407-403-408)状态下是没有物流信息的。
 		$scope.noLogisticInfoArray = {
 			503: true,
 			504: true,
+			524: true,
+			525: true,
 			505: true,
 			406: true,
 			407: true,
@@ -352,9 +357,15 @@ define(['app/app'], function(app) {
 		return function (status) {
 			var result = "";
 			switch(status) {
-				case 404:
+                case 503:
+                case 504:
+                case 524:
+                case 525:
+                    result = "该订单还未发货,没有对应的物流信息";
+                    break;
 				case 520:
 				case 405:
+				case 404:
 					result = "暂无物流信息";
 					break;
 				case 602:

+ 11 - 5
src/main/webapp/resources/js/vendor/controllers/forstore/purchase_detail.js

@@ -37,14 +37,16 @@ define(['app/app'], function(app) {
                 {invoiceid: enIdFilter($scope.ChooseItem)}, {},
                 function (data) {
                     var params = {};
+                    $scope.purchase.status = data.status;
                     var _data = data.invoiceDetails;
                     var _details = $scope.purchase.purchaseDetails;
                     $scope.purchase.logistics = data.logistics;
                     $scope.logistics = data.logistics;
-                    for (var j = 0; j < _data.length; j++) {
-                        for (var k = 0; k < _details.length; k++) {
-                            if (_data[j].purchaseDetailId === _details[k].id) {
-                                _details[k].receiveCount = _data[j].qty
+                    for (var j = 0; j < _details.length; j++) {
+                        _details[j].receiveCount = ''
+                        for (var k = 0; k < _data.length; k++) {
+                            if (_data[k].purchaseDetailId === _details[j].id) {
+                                _details[j].receiveCount = _data[k].qty
                             }
                         }
                     }
@@ -65,7 +67,9 @@ define(['app/app'], function(app) {
                             $scope.logisticsInfo = eval ("(" + response.traces + ")");
                             if($scope.logisticsInfo.length != 0) {
                                 $scope.hasInfo = true;
-                            }
+                            } else {
+                                $scope.hasInfo = false;
+							}
                         }
                     }, function(err){
                         toaster.pop('info', err.data);
@@ -478,6 +482,8 @@ define(['app/app'], function(app) {
 							$scope.logisticsInfo = eval ("(" + response.traces + ")");
 							if($scope.logisticsInfo.length !=0){
 								$scope.hasInfo = true;
+							} else {
+                                $scope.hasInfo = false;
 							}
 						}
 					}, function(){

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

@@ -3797,13 +3797,16 @@ define(['app/app', 'jquery-uploadify'], function(app) {
 
         // $scope.productAddFragment($scope.productUpOff.goods.prices)
       }
+      if (!$scope.productUpOff.goods.prices) {
+        $scope.productUpOff.goods.prices = [{'start': $scope.productUpOff.minPackQty || 1, rMBPrice: ''}]
+      }
       if ($scope.productUpOff.goods.prices.length === 0) {
         $scope.productUpOff.goods.prices = [{'start': $scope.productUpOff.minPackQty || 1, rMBPrice: ''}]
       }
       _item = $scope.productUpOff.goods.prices[0].start
       // $scope.productUpOff.goods.prices[0].start = $scope.productUpOff.minPackQty || 1
 
-      $scope.productUpOff.goods.selfSale = ($scope.storeInfo.uuid != 'undefind' && $scope.productUpOff.goods.storeid == $scope.storeInfo.uuid && $scope.storeInfo.storeName.indexOf('优软测试二') < 0 && $scope.storeInfo.storeName.indexOf('优软商城') < 0) ? 1: 0
+      $scope.productUpOff.goods.selfSale = ($scope.storeInfo.uuid != 'undefind' && $scope.productUpOff.goods.storeid == $scope.storeInfo.uuid && ($scope.storeInfo.storeName && $scope.storeInfo.storeName.indexOf('优软测试二') < 0 && $scope.storeInfo.storeName.indexOf('优软商城') < 0)) ? 1: 0
       // $scope.productUpOff.dateArea = $scope.productUpOff.goods.selfSale === 1 ? 'formMe' : 'autoMonth' // 自营还是销售
       commodity.dateArea = $scope.productUpOff.goods.selfSale === 1 ? 'formMe' : 'autoMonth' // 自营还是销售
       if (!$scope.productUpOff.goods.storeid) {
@@ -3877,6 +3880,10 @@ define(['app/app', 'jquery-uploadify'], function(app) {
         }
         return;
       }
+      if ($scope.productUpOff.goods.minDelivery > $scope.productUpOff.goods.maxDelivery) {
+        toaster.pop('warning','提示','最小交期不能大于最大交期')
+        return;
+      }
       var flag = true
       for (var i = 0; i < $scope.productUpOff.goods.prices.length; i++) {
         if (!$scope.productUpOff.goods.prices[i].start

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

@@ -917,7 +917,7 @@
 									型号:<a href="store/productDetail/{{::detail.batchCode}}" target="_blank"><em ng-bind="::detail.cmpCode || '-'" title="{{::detail.cmpCode}}"></em></a>
 									<br/>
 									<!--<a  class="unstand" ng-if="!detail.uuid"><em ng-bind="detail.brName || '-'" title="{{::detail.brName}}"></em></a><br/>-->
-									规格:<a><em ng-bind="::detail.spec || '-'" title="{{::detail.spec}}"></em></a><br/>
+									规格:<a class="unstand"><em ng-bind="::detail.spec || '-'" title="{{::detail.spec}}"></em></a><br/>
 								</p>
 							</div>
 						</span>

+ 2 - 9
src/main/webapp/resources/view/usercenter/forstore/order_detail.html

@@ -191,7 +191,6 @@
 	.logistics_list01 .oder_xq{
 		width: 98%;
 		padding: 0;
-		margin-top:-20px;
 	}
 	.logistics ul li p:last-child{
 		font-size: 12px;
@@ -563,8 +562,8 @@
 							<p class="style01">型号:
 								<a ng-bind="detail.cmpCode || '-'" href="store/productDetail/{{::detail.batchCode}}" title="{{detail.cmpCode}}" target="_blank"></a>
 							</p>
-													<p class="style01">规格:
-								<a ng-bind="detail.spec || '-'" title="{{detail.spec}}" target="_blank"></a>
+							<p class="style01">规格:
+								<a ng-bind="detail.spec || '-'" title="{{detail.spec}}" class="unstand"></a>
 							</p>
 												</span>
 							<span class="wd01">交期:
@@ -691,9 +690,6 @@
 				<dl>
 					<dd ng-repeat="info in logisticsInfo"><em></em><span ng-bind="info.AcceptTime"></span><span ng-bind="info.AcceptStation"></span></dd>
 				</dl>
-				<div style="width:100%;text-align: center;" ng-if="logisticsInfo.length == 0">
-					<em style="font-size: 14px; color:#999;line-height: 70px;">系统无法提供此物流信息,请根据物流单号到相应的官网查询。</em>
-				</div>
 			</div>
 			<div class="logistics_list_xq" ng-if="!hasInfo&&!noLogisticInfoArray[order.status]">
 				<div ng-if="canShowInfo" style="text-align:center;padding-top:20px;font-size: 14px;">{{order.status | noLogisticFilter}}</div>
@@ -701,9 +697,6 @@
 				<!--<div ng-if="canShowInfo" style="text-align:center;padding-top:20px;font-size: 14px;">{{order.status | noLogisticFilter}}</div>-->
 				<!--<div ng-if="!canShowInfo" style="text-align:center;padding-top:20px;font-size: 14px;">系统无法提供此物流信息</div>-->
 			</div>
-			<div style="width:100%;text-align: center;" ng-hide="hasInfo">
-				<em style="font-size: 14px; color:#999;line-height: 70px;">暂无物流信息</em>
-			</div>
 		</div>
 		</div>
 		<!--<div class="logistics_list01">-->

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

@@ -590,7 +590,7 @@
 								<a ng-bind="detail.cmpCode || '-'" href="store/productDetail/{{::detail.batchCode}}" title="{{detail.cmpCode}}" target="_blank"></a>
 							</p>
 							<p class="style01">规格:
-								<a ng-bind="detail.spec || '-'" title="{{detail.spec}}" target="_blank"></a>
+								<a ng-bind="detail.spec || '-'" title="{{detail.spec}}" target="_blank" class="unstand"></a>
 							</p>
 						</span>
 						<span class="wd01">交期:

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

@@ -1760,7 +1760,7 @@
 			<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="updateMaterialSave">确定</a>
+				<a ng-click="updateMaterialSave()">确定</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">

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

@@ -1396,7 +1396,7 @@
                                     物料名称:<a href="product/kind/{{::detail.kindUuid}}" target="_blank" ng-if="detail.uuid"><em ng-bind="detail.kiName || '-'" title="{{::detail.kiName}}"></em></a><br ng-if="detail.uuid"/>
                                     <a ng-if="!detail.uuid" class="unstand"><em ng-bind="detail.kiName || '-'" title="{{::detail.kiName}}"></em></a><br ng-if="!detail.uuid"/>
 																	  型号:<a href="store/productDetail/{{::detail.batchCode}}" target="_blank"><em ng-bind="detail.cmpCode || '-'" title="{{::detail.cmpCode}}"></em></a><br />
-																		规格:<a><em ng-bind="detail.spec || '-'" title="{{::detail.spec}}"></em></a>
+																		规格:<a class="unstand"><em ng-bind="detail.spec || '-'" title="{{::detail.spec}}"></em></a>
                                 </p>
                             </div>
                         </span>