浏览代码

采美sku bugfix

zhijiezhao 2 年之前
父节点
当前提交
2ab55ea99e

+ 5 - 0
src/main/java/com/caimei/modules/bulkpurchase/web/PurchaseProductController.java

@@ -107,6 +107,7 @@ public class PurchaseProductController extends BaseController {
                 }
                 List<CmSku> skuList = productDao.findSkuList(p.getProductId().intValue());
                 p.setSkuId(skuList.get(0).getSkuId());
+                p.setPrice(skuList.get(0).getPrice().toString());
                 p.setSkuList(skuList);
                 long productId = p.getProductId();
                 String discountPrice = p.getPrice();//默认折扣单价
@@ -329,6 +330,10 @@ public class PurchaseProductController extends BaseController {
             purchaseProduct.setLadderPriceFlag(0);
             Product product = productDao.get(purchaseProduct.getProductId().toString());
             if (product != null) {
+                List<CmSku> skus = productDao.findSkuList(product.getProductID());
+                product.setSkuId(skus.get(0).getSkuId());
+                product.setPrice(skus.get(0).getPrice());
+                product.setSkuList(skus);
                 CmSvipProduct svipProduct = purchaseProductService.getSvipProduct(purchaseProduct.getProductId(), purchaseProduct.getUserId());
                 CmPromotion productPromotion = cmPromotionService.findProductPromotion(product.getShopID().toString(), Long.parseLong(product.getProductID().toString()));
                 if (null != svipProduct && 1 == svipProduct.getSvipPriceFlag()) {

+ 5 - 5
src/main/java/com/caimei/modules/order/entity/NewOrderProduct.java

@@ -19,7 +19,7 @@ public class NewOrderProduct extends DataEntity<NewOrderProduct> {
     private Integer num;//     int(11) comment '数量',
     private Integer presentNum;//   int(11) comment '赠送数量',
     private String outStoreType;// char(1) comment '出库类型',
-    private Integer skuID;//     int(11) comment 'skuId',
+    private Integer skuId;//     int(11) comment 'skuId',
 //    private String props;//     national varchar(1000) comment 'sku属性',
 //    private String propName;//   national varchar(1000) comment '属性名',
     private String productNo;//    national varchar(50) comment '商品编号',
@@ -255,12 +255,12 @@ public class NewOrderProduct extends DataEntity<NewOrderProduct> {
         this.outStoreType = outStoreType;
     }
 
-    public Integer getSkuID() {
-        return skuID;
+    public Integer getSkuId() {
+        return skuId;
     }
 
-    public void setSkuID(Integer skuID) {
-        this.skuID = skuID;
+    public void setSkuId(Integer skuId) {
+        this.skuId = skuId;
     }
 
 //    public String getProps() {

+ 3 - 1
src/main/java/com/caimei/modules/order/service/NewOrderService.java

@@ -1046,7 +1046,7 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
             }
             if (o.getProductType() == 1 || o.getProductType() == 2) {
                 // 赠品订单过来售价为0,去数据库获取该商品原始售价
-                Double tempPrice = cmPromotionDao.getPresentPriceById(o.getSkuID());
+                Double tempPrice = cmPromotionDao.getPresentPriceById(o.getSkuId());
                 if (null != tempPrice && tempPrice > 0) {
                     price = tempPrice;
                 }
@@ -1189,6 +1189,8 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
         orderProduct.setIncludedTax(product.getIncludedTax());
         orderProduct.setInvoiceType(product.getInvoiceType());
         orderProduct.setSvipPriceFlag(0);
+        //邮费默认0,skuId不能为空
+        orderProduct.setSkuId(0);
         newOrderProductDao.insert(orderProduct);
     }
 

+ 4 - 2
src/main/java/com/caimei/modules/order/web/NewOrderController.java

@@ -428,13 +428,14 @@ public class NewOrderController extends BaseController {
                     if (ladderPriceFlag != null && !"".equals(ladderPriceFlag)) {
                         o.setLadderPriceFlag(Integer.valueOf(ladderPriceFlag));
                     }
+                    String skuId = jsonObject.getString("skuId");
                     if (null == o.getPrice()) {
-                        Double price = newOrderProductDao.findPriceBySku(jsonObject.getString("skuId"));
+                        Double price = newOrderProductDao.findPriceBySku(skuId);
                         o.setPrice(price);
                     }
-                    o.setSkuID(Integer.valueOf(jsonObject.getString("skuId")));
                     o.setSplitCode(productDao.getSplitCodeByProductId(o.getProductID()));
                     if ("0".equals(productType)) {
+                        o.setSkuId(Integer.valueOf(skuId));
                         o.setPreferential((o.getPrice() - o.getDiscountPrice()) * o.getNum());//折扣
                         o.setDiscountFee(BigDecimal.valueOf(o.getTotalFee()).subtract(BigDecimal.valueOf(o.getShouldPayFee())).doubleValue());//经理折扣
                         o.setTotalAmount(o.getPrice() * o.getNum());//商品总金额
@@ -444,6 +445,7 @@ public class NewOrderController extends BaseController {
                             o.setShouldPayTotalTax(o.getTotalAddedValueTax());
                         }
                     } else {
+                        o.setSkuId(0);
                         o.setPreferential(0d);
                         o.setDiscount(100d);
                         o.setDiscountFee(0d);

+ 12 - 0
src/main/java/com/caimei/modules/product/entity/CmPromotion.java

@@ -12,6 +12,10 @@ import java.util.List;
 public class CmPromotion extends DataEntity<CmPromotion> {
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 赠品的skuId,商品无需
+     */
+    private Integer skuId;
     /**
      * 是否支持叠加优惠,1支持,2不支持
      */
@@ -146,6 +150,14 @@ public class CmPromotion extends DataEntity<CmPromotion> {
      */
     private String searchDbFlag;
 
+    public Integer getSkuId() {
+        return skuId;
+    }
+
+    public void setSkuId(Integer skuId) {
+        this.skuId = skuId;
+    }
+
     public  CmPromotion(){
         super();
     }

+ 35 - 20
src/main/java/com/caimei/modules/product/service/ProductNewService.java

@@ -82,6 +82,7 @@ public class ProductNewService extends CrudService<ProductNewDao, Product> {
     private WeChatService weChatService;
     @Value("${wwwServer}")
     private String domain;
+
     @Override
     public Product get(String id) {
         return super.get(id);
@@ -96,7 +97,20 @@ public class ProductNewService extends CrudService<ProductNewDao, Product> {
     public Page<Product> findPage(Page<Product> page, Product entity) {
         page.setPageSize(20);
         entity.setPage(page);
-        page.setList(dao.findList(entity));
+        List<Product> list = dao.findList(entity);
+        list.forEach(p -> {
+            CmSku sku = productDao.findSku(p.getProductID());
+            p.setPrice(sku.getPrice());
+            p.setNormalPrice(sku.getNormalPrice());
+            Integer costCheckFlag = sku.getCostCheckFlag();
+            p.setCostCheckFlag(costCheckFlag.toString());
+            if(1==costCheckFlag){
+                p.setCostPrice(sku.getCostPrice().toString());
+            }else{
+                p.setSqlCostProportional(sku.getCostProportional());
+            }
+        });
+        page.setList(list);
         return page;
     }
 
@@ -222,7 +236,7 @@ public class ProductNewService extends CrudService<ProductNewDao, Product> {
         }
     }
 
-    public void auditProduct(String validFlag,Integer newvalidFlag,String showtime, String beforeValidFlag, Integer productID) throws Exception{
+    public void auditProduct(String validFlag, Integer newvalidFlag, String showtime, String beforeValidFlag, Integer productID) throws Exception {
         Product product = new Product();
         product.setProductID(productID);
         product.setValidFlag(validFlag);
@@ -232,19 +246,19 @@ public class ProductNewService extends CrudService<ProductNewDao, Product> {
         SimpleDateFormat formatters = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         String createDates = formatters.format(new Date());
         product.setNewshowTime(createDates);
-        NewPageFloorImage floorImage=new NewPageFloorImage();
+        NewPageFloorImage floorImage = new NewPageFloorImage();
         floorImage.setFloorId(productNewDao.newFloorId());
         floorImage.setImage(product.getMainImage());
         floorImage.setProductId(productID);
         floorImage.setShopName(product.getShopName());
-        String link="";
-
-        if(domain.contains("-b")){
-            link="https://www-b.caimei365.com/product-"+productID+"-5"+".html";
-        }else if(domain.contains("localhost")){
-           link="http://localhost:8081/product-"+productID+"-5"+".html";
-        }else {
-            link="https://www.caimei365.com/product-"+productID+"-5"+".html";
+        String link = "";
+
+        if (domain.contains("-b")) {
+            link = "https://www-b.caimei365.com/product-" + productID + "-5" + ".html";
+        } else if (domain.contains("localhost")) {
+            link = "http://localhost:8081/product-" + productID + "-5" + ".html";
+        } else {
+            link = "https://www.caimei365.com/product-" + productID + "-5" + ".html";
         }
         floorImage.setLink(link);
         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -252,11 +266,12 @@ public class ProductNewService extends CrudService<ProductNewDao, Product> {
         floorImage.setCreateDate(createDate);
         floorImage.setName(product.getName());
         newPageFloorDao.insertFloorImage(floorImage);
-        product.setFloorId( productNewDao.newFloorId());
+        product.setFloorId(productNewDao.newFloorId());
         productNewDao.updateByPrimaryKeySelective(product);
         cleanRedisCache();
 
     }
+
     public void cleanRedisCache() {
         //清除活动专题缓存
         redisService.removePattern("getPageFloorData*");
@@ -354,7 +369,7 @@ public class ProductNewService extends CrudService<ProductNewDao, Product> {
         Integer shopId = productNewDao.getShopIdByName("采美奥泰");
         if (null != shopId) {
             List<CmHeheProduct> heheProductList = cmHeheProductDao.findList(new CmHeheProduct());
-            heheProductList.forEach(heheProduct->{
+            heheProductList.forEach(heheProduct -> {
                 Integer heheProductId = Integer.parseInt(heheProduct.getId());
                 Integer oldProductId = heheProduct.getProductId();
                 // 采美商品id
@@ -375,19 +390,19 @@ public class ProductNewService extends CrudService<ProductNewDao, Product> {
                 productDao.insertProductDetailInfo(productDetailInfo);
                 // 查询阶梯列表
                 List<ProductLadderPrice> ladderPriceList = productService.findLadderPrice(productId);
-                ladderPriceList.forEach(ladder->{
+                ladderPriceList.forEach(ladder -> {
                     ladder.setProductId(newProductId);
                     productDao.insertLadderPrice(ladder);
                 });
                 // 查询商品图片
                 List<ProductImage> imageList = productNewDao.getImageList(productId);
-                imageList.forEach(image->{
+                imageList.forEach(image -> {
                     image.setProductID(newProductId);
                     productNewDao.insertProductImage(image);
                 });
                 // 查询相关参数
                 List<ProductParameters> productParams = getProductParams(productId);
-                productParams.forEach(productParam->{
+                productParams.forEach(productParam -> {
                     productParam.setProductId(newProductId);
                     productNewDao.insertParameters(productParam);
                 });
@@ -396,7 +411,7 @@ public class ProductNewService extends CrudService<ProductNewDao, Product> {
             });
             // 更新活动商品
             List<CmHeheActivityProduct> activityProductList = cmHeheActivityProductDao.findAllList(new CmHeheActivityProduct());
-            activityProductList.forEach(activityProduct->{
+            activityProductList.forEach(activityProduct -> {
                 Integer oldProductId = activityProduct.getProductId();
                 Integer newProductId = cmHeheProductDao.getNewProductId(oldProductId);
                 if (null != newProductId) {
@@ -405,7 +420,7 @@ public class ProductNewService extends CrudService<ProductNewDao, Product> {
             });
             // 更新拼团商品
             List<CmHeheCollageProduct> collageProductList = cmHeheCollageProductDao.findAllList(new CmHeheCollageProduct());
-            collageProductList.forEach(collageProduct->{
+            collageProductList.forEach(collageProduct -> {
                 Integer oldProductId = collageProduct.getProductId();
                 Integer newProductId = cmHeheProductDao.getNewProductId(oldProductId);
                 if (null != newProductId) {
@@ -414,7 +429,7 @@ public class ProductNewService extends CrudService<ProductNewDao, Product> {
             });
             // 更新优惠券商品
             List<Integer> productIds = cmHeheCouponDao.findAllProductIds();
-            productIds.forEach(oldProductId->{
+            productIds.forEach(oldProductId -> {
                 Integer newProductId = cmHeheProductDao.getNewProductId(oldProductId);
                 if (null != newProductId) {
                     cmHeheCouponDao.updateProductId(newProductId, oldProductId);
@@ -438,7 +453,7 @@ public class ProductNewService extends CrudService<ProductNewDao, Product> {
 
     public void addProductData() {
         List<CmHeheProduct> heheProductList = cmHeheProductDao.findList(new CmHeheProduct());
-        heheProductList.forEach(heheProduct->{
+        heheProductList.forEach(heheProduct -> {
             Product cmProduct = productNewDao.get(heheProduct.getOldProductId().toString());
             if (null != cmProduct) {
                 String costPrice = cmProduct.getCostPrice();

+ 2 - 2
src/main/resources/config/dev/caimei.properties

@@ -12,9 +12,9 @@
 #mysql database setting
 jdbc.type=mysql
 jdbc.driver=com.mysql.cj.jdbc.Driver
-jdbc.url=jdbc:mysql://192.168.2.100:3306/caimei?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
+jdbc.url=jdbc:mysql://120.79.25.27:3306/caimei?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
 jdbc.username=developer
-jdbc.password=05bZ/OxTB:X+yd%1
+jdbc.password=J5p3tgOVazNl4ydf
 
 #jdbc.url=jdbc:mysql://120.79.25.27:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
 #jdbc.username=developer

+ 3 - 4
src/main/resources/mappings/modules/order/OrderProductMapper.xml

@@ -22,7 +22,7 @@
         <result column="ladderPriceFlag" property="ladderPriceFlag"/>
     </resultMap>
     <sql id="orderProductColumns">
-        a.skuId         AS skuID,
+        a.skuID         AS skuId,
 		a.`orderProductID` AS `orderProductID`,
 		a.`orderNo` AS `orderNo`,
 		a.`orderID` AS `orderID`,
@@ -33,7 +33,6 @@
 		a.`num` AS `num`,
 		a.`presentNum` AS `presentNum`,
 		a.`outStoreType` AS `outStoreType`,
-		a.`skuID` AS `skuID`,
 		a.`productNo` AS `productNo`,
 		a.`price` AS `price`,
 		a.`normalPrice` AS `normalPrice`,
@@ -270,7 +269,7 @@
                 #{num},
                 #{presentNum},
                 #{outStoreType},
-                #{skuID},
+                #{skuId},
                 #{productNo},
                 #{price},
                 #{totalAmount},
@@ -342,7 +341,7 @@
             num                     = #{num,jdbcType=INTEGER},
             presentNum              = #{presentNum,jdbcType=INTEGER},
             outStoreType            = #{outStoreType,jdbcType=CHAR},
-            skuID                   = #{skuID,jdbcType=INTEGER},
+            skuID                   = #{skuId,jdbcType=INTEGER},
             productNo               = #{productNo,jdbcType=VARCHAR},
             price                   = #{price,jdbcType=REAL},
             normalPrice             = #{normalPrice,jdbcType=REAL},

+ 18 - 16
src/main/resources/mappings/modules/product/CmPromotionMapper.xml

@@ -98,8 +98,8 @@
     <select id="findPromotionProduct" resultType="com.caimei.modules.product.entity.Product">
         SELECT p.*,
                (select price from cm_sku where productId = p.productId order by price asc limit 1) as price,
-               cp.reducedPrice AS "reducedPrice",
-               s.name          AS "shopName"
+               cp.reducedPrice                                                                     AS "reducedPrice",
+               s.name                                                                              AS "shopName"
         FROM cm_promotions cp
 
                  LEFT JOIN cm_promotions_product cpp ON cp.id = cpp.promotionsId
@@ -110,7 +110,7 @@
     </select>
 
     <select id="findGiftProduct" resultType="com.caimei.modules.product.entity.Product">
-        SELECT cpg.skuId   AS "skuId",
+        SELECT cpg.skuId  AS "skuId",
                cs.unit,
                p.name,
                p.mainImage,
@@ -127,20 +127,20 @@
     </select>
 
     <select id="findGiftPurchaseProduct" resultType="com.caimei.modules.bulkpurchase.entity.PurchaseProduct">
-        SELECT p.name             name,
-               s.name             shopName,
-               s.`shopID`         shopId,
-               p.name             purchaseProductName,
-               cs.`price`         price,
-               p.`productID`      productId,
-               p.productCode      productNo,
-               p.mainImage        image,
+        SELECT p.name              name,
+               s.name              shopName,
+               s.`shopID`          shopId,
+               p.name              purchaseProductName,
+               cs.`price`          price,
+               p.`productID`       productId,
+               p.productCode       productNo,
+               p.mainImage         image,
                cs.costCheckFlag    costCheckFlag,
                cs.costPrice        costPrice,
                cs.costProportional costProportional,
-               cs.normalPrice    AS     normalPrice,
-               cpg.number  AS     num,
-               cp.discount as     discounts
+               cs.normalPrice AS   normalPrice,
+               cpg.number     AS   num,
+               cp.discount    as   discounts
         FROM cm_promotions cp
                  LEFT JOIN cm_promotions_gift cpg ON cp.id = cpg.promotionsId
                  left join cm_sku cs on cpg.skuId = cs.skuId
@@ -277,7 +277,7 @@
                                        addTime)
         VALUES (#{promotionId},
                 #{giftId},
-                (select productId from cm_sku where skuId=#{giftId}),
+                (select productId from cm_sku where skuId = #{giftId}),
                 #{number},
                 now())
     </insert>
@@ -361,9 +361,11 @@
                pr.status,
                prp.productId,
                prp.supplierId,
-               pr.discount
+               pr.discount,
+               cpg.skuId
         from cm_promotions pr
                  left join cm_promotions_product prp on pr.id = prp.promotionsId
+                 LEFT JOIN cm_promotions_gift cpg ON pr.id = cpg.promotionsId
         where (prp.productId = #{productId}
             or prp.supplierId = #{shopId})
           and (pr.status = 1 or (pr.status = 2 and (NOW() between pr.beginTime and pr.endTime)))

+ 63 - 0
src/main/webapp/WEB-INF/views/modules/bulkpurchase/orderPurchaseProductForm.jsp

@@ -90,9 +90,11 @@
         <tr>
             <th class="hide"></th>
             <th>商品ID</th>
+            <th>skuId</th>
             <th>商品名称</th>
             <th>商品编码</th>
             <th>供应商名称</th>
+            <th>规格</th>
             <th>当前单价</th>
             <th>折扣</th>
             <th>折后单价</th>
@@ -118,10 +120,19 @@
             <th class="hide"><input class="check-item" type="hidden" name="cmClub" id="check-item0"
                                     value='${fns:toJson(purchaseProduct)}'/></th>
             <td>${purchaseProduct.productId}</td>
+            <td>${purchaseProduct.skuId}</td>
             <td id="purchaseProductName"
                 title="${prchaseProduct.purchaseProductName}">${fns:abbr(purchaseProduct.purchaseProductName,16)}</td>
             <td id="productNo">${purchaseProduct.productNo}</td>
             <td id="shopName" title="${purchaseProduct.shopName}">${fns:abbr(purchaseProduct.shopName,10)}</td>
+            <td>
+                <input id="hideSkus" value='${fns:toJson(purchaseProduct.skuList)}' hidden/>
+                <select onchange="checkSkuValue(${state.index});" id="ints${state.index}">
+                    <c:forEach items="${purchaseProduct.skuList}" var="skus" varStatus="ind">
+                        <option value="${skus.skuId}/${ind.index}">${skus.unit}</option>
+                    </c:forEach>
+                </select>
+            </td>
             <td><label id="priceLabel0"
                        style="text-decoration: ${purchaseProduct.svipPriceFlag eq 1 or purchaseProduct.cmPromotion.mode eq 1?'line-through':''}">${purchaseProduct.price}</label>
                 <label id="svipDiscountPrice0"  style="display:none">${purchaseProduct.svipDiscountPrice}</label>
@@ -435,6 +446,58 @@
             buttons: {"确定": '1'}
         });
     }
+
+    function checkSkuValue(ind) {
+        var c = "#" + "ints" + ind;
+        var skuStr = $(c).val();
+        var $checkItem = eval('(' + $("#check-item" + ind).val() + ')');
+        $checkItem["skuStr"] = skuStr;
+        //切换价格
+        var price = "priceLabel" + ind;//单价
+        var singlePrice = "#" + "discountPrice" + ind;
+        var totalFee = "#" + "totalFee" + ind;
+        var skus = JSON.parse($("#hideSkus").val());
+        var skuIndex = skuStr.split("/")[1];
+        debugger;
+        console.log(skus[skuIndex].skuId);
+        $checkItem["skuId"] =skus[skuIndex].skuId;
+        $("#skuId" + ind).text(skus[skuIndex].skuId);
+        //页面价格赋值
+        document.getElementById(price).innerHTML = skus[skuIndex].price;
+        $(singlePrice).val(skus[skuIndex].price);
+        $(totalFee).val(skus[skuIndex].price);
+        var discount = $checkItem["discount"];
+        $checkItem["price"] = skus[skuIndex].price;
+        $checkItem["discountPrice"] = skus[skuIndex].price * discount / 100;
+        $checkItem["totalFee"] = skus[skuIndex].price;
+        $("#discountPrice" + ind).val(skus[skuIndex].price * discount / 100);
+        var tax = 0;
+        var invoiceType = $checkItem["invoiceType"];
+        var discountPrice = $checkItem["discountPrice"];
+        var taxRate = $checkItem["taxRate"];
+        var productId = $checkItem["productId"];
+        var num = $checkItem["num"];
+        var includedTax=$checkItem["includedTax"];
+        var base =skus[skuIndex].price* discount / 100;
+        if (productId >= 6060 && productId <= 6069) {
+            tax = 0;
+        } else if ("3"===invoiceType) {
+            tax = "---";
+        } else {
+            tax = discountPrice * taxRate / 100;
+            if("0"===includedTax){
+                base += discountPrice * taxRate / 100;
+            }
+        }
+        $checkItem["addedValueTax"] = tax;
+        $checkItem["totalAddedValueTax"] = tax * num;
+        $("#addedValueTax" + ind).val(tax);
+        $("#totalAddedValueTax" + ind).val(tax * num);
+        var total = base * num;
+        $("#totalFee" + ind).val(total);
+        $checkItem["totalFee"] = total;
+        $("#check-item" + ind).val(JSON.stringify($checkItem));
+    }
 </script>
 </body>
 </html>

+ 4 - 1
src/main/webapp/WEB-INF/views/modules/order/orderForm.jsp

@@ -362,11 +362,13 @@
                 <thead>
                 <tr>
                     <th>商品ID</th>
+                    <th>skuId</th>
                     <th hidden></th>
                     <th hidden></th>
                     <th class="fix-width">商品名称</th>
                     <th hidden></th>
                     <th>数量(赠品数)</th>
+                    <th>规格</th>
                     <th>单价</th>
                     <th>折扣</th>
                     <th>折后单价</th>
@@ -393,6 +395,7 @@
                         <tr id="product_promotion_${orderProduct.productID}" class="gift promotions promotion_${orderProduct.promotionsId}" data-value='${fns:toJson(orderProduct)}' data-index="<%=idx%>">
                     </c:if>
                     <td>${orderProduct.productID}</td>
+                    <td>${orderProduct.skuId}</td>
                     <td hidden>
                         <input type="hidden" name="orderProduct[<%=idx%>].enabledStatus"
                                id="orderProduct<%=idx%>.enabledStatus" value='${fns:toJson(orderProduct)}'>
@@ -977,7 +980,7 @@
             setFreightFee();
         }
         if (obj == "1") {
-            $("#freeDesc").append("<span class='freightSpan'><input class='freight' name='freight' value='0' oninput='value=value.replace(/[^\\d]/g,'')' onblur='setFreightFee()'>元</input></span>")
+            $("#freeDesc").append("<span class='freightSpan'><input class='freight' name='freight' value='0' type='number' onblur='setFreightFee()'>元</input></span>")
         }
     }
 

+ 24 - 20
src/main/webapp/WEB-INF/views/modules/product-new/productEdit.jsp

@@ -1806,7 +1806,7 @@
     }
 
     function insertDefaultSkuRow() {
-        console.log('skyList', skuList);
+        console.log('skuList', skuList);
         if (skuList) {
             for (var i = 0; i < skuList.length; i++) {
                 var skuTemplate = $('#skuTemplate').html();
@@ -1818,12 +1818,13 @@
                 skuEventBind(current, product);
                 skuIndex = i
             }
-        } else {
-            var product = {};
-            product.skuIndex = 0;
-            setSkuPrototypeValues(current, product);
-            skuEventBind(current, product);
         }
+        // else {
+        //     var product = {};
+        //     product.skuIndex = 0;
+        //     setSkuPrototypeValues(current, product);
+        //     skuEventBind(current, product);
+        // }
     }
 
 
@@ -2022,20 +2023,23 @@
             $(this).parent('.ladderPrice').prev().find('.delBtn').show();
         })
 
-        ladderPriceBox.find('.ladderPrice').each(function (index, item) {
-            var ladderPrice = product.ladderPriceList[index]
-            var delFlag = 1
-            if (ladderPrice) {
-                delFlag = ladderPrice.delFlag
-            }
-            console.log(delFlag)
-            if (index != 0) {
-                $(item).hide();
-            }
-            if (delFlag == 0 && product.ladderPriceFlag == 1) {
-                $(item).show()
-            }
-        })
+        if(product.ladderPriceFlag == 1){
+            ladderPriceBox.find('.ladderPrice').each(function (index, item) {
+                var ladderPrice = product.ladderPriceList[index]
+                var delFlag = 1
+                if (ladderPrice) {
+                    delFlag = ladderPrice.delFlag
+                }
+                console.log(delFlag)
+                if (index != 0) {
+                    $(item).hide();
+                }
+                if (delFlag == 0 && product.ladderPriceFlag == 1) {
+                    $(item).show()
+                }
+            })
+        }
+
 
         costCheckFlag.on('change', function () {
             if ($(this).val() == 1) {

+ 52 - 30
src/main/webapp/static/modules/bulkpurchase/orderForm.js

@@ -607,12 +607,17 @@ function resetProductList(setData) {
     $('.productTable tbody tr:not(.gift)').each(function (index, element) {
         var data = JSON.parse($(this).attr("data-value"));
         productList.push(data);
-        if(data.skuStr){
+        if (data.skuStr) {
             var strings = data.skuStr.split("/");
             var skuId = strings[0];
             skuIds.push(skuId);
-        }else{
-            var skuId=data.skuList[0].skuId;
+        } else {
+            var skuId = "";
+            if (data.skuList) {
+                skuId = data.skuList[0].skuId;
+            } else {
+                skuId = data.skuId;
+            }
             skuIds.push(skuId);
         }
         productIdList.push(data.productId);
@@ -630,11 +635,11 @@ function resetProductList(setData) {
         });
     } else {
         var skuId;
-        if(setData.skuStr){
+        if (setData.skuStr) {
             var strings = setData.skuStr.split("/");
             skuId = strings[0];
-        }else{
-            skuId=setData.skuList[0].skuId;
+        } else {
+            skuId = setData.skuList[0].skuId;
         }
         if (skuIds.indexOf(skuId) >= 0) {
             //设置
@@ -822,6 +827,29 @@ function showSencondHandSelect(iframe) {
  */
 function setProductList(data) {
     console.log("设置" + JSON.stringify(data));
+    var skuStr = "";
+    var skuIdStr = "";
+    var price = "";
+    if (data.skuList) {
+        skuStr = "<td>" + data.skuList[0].unit + "</td>";
+        skuIdStr = "<td>" + data.skuList[0].skuId + "</td>";
+        price = data.skuList[0].price;
+    } else {
+        skuStr = "<td>" + data.unit + "</td>";
+        skuIdStr = "<td>" + data.skuId + "</td>";
+        price = data.price;
+    }
+
+    //未选择sku,默认sku[0],选择了sku,skustr不为空
+    if (data.skuStr) {
+        var strings = data.skuStr.split("/");
+        var skuId = strings[0];
+        var index = strings[1] * 1;
+        skuStr = "<td>" + data.skuList[index].unit + "</td>";
+        skuIdStr = "<td>" + skuId + "</td>";
+        //price
+        price = data.skuList[index].price;
+    }
     var userId = $("#inputForm").find("[name*='bpOrderUserinfo.userId']").val();
     var orderStatus = $("#orderStatus").val() ? $("#orderStatus").val() * 1 : 0;
     data.productType = 0;
@@ -837,7 +865,8 @@ function setProductList(data) {
             var tempProduct = {
                 shopId: data.shopId,
                 productId: data.productId,
-                price: data.price,
+                //有skuid后不能直传price,从选中项中取
+                price: price,
                 number: data.num,
                 totalTax: data.totalAddedValueTax
             };
@@ -901,21 +930,6 @@ function setProductList(data) {
         cmCouponBtn = '<a href="javascript:;" onclick="showCouponDetail(' + userId + ',' + data.productId + ')">查看</a>';
     }
 
-    var skuStr = "<td>" + data.skuList[0].unit + "</td>";
-    var skuIdStr = "<td>" + data.skuList[0].skuId + "</td>";
-
-    var price = data.skuList[0].price;
-    //未选择sku,默认sku[0],选择了sku,skustr不为空
-    if (data.skuStr) {
-        var strings = data.skuStr.split("/");
-        var skuId = strings[0];
-        var index = strings[1] * 1;
-        skuStr = "<td>" + data.skuList[index].unit + "</td>";
-        skuIdStr = "<td>" + skuId + "</td>";
-        //price
-        price = data.skuList[index].price;
-    }
-
     var str =
         "<tr id='product_" + data.productId + "' data-value='" + JSON.stringify(data) + "' data-index='" +
         product_index + "'>" +
@@ -941,7 +955,6 @@ function setProductList(data) {
             "不含税-不能开票" : "") +
         ((data.svipPriceFlag == 1 || (data.includedTax != null && data.includedTax != '' && data.includedTax != 2)) ? ")</label>" : "") +
         "</td>" +
-
         "<td>" + data.discount + "</td>" +
         (data.discount * 1 === 100 && data.cmPromotion && data.cmPromotion.mode == 1 ? ("<td><del>" + data
             .discountPrice + "</del></td>") : ("<td>" + data.discountPrice +
@@ -977,21 +990,23 @@ function appendProductList(str, data, cmPromotion) {
         var strings = data.skuStr.split("/");
         skuId = strings[0];
     } else {
-        skuId = data.skuList[0].skuId;
+        if (data.skuList) {
+            skuId = data.skuList[0].skuId;
+        } else {
+            skuId = data.skuId;
+        }
     }
-    console.log("skuId---------------->" + skuId);
 
     $('.productTable tbody tr:not(.gift)').each(function (index, element) {
-        console.log("我看看-------------" + $(this).find("td:nth-child(2)").html());
         if ($(this).find("td:nth-child(2)").html() == skuId) {
             removeEle = $(this).parent();
             $(this).remove();
             removeBeforeSoon = true;
         }
     });
+
     if (removeBeforeSoon) {
         //走到这里 说明是修改
-        console.log("修改------------");
         removeEle.append(str);
     } else {
         //这里就是新加了 //先看有没有这个 当前这个商品的供应商的table
@@ -1001,6 +1016,7 @@ function appendProductList(str, data, cmPromotion) {
             appendShopOrderHead(data, str, cmPromotion);
         }
     }
+
     setShopOrderFee(data.shopId);
     // setOrderFee(); //设置底部订单金额
     product_index++;
@@ -1057,7 +1073,7 @@ function setGiftHtmlList(data, cmPromotion) {
     console.log("设置赠品" + JSON.stringify(data));
     if (data.presentNum > 0) {
         // 已经添加的,重新添加
-        $('.productTable tbody tr.gift_' + data.productId).each(function (index, element) {
+        $('.productTable tbody tr.gift_' + data.skuId).each(function (index, element) {
             $(this).remove();
         });
         var present = JSON.parse(JSON.stringify(data));
@@ -1070,11 +1086,13 @@ function setGiftHtmlList(data, cmPromotion) {
         var giftStr = "<tr id='product_gift_" + present.productId + "' class='gift gift_" + present.productId +
             "' data-value='" + JSON.stringify(present) + "' data-index='" + product_index + "'>" +
             "<td>" + present.productId + "</td>" +
+            "<td>" + 0 + "</td>" +
             "<td hidden><input type='hidden' name='orderProduct[" + product_index +
             "].enabledStatus' id='orderProduct" + product_index + ".enabledStatus' value='" + JSON.stringify(present) +
             "'/>" + present.shopId + "</td>" +
             "<td hidden>" + present.shopName + "</td>" +
             "<td class='fix-width'><i class='red'>协商赠品:</i>" + present.name + "</td><td hidden></td>" +
+            "<td>规格</td>"
             "<td>" + present.num + "</td>" +
             "<td>0</td>" +
             "<td>100</td>" +
@@ -1091,6 +1109,7 @@ function setGiftHtmlList(data, cmPromotion) {
         product_index++;
         appendGiftsList(present, giftStr, cmPromotion);
     }
+
     if (data.cmPromotion && data.cmPromotion.mode == 3) {
         var thisTouchPrice = 0;
         totalPromotions.forEach(function (item) {
@@ -1144,6 +1163,7 @@ function setGiftHtmlList(data, cmPromotion) {
                                 "' data-value='" + JSON.stringify(gift) + "' gift-index='" +
                                 product_index + "'>" +
                                 "<td>" + gift.productId + "</td>" +
+                                "<td>" + 0 + "</td>" +
                                 "<td hidden><input type='hidden' name='orderProduct[" + product_index +
                                 "].enabledStatus' id='orderProduct" + product_index +
                                 ".enabledStatus' value='" + JSON.stringify(gift) + "'/>" + gift.shopId +
@@ -1151,6 +1171,7 @@ function setGiftHtmlList(data, cmPromotion) {
                                 "<td class='fix-width'><i class='red'>促销赠品:</i>" + gift.name +
                                 "<td>" + gift.shopName + "</td>" +
                                 "</td><td hidden></td>" +
+                                "<td>无</td>" +
                                 "<td>" + gift.num + "</td>" +
                                 "<td>0</td>" +
                                 "<td>100</td>" +
@@ -1289,7 +1310,8 @@ function setSeondHandProductList(data) {
 
 
 //设置订单金额信息
-function setOrderFee() { //不考虑经理折扣、运费,此时 商品总金额=订单总额=应付总额
+function setOrderFee() {
+    //不考虑经理折扣、运费,此时 商品总金额=订单总额=应付总额
     var productTotalFee = 0, //商品总金额
         productCount = 0, //	商品总数
         presentCount = 0, //协商赠送商品数
@@ -1300,6 +1322,7 @@ function setOrderFee() { //不考虑经理折扣、运费,此时 商品总金
         svipFullReduction = 0;   //超级会员优惠
     var couponPrice = $("#couponAmount").val() ? $("#couponAmount").val() * 1 : 0;
     $('.productTable tbody tr:not(.gift)').each(function (index, element) {
+        debugger;
         var obj = JSON.parse($(this).attr("data-value"));
         productTotalFee = ((Number(productTotalFee) * 100 + Number(obj.num * obj.price) * 100 + Number(obj
             .totalAddedValueTax) * 100) / 100 + Number(obj.svipTaxReduction)).toFixed(2);
@@ -2144,7 +2167,6 @@ function setProductTotalFee() {
 
     trs.each(function (index, element) {
         var obj = JSON.parse($(this).attr("data-value"));
-
         var _taxRate = Number(obj.taxRate); //税率
         var _totalFee = Number(obj.totalFee); //总价
         var _shopFee1 = isNaN(Number(obj.shopFee1)) ? Number(obj.singleShopFee) : Number(obj.shopFee1);