Przeglądaj źródła

求购-买家中心-商城现货,立即购买

liusw 8 lat temu
rodzic
commit
5163b442e6

+ 2 - 2
src/main/java/com/uas/platform/b2c/trade/order/controller/OrderController.java

@@ -108,9 +108,9 @@ public class OrderController {
 	 * @return order
 	 */
 	@RequestMapping(value = "/buyNow", method = RequestMethod.POST)
-	public ResultMap buyNow(@RequestBody String json) {
+	public ResultMap buyNow(@RequestBody String json, Long spId) {
 		List<OrderDetail> orderDetails = FastjsonUtils.fromJsonArray(json, OrderDetail.class);
-		ResultMap resultMap = orderService.buyNow(orderDetails);
+		ResultMap resultMap = orderService.buyNow(orderDetails, spId);
 		assert logger != null;
 		if(resultMap.getCode() == ResultMapType.OK.getCode()) {
 			Order order = (Order) resultMap.getData();

+ 14 - 0
src/main/java/com/uas/platform/b2c/trade/order/model/Order.java

@@ -636,6 +636,12 @@ public class Order extends Document implements Serializable {
 	@Column(name = "or_installmentid")
 	private Long installmentId;
 
+	/**
+	 * 求购id
+	 */
+	@Column(name = "or_spId")
+	private Long spId;
+
 	/**
 	 * 分期信息(不做关联)
 	 */
@@ -2867,4 +2873,12 @@ public class Order extends Document implements Serializable {
 	public void setJsonMoreTake(String jsonMoreTake) {
 		this.jsonMoreTake = jsonMoreTake;
 	}
+
+	public Long getSpId() {
+		return spId;
+	}
+
+	public void setSpId(Long spId) {
+		this.spId = spId;
+	}
 }

+ 2 - 1
src/main/java/com/uas/platform/b2c/trade/order/service/OrderService.java

@@ -59,9 +59,10 @@ public interface OrderService {
 	 * 立即购买,根据提交的订单明细信息完善明细信息以及生成订单信息
 	 *
 	 * @param orderDetails 订单明细
+	 * @param spId 求购id
 	 * @return the order
 	 */
-	ResultMap buyNow(List<OrderDetail> orderDetails);
+	ResultMap buyNow(List<OrderDetail> orderDetails, Long spId);
 
 	/**
 	 * 确认订单时,用户删除不想购买或者没有库存的订单明细

+ 39 - 12
src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderServiceImpl.java

@@ -1,5 +1,10 @@
 package com.uas.platform.b2c.trade.order.service.impl;
 
+import static com.uas.platform.b2c.trade.aftersale.model.AfterSaleStatus.BUYER_TO_MALL;
+import static com.uas.platform.b2c.trade.aftersale.model.AfterSaleStatus.MALL_TO_SUP;
+import static com.uas.platform.b2c.trade.aftersale.model.AfterSaleStatus.SUP_TO_MALL;
+import static com.uas.platform.b2c.trade.util.Preconditions.checkNotNull;
+
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.api.b2c_erp.buyer.model.B2cOrder;
@@ -34,7 +39,12 @@ import com.uas.platform.b2c.logistics.dao.AddressDao;
 import com.uas.platform.b2c.logistics.dao.InvoiceFOrderDao;
 import com.uas.platform.b2c.logistics.dao.InvoiceFPurchaseDao;
 import com.uas.platform.b2c.logistics.dao.PickUpAddressDao;
-import com.uas.platform.b2c.logistics.model.*;
+import com.uas.platform.b2c.logistics.model.Address;
+import com.uas.platform.b2c.logistics.model.InvoiceFOrder;
+import com.uas.platform.b2c.logistics.model.InvoiceFOrderDetail;
+import com.uas.platform.b2c.logistics.model.InvoiceFPurchase;
+import com.uas.platform.b2c.logistics.model.InvoiceFPurchaseDetail;
+import com.uas.platform.b2c.logistics.model.PickUpAddress;
 import com.uas.platform.b2c.logistics.service.InvoiceFPurchaseService;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsHistoryDao;
@@ -59,7 +69,14 @@ import com.uas.platform.b2c.trade.order.dao.OrderDao;
 import com.uas.platform.b2c.trade.order.dao.OrderDetailDao;
 import com.uas.platform.b2c.trade.order.dao.OrderIndexDetailDao;
 import com.uas.platform.b2c.trade.order.dao.PurchaseDao;
-import com.uas.platform.b2c.trade.order.model.*;
+import com.uas.platform.b2c.trade.order.model.Order;
+import com.uas.platform.b2c.trade.order.model.OrderDetail;
+import com.uas.platform.b2c.trade.order.model.OrderIndex;
+import com.uas.platform.b2c.trade.order.model.OrderIndexDetail;
+import com.uas.platform.b2c.trade.order.model.OrderSimpleInfo;
+import com.uas.platform.b2c.trade.order.model.Purchase;
+import com.uas.platform.b2c.trade.order.model.PurchaseDetail;
+import com.uas.platform.b2c.trade.order.model.TradeProofing;
 import com.uas.platform.b2c.trade.order.service.OrderDetailService;
 import com.uas.platform.b2c.trade.order.service.OrderService;
 import com.uas.platform.b2c.trade.order.service.PurchaseService;
@@ -88,6 +105,22 @@ import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.search.model.BaseOrder;
 import com.uas.search.model.PageParams;
 import com.uas.search.model.SPage;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
 import org.apache.commons.collections.map.HashedMap;
 import org.apache.commons.lang.time.DateUtils;
 import org.springframework.beans.BeanUtils;
@@ -101,15 +134,6 @@ import org.springframework.ui.ModelMap;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-import java.util.*;
-
-import static com.uas.platform.b2c.trade.aftersale.model.AfterSaleStatus.*;
-import static com.uas.platform.b2c.trade.util.Preconditions.checkNotNull;
-
 /**
  * 订单业务实现类
  *
@@ -274,7 +298,7 @@ public class OrderServiceImpl implements OrderService {
 
     @Transactional
     @Override
-    public ResultMap buyNow(List<OrderDetail> orderDetails) {
+    public ResultMap buyNow(List<OrderDetail> orderDetails, Long spId) {
         // 检查传入参数是否正确,立即购买只会有一条明细
         if (CollectionUtils.isEmpty(orderDetails) || orderDetails.size() > 1) {
             throw new IllegalOperatorException("没有传入有效的订单信息");
@@ -301,6 +325,9 @@ public class OrderServiceImpl implements OrderService {
         } else {
             order.setDissociative(Type.PERSONAL.value());
         }
+        if (spId != null) {
+            order.setSpId(spId);
+        }
         order.setBuyNow(true);
         orderDao.save(order);
 

+ 3 - 3
src/main/java/com/uas/platform/b2c/trade/seek/model/SeekPurchaseOfferGoods.java

@@ -70,7 +70,7 @@ public class SeekPurchaseOfferGoods {
      * 生产日期
      */
     @Column(name = "of_produceDate")
-    private Date produceDate;
+    private String produceDate;
 
     /**
      * 卖家企业uu号
@@ -206,11 +206,11 @@ public class SeekPurchaseOfferGoods {
         this.maxDay = maxDay;
     }
 
-    public Date getProduceDate() {
+    public String getProduceDate() {
         return produceDate;
     }
 
-    public void setProduceDate(Date produceDate) {
+    public void setProduceDate(String produceDate) {
         this.produceDate = produceDate;
     }
 

+ 8 - 0
src/main/java/com/uas/platform/b2c/trade/seek/service/SeekPurchaseService.java

@@ -70,4 +70,12 @@ public interface SeekPurchaseService {
      * @return
      */
     List<Goods> getMallGoodsList(Long spId);
+
+    /**
+     * 确认付款后 更新求购信息
+     * @param spId
+     * @param purchaseQuantity
+     * @return
+     */
+    SeekPurchase confirmSeekPurchase(Long spId, Integer purchaseQuantity);
 }

+ 1 - 0
src/main/java/com/uas/platform/b2c/trade/seek/service/impl/SeekPurchaseOfferServiceImpl.java

@@ -149,6 +149,7 @@ public class SeekPurchaseOfferServiceImpl implements SeekPurchaseOfferService {
         }
         // 按发布时间降序排序
         pageInfo.sorting("releaseDate", Direction.DESC);
+        pageInfo.expression(PredicateUtils.ne("enUu", user.getEnterprise().getUu(), false));
         pageInfo.filter("goEnUu", user.getEnterprise().getUu());
         Page<SeekPurchasePushGoods> pages = seekPurchasePushGoodsDao
                 .findAll(new Specification<SeekPurchasePushGoods>() {

+ 13 - 0
src/main/java/com/uas/platform/b2c/trade/seek/service/impl/SeekPurchaseServiceImpl.java

@@ -220,4 +220,17 @@ public class SeekPurchaseServiceImpl implements SeekPurchaseService {
         }, pageInfo);
         return pageSeeks;
     }
+
+    @Override
+    public SeekPurchase confirmSeekPurchase(Long spId, Integer purchaseQuantity) {
+        SeekPurchase seekPurchase = seekPurchasedao.findOne(spId);
+        // 求购数量
+        Integer amount = seekPurchase.getAmount();
+        Integer boughtAmount = seekPurchase.getBoughtAmount() + purchaseQuantity;
+        if (boughtAmount >= amount) {
+            seekPurchase.setDeadline(new Date(System.currentTimeMillis()));
+        }
+        seekPurchase.setBoughtAmount(boughtAmount);
+        return seekPurchasedao.save(seekPurchase);
+    }
 }

+ 1 - 1
src/main/webapp/resources/js/usercenter/app.js

@@ -731,7 +731,7 @@ define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTable', 'commo
 	// 币别filter
 	app.filter('currencyStr', function () {
 		return function (str) {
-			return str && str != 'RMB' && str != 'USD' ? str.startsWith('RMB') ? '¥' + str.substring(3, str.length) : '$' + str.substring(3, str.length) : '-';
+      return typeof str == 'string' && str != 'RMB' && str != 'USD' ? str.startsWith('RMB') ? '¥' + str.substring(3, str.length) : '$' + str.substring(3, str.length) : '-';
 		}
 	});
 

+ 464 - 386
src/main/webapp/resources/js/usercenter/controllers/forstore/seek_purchase_ctrl.js

@@ -2,435 +2,513 @@
  * Created by yujia on 2017/3/19.
  *  求购的控制器
  */
-define(['app/app'], function(app) {
-    'use strict';
-    app.register.controller('seekPurchaseCtrl', ['$scope', '$rootScope','seekPurchase','toaster','BaseService','ngTableParams', function($scope, $rootScope, seekPurchase, toaster, BaseService, ngTableParams) {
-        $rootScope.active = 'seek_purchase';
-        document.title = '我的求购-优软商城';
+define(['app/app'], function (app) {
+  'use strict';
+  app.register.controller('seekPurchaseCtrl',
+      ['$scope', '$rootScope', 'seekPurchase', 'toaster', 'BaseService',
+        'ngTableParams', 'Order', 'SessionService', '$filter',
+        function ($scope, $rootScope, seekPurchase, toaster, BaseService,
+            ngTableParams, Order, SessionService, $filter) {
+          $rootScope.active = 'seek_purchase';
+          document.title = '我的求购-优软商城';
+          var enIdFilter = $filter('EncryptionFilter');
 
+          $scope.applyObj = {
+            code: '',
+            brand: '',
+            unitPrice: '',
+            currency: 'RMB',
+            encapsulation: '',
+            produceDate: '',
+            amount: '',
+            deadline: ''
+          };
+          $scope.validObj = {
+            code: true,
+            brand: true,
+            unitPrice: true,
+            amount: true,
+            deadline: true
+          };
 
-        $scope.applyObj = {
-          code: '',
-          brand: '',
-          unitPrice: '',
-          currency: 'RMB',
-          encapsulation: '',
-          produceDate: '',
-          amount: '',
-          deadline: ''
-        };
-        $scope.validObj = {
-          code: true,
-          brand: true,
-          unitPrice: true,
-          amount: true,
-          deadline: true
-        };
-
-        $scope.checkCode = function () {
-          $scope.validObj.code = $scope.applyObj.code && $scope.applyObj.code !== '';
-          return this.validObj.code;
-        }
-            $scope.checkBrand = function () {
-              $scope.validObj.brand = $scope.applyObj.brand && $scope.applyObj.brand !== '';
-          return $scope.validObj.brand;
-        }
-        $scope.checkUnitPrice = function () {
-          $scope.validObj.unitPrice = $scope.applyObj.unitPrice === '' ? true : $scope.applyObj.unitPrice > 0 && $scope.applyObj.unitPrice < 100000000;
-          return $scope.validObj.unitPrice;
-        }
-        $scope.checkAmount = function () {
-          $scope.validObj.amount = $scope.applyObj.amount === '' ? true : $scope.applyObj.amount > 0 && $scope.applyObj.amount < 100000000;
-          return $scope.validObj.amount;
-        }
-        $scope.checkAll = function () {
-          return $scope.checkCode() && $scope.checkBrand() && $scope.checkUnitPrice() && $scope.checkAmount() && $scope.checkDeadline();
-        }
-        $scope.checkDeadline = function () {
-          $scope.validObj.deadline = $scope.applyObj.deadline && $scope.applyObj.deadline !== '';
-          return $scope.validObj.deadline;
-        }
-        $scope.emptyForm = function () {
-          for (var attr in $scope.applyObj) {
-            $scope.applyObj[attr] = attr === 'currency' ? 'RMB' : '';
+          $scope.checkCode = function () {
+            $scope.validObj.code = $scope.applyObj.code && $scope.applyObj.code
+                !== '';
+            return this.validObj.code;
+          }
+          $scope.checkBrand = function () {
+            $scope.validObj.brand = $scope.applyObj.brand
+                && $scope.applyObj.brand !== '';
+            return $scope.validObj.brand;
+          }
+          $scope.checkUnitPrice = function () {
+            $scope.validObj.unitPrice = $scope.applyObj.unitPrice === '' ? true
+                : $scope.applyObj.unitPrice > 0 && $scope.applyObj.unitPrice
+                < 100000000;
+            return $scope.validObj.unitPrice;
+          }
+          $scope.checkAmount = function () {
+            $scope.validObj.amount = $scope.applyObj.amount === '' ? true
+                : $scope.applyObj.amount > 0 && $scope.applyObj.amount
+                < 100000000;
+            return $scope.validObj.amount;
+          }
+          $scope.checkAll = function () {
+            return $scope.checkCode() && $scope.checkBrand()
+                && $scope.checkUnitPrice() && $scope.checkAmount()
+                && $scope.checkDeadline();
+          }
+          $scope.checkDeadline = function () {
+            $scope.validObj.deadline = $scope.applyObj.deadline
+                && $scope.applyObj.deadline !== '';
+            return $scope.validObj.deadline;
           }
-        }
-        // 发布求购
-        $scope.release = function() {
+          $scope.emptyForm = function () {
+            for (var attr in $scope.applyObj) {
+              $scope.applyObj[attr] = attr === 'currency' ? 'RMB' : '';
+            }
+          }
+          // 发布求购
+          $scope.release = function () {
             // 校验
-          if ($scope.checkAll()) {
-            seekPurchase.saveOneSeekPurchase($scope.applyObj, function (data) {
-              $scope.showUseFlag = false;
-              $scope.seekPurchaseTableParams.reload();
-              $scope.emptyForm();
-              toaster.pop('success', '求购发布成功');
-            }, function (res) {
-              toaster.pop('error', res.data);
-            });
-          } else {
-            toaster.pop('error', '请输入正确的信息');
+            if ($scope.checkAll()) {
+              seekPurchase.saveOneSeekPurchase($scope.applyObj,
+                  function (data) {
+                    $scope.showUseFlag = false;
+                    $scope.seekPurchaseTableParams.reload();
+                    $scope.emptyForm();
+                    toaster.pop('success', '求购发布成功');
+                  }, function (res) {
+                    toaster.pop('error', res.data);
+                  });
+            } else {
+              toaster.pop('error', '请输入正确的信息');
+            }
           }
-        }
 
-      // 买家求购列表
-      $scope.searchStatus = 0;
-      $scope.seekPurchaseTableParams = new ngTableParams({
-        page : 1,
-        count : 10
-      }, {
-        total : 0,
-        getData : function ($defer, params) {
-          const param = BaseService.parseParams(params.url());
-          param.isMallGoods = $scope.isMallGoods;
-          param.deadline = $scope.deadline;
-          param.keyWord = $scope.keyWord;
-          param.status = $scope.searchStatus;
-          param.minReleaseDate = $scope.startDate ? $scope.startDate.getTime() : null;
-          param.maxReleaseDate = $scope.endDate ? $scope.endDate.getTime() : null;
-          seekPurchase.getUserSeekPageInfo(param, function (data) {
-            params.total(data.totalElements);
-            $defer.resolve(data.content);
-            $scope.seekListData = data;
-          }, function (response) {
-            toaster.pop('error', response.data);
-          });
-        }
-      });
+          // 立即购买
+          $scope.purchase = function (go, index) {
+            var goodsObj = {};
+            goodsObj.batchCode = go.batchCode;
+            goodsObj.currencyName = go.currencyName;
+            goodsObj.minPackQty = go.minPackQty;
+            goodsObj.number = $scope.fragments[index].num;
+            goodsObj.storeUuid = go.storeid;
+            goodsObj.storeid = go.storeid;
+            var goodsList = [];
+            goodsList.push(goodsObj);
+            if(go.minBuyQty > 0) {
+              var newWidow = window.open(rootPath + '/product#/cart');
+              // 1、生成订单
+              Order.buyNowInStore({spId: $scope.currentSeek.spId}, goodsList, function(data){
+                if(data.message) {
+                  toaster.pop('info', data.message);
+                }
+                // 控制订单确认页,直接购买不显示进度条
+                SessionService.set("buyNow", true);
+                // 2、跳转到订单确认页面,进行付款操作
+                newWidow.location.href = rootPath + '/user#/order/pay/'+ enIdFilter(data.data.orderid);
+              }, function(res){
+                newWindow.close();
+                toaster.pop('error', '警告', res.data);
+              });
+            }else {
+              toaster.pop('warning', '提示', '该商品库存为0,请等待上货或咨询客服');
+            }
+          }
 
-      // 搜索
-      $scope.onSearch = function(searchStatus){
-        if (searchStatus) {
-          $scope.searchStatus = searchStatus;
-        }
-        $scope.seekPurchaseTableParams.reload();
-      }
+          // 买家求购列表
+          $scope.searchStatus = 0;
+          $scope.seekPurchaseTableParams = new ngTableParams({
+            page: 1,
+            count: 10
+          }, {
+            total: 0,
+            getData: function ($defer, params) {
+              const param = BaseService.parseParams(params.url());
+              param.isMallGoods = $scope.isMallGoods;
+              param.deadline = $scope.deadline;
+              param.keyWord = $scope.keyWord;
+              param.status = $scope.searchStatus;
+              param.minReleaseDate = $scope.startDate
+                  ? $scope.startDate.getTime() : null;
+              param.maxReleaseDate = $scope.endDate ? $scope.endDate.getTime()
+                  : null;
+              seekPurchase.getUserSeekPageInfo(param, function (data) {
+                params.total(data.totalElements);
+                $defer.resolve(data.content);
+                $scope.seekListData = data;
+              }, function (response) {
+                toaster.pop('error', response.data);
+              });
+            }
+          });
 
-      // 采纳报价
-      $scope.adopt = function (){
-        seekPurchase.updateSeekPurchaseStatus({spId: $scope.currentOffer.spId, ofId: $scope.currentOffer.id, purchaseQuantity: $scope.purchaseQuantity},{}, function (data) {
-          $scope.currentOffer = null;
-          $scope.seekPurchaseTableParams.reload();
-          $scope.showUseFlag = false;
-          toaster.pop('success', '采纳报价成功');
-        }, function (response) {
-          toaster.pop('error', response.data);
-        });
-      }
+          // 搜索
+          $scope.onSearch = function (searchStatus) {
+            if (searchStatus) {
+              $scope.searchStatus = searchStatus;
+            }
+            $scope.seekPurchaseTableParams.reload();
+          }
 
-      $scope.offerCount = 0;
-      $scope.goodsCount = 0;
-      $scope.setSeekStatus = function (seek, status) {
-          $scope.offerCount = seek.offerAmount;
-          $scope.goodsCount = seek.goodsAmount;
-          // 查看报价
-          if (status == 2 && $scope.offerCount != 0) {
-            seekPurchase.getSeekPurchaseOfferPageInfo({count:100,page:1,spId:seek.spId},function(data) {
-                $scope.offer = data.content;
-                clearSeekStatus();
-                seek.$status = status;
+          // 采纳报价
+          $scope.adopt = function () {
+            seekPurchase.updateSeekPurchaseStatus({
+              spId: $scope.currentOffer.spId,
+              ofId: $scope.currentOffer.id,
+              purchaseQuantity: $scope.purchaseQuantity
+            }, {}, function (data) {
+              $scope.currentOffer = null;
+              $scope.seekPurchaseTableParams.reload();
+              $scope.showUseFlag = false;
+              toaster.pop('success', '采纳报价成功');
+            }, function (response) {
+              toaster.pop('error', response.data);
             });
-          } else if (status == 1 && $scope.goodsCount != 0) {// 查看现货
-            seekPurchase.getMallGoodsList({spId: seek.spId}, function(data) {
+          }
+
+          $scope.offerCount = 0;
+          $scope.goodsCount = 0;
+          $scope.currentSeek = {};
+          $scope.setSeekStatus = function (seek, status) {
+            $scope.offerCount = seek.offerAmount;
+            $scope.goodsCount = seek.goodsAmount;
+            $scope.currentSeek = seek;
+            // 查看报价
+            if (status == 2 && $scope.offerCount != 0) {
+              seekPurchase.getSeekPurchaseOfferPageInfo(
+                  {count: 100, page: 1, spId: seek.spId}, function (data) {
+                    $scope.offer = data.content;
+                    clearSeekStatus();
+                    seek.$status = status;
+                  });
+            } else if (status == 1 && $scope.goodsCount != 0) {// 查看现货
+              seekPurchase.getMallGoodsList({spId: seek.spId}, function (data) {
                 $scope.goods = data;
                 clearSeekStatus();
                 initFragments();
                 seek.$status = status;
-            });
-          } else if (status == 0){ // 收起
-            seek.$status = status;
+              });
+            } else if (status == 0) { // 收起
+              seek.$status = status;
+            }
+            $scope.selectAmount = 0;
+            $scope.selectPrice = 0;
           }
-        $scope.selectAmount = 0;
-        $scope.selectPrice = 0;
-      }
-      
-      var clearSeekStatus = function () {
-        angular.forEach($scope.seekListData.content, function (item) {
-          item.$status = 0;
-        })
-      }
 
-      $scope.condition = {endDateOpen:false, startDateOpen: false, deadlineOpen: false};
-      // 打开日期选择框
-      $scope.openDatePicker = function ($event, item, openParam,status) {
-        if (status != null) {
-          if (status == 1) {
-            if ($scope.startDate != null) {
-              return;
-            }
+          var clearSeekStatus = function () {
+            angular.forEach($scope.seekListData.content, function (item) {
+              item.$status = 0;
+            })
           }
-          if (status == 2) {
-            if ($scope.endDate != null) {
-              return;
+
+          $scope.condition = {
+            endDateOpen: false,
+            startDateOpen: false,
+            deadlineOpen: false
+          };
+          // 打开日期选择框
+          $scope.openDatePicker = function ($event, item, openParam, status) {
+            if (status != null) {
+              if (status == 1) {
+                if ($scope.startDate != null) {
+                  return;
+                }
+              }
+              if (status == 2) {
+                if ($scope.endDate != null) {
+                  return;
+                }
+              }
             }
+            $event.preventDefault();
+            $event.stopPropagation();
+            item[openParam] = !item[openParam];
+            if (openParam == 'startDateOpen') {
+              if (item['endDateOpen']) {
+                item['endDateOpen'] = !item['endDateOpen'];
+              }
+            } else if (openParam == 'endDateOpen') {
+              if (item['startDateOpen']) {
+                item['startDateOpen'] = !item['startDateOpen'];
+              }
+            }
+          };
+          $scope.changeEndDate = function () {
+            if ($scope.condition.endDateOpen) {
+              $scope.endDate = $scope.endDate.toString().replace(
+                  /[0-9]{2}:[0-9]{2}:[0-9]{2}/g, '23:59:59');//;'23.59';//DateUtil.yyyyMmDd($scope.endDate.getTime() + 86399000);
+              $scope.endDate = new Date(
+                  formatDateTime(new Date($scope.endDate.toString())));
+            }
+            $scope.vaildDate(false);
+          };
+          $scope.vaildDate = function (isStart) {
+            if ($scope.endDate !== null && $scope.startDate > $scope.endDate) {
+              if (isStart) {
+                alert("开始日期大于结束日期,请重新输入!");
+                $scope.startDate = null;
+              } else {
+                alert("开始日期大于结束日期,请重新输入!");
+                $scope.endDate = null;
+              }
+            }
+          };
+          var formatDateTime = function (date) {
+            var y = date.getFullYear();
+            var m = date.getMonth() + 1;
+            m = m < 10 ? ('0' + m) : m;
+            var d = date.getDate();
+            d = d < 10 ? ('0' + d) : d;
+            var h = date.getHours();
+            var minute = date.getMinutes();
+            var sec = date.getSeconds();
+            minute = minute < 10 ? ('0' + minute) : minute;
+            return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + sec;
+          };
+          // 选择查找日期
+          $scope.onDateCondition = function () {
+            $scope.param.page = 1;
+            $scope.orderTableParams.page(1);
+            $scope.orderTableParams.reload();
+          };
+
+          /*获取时间戳代表的天数*/
+          $scope.getDay = function (timeStamp) {
+            return Math.floor(timeStamp / (1000 * 60 * 60 * 24));
           }
-        }
-        $event.preventDefault();
-        $event.stopPropagation();
-        item[openParam] = !item[openParam];
-        if (openParam == 'startDateOpen') {
-          if (item['endDateOpen']) {
-            item['endDateOpen'] = !item['endDateOpen'];
-          }
-        } else if (openParam == 'endDateOpen') {
-          if (item['startDateOpen']){
-            item['startDateOpen'] = !item['startDateOpen'];
-          }
-        }
-      };
-      $scope.changeEndDate = function () {
-        if ($scope.condition.endDateOpen) {
-          $scope.endDate = $scope.endDate.toString().replace(/[0-9]{2}:[0-9]{2}:[0-9]{2}/g, '23:59:59');//;'23.59';//DateUtil.yyyyMmDd($scope.endDate.getTime() + 86399000);
-          $scope.endDate = new Date(formatDateTime(new Date($scope.endDate.toString())));
-        }
-        $scope.vaildDate(false);
-      };
-      $scope.vaildDate = function (isStart) {
-        if ($scope.endDate !== null && $scope.startDate>$scope.endDate){
-          if (isStart) {
-            alert("开始日期大于结束日期,请重新输入!");
-            $scope.startDate = null;
-          } else {
-            alert("开始日期大于结束日期,请重新输入!");
-            $scope.endDate = null;
+          /*获取时间戳代表的小时*/
+          $scope.getHours = function (timeStamp) {
+            return Math.floor((timeStamp / (1000 * 60 * 60)) % 24);
           }
-        }
-      };
-      var formatDateTime = function (date) {
-        var y = date.getFullYear();
-        var m = date.getMonth() + 1;
-        m = m < 10 ? ('0' + m) : m;
-        var d = date.getDate();
-        d = d < 10 ? ('0' + d) : d;
-        var h = date.getHours();
-        var minute = date.getMinutes();
-        var sec = date.getSeconds();
-        minute = minute < 10 ? ('0' + minute) : minute;
-        return y + '-' + m + '-' + d+' '+h+':'+minute+':'+sec;
-      };
-      // 选择查找日期
-      $scope.onDateCondition = function () {
-        $scope.param.page = 1;
-        $scope.orderTableParams.page(1);
-        $scope.orderTableParams.reload();
-      };
 
-      /*获取时间戳代表的天数*/
-      $scope.getDay = function (timeStamp) {
-        return Math.floor(timeStamp / (1000 * 60 * 60 * 24));
-      }
-      /*获取时间戳代表的小时*/
-      $scope.getHours = function (timeStamp) {
-        return Math.floor((timeStamp / (1000 * 60 * 60)) % 24);
-      }
+          /*
+          * input 校验
+          * */
+          $scope.fragments = [];
 
-      /*
-      * input 校验
-      * */
-      $scope.fragments = [];
-      function initFragment (commodity) {
-        if (!commodity) {
-          return {};
-        }
-        var fragment = {};
-        var prices = commodity.prices[0];
-        fragment.num = commodity.minBuyQty;
-        fragment.prices = prices;
+          function initFragment(commodity) {
+            if (!commodity) {
+              return {};
+            }
+            var fragment = {};
+            var prices = commodity.prices[0];
+            fragment.num = commodity.minBuyQty;
+            fragment.prices = prices;
 
-        if (commodity.currencyName !== 'USD') {
-          fragment.currency = 'RMB';
-        } else {
-          fragment.currency = 'USD';
-        }
+            if (commodity.currencyName !== 'USD') {
+              fragment.currency = 'RMB';
+            } else {
+              fragment.currency = 'USD';
+            }
 
-        if (fragment.currency !== 'USD') {
-          fragment.price = prices.rMBPrice;
-        } else {
-          fragment.price = prices.uSDPrice;
-        }
-        fragment.canAdd = true;
-        fragment.canSub = false;
-        return fragment;
-      }
-      function initFragments() {
-        angular.forEach($scope.goods, function (item) {
-          $scope.fragments.push(initFragment(item));
-        })
-      }
-      function getFragment (commodity, fragment) {
-        // 判断是否小于第一分段的起订量
-        if (commodity.prices[0].start > fragment.num) {
-          fragment.num = commodity.prices[0].start;
-        }
-        // 获取分段的信息
-        var prices = commodity.prices;
-        for (var i = 0; i < prices.length; i++) {
-          if (fragment.num <= prices[i].end) {
-            fragment.prices = prices[i];
-            break;
-          }
-        }
-      }
-      $scope.onInput = function (index) {
-        var prices = $scope.goods[index].prices;
-        if (prices && prices.length) {
-          for (var i = 0; i < prices.length; i++) {
-            if ($scope.fragments[index].num >= prices[i].start && $scope.fragments[index].num <= prices[i].end) {
-              $scope.fragments[index].price = $scope.fragments[index].currency === 'RMB' ? prices[i].rMBPrice : prices[i].uSDPrice;
-              break;
+            if (fragment.currency !== 'USD') {
+              fragment.price = prices.rMBPrice;
+            } else {
+              fragment.price = prices.uSDPrice;
             }
+            fragment.canAdd = true;
+            fragment.canSub = false;
+            return fragment;
           }
-        }
-        if ($scope.goods[index].$checked) {
-          var amount = 0;
-          angular.forEach($scope.seekListData.content, function (item) {
-            if (item.$status == 1) {
-              amount = item.amount;
+
+          function initFragments() {
+            angular.forEach($scope.goods, function (item) {
+              $scope.fragments.push(initFragment(item));
+            })
+          }
+
+          function getFragment(commodity, fragment) {
+            // 判断是否小于第一分段的起订量
+            if (commodity.prices[0].start > fragment.num) {
+              fragment.num = commodity.prices[0].start;
+            }
+            // 获取分段的信息
+            var prices = commodity.prices;
+            for (var i = 0; i < prices.length; i++) {
+              if (fragment.num <= prices[i].end) {
+                fragment.prices = prices[i];
+                break;
+              }
             }
-          })
-          if (amount > 0) {
-            $scope.selectAmount = 0;
           }
-          $scope.selectPrice = 0;
-          angular.forEach($scope.goods, function (item, index) {
-            if (item.$checked) {
-              if (amount > 0) {
-                if (amount < $scope.selectAmount + $scope.fragments[index].num) {
-                  $scope.fragments[index].num = amount - $scope.selectAmount;
-                } else {
-                  $scope.selectAmount += $scope.fragments[index].num;
+
+          $scope.onInput = function (index) {
+            var prices = $scope.goods[index].prices;
+            if (prices && prices.length) {
+              for (var i = 0; i < prices.length; i++) {
+                if ($scope.fragments[index].num >= prices[i].start
+                    && $scope.fragments[index].num <= prices[i].end) {
+                  $scope.fragments[index].price = $scope.fragments[index].currency
+                  === 'RMB' ? prices[i].rMBPrice : prices[i].uSDPrice;
+                  break;
                 }
               }
-              $scope.selectPrice += $scope.fragments[index].num * $scope.fragments[index].price;
             }
-          })
-        }
-      }
-      $scope.changeNum = function (newNum, index) {
-        var pack = $scope.goods[index].perQty || $scope.goods[index].minPackQty;
-        var buy = $scope.goods[index].minBuyQty;
-        var reserve = $scope.goods[index].reserve;
-        var breakUp = $scope.goods[index].breakUp;
-        if (!newNum) {
-          $scope.fragments[index].num = buy;
-        } else {
-          newNum = parseInt(newNum);
-          if (breakUp) {
-            if (newNum < buy) {
-              // $scope.$message.error('最小起订量为' + buy)
-              $scope.fragments[index].num = buy;
-              $scope.fragments[index].canSub = false;
-              $scope.fragments[index].canAdd = true;
-            } else if (newNum > reserve) {
-              // $scope.$message.error('库存不足')
-              $scope.fragments[index].num = reserve;
-              $scope.fragments[index].canAdd = false;
-              $scope.fragments[index].canSub = true;
-            } else {
-              $scope.fragments[index].canSub = true;
-              $scope.fragments[index].canAdd = true;
-              $scope.fragments[index].num = newNum;
-              newNum === buy && ($scope.fragments[index].canSub = false);
-              newNum === reserve && ($scope.fragments[index].canAdd = false);
+            if ($scope.goods[index].$checked) {
+              var amount = 0;
+              angular.forEach($scope.seekListData.content, function (item) {
+                if (item.$status == 1) {
+                  amount = item.amount;
+                }
+              })
+              if (amount > 0) {
+                $scope.selectAmount = 0;
+              }
+              $scope.selectPrice = 0;
+              angular.forEach($scope.goods, function (item, index) {
+                if (item.$checked) {
+                  if (amount > 0) {
+                    if (amount < $scope.selectAmount
+                        + $scope.fragments[index].num) {
+                      $scope.fragments[index].num = amount
+                          - $scope.selectAmount;
+                    } else {
+                      $scope.selectAmount += $scope.fragments[index].num;
+                    }
+                  }
+                  $scope.selectPrice += $scope.fragments[index].num
+                      * $scope.fragments[index].price;
+                }
+              })
             }
-          } else {
-            if (newNum < buy) {
-              // $scope.$message.error('最小起订量为' + buy)
+          }
+          $scope.changeNum = function (newNum, index) {
+            var pack = $scope.goods[index].perQty
+                || $scope.goods[index].minPackQty;
+            var buy = $scope.goods[index].minBuyQty;
+            var reserve = $scope.goods[index].reserve;
+            var breakUp = $scope.goods[index].breakUp;
+            if (!newNum) {
               $scope.fragments[index].num = buy;
-              $scope.fragments[index].canSub = false;
-              if (newNum > reserve) {
-                // $scope.$message.error('库存不足')
-                $scope.fragments[index].num = reserve - (reserve % pack);
-                $scope.fragments[index].canAdd = false;
-              }
-            } else if (newNum > reserve) {
-              $scope.fragments[index].canSub = true;
-              $scope.fragments[index].canAdd = false;
-              // $scope.$message.error('库存不足')
-              $scope.fragments[index].num = reserve - (reserve % pack);
             } else {
-              $scope.fragments[index].canSub = true;
-              $scope.fragments[index].canAdd = true;
-              var remainder = newNum % pack;
-              if (remainder !== 0) {
-                // $scope.$message.error('不支持拆包且包装量为' + pack)
-                // 这个直接赋值的,应该给这个值进行判断(Math.floor(newNum / pack) + 1) * pack
-                var res = (Math.floor(newNum / pack) + 1) * pack;
-                $scope.fragments[index].num = res > reserve ? Math.floor(newNum / pack) * pack : res;
+              newNum = parseInt(newNum);
+              if (breakUp) {
+                if (newNum < buy) {
+                  // $scope.$message.error('最小起订量为' + buy)
+                  $scope.fragments[index].num = buy;
+                  $scope.fragments[index].canSub = false;
+                  $scope.fragments[index].canAdd = true;
+                } else if (newNum > reserve) {
+                  // $scope.$message.error('库存不足')
+                  $scope.fragments[index].num = reserve;
+                  $scope.fragments[index].canAdd = false;
+                  $scope.fragments[index].canSub = true;
+                } else {
+                  $scope.fragments[index].canSub = true;
+                  $scope.fragments[index].canAdd = true;
+                  $scope.fragments[index].num = newNum;
+                  newNum === buy && ($scope.fragments[index].canSub = false);
+                  newNum === reserve
+                  && ($scope.fragments[index].canAdd = false);
+                }
               } else {
-                $scope.fragments[index].num = newNum;
+                if (newNum < buy) {
+                  // $scope.$message.error('最小起订量为' + buy)
+                  $scope.fragments[index].num = buy;
+                  $scope.fragments[index].canSub = false;
+                  if (newNum > reserve) {
+                    // $scope.$message.error('库存不足')
+                    $scope.fragments[index].num = reserve - (reserve % pack);
+                    $scope.fragments[index].canAdd = false;
+                  }
+                } else if (newNum > reserve) {
+                  $scope.fragments[index].canSub = true;
+                  $scope.fragments[index].canAdd = false;
+                  // $scope.$message.error('库存不足')
+                  $scope.fragments[index].num = reserve - (reserve % pack);
+                } else {
+                  $scope.fragments[index].canSub = true;
+                  $scope.fragments[index].canAdd = true;
+                  var remainder = newNum % pack;
+                  if (remainder !== 0) {
+                    // $scope.$message.error('不支持拆包且包装量为' + pack)
+                    // 这个直接赋值的,应该给这个值进行判断(Math.floor(newNum / pack) + 1) * pack
+                    var res = (Math.floor(newNum / pack) + 1) * pack;
+                    $scope.fragments[index].num = res > reserve
+                        ? Math.floor(newNum / pack) * pack : res;
+                  } else {
+                    $scope.fragments[index].num = newNum;
+                  }
+                  newNum === buy && ($scope.fragments[index].canSub = false);
+                  newNum === reserve
+                  && ($scope.fragments[index].canAdd = false);
+                }
               }
-              newNum === buy && ($scope.fragments[index].canSub = false);
-              newNum === reserve && ($scope.fragments[index].canAdd = false);
             }
           }
-        }
-      }
-      $scope.subNum = function (index) {
-        if ($scope.fragments[index].canSub) {
-          var pack = $scope.goods[index].perQty || $scope.goods[index].minPackQty;
-          var newNum = 0;
-          if ($scope.goods[index].breakUp) {
-            newNum = $scope.fragments[index].num - 1;
-          } else {
-            newNum = $scope.fragments[index].num - pack;
+          $scope.subNum = function (index) {
+            if ($scope.fragments[index].canSub) {
+              var pack = $scope.goods[index].perQty
+                  || $scope.goods[index].minPackQty;
+              var newNum = 0;
+              if ($scope.goods[index].breakUp) {
+                newNum = $scope.fragments[index].num - 1;
+              } else {
+                newNum = $scope.fragments[index].num - pack;
+              }
+              $scope.changeNum(newNum, index)
+              getFragment($scope.goods[index], $scope.fragments[index]);
+              $scope.onInput(index);
+            }
           }
-          $scope.changeNum(newNum, index)
-          getFragment($scope.goods[index], $scope.fragments[index]);
-          $scope.onInput(index);
-        }
-      }
-      $scope.addNum = function (index) {
-        if ($scope.fragments[index].canAdd) {
-          var pack = $scope.goods[index].perQty || $scope.goods[index].minPackQty;
-          var newNum = 0;
-          if ($scope.goods[index].breakUp) {
-            newNum = $scope.fragments[index].num + 1;
-          } else {
-            newNum = $scope.fragments[index].num + pack;
+          $scope.addNum = function (index) {
+            if ($scope.fragments[index].canAdd) {
+              var pack = $scope.goods[index].perQty
+                  || $scope.goods[index].minPackQty;
+              var newNum = 0;
+              if ($scope.goods[index].breakUp) {
+                newNum = $scope.fragments[index].num + 1;
+              } else {
+                newNum = $scope.fragments[index].num + pack;
+              }
+              $scope.changeNum(newNum, index)
+              getFragment($scope.goods[index], $scope.fragments[index]);
+              $scope.onInput(index);
+            }
+          }
+          $scope.inputNum = function (index) {
+            if ((/^[\d]*$/).test($scope.fragments[index].num)) {
+              $scope.changeNum($scope.fragments[index].num, index);
+              getFragment($scope.goods[index], $scope.fragments[index]);
+            } else {
+              // $scope.$message.error('请输入整数')
+              $scope.fragments[index].num = $scope.goods[index].minBuyQty;
+            }
+            $scope.onInput(index);
           }
-          $scope.changeNum(newNum, index)
-          getFragment($scope.goods[index], $scope.fragments[index]);
-          $scope.onInput(index);
-        }
-      }
-      $scope.inputNum = function (index) {
-        if ((/^[\d]*$/).test($scope.fragments[index].num)) {
-          $scope.changeNum($scope.fragments[index].num, index);
-          getFragment($scope.goods[index], $scope.fragments[index]);
-        } else {
-          // $scope.$message.error('请输入整数')
-          $scope.fragments[index].num = $scope.goods[index].minBuyQty;
-        }
-        $scope.onInput(index);
-      }
-
-      $scope.showUseFlag = false;
-      $scope.setShowUseFlag = function (flag, offer) {
-        if (flag) {
-          $scope.currentOffer = offer;
-        }
-        $scope.showUseFlag = flag;
-      }
 
-      $scope.selectAmount = 0;
-      $scope.selectPrice = 0;
-      $scope.onSelectGoods = function (goods, seek, goodsIndex) {
-        if (goods.$checked) {
-          if (seek.amount) {
-            if (seek.amount <  $scope.selectAmount + $scope.fragments[goodsIndex].num) {
-              goods.$checked = false;
-              return;
+          $scope.showUseFlag = false;
+          $scope.setShowUseFlag = function (flag, offer) {
+            if (flag) {
+              $scope.currentOffer = offer;
             }
-            $scope.selectAmount += $scope.fragments[goodsIndex].num;
+            $scope.showUseFlag = flag;
           }
-          $scope.selectPrice += $scope.fragments[goodsIndex].num * $scope.fragments[goodsIndex].price;
-        } else {
-          if (seek.amount) {
-            $scope.selectAmount -= $scope.fragments[goodsIndex].num;
+
+          $scope.selectAmount = 0;
+          $scope.selectPrice = 0;
+          $scope.onSelectGoods = function (goods, seek, goodsIndex) {
+            if (goods.$checked) {
+              if (seek.amount) {
+                if (seek.amount < $scope.selectAmount
+                    + $scope.fragments[goodsIndex].num) {
+                  goods.$checked = false;
+                  return;
+                }
+                $scope.selectAmount += $scope.fragments[goodsIndex].num;
+              }
+              $scope.selectPrice += $scope.fragments[goodsIndex].num
+                  * $scope.fragments[goodsIndex].price;
+            } else {
+              if (seek.amount) {
+                $scope.selectAmount -= $scope.fragments[goodsIndex].num;
+              }
+              $scope.selectPrice -= $scope.fragments[goodsIndex].num
+                  * $scope.fragments[goodsIndex].price;
+            }
           }
-          $scope.selectPrice -= $scope.fragments[goodsIndex].num * $scope.fragments[goodsIndex].price;
-        }
-      }
 
-    }]);
+        }]);
 });

+ 1 - 1
src/main/webapp/resources/js/vendor/app.js

@@ -1035,7 +1035,7 @@ define([ 'angularAMD', 'ngLocal', 'common/services', 'common/directives', 'commo
 
 	app.filter('currencyStr', function () {
 		return function (str) {
-			return str && str != 'RMB' && str != 'USD' ? str.startsWith('RMB') ? '¥' + str.substring(3, str.length) : '$' + str.substring(3, str.length) : '-';
+			return typeof str == 'string' && str != 'RMB' && str != 'USD' ? str.startsWith('RMB') ? '¥' + str.substring(3, str.length) : '$' + str.substring(3, str.length) : '-';
 		}
 	});
 

+ 125 - 138
src/main/webapp/resources/js/vendor/controllers/forstore/seek_purchase_ctrl.js

@@ -1,151 +1,138 @@
-define(['app/app'], function(app) {
-    app.register.controller('seekPurchaseCtrl', ['$scope', '$rootScope', '$stateParams', '$state', 'toaster', 'seekPurchase', 'BaseService', 'ngTableParams', '$modal', function ($scope, $rootScope, $stateParams, $state, toaster, seekPurchase, BaseService, ngTableParams, $modal) {
-        document.title = '求购询价-优软商城';
-        $rootScope.active = 'vendor_seek_purchase';
-        $scope.seekPurchaseRate = {};
-        $scope.offer = {};
+define(['app/app'], function (app) {
+  app.register.controller('seekPurchaseCtrl',
+      ['$scope', '$rootScope', '$stateParams', '$state', 'toaster',
+        'seekPurchase', 'BaseService', 'ngTableParams', '$modal',
+        function ($scope, $rootScope, $stateParams, $state, toaster,
+            seekPurchase, BaseService, ngTableParams, $modal) {
+          document.title = '求购询价-优软商城';
+          $rootScope.active = 'vendor_seek_purchase';
+          $scope.seekPurchaseRate = {};
+          $scope.offer = {};
 
-        // 获取当前卖家求购推送列表
-        $scope.seekPurchaseTableParams = new ngTableParams({
-          page : 1,
-          count : 10
-        }, {
-          total : 0,
-          getData : function ($defer, params) {
-            const param = BaseService.parseParams(params.url());
-            param.deadline = $scope.deadline;
-            param.status = $scope.status;
-            param.keyWord = $scope.keyWord;
-            param.minReleaseDate = $scope.startDate ? $scope.startDate.getTime() : null;
-            param.maxReleaseDate = $scope.endDate ? $scope.endDate.getTime() : null;
-            seekPurchase.getSeekPushGoodsPageInfo(param, function (data) {
-              params.total(data.totalElements);
-              $defer.resolve(data.content);
-            }, function (response) {
-              toaster.pop('error', response.data);
-            });
-          }
-        });
-
-        // 搜索
-        $scope.onSearch = function(){
-          $scope.seekPurchaseTableParams.reload();
-        }
+          // 获取当前卖家求购推送列表
+          $scope.seekPurchaseTableParams = new ngTableParams({
+            page: 1,
+            count: 10
+          }, {
+            total: 0,
+            getData: function ($defer, params) {
+              const param = BaseService.parseParams(params.url());
+              param.deadline = $scope.deadline;
+              param.status = $scope.status;
+              param.keyWord = $scope.keyWord;
+              param.minReleaseDate = $scope.startDate
+                  ? $scope.startDate.getTime() : null;
+              param.maxReleaseDate = $scope.endDate ? $scope.endDate.getTime()
+                  : null;
+              seekPurchase.getSeekPushGoodsPageInfo(param, function (data) {
+                params.total(data.totalElements);
+                $defer.resolve(data.content);
+              }, function (response) {
+                toaster.pop('error', response.data);
+              });
+            }
+          });
 
-        // 保存报价
-        $scope.saveOffer = function (seek){
-          seekPurchase.saveOffer($scope.offer, function(data) {
-            $scope.setSeekActive(seek, false);
+          // 搜索
+          $scope.onSearch = function () {
             $scope.seekPurchaseTableParams.reload();
-            toaster.pop('success', '报价成功');
-          }, function (res) {
-            toaster.pop('error', '报价失败');
-          });
-        }
+          }
+
+          // 保存报价
+          $scope.saveOffer = function (seek) {
+            seekPurchase.saveOffer($scope.offer, function (data) {
+              $scope.setSeekActive(seek, false);
+              $scope.seekPurchaseTableParams.reload();
+              toaster.pop('success', '报价成功');
+            }, function (res) {
+              toaster.pop('error', '报价失败');
+            });
+          }
 
-        $scope.condition = {endDateOpen:false, startDateOpen: false};
+          $scope.condition = {endDateOpen: false, startDateOpen: false};
 
-      $scope.openDatePicker = function ($event, item, openParam,status) {
-        if (status != null) {
-          if (status == 1) {
-            if ($scope.startDate != null) {
-              return;
+          $scope.openDatePicker = function ($event, item, openParam, status) {
+            if (status != null) {
+              if (status == 1) {
+                if ($scope.startDate != null) {
+                  return;
+                }
+              }
+              if (status == 2) {
+                if ($scope.endDate != null) {
+                  return;
+                }
+              }
             }
-          }
-          if (status == 2) {
-            if ($scope.endDate != null) {
-              return;
+            $event.preventDefault();
+            $event.stopPropagation();
+            item[openParam] = !item[openParam];
+            if (openParam == 'startDateOpen') {
+              if (item['endDateOpen']) {
+                item['endDateOpen'] = !item['endDateOpen'];
+              }
+            } else if (openParam == 'endDateOpen') {
+              if (item['startDateOpen']) {
+                item['startDateOpen'] = !item['startDateOpen'];
+              }
             }
+          };
+          $scope.changeEndDate = function () {
+            if ($scope.condition.endDateOpen) {
+              $scope.endDate = $scope.endDate.toString().replace(
+                  /[0-9]{2}:[0-9]{2}:[0-9]{2}/g, '23:59:59');//;'23.59';//DateUtil.yyyyMmDd($scope.endDate.getTime() + 86399000);
+              $scope.endDate = new Date(
+                  formatDateTime(new Date($scope.endDate.toString())));
+            }
+            $scope.vaildDate(false);
+          };
+          $scope.vaildDate = function (isStart) {
+            if ($scope.endDate !== null && $scope.startDate > $scope.endDate) {
+              if (isStart) {
+                alert("开始日期大于结束日期,请重新输入!");
+                $scope.startDate = null;
+              } else {
+                alert("开始日期大于结束日期,请重新输入!");
+                $scope.endDate = null;
+              }
+            }
+          };
+          var formatDateTime = function (date) {
+            var y = date.getFullYear();
+            var m = date.getMonth() + 1;
+            m = m < 10 ? ('0' + m) : m;
+            var d = date.getDate();
+            d = d < 10 ? ('0' + d) : d;
+            var h = date.getHours();
+            var minute = date.getMinutes();
+            var sec = date.getSeconds();
+            minute = minute < 10 ? ('0' + minute) : minute;
+            return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + sec;
+          };
+          // 选择查找日期
+          $scope.onDateCondition = function () {
+            $scope.param.page = 1;
+            $scope.orderTableParams.page(1);
+            $scope.orderTableParams.reload();
+          };
+
+          /*获取时间戳代表的天数*/
+          $scope.getDay = function (timeStamp) {
+            return Math.floor(timeStamp / (1000 * 60 * 60 * 24));
           }
-        }
-        $event.preventDefault();
-        $event.stopPropagation();
-        item[openParam] = !item[openParam];
-        if (openParam == 'startDateOpen') {
-          if (item['endDateOpen']) {
-            item['endDateOpen'] = !item['endDateOpen'];
-          }
-        } else if (openParam == 'endDateOpen') {
-          if (item['startDateOpen']){
-            item['startDateOpen'] = !item['startDateOpen'];
-          }
-        }
-      };
-      $scope.changeEndDate = function () {
-        if ($scope.condition.endDateOpen) {
-          $scope.endDate = $scope.endDate.toString().replace(/[0-9]{2}:[0-9]{2}:[0-9]{2}/g, '23:59:59');//;'23.59';//DateUtil.yyyyMmDd($scope.endDate.getTime() + 86399000);
-          $scope.endDate = new Date(formatDateTime(new Date($scope.endDate.toString())));
-        }
-        $scope.vaildDate(false);
-      };
-      $scope.vaildDate = function (isStart) {
-        if ($scope.endDate !== null && $scope.startDate>$scope.endDate){
-          if (isStart) {
-            alert("开始日期大于结束日期,请重新输入!");
-            $scope.startDate = null;
-          } else {
-            alert("开始日期大于结束日期,请重新输入!");
-            $scope.endDate = null;
+          /*获取时间戳代表的小时*/
+          $scope.getHours = function (timeStamp) {
+            return Math.floor((timeStamp / (1000 * 60 * 60)) % 24);
           }
-        }
-      };
-      var formatDateTime = function (date) {
-        var y = date.getFullYear();
-        var m = date.getMonth() + 1;
-        m = m < 10 ? ('0' + m) : m;
-        var d = date.getDate();
-        d = d < 10 ? ('0' + d) : d;
-        var h = date.getHours();
-        var minute = date.getMinutes();
-        var sec = date.getSeconds();
-        minute = minute < 10 ? ('0' + minute) : minute;
-        return y + '-' + m + '-' + d+' '+h+':'+minute+':'+sec;
-      };
-      // 选择查找日期
-      $scope.onDateCondition = function () {
-        $scope.param.page = 1;
-        $scope.orderTableParams.page(1);
-        $scope.orderTableParams.reload();
-      };
-
-      /*获取时间戳代表的天数*/
-      $scope.getDay = function (timeStamp) {
-        return Math.floor(timeStamp / (1000 * 60 * 60 * 24));
-      }
-      /*获取时间戳代表的小时*/
-      $scope.getHours = function (timeStamp) {
-        return Math.floor((timeStamp / (1000 * 60 * 60)) % 24);
-      }
 
-      /*设置列表状态*/
-      $scope.setSeekActive = function (seek, flag) {
-        seek.$active = flag;
-        console.info(seek);
-        if (flag) {
-          $scope.offer.currency = seek.currency ? "RMB" : seek.currency;
-          $scope.offer.spId = seek.spId;
-        }
-      }
-
-      /*上架模态框*/
-      $scope.goGrounding = function (seek) {
-        $modal.open({
-          templateUrl : 'static/view/vendor/modal/groundingSeek.html',
-          controller : 'groundingSeekCtrl',
-          size : 'lg',
-          resolve : {
-            seek : function() {
-              return angular.copy(seek);
+          /*设置列表状态*/
+          $scope.setSeekActive = function (seek, flag) {
+            seek.$active = flag;
+            console.info(seek);
+            if (flag) {
+              $scope.offer.currency = seek.currency ? "RMB" : seek.currency;
+              $scope.offer.spId = seek.spId;
             }
           }
-        });
-      }
-
-    }]);
-  app.register.controller('groundingSeekCtrl', ['$scope', 'toaster', 'seek', '$modalInstance', function ($scope, toaster, seek, $modalInstance) {
-    $scope.seek = seek;
-    $scope.cancel = function () {
-      $modalInstance.dismiss();
-    }
-  }]);
+        }]);
 });

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

@@ -577,7 +577,7 @@
                                         </td>
                                         <td width="186" class="operate">
                                             <a>联系卖家 <img src="static/img/seekPurchase/link-buyer.png" alt=""></a>
-                                            <span>立即购买</span>
+                                            <span ng-click = "purchase(go, $index)">立即购买</span>
                                         </td>
                                     </tr>
                                     </tbody>

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

@@ -457,8 +457,7 @@
                 <td ng-bind="seek.produceDate || '--'"></td>
                 <td ng-bind="seek.amount || '--'"></td>
                 <td class="unit-price">
-                    <div ng-if="!seek.unitPrice || seek.unitPrice == null">-</div>
-                    <span ng-if="seek.unitPrice">{{(seek.currency=='RMB'?'¥':'$')+seek.unitPrice | currencyStr}}</span>
+                    <span>{{seek.currency + seek.unitPrice | currencyStr}}</span>
                 </td>
                 <td class="left-time" ng-if="seek.remainingTime > 0">剩余&nbsp;<span ng-bind="getDay(seek.remainingTime)"></span>&nbsp;天&nbsp;<span ng-bind="getHours(seek.remainingTime)">5</span>&nbsp;小时</td>
                 <td class="left-time" ng-if="seek.remainingTime <= 0"><span>已截止</span></td>

+ 2 - 4
src/main/webapp/resources/view/vendor/forstore/seekPurchase.html

@@ -398,11 +398,9 @@
                     </td>
                     <td class="left-time" ng-if="seek.remainingTime > 0">剩余&nbsp;<span ng-bind="getDay(seek.remainingTime)"></span>&nbsp;天&nbsp;<span ng-bind="getHours(seek.remainingTime)">5</span>&nbsp;小时</td>
                     <td class="left-time" ng-if="seek.remainingTime <= 0"><span>已截止</span></td>
-                    <td class="operate" ng-switch="seek.status">
+                    <td class="operate">
                         <a>联系买家 <img src="static/img/seekPurchase/link-buyer.png" alt=""></a>
-                        <div  ng-switch-when="200" ng-click="setSeekActive(seek, true)">我要报价</div>
-                        <span ng-switch-when="201">已报价 <img src="static/img/seekPurchase/check.png" alt=""></span>
-                        <img ng-switch-when="202" src="static/img/seekPurchase/recieved.png" alt="">
+                        <div ng-click="setSeekActive(seek, true)">我要报价</div>
                     </td>
                 </tr>
                 <tr class="say-price">