Prechádzať zdrojové kódy

投标列表显示修改,消息显示修改。

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@7951 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw 9 rokov pred
rodič
commit
85b7fbf31f
21 zmenil súbory, kde vykonal 724 pridanie a 443 odobranie
  1. 32 7
      src/main/java/com/uas/platform/b2b/controller/PurchaseTenderController.java
  2. 2 1
      src/main/java/com/uas/platform/b2b/controller/SnapshotController.java
  3. 21 19
      src/main/java/com/uas/platform/b2b/mobile/service/impl/MobileReleaseServiceImpl.java
  4. 1 0
      src/main/java/com/uas/platform/b2b/model/SaleTender.java
  5. 10 1
      src/main/java/com/uas/platform/b2b/search/SearchService.java
  6. 21 0
      src/main/java/com/uas/platform/b2b/search/SearchServiceImpl.java
  7. 15 6
      src/main/java/com/uas/platform/b2b/service/PurchaseTenderService.java
  8. 32 10
      src/main/java/com/uas/platform/b2b/service/impl/PurchaseTenderServiceImpl.java
  9. 6 7
      src/main/java/com/uas/platform/b2b/service/impl/ShipAddressServiceImpl.java
  10. 8 8
      src/main/webapp/resources/js/common/services.js
  11. 274 204
      src/main/webapp/resources/js/index/app.js
  12. 23 18
      src/main/webapp/resources/js/index/services/Purc.js
  13. 4 4
      src/main/webapp/resources/tpl/index/home/left.html
  14. 23 20
      src/main/webapp/resources/tpl/index/home/pagingRelease.html
  15. 5 2
      src/main/webapp/resources/tpl/index/home/right.html
  16. 4 4
      src/main/webapp/resources/tpl/index/purc/tender.html
  17. 2 2
      src/main/webapp/resources/tpl/index/purc/tender_evaluation.html
  18. 24 3
      src/main/webapp/resources/tpl/index/sale/open_tender_detail.html
  19. 3 3
      src/main/webapp/resources/tpl/index/sale/open_tender_list.html
  20. 7 6
      src/main/webapp/resources/tpl/index/sale/tender.html
  21. 207 118
      src/main/webapp/resources/tpl/index/sale/tenderlist.html

+ 32 - 7
src/main/java/com/uas/platform/b2b/controller/PurchaseTenderController.java

@@ -136,7 +136,7 @@ public class PurchaseTenderController {
             saleTenderAttaches = FlexJsonUtils.fromJsonArray(attaches, Attach.class);
             saleTenderAttaches = FlexJsonUtils.fromJsonArray(attaches, Attach.class);
         }
         }
         purchaseTenderService.reply(saleTenderItems, vendor, saleTenderAttaches);
         purchaseTenderService.reply(saleTenderItems, vendor, saleTenderAttaches);
-        logger.log("供应商投标", "供应商对招标单进行投标",  "供应商名称" + saleTenderItems.get(0).getSaleTender().getEnterpriseBaseInfo().getEnName() + ",招标单号: "+ saleTenderItems.get(0).getTenderProd().getTender().getCode());
+//        logger.log("供应商投标", "供应商对招标单进行投标",  "供应商名称" + saleTenderItems.get(0).getSaleTender().getEnterpriseBaseInfo().getEnName() + ",招标单号: "+ saleTenderItems.get(0).getTenderProd().getTender().getCode());
         return new ResponseEntity<String>(HttpStatus.OK);
         return new ResponseEntity<String>(HttpStatus.OK);
     }
     }
 
 
@@ -252,7 +252,7 @@ public class PurchaseTenderController {
     }
     }
 
 
     /**
     /**
-     * 作为供应商,查看收到的招标单(评标)
+     * 作为供应商,查看收到的招标单(评标)
      *
      *
      * @param params
      * @param params
      * @return
      * @return
@@ -260,6 +260,34 @@ public class PurchaseTenderController {
     @RequestMapping(params = RequestState.DONE, method = RequestMethod.GET)
     @RequestMapping(params = RequestState.DONE, method = RequestMethod.GET)
     @ResponseBody
     @ResponseBody
     public SPage<PurchaseTender> getDoneTenders(PageParams params, String searchFilter) {
     public SPage<PurchaseTender> getDoneTenders(PageParams params, String searchFilter) {
+        logger.log("客户招标单", "查看客户发出的招标单(已结标)");
+        JSONObject jsonObject = JSONObject.parseObject(searchFilter);
+        String keyword = jsonObject.getString("keyword");
+        com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
+        // 判断当前用户是否被客户分配
+        SearchFilter filter = userService.distribute();
+        if (filter != null && filter.getDistribute() == null) {
+            return null;
+        }
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("pt_id", false, Sort.Type.LONG, new Long(1)));
+        pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+        pageParams.getFilters().put("tp_ptid", SystemSession.getUser().getEnterprise().getEnName());
+        pageParams.getFilters().put("pt_ispublish", Constant.YES);
+//        pageParams.getFilters().put("pt_ifopen", Constant.NO);
+        pageParams.getFilters().put("pt_result", Constant.YES);
+        return searchService.searchPurcTenderIds(keyword, pageParams);
+    }
+
+    /**
+     * 作为供应商,查看收到的招标单(待评标)
+     *
+     * @param params
+     * @return
+     */
+    @RequestMapping(params = RequestState.WAITING, method = RequestMethod.GET)
+    @ResponseBody
+    public SPage<PurchaseTender> getWaitingTenders(PageParams params, String searchFilter) {
         logger.log("客户招标单", "查看客户发出的招标单(待评标)");
         logger.log("客户招标单", "查看客户发出的招标单(待评标)");
         JSONObject jsonObject = JSONObject.parseObject(searchFilter);
         JSONObject jsonObject = JSONObject.parseObject(searchFilter);
         String keyword = jsonObject.getString("keyword");
         String keyword = jsonObject.getString("keyword");
@@ -308,8 +336,6 @@ public class PurchaseTenderController {
         pageParams.getFilters().put("pt_ispublish", Constant.YES);
         pageParams.getFilters().put("pt_ispublish", Constant.YES);
 //        pageParams.getFilters().put("pt_ifopen", Constant.NO);
 //        pageParams.getFilters().put("pt_ifopen", Constant.NO);
         pageParams.getFilters().put("pt_overdue", Constant.NO);
         pageParams.getFilters().put("pt_overdue", Constant.NO);
-        System.out.println("pageParams" + JSON.toJSONString(pageParams));
-        System.out.println("return" + JSON.toJSONString(searchService.searchPurcTenderIds(keyword, pageParams)));
         return searchService.searchPurcTenderIds(keyword, pageParams);
         return searchService.searchPurcTenderIds(keyword, pageParams);
     }
     }
 
 
@@ -362,7 +388,7 @@ public class PurchaseTenderController {
         pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         pageParams.getFilters().put("pt_ispublish", Constant.YES);
         pageParams.getFilters().put("pt_ispublish", Constant.YES);
         pageParams.getFilters().put("pt_ifopen", Constant.YES);
         pageParams.getFilters().put("pt_ifopen", Constant.YES);
-        return searchService.searchPurcTenderIds(keyword, pageParams);
+        return searchService.searchOpenPurcTenderIds(keyword, pageParams);
     }
     }
 
 
 
 
@@ -609,12 +635,11 @@ public class PurchaseTenderController {
     /**
     /**
      * 查看最近公开招标
      * 查看最近公开招标
      *
      *
-     * @param params
      * @return
      * @return
      */
      */
     @RequestMapping(value = "/latestOpenTender", method = RequestMethod.GET)
     @RequestMapping(value = "/latestOpenTender", method = RequestMethod.GET)
     @ResponseBody
     @ResponseBody
-    public List<PurchaseTender> getLatestOpenTender(PageParams params) {
+    public List<PurchaseTender> getLatestOpenTender() {
 //        PageInfo info = new PageInfo(params);
 //        PageInfo info = new PageInfo(params);
 //        info.sorting("date", Direction.DESC); // 按发布日期倒序
 //        info.sorting("date", Direction.DESC); // 按发布日期倒序
         return purchaseTenderService.findOpen();
         return purchaseTenderService.findOpen();

+ 2 - 1
src/main/java/com/uas/platform/b2b/controller/SnapshotController.java

@@ -171,7 +171,8 @@ public class SnapshotController {
 
 
 		// 招标单
 		// 招标单
 		modelMap.put("tenderTodo", tenderService.getTenderTodoCount());
 		modelMap.put("tenderTodo", tenderService.getTenderTodoCount());
-		modelMap.put("tenderDoing", tenderService.getTenderDoingCount());
+		modelMap.put("saleTenderTodo", tenderService.getSaleTenderTodoCount());
+		modelMap.put("saleTenderWaiting", tenderService.getSaleTenderWaitingCount());
 		return modelMap;
 		return modelMap;
 	}
 	}
 
 

+ 21 - 19
src/main/java/com/uas/platform/b2b/mobile/service/impl/MobileReleaseServiceImpl.java

@@ -223,26 +223,28 @@ public class MobileReleaseServiceImpl implements MobileReleaseService {
     @Override
     @Override
     public void pushReleases(List<PagingReleaseDetail> pagingReleaseDetails) {
     public void pushReleases(List<PagingReleaseDetail> pagingReleaseDetails) {
         for (PagingReleaseDetail releaseDetail : pagingReleaseDetails) {
         for (PagingReleaseDetail releaseDetail : pagingReleaseDetails) {
-            Map<String, Object> params = new HashMap<>();
-            User vendUser = userDao.findOne(releaseDetail.getVendUserUU());
-            Enterprise vendor = enterpriseDao.findOne(releaseDetail.getVendUU());
-            if (vendUser.getUserIMId() != null) {
-                params.put("master", vendor.getEnName());//账套 公司名称
-                params.put("userid", String.valueOf(vendUser.getUserIMId()));//推送目标用户
-                params.put("title", releaseDetail.getPagingRelease().getTitle());//推送标题
-                params.put("content", releaseDetail.getPagingRelease().getContext());//正文
-                params.put("enUU", String.valueOf(releaseDetail.getVendUU()));//UU号
+            if (releaseDetail.getVendUserUU() != null) {
+                Map<String, Object> params = new HashMap<>();
+                User vendUser = userDao.findOne(releaseDetail.getVendUserUU());
+                Enterprise vendor = enterpriseDao.findOne(releaseDetail.getVendUU());
+                if (vendUser.getUserIMId() != null) {
+                    params.put("master", vendor.getEnName());//账套 公司名称
+                    params.put("userid", String.valueOf(vendUser.getUserIMId()));//推送目标用户
+                    params.put("title", releaseDetail.getPagingRelease().getTitle());//推送标题
+                    params.put("content", releaseDetail.getPagingRelease().getContext());//正文
+                    params.put("enUU", String.valueOf(releaseDetail.getVendUU()));//UU号
 //                params.put("masterId", masterId);//账套ID
 //                params.put("masterId", masterId);//账套ID
-                params.put("url", "");//跳转链接地址
-                params.put("pageTitle", releaseDetail.getPagingRelease().getTitle());//页面标题
-                params.put("platform", "B2B");//系统名称,ERP或
-                ResponseWrap res = null;
-                try {
-                    res = HttpUtil.doPost(PROD_URL, params);
-                    if (!res.isSuccess())
-                        throw new Exception(res.getContent());
-                } catch (Exception e) {
-                    e.printStackTrace();
+                    params.put("url", "");//跳转链接地址
+                    params.put("pageTitle", releaseDetail.getPagingRelease().getTitle());//页面标题
+                    params.put("platform", "B2B");//系统名称,ERP或
+                    ResponseWrap res = null;
+                    try {
+                        res = HttpUtil.doPost(PROD_URL, params);
+                        if (!res.isSuccess())
+                            throw new Exception(res.getContent());
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
                 }
                 }
             }
             }
         }
         }

+ 1 - 0
src/main/java/com/uas/platform/b2b/model/SaleTender.java

@@ -382,4 +382,5 @@ public class SaleTender implements Serializable, Comparable<SaleTender> {
     public int compareTo(SaleTender o) {
     public int compareTo(SaleTender o) {
         return this.getId().compareTo(o.getId());
         return this.getId().compareTo(o.getId());
     }
     }
+
 }
 }

+ 10 - 1
src/main/java/com/uas/platform/b2b/search/SearchService.java

@@ -269,6 +269,15 @@ public interface SearchService {
 	 */
 	 */
 	public SPage<PurchaseTender> searchPurcTenderIds(String keyword, PageParams pageParams);
 	public SPage<PurchaseTender> searchPurcTenderIds(String keyword, PageParams pageParams);
 
 
+	/**
+	 * 公开招标单
+	 *
+	 * @param keyword
+	 * @param pageParams
+	 * @return
+	 */
+	SPage<PurchaseTender> searchOpenPurcTenderIds(String keyword, PageParams pageParams);
+
 	/**
 	/**
 	 * 将com.uas.platform.core.model.PageParams转为搜索项目下的PageParams
 	 * 将com.uas.platform.core.model.PageParams转为搜索项目下的PageParams
 	 * 
 	 * 
@@ -359,7 +368,7 @@ public interface SearchService {
 
 
 	/**
 	/**
 	 * 企业圈
 	 * 企业圈
-	 * 
+	 *
 	 * @param keyword
 	 * @param keyword
 	 * @param pageParams
 	 * @param pageParams
 	 * @return
 	 * @return

+ 21 - 0
src/main/java/com/uas/platform/b2b/search/SearchServiceImpl.java

@@ -682,6 +682,27 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
 		return toSPage(idsPage, content);
 		return toSPage(idsPage, content);
 	}
 	}
 
 
+	/**
+	 *  公开招标单
+	 * @param keyword
+	 * @param pageParams
+	 * @return
+	 */
+	@Override
+	public SPage<PurchaseTender> searchOpenPurcTenderIds(String keyword, PageParams pageParams) {
+		SPage<Long> idsPage = searchService.searchIds(keyword, Table_name.PURC$TENDER, pageParams);
+		List<PurchaseTender> content = purchaseTenderDao.findAll(idsPage.getContent());
+		List<PurchaseTender> tenderList = new ArrayList<>();
+		Long currentUU = SystemSession.getUser().getEnterprise().getUu();
+		for (PurchaseTender tender : content) {  //过滤掉本企业的公开招标单
+			if (currentUU.intValue() != tender.getEnUU().intValue()) {
+				tenderList.add(tender);
+			}
+		}
+		sortByProperty(tenderList, PurchaseTender.class, "id", idsPage.getContent());
+		return toSPage(idsPage, tenderList);
+	}
+
 	/**
 	/**
 	 * 供应商,客户
 	 * 供应商,客户
 	 */
 	 */

+ 15 - 6
src/main/java/com/uas/platform/b2b/service/PurchaseTenderService.java

@@ -118,12 +118,6 @@ public interface PurchaseTenderService {
 	 */
 	 */
 	public Long getTenderTodoCount();
 	public Long getTenderTodoCount();
 
 
-	/**
-	 * 进行中的招标单
-	 *
-	 * @return
-	 */
-	public Long getTenderDoingCount();
 
 
     ModelMap releaseByWorkbook(Workbook workbook);
     ModelMap releaseByWorkbook(Workbook workbook);
 
 
@@ -173,4 +167,19 @@ public interface PurchaseTenderService {
      * @param vendUU
      * @param vendUU
      */
      */
     void removeSaleTender(PurchaseTender purchaseTender, Long vendUU);
     void removeSaleTender(PurchaseTender purchaseTender, Long vendUU);
+
+
+    /**
+     * 待投标的招标单(采购)
+     *
+     * @return
+     */
+    Long getSaleTenderTodoCount();
+
+    /**
+     * 待评标的招标单(采购)
+     *
+     * @return
+     */
+    Long getSaleTenderWaitingCount();
 }
 }

+ 32 - 10
src/main/java/com/uas/platform/b2b/service/impl/PurchaseTenderServiceImpl.java

@@ -297,6 +297,8 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
             tenderItem.setTenderProd(tenderProd);
             tenderItem.setTenderProd(tenderProd);
             saleTenderItemDao.saveAndFlush(tenderItem);
             saleTenderItemDao.saveAndFlush(tenderItem);
         }
         }
+        tender.setModified(new Date());
+        purchaseTenderDao.save(tender);
         return tender;
         return tender;
     }
     }
 
 
@@ -614,7 +616,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
         boolean isApply = false;
         boolean isApply = false;
         for (PurchaseTenderProd tenderProd : purchaseTender.getPurchaseTenderProds()) {
         for (PurchaseTenderProd tenderProd : purchaseTender.getPurchaseTenderProds()) {
             for (SaleTenderItem tenderItem : tenderProd.getSaleTenderItems()) {
             for (SaleTenderItem tenderItem : tenderProd.getSaleTenderItems()) {
-                if (tenderItem.getApplyStatus() == Constant.YES) {
+                if (tenderItem.getApplyStatus() != null && tenderItem.getApplyStatus() == Constant.YES) {
                     isApply = true; // 只要有定标的明细,就确认状态为已结标
                     isApply = true; // 只要有定标的明细,就确认状态为已结标
                 }
                 }
             }
             }
@@ -637,20 +639,40 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
 	@Override
 	@Override
 	public Long getTenderTodoCount() {
 	public Long getTenderTodoCount() {
 		Long count = commonDao.queryForObject(
 		Long count = commonDao.queryForObject(
-				"select count(*) from v$purc$tender pu left join sale$tender sa on sa.st_code = pu.pt_code and sa.st_enuu = pu.pt_enuu where pu.pt_ifopen = 0 and pu.pt_ispublish = 1 and pu.pt_overdue = 0 and sa.st_venduu = "
+				"select count(*) from v$purc$tender pu left join sale$tender sa on sa.st_code = pu.pt_code and sa.st_enuu = pu.pt_enuu where pu.pt_ispublish = 1 and pu.pt_overdue = 0 and sa.st_venduu = "
 						+ SystemSession.getUser().getEnterprise().getUu(),
 						+ SystemSession.getUser().getEnterprise().getUu(),
 				Long.class);
 				Long.class);
 		return count;
 		return count;
 	}
 	}
 
 
-	@Override
-	public Long getTenderDoingCount() {
-		Long count = commonDao.queryForObject(
-				"select count(*) from v$purc$tender pu left join sale$tender sa on sa.st_code = pu.pt_code and sa.st_enuu = pu.pt_enuu where pu.pt_ifopen = 0 and pu.pt_ispublish = 1 and pu.pt_result = 0 and sa.st_venduu = "
-						+ SystemSession.getUser().getEnterprise().getUu(),
-				Long.class);
-		return count;
-	}
+    /**
+     * 待投标的招标单(采购)
+     *
+     * @return
+     */
+    @Override
+    public Long getSaleTenderTodoCount() {
+        Long count = commonDao.queryForObject(
+                "select count(*) from v$purc$tender pu where pu.pt_ispublish = 1 and pu.pt_overdue = 0 and pu.pt_enuu = "
+                        + SystemSession.getUser().getEnterprise().getUu(),
+                Long.class);
+        return count;
+    }
+
+    /**
+     * 待评标的招标单(采购)
+     *
+     * @return
+     */
+    @Override
+    public Long getSaleTenderWaitingCount() {
+        Long count = commonDao.queryForObject(
+                "select count(*) from v$purc$tender pu where pu.pt_ispublish = 1 and pu.pt_overdue = 1 and pu.pt_result = 0 and pu.pt_enuu = "
+                        + SystemSession.getUser().getEnterprise().getUu(),
+                Long.class);
+        return count;
+    }
+
 
 
 //    @Override
 //    @Override
 //    public List<SaleTender> getItemsByTenderId(Long id) {
 //    public List<SaleTender> getItemsByTenderId(Long id) {

+ 6 - 7
src/main/java/com/uas/platform/b2b/service/impl/ShipAddressServiceImpl.java

@@ -1,16 +1,15 @@
 package com.uas.platform.b2b.service.impl;
 package com.uas.platform.b2b.service.impl;
 
 
-import java.util.Date;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.ui.ModelMap;
-
 import com.uas.platform.b2b.dao.ShipAddressDao;
 import com.uas.platform.b2b.dao.ShipAddressDao;
 import com.uas.platform.b2b.model.ShipAddress;
 import com.uas.platform.b2b.model.ShipAddress;
 import com.uas.platform.b2b.service.ShipAddressService;
 import com.uas.platform.b2b.service.ShipAddressService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.SystemSession;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.ui.ModelMap;
+
+import java.util.Date;
+import java.util.List;
 
 
 @Service
 @Service
 public class ShipAddressServiceImpl implements ShipAddressService {
 public class ShipAddressServiceImpl implements ShipAddressService {

+ 8 - 8
src/main/webapp/resources/js/common/services.js

@@ -186,14 +186,14 @@ define(['angular', 'toaster'], function(angular) {
                     success.call(null, data.content);
                     success.call(null, data.content);
                 });
                 });
             },
             },
-            getTender: function(count, success) {
-                var request = $http.get(rootPath + '/tender/latestTender?page=1&count=' + count);
-                request.success(function(data) {
-                    success.call(null, data);
-                });
-            },
-            getOpenTender: function(count, success) {
-                var request = $http.get(rootPath + '/tender/latestOpenTender?page=1&count=' + count);
+            // getTender: function(count, success) {
+            //     var request = $http.get(rootPath + '/tender/latestTender?page=1&count=' + count);
+            //     request.success(function(data) {
+            //         success.call(null, data);
+            //     });
+            // },
+            getOpenTender: function(success) {
+                var request = $http.get(rootPath + '/tender/latestOpenTender');
                 request.success(function(data) {
                 request.success(function(data) {
                     success.call(null, data);
                     success.call(null, data);
                 });
                 });

+ 274 - 204
src/main/webapp/resources/js/index/app.js

@@ -1363,27 +1363,27 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 		$scope.dateTime = new Date();
 		$scope.dateTime = new Date();
 	}]);
 	}]);
     app.controller('TenderCtrl', ['$scope', 'SnapshotService', function($scope, SnapshotService){
     app.controller('TenderCtrl', ['$scope', 'SnapshotService', function($scope, SnapshotService){
-        SnapshotService.getTender(250, function(data){
-            $scope.tenders = data;
-            console.log(data);
-            var newDate = new Date();
-            newDate = newDate.setDate(newDate.getDate() - 3);
-            angular.forEach($scope.tenders, function(tender) {
-                if (tender.date > newDate) {
-                    tender.isNew = true;
-                } else {
-                    tender.isNew = false;
-                }
-            });
-        });
+        // SnapshotService.getTender(250, function(data){
+        //     $scope.tenders = data;
+        //     console.log(data);
+        //     var newDate = new Date();
+        //     newDate = newDate.setDate(newDate.getDate() - 3);
+        //     angular.forEach($scope.tenders, function(tender) {
+        //         if (tender.date > newDate) {
+        //             tender.isNew = true;
+        //         } else {
+        //             tender.isNew = false;
+        //         }
+        //     });
+        // });
 
 
-        SnapshotService.getOpenTender(250, function(data){
+        SnapshotService.getOpenTender(function(data){
             $scope.openTenders = data;
             $scope.openTenders = data;
             var newDate = new Date();
             var newDate = new Date();
             console.log(data);
             console.log(data);
-            newDate = newDate.setDate(newDate.getDate() - 3);
+            newDate = newDate.getTime() - 3*24*60*60*1000;
             angular.forEach($scope.openTenders, function(tender) {
             angular.forEach($scope.openTenders, function(tender) {
-                if (tender.date > newDate) {
+                if (tender.date - newDate > 0) {
                     tender.isNew = true;
                     tender.isNew = true;
                 } else {
                 } else {
                     tender.isNew = false;
                     tender.isNew = false;
@@ -1872,7 +1872,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
   				fn = 'getPurcWaiting';break;
   				fn = 'getPurcWaiting';break;
   			}
   			}
   			return fn;
   			return fn;
-  		}
+  		};
   		
   		
   		$scope.tableParams = new ngTableParams({ // ng-Table参数
   		$scope.tableParams = new ngTableParams({ // ng-Table参数
   			page : 1,
   			page : 1,
@@ -10637,6 +10637,24 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
     app.controller('PurcTenderCtrl', ['$scope', '$filter', 'PurcTender', 'ngTableParams', 'toaster', 'BaseService', '$stateParams', '$modal', '$rootScope', function($scope, $filter, PurcTender, ngTableParams, toaster, BaseService, $stateParams, $modal, $rootScope) {
     app.controller('PurcTenderCtrl', ['$scope', '$filter', 'PurcTender', 'ngTableParams', 'toaster', 'BaseService', '$stateParams', '$modal', '$rootScope', function($scope, $filter, PurcTender, ngTableParams, toaster, BaseService, $stateParams, $modal, $rootScope) {
     	BaseService.scrollBackToTop();
     	BaseService.scrollBackToTop();
     	$scope.active = 'done';
     	$scope.active = 'done';
+        $scope.dateZoneText = '不限';
+        $scope.deliveryZoneText = '不限';
+        $scope.condition = {dateZone: -1, deliveryZone: -1};
+        $scope.changeDateZone = function(zone) {
+            $scope.condition.dateZone = zone;
+            $scope.dateZoneText = typeof zone == 'undefined' ? '半年前' : (zone == -1 ? '不限' : (zone == 1 ? '一个月内' : '半年内'));
+            $scope.condition.$dateZoneOpen = false;
+            getDateCondition(zone, $scope.condition);
+            $scope.tableParams.reload();
+        };
+        $scope.changeDeliveryZone = function(zone) {
+            $scope.condition.deliveryZoneText = zone;
+            $scope.deliveryZoneText = typeof zone == 'undefined' ? '不限' : (zone == -1 ? '不限' : (zone == 1 ? '一个月内' : '两个月内'));
+            $scope.condition.$delievryZoneOpen = false;
+            getDelveryCondition(zone, $scope.condition);
+            $scope.tableParams.reload();
+        };
+
         $scope.setActive = function(state) {
         $scope.setActive = function(state) {
             if($scope.active != state) {
             if($scope.active != state) {
                 $scope.active = state;
                 $scope.active = state;
@@ -10678,9 +10696,9 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
                 var pageParams = params.url();
                 var pageParams = params.url();
                 var realActive = {};
                 var realActive = {};
                 pageParams.searchFilter = { // 筛选条件
                 pageParams.searchFilter = { // 筛选条件
-                    keyword: $scope.keyword
-                    // fromDate: getDateTime($scope.condition.dateFrom),
-                    // endDate: getDateTime($scope.condition.dateTo)
+                    keyword: $scope.keyword,
+                    fromDate: getDateTime($scope.condition.dateFrom),
+                    endDate: getDateTime($scope.condition.dateTo)
                 };
                 };
                 PurcTender[getTenderStatus($scope.active)].call(null, BaseService.parseParams(pageParams), function(page){
                 PurcTender[getTenderStatus($scope.active)].call(null, BaseService.parseParams(pageParams), function(page){
                     $scope.loading = false;
                     $scope.loading = false;
@@ -10696,6 +10714,25 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
             }
             }
         });
         });
 
 
+        $scope.openDatePicker = function($event, item, openParam) {
+            $event.preventDefault();
+            $event.stopPropagation();
+            item[openParam] = !item[openParam];
+        };
+
+        $scope.parseDate = function(dateStr) {
+            if(dateStr)
+                return Date.parse(dateStr, 'yyyy-MM-dd');
+            return new Date();
+        };
+
+
+        // 选择查找日期
+        $scope.onDateCondition = function(){
+            $scope.tableParams.page(1);
+            $scope.tableParams.reload();
+        };
+
         // 搜索框回车
         // 搜索框回车
         $scope.onSearch = function() {
         $scope.onSearch = function() {
             $scope.tableParams.page(1);
             $scope.tableParams.page(1);
@@ -10719,10 +10756,13 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
         $scope.loading = false;
         $scope.loading = false;
 
 
         // 获取收货地址列表
         // 获取收货地址列表
-        ShipAddress.shipAddList({}, function(data) {
-            $scope.ships = data;
-            $scope.tender.shipadd = $scope.ships[0];
-        });
+        var loadShipAddress = function() {
+            ShipAddress.shipAddList({}, function(data) {
+                $scope.ships = data;
+                $scope.tender.shipadd = $scope.ships[0];
+            });
+        };
+        loadShipAddress();
 
 
         // 获取地址信息
         // 获取地址信息
         $http.get('resources/citydata/city.json',  {"Accept": "application/json;charset=utf-8", "Accept-Charset":"charset=utf-8"
         $http.get('resources/citydata/city.json',  {"Accept": "application/json;charset=utf-8", "Accept-Charset":"charset=utf-8"
@@ -10736,10 +10776,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
             ShipAddress.saveAddress( {}, ship, function(data) {
             ShipAddress.saveAddress( {}, ship, function(data) {
                 if(data.success) {
                 if(data.success) {
                     // 获取收货地址列表
                     // 获取收货地址列表
-                    ShipAddress.shipAddList({}, function(data) {
-                        $scope.ships = data;
-                        $scope.tender.shipadd = $scope.ships[0];
-                    });
+                    loadShipAddress();
                     toaster.pop('success', '提示', data.success);
                     toaster.pop('success', '提示', data.success);
                 }
                 }
                 if(data.error) {
                 if(data.error) {
@@ -11629,13 +11666,52 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 
 
 
 
     /**
     /**
-     *  客户指定招标
+     *  客户招标
      *
      *
      */
      */
     app.controller('SaleTenderCtrl', ['$scope', '$filter', 'PurcTender', 'ngTableParams', 'toaster', 'BaseService', '$stateParams', '$modal', '$rootScope', 'AccountEnterprise', function($scope, $filter, PurcTender, ngTableParams, toaster, BaseService, $stateParams, $modal, $rootScope, AccountEnterprise) {
     app.controller('SaleTenderCtrl', ['$scope', '$filter', 'PurcTender', 'ngTableParams', 'toaster', 'BaseService', '$stateParams', '$modal', '$rootScope', 'AccountEnterprise', function($scope, $filter, PurcTender, ngTableParams, toaster, BaseService, $stateParams, $modal, $rootScope, AccountEnterprise) {
     	BaseService.scrollBackToTop();
     	BaseService.scrollBackToTop();
     	$scope.active = 'todo';
     	$scope.active = 'todo';
-        $scope.condition = {dateZone: 1};
+
+        /**
+         * 改变类型
+         */
+        var getTypeCondition = function(zone, condition) {
+            if(zone == -1) {
+                condition.ifOpen = null;
+            } else if(zone == 1) {
+                condition.ifOpen = 1;
+            } else {
+                condition.ifOpen = 0;
+            }
+        };
+
+        $scope.dateZoneText = '不限';
+        $scope.typeText = '全部';
+        $scope.deliveryZoneText = '不限';
+        $scope.condition = {dateZone: -1, deliveryZone: -1, type: -1};
+        $scope.changeDateZone = function(zone) {
+            $scope.condition.dateZone = zone;
+            $scope.dateZoneText = typeof zone == 'undefined' ? '半年前' : (zone == -1 ? '不限' : (zone == 1 ? '一个月内' : '半年内'));
+            $scope.condition.$dateZoneOpen = false;
+            getDateCondition(zone, $scope.condition);
+            $scope.tableParams.reload();
+        };
+        $scope.changeDeliveryZone = function(zone) {
+            $scope.condition.deliveryZoneText = zone;
+            $scope.deliveryZoneText = typeof zone == 'undefined' ? '不限' : (zone == -1 ? '不限' : (zone == 1 ? '一个月内' : '两个月内'));
+            $scope.condition.$delievryZoneOpen = false;
+            getDelveryCondition(zone, $scope.condition);
+            $scope.tableParams.reload();
+        };
+
+        $scope.changeType = function(type) {
+            $scope.condition.type = type;
+            $scope.typeText = typeof type == 'undefined' ? '全部' : (type == -1 ? '全部' : (type == 1 ? '公开' : '指定'));
+            getTypeCondition(type, $scope.condition);
+            $scope.tableParams.reload();
+        };
+
         $scope.setActive = function(state) {
         $scope.setActive = function(state) {
             if($scope.active != state) {
             if($scope.active != state) {
                 $scope.active = state;
                 $scope.active = state;
@@ -11663,9 +11739,10 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
                 var pageParams = params.url();
                 var pageParams = params.url();
                 var realActive = {};
                 var realActive = {};
                 pageParams.searchFilter = { // 筛选条件
                 pageParams.searchFilter = { // 筛选条件
-                    keyword: $scope.keyword
-                    // fromDate: getDateTime($scope.condition.dateFrom),
-                    // endDate: getDateTime($scope.condition.dateTo)
+                    keyword: $scope.keyword,
+                    pt_ifopen: $scope.condition.ifOpen,
+                    fromDate: getDateTime($scope.condition.dateFrom),
+                    endDate: getDateTime($scope.condition.dateTo)
                 };
                 };
                 AccountEnterprise.get({}, function(data){
                 AccountEnterprise.get({}, function(data){
                     $scope.loading = false;
                     $scope.loading = false;
@@ -11676,17 +11753,15 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
                     if(page) {
                     if(page) {
                         params.total(page.totalElement);
                         params.total(page.totalElement);
                         $defer.resolve(page.content);
                         $defer.resolve(page.content);
+                        console.log(page.content);
                         // $scope.keywordXls = angular.copy($scope.keyword); // 保存当前取值的关键词  做导出时需要的字段
                         // $scope.keywordXls = angular.copy($scope.keyword); // 保存当前取值的关键词  做导出时需要的字段
                         angular.forEach(page.content, function(purcTender) {
                         angular.forEach(page.content, function(purcTender) {
-                            angular.forEach(purcTender.purchaseTenderProds[0].saleTenderItems, function(saleTenderItem) {
-                                saleTenderItem.saleTender.vendorHasBid = false; // 未投标
-                                if ($scope.currentEn.uu === saleTenderItem.saleTender.vendUU && saleTenderItem.price !== null) { // 存在本企业投标明细,且价格已填,判定为已投标
-                                    saleTenderItem.saleTender.vendorHasBid = true; // 已投标
-                                    saleTenderItem.saleTender.applyVendor = false;  // 未中标
-                                    if (saleTenderItem.applyStatus === 1) {
-                                        saleTenderItem.saleTender.applyVendor = true;  // 是否中标
+                            angular.forEach(purcTender.purchaseTenderProds, function(tenderProd) {
+                                angular.forEach(tenderProd.saleTenderItems, function(saleTenderItem) {
+                                    if ($scope.currentEn.uu === saleTenderItem.saleTender.vendUU) {
+                                        tenderProd.currentItem = saleTenderItem;
                                     }
                                     }
-                                }
+                                });
                             });
                             });
                         });
                         });
                     }
                     }
@@ -11697,25 +11772,25 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
             }
             }
         });
         });
 
 
-        var stautsItem = [];
-        $scope.getTenderStatus = function (tender) {
-            angular.forEach(tender.purchaseTenderItems, function(thisItem){
-                if ($scope.currentEn.uu == thisItem.enterpriseBaseInfo.uu) {
-                    stautsItem = thisItem;
-                }
-            });
-            if (!stautsItem.price) {
-                return "daitoubiao";
-            } else if (!stautsItem.applystatus) {
-                return "yitoubiao";
-            } else if (stautsItem.applystatus == 1) {
-                return "zhongbiao";
-            } else if (stautsItem.applystatus == 0) {
-                return "weizhongbiao";
-            }
+        $scope.openDatePicker = function($event, item, openParam) {
+            $event.preventDefault();
+            $event.stopPropagation();
+            item[openParam] = !item[openParam];
+        };
+
+        $scope.parseDate = function(dateStr) {
+            if(dateStr)
+                return Date.parse(dateStr, 'yyyy-MM-dd');
+            return new Date();
         };
         };
 
 
 
 
+        // 选择查找日期
+        $scope.onDateCondition = function(){
+            $scope.tableParams.page(1);
+            $scope.tableParams.reload();
+        };
+
         // 搜索框回车
         // 搜索框回车
         $scope.onSearch = function() {
         $scope.onSearch = function() {
             $scope.tableParams.page(1);
             $scope.tableParams.page(1);
@@ -11798,7 +11873,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
         });
         });
 
 
         $scope.toDetail = function(id) {
         $scope.toDetail = function(id) {
-            window.location.hash = '#/sale/openTenderDetail/' + id;
+            window.location.hash = '#/baseInfo/openTenderDetail/' + id;
         };
         };
 
 
         // var stautsItem = [];
         // var stautsItem = [];
@@ -11958,8 +12033,8 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
                     if (regex.test(value) && value !== 0) {
                     if (regex.test(value) && value !== 0) {
                         priceYes = true;
                         priceYes = true;
                     } else {
                     } else {
-                        if (!(value instanceof Number) || value) {
-                            toaster.pop('warning', '警告', '单价不合法,请重新填写');
+                        if (value) {
+                            toaster.pop('warning', '警告', '请确认单价是否填写正确');
                         }
                         }
                     }
                     }
                     break;
                     break;
@@ -11984,7 +12059,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
             // /^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/;
             // /^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/;
             // 判断填写过的有为0或不符合正则式的,设置不能保存
             // 判断填写过的有为0或不符合正则式的,设置不能保存
             console.log(tenderProd.currentItem.cycle);
             console.log(tenderProd.currentItem.cycle);
-            if (tenderProd.currentItem.cycle !== null && (!cycleRegex.test(tenderProd.currentItem.cycle)) || (tenderProd.currentItem.taxrate !== null && !taxrateRegex.test(tenderProd.currentItem.taxrate)) || (tenderProd.currentItem.price !== null && (!priceRegex.test(tenderProd.currentItem.price) && tenderProd.currentItem.price !== 0))) {
+            if (!cycleRegex.test(tenderProd.currentItem.cycle) || !taxrateRegex.test(tenderProd.currentItem.taxrate) || !priceRegex.test(tenderProd.currentItem.price) && (tenderProd.currentItem.cycle !== null && tenderProd.currentItem.taxrate !== null && tenderProd.currentItem.price !== null)) {
                 $scope.canSave = false;
                 $scope.canSave = false;
             } else {
             } else {
                 $scope.canSave = true;
                 $scope.canSave = true;
@@ -11999,20 +12074,12 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
                 currentEnBaseInfo.enEstablishDate = currentEnBaseInfo.enEstablishDate.getTime();
                 currentEnBaseInfo.enEstablishDate = currentEnBaseInfo.enEstablishDate.getTime();
             }
             }
             var saleTenderItems = [];
             var saleTenderItems = [];
-            if (tender.ifOpen !== 1) { // 指定投标不把投标单主表设空会报header超长
                 angular.forEach(tender.purchaseTenderProds, function(tenderProd) {
                 angular.forEach(tender.purchaseTenderProds, function(tenderProd) {
                     if (tenderProd.currentItem) {
                     if (tenderProd.currentItem) {
                         tenderProd.currentItem.saleTender = {};
                         tenderProd.currentItem.saleTender = {};
                         saleTenderItems.push(tenderProd.currentItem);
                         saleTenderItems.push(tenderProd.currentItem);
                     }
                     }
                 });
                 });
-            } else {
-                angular.forEach(tender.purchaseTenderProds, function(tenderProd) {
-                    if (tenderProd.currentItem) {
-                        saleTenderItems.push(tenderProd.currentItem);
-                    }
-                });
-            }
             PurcTender.reply({tenderItems: saleTenderItems, enBaseInfo: currentEnBaseInfo, attaches:$scope.attaches}, {}, function(data){
             PurcTender.reply({tenderItems: saleTenderItems, enBaseInfo: currentEnBaseInfo, attaches:$scope.attaches}, {}, function(data){
                 $scope.loading = false;
                 $scope.loading = false;
                 toaster.pop('info', '成功', '投标成功');
                 toaster.pop('info', '成功', '投标成功');
@@ -12055,12 +12122,15 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
             for(var t = Date.now();Date.now() - t <= d;);
             for(var t = Date.now();Date.now() - t <= d;);
         }
         }
 
 
-        AccountEnterprise.get({}, function(data){
-            $scope.currentEn = data;
-        });
+        var getCurrentEn = function() {
+            AccountEnterprise.get({}, function(data){
+                $scope.currentEn = data;
+            });
+        }
 
 
         if( ! angular.isUndefined($stateParams.id)) { // 获取招标单详情
         if( ! angular.isUndefined($stateParams.id)) { // 获取招标单详情
             $scope.loading  = true;
             $scope.loading  = true;
+            getCurrentEn();
             PurcTender.getOne({id: $stateParams.id}, function(data){
             PurcTender.getOne({id: $stateParams.id}, function(data){
                 data.$editing = false;
                 data.$editing = false;
                 $scope.tender = data;
                 $scope.tender = data;
@@ -12085,8 +12155,10 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
             });
             });
         }
         }
 
 
+        $scope.hasClick = false;
         $scope.iWantToBid = function(id) {
         $scope.iWantToBid = function(id) {
-            PurcTender.addItems({id: id}, function(data){ // 添加明细
+            $scope.hasClick = true;
+            PurcTender.addItems({id: id}, {}, function(data){ // 添加明细
                 // $scope.tender = data;
                 // $scope.tender = data;
                 // angular.forEach(data.purchaseTenderProds, function(tenderProd) {
                 // angular.forEach(data.purchaseTenderProds, function(tenderProd) {
                 //     angular.forEach(tenderProd.saleTenderItems, function(saleTenderItem) {
                 //     angular.forEach(tenderProd.saleTenderItems, function(saleTenderItem) {
@@ -12103,145 +12175,143 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
                 //         }
                 //         }
                 //     });
                 //     });
                 // });
                 // });
-                if (data.success) {
-                    toaster.pop('success', '成功', '转投标单成功');
-                    window.location.hash = '#/sale/tender';
-                }
+                toaster.pop('success', '成功', '转投标单成功');
+                window.location.reload();
             }, function(response){
             }, function(response){
                 toaster.pop('error', '操作失败', response.data);
                 toaster.pop('error', '操作失败', response.data);
             });
             });
 
 
-            $scope.upload = function(myFile) {  // 上传附件
-                var file = $scope.myFile, file = file && file.length > 0 ? file : null;
-                $upload.upload({
-                    url: 'tender/addTenderItemAttach',
-                    file: file,
-                    method: 'POST'
-                }).success(function (attach) {
-                    $scope.attaches.push(attach);
-                });
-            };
-        };
-
-
-        $scope.removeAttach = function(id, index) {
-            $scope.attaches.splice(index, 1);
-            PurcTender.removeAttach({attachId:id}, function() {
-
-            });
-        };
-
-        var taxrateYes = false;
-        var cycleYes = false;
-        var priceYes = false;
-        $scope.canSave = false;
-        $scope.validateThis = function(value, type) {
-            switch(type) {
-                case 'taxrate':
-                    var regex = /^\+?[0-9][0-9]{0,1}$/;
-                    if (regex.test(value)) {
-                        taxrateYes = true;
-                    } else {
-                        toaster.pop('warning', '警告', '税率不合法,请重新填写');
-                    }
-                    break;
-                case 'cycle':
-                    regex = /^\+?[1-9][0-9]*$/;
-                    if (regex.test(value)) {
-                        cycleYes = true;
-                    } else {
-                        toaster.pop('warning', '警告', '周期不合法,请重新填写');
-                    }
-                    break;
-                case 'price':
-                    regex = /^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/;
-                    if (regex.test(value) && value !== 0) {
-                        priceYes = true;
-                    } else {
-                        if (!(value instanceof Number) || value) {
-                            toaster.pop('warning', '警告', '单价不合法,请重新填写');
-                        }
-                    }
-                    break;
-            }
-        };
-
-        $scope.emNumYes = true;
-
-        $scope.validEmNum = function (value) {
-            var regex = /^\+?[1-9][0-9]*$/;
-            if (!regex.test(value) || value == 0 || value !== null) {
-                $scope.emNumYes = false;
-                toaster.pop('warning', '警告', '人数不合法,请重新填写');
-            }
-        };
-
-        $scope.validateProds = function(tenderProd) {
-            // angular.forEach(tenderProds, function (tenderProd) {
-            var cycleRegex = /^\+?[1-9][0-9]*$/;
-            var taxrateRegex = /^\+?[0-9][0-9]{0,1}$/;
-            var priceRegex = /^(([0-9]+\.[0-9]{1,6})|([0-9]*[1-9][0-9]*\.[0-9]{1,6})|([0-9]*[1-9][0-9]*))$/; // 非零最多六位小数正实数
-            // /^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/;
-            // 判断填写过的有为0或不符合正则式的,设置不能保存
-            console.log(tenderProd.currentItem.cycle);
-            if (tenderProd.currentItem.cycle !== null && (!cycleRegex.test(tenderProd.currentItem.cycle)) || (tenderProd.currentItem.taxrate !== null && !taxrateRegex.test(tenderProd.currentItem.taxrate)) || (tenderProd.currentItem.price !==null && (!priceRegex.test(tenderProd.currentItem.price) && tenderProd.currentItem.price !== 0))) {
-                $scope.canSave = false;
-            } else {
-                $scope.canSave = true;
-            }
-            // });
-        };
-
-        // 投标
-        $scope.bidIt = function(tender, currentEnBaseInfo){
-            $scope.loading = true;
-            if(currentEnBaseInfo.enEstablishDate instanceof Date) {
-                currentEnBaseInfo.enEstablishDate = currentEnBaseInfo.enEstablishDate.getTime();
-            }
-            var saleTenderItems = [];
-            if (tender.ifOpen !== 1) { // 指定投标不把投标单主表设空会报header超长
-                angular.forEach(tender.purchaseTenderProds, function(tenderProd) {
-                    if (tenderProd.currentItem) {
-                        tenderProd.currentItem.saleTender = {};
-                        saleTenderItems.push(tenderProd.currentItem);
-                    }
-                });
-            } else {
-                angular.forEach(tender.purchaseTenderProds, function(tenderProd) {
-                    if (tenderProd.currentItem) {
-                        saleTenderItems.push(tenderProd.currentItem);
-                    }
-                });
-            }
-            PurcTender.reply({tenderItems: saleTenderItems, enBaseInfo: currentEnBaseInfo, attaches:$scope.attaches}, {}, function(data){
-                $scope.loading = false;
-                toaster.pop('info', '成功', '投标成功');
-                // $window.location.reload();
-                // if (tender.ifOpen) { // 根据是否公开,选择跳转
-                //     window.location.hash = '#/sale/opentender';
-                // } else {
-                    window.location.hash = '#/sale/tender';
-                // }
-            }, function(response){
-                $scope.loading = false;
-                toaster.pop('error', '投标失败', '出现异常,投标失败');
-            });
-
+            // $scope.upload = function(myFile) {  // 上传附件
+            //     var file = $scope.myFile, file = file && file.length > 0 ? file : null;
+            //     $upload.upload({
+            //         url: 'tender/addTenderItemAttach',
+            //         file: file,
+            //         method: 'POST'
+            //     }).success(function (attach) {
+            //         $scope.attaches.push(attach);
+            //     });
+            // };
         };
         };
 
 
-        $scope.condition = {
-            $fromOpened:false
-        };
 
 
-        $scope.getMaxDate = function() {
-            return $filter('date')(new Date(), 'yyyy-MM-dd');
-        };
+        // $scope.removeAttach = function(id, index) {
+        //     $scope.attaches.splice(index, 1);
+        //     PurcTender.removeAttach({attachId:id}, function() {
+        //
+        //     });
+        // };
 
 
-        $scope.openDatePicker = function($event, item, openParam) {
-            $event.preventDefault();
-            $event.stopPropagation();
-            item[openParam] = !item[openParam];
-        };
+        // var taxrateYes = false;
+        // var cycleYes = false;
+        // var priceYes = false;
+        // $scope.canSave = false;
+        // $scope.validateThis = function(value, type) {
+        //     switch(type) {
+        //         case 'taxrate':
+        //             var regex = /^\+?[0-9][0-9]{0,1}$/;
+        //             if (regex.test(value)) {
+        //                 taxrateYes = true;
+        //             } else {
+        //                 toaster.pop('warning', '警告', '税率不合法,请重新填写');
+        //             }
+        //             break;
+        //         case 'cycle':
+        //             regex = /^\+?[1-9][0-9]*$/;
+        //             if (regex.test(value)) {
+        //                 cycleYes = true;
+        //             } else {
+        //                 toaster.pop('warning', '警告', '周期不合法,请重新填写');
+        //             }
+        //             break;
+        //         case 'price':
+        //             regex = /^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/;
+        //             if (regex.test(value) && value !== 0) {
+        //                 priceYes = true;
+        //             } else {
+        //                 if (!(value instanceof Number) || value) {
+        //                     toaster.pop('warning', '警告', '单价不合法,请重新填写');
+        //                 }
+        //             }
+        //             break;
+        //     }
+        // };
+        //
+        // $scope.emNumYes = true;
+        //
+        // $scope.validEmNum = function (value) {
+        //     var regex = /^\+?[1-9][0-9]*$/;
+        //     if (!regex.test(value) || value == 0 || value !== null) {
+        //         $scope.emNumYes = false;
+        //         toaster.pop('warning', '警告', '人数不合法,请重新填写');
+        //     }
+        // };
+        //
+        // $scope.validateProds = function(tenderProd) {
+        //     // angular.forEach(tenderProds, function (tenderProd) {
+        //     var cycleRegex = /^\+?[1-9][0-9]*$/;
+        //     var taxrateRegex = /^\+?[0-9][0-9]{0,1}$/;
+        //     var priceRegex = /^(([0-9]+\.[0-9]{1,6})|([0-9]*[1-9][0-9]*\.[0-9]{1,6})|([0-9]*[1-9][0-9]*))$/; // 非零最多六位小数正实数
+        //     // /^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/;
+        //     // 判断填写过的有为0或不符合正则式的,设置不能保存
+        //     console.log(tenderProd.currentItem.cycle);
+        //     if (tenderProd.currentItem.cycle !== null && (!cycleRegex.test(tenderProd.currentItem.cycle)) || (tenderProd.currentItem.taxrate !== null && !taxrateRegex.test(tenderProd.currentItem.taxrate)) || (tenderProd.currentItem.price !==null && (!priceRegex.test(tenderProd.currentItem.price) && tenderProd.currentItem.price !== 0))) {
+        //         $scope.canSave = false;
+        //     } else {
+        //         $scope.canSave = true;
+        //     }
+        //     // });
+        // };
+        //
+        // // 投标
+        // $scope.bidIt = function(tender, currentEnBaseInfo){
+        //     $scope.loading = true;
+        //     if(currentEnBaseInfo.enEstablishDate instanceof Date) {
+        //         currentEnBaseInfo.enEstablishDate = currentEnBaseInfo.enEstablishDate.getTime();
+        //     }
+        //     var saleTenderItems = [];
+        //     if (tender.ifOpen !== 1) { // 指定投标不把投标单主表设空会报header超长
+        //         angular.forEach(tender.purchaseTenderProds, function(tenderProd) {
+        //             if (tenderProd.currentItem) {
+        //                 tenderProd.currentItem.saleTender = {};
+        //                 saleTenderItems.push(tenderProd.currentItem);
+        //             }
+        //         });
+        //     } else {
+        //         angular.forEach(tender.purchaseTenderProds, function(tenderProd) {
+        //             if (tenderProd.currentItem) {
+        //                 saleTenderItems.push(tenderProd.currentItem);
+        //             }
+        //         });
+        //     }
+        //     PurcTender.reply({tenderItems: saleTenderItems, enBaseInfo: currentEnBaseInfo, attaches:$scope.attaches}, {}, function(data){
+        //         $scope.loading = false;
+        //         toaster.pop('info', '成功', '投标成功');
+        //         // $window.location.reload();
+        //         // if (tender.ifOpen) { // 根据是否公开,选择跳转
+        //         //     window.location.hash = '#/sale/opentender';
+        //         // } else {
+        //             window.location.hash = '#/sale/tender';
+        //         // }
+        //     }, function(response){
+        //         $scope.loading = false;
+        //         toaster.pop('error', '投标失败', '出现异常,投标失败');
+        //     });
+        //
+        // };
+        //
+        // $scope.condition = {
+        //     $fromOpened:false
+        // };
+        //
+        // $scope.getMaxDate = function() {
+        //     return $filter('date')(new Date(), 'yyyy-MM-dd');
+        // };
+        //
+        // $scope.openDatePicker = function($event, item, openParam) {
+        //     $event.preventDefault();
+        //     $event.stopPropagation();
+        //     item[openParam] = !item[openParam];
+        // };
     }]);
     }]);
 
 
         return app;
         return app;

+ 23 - 18
src/main/webapp/resources/js/index/services/Purc.js

@@ -202,6 +202,11 @@ define([ 'ngResource'], function() {
                     _state: 'done'
                     _state: 'done'
                 }
                 }
             },
             },
+            getWaiting: {
+                params: {
+                    _state: 'waiting'
+                }
+            },
             getTodo: {
             getTodo: {
                 params: {
                 params: {
                     _state: 'todo'
                     _state: 'todo'
@@ -215,24 +220,24 @@ define([ 'ngResource'], function() {
             getOpenAll: {
             getOpenAll: {
             	url: 'tender/open'
             	url: 'tender/open'
             },
             },
-            getOpenDone: {
-                url: 'tender/open',
-                params: {
-                    _state: 'done'
-                }
-            },
-            getOpenTodo: {
-                url: 'tender/open',
-                params: {
-                    _state: 'todo'
-                }
-            },
-            getOpenEnd: {
-                url: 'tender/open',
-                params: {
-                    _state: 'end'
-                }
-            },
+            // getOpenDone: {
+            //     url: 'tender/open',
+            //     params: {
+            //         _state: 'done'
+            //     }
+            // },
+            // getOpenTodo: {
+            //     url: 'tender/open',
+            //     params: {
+            //         _state: 'todo'
+            //     }
+            // },
+            // getOpenEnd: {
+            //     url: 'tender/open',
+            //     params: {
+            //         _state: 'end'
+            //     }
+            // },
     		getOne: {
     		getOne: {
     			url: 'tender/:id',
     			url: 'tender/:id',
 				method: 'GET',
 				method: 'GET',

+ 4 - 4
src/main/webapp/resources/tpl/index/home/left.html

@@ -134,15 +134,15 @@
  	<div class="pane service" ng-controller="TenderCtrl">
  	<div class="pane service" ng-controller="TenderCtrl">
 		<div class="pane-header">
 		<div class="pane-header">
 			<img src="resources/img/home/target.png"> 招标信息<a href="serve" class="pull-right text-muted"></a>
 			<img src="resources/img/home/target.png"> 招标信息<a href="serve" class="pull-right text-muted"></a>
+			<span class="pull-right"><a href="#/baseInfo/openTenderList" class="text-light">更多>></a></span>
 		</div>
 		</div>
 		<div class="pane-body">
 		<div class="pane-body">
 			<ul class="list-unstyled detail">
 			<ul class="list-unstyled detail">
 				<li ng-repeat="tender in openTenders | orderBy: '-date' ">
 				<li ng-repeat="tender in openTenders | orderBy: '-date' ">
-					<a ui-sref="baseInfo.open_tender_detail({id:tender.id})" class="text-light"><em ng-bind="::tender.title"></em><img src="resources/img/home/new.png"/></a>
+					<a ui-sref="baseInfo.open_tender_detail({id:tender.id})" class="text-light"><em ng-bind="::tender.title"></em><img src="resources/img/home/new.png" ng-show="tender.isNew"/></a>
 				</li>
 				</li>
-				<li class="pull-right"><a href="#/baseInfo/openTenderList" class="text-light">更多>></a></li>
-				<li ng-show="tenders == null || tenders == ''" class="grey">
-					您还未收到客户的招标信息!
+				<li ng-show="openTenders == null || openTenders == ''" class="grey" style="line-height: 36px; text-align: center;">
+					暂无招标信息!
 				</li>
 				</li>
 			</ul>
 			</ul>
 		</div>
 		</div>

+ 23 - 20
src/main/webapp/resources/tpl/index/home/pagingRelease.html

@@ -18,7 +18,7 @@
     }
     }
 
 
     /* 选项按钮 */
     /* 选项按钮 */
-    .div-menu .menu-status .btn-select {
+    .menu-message .menu-status .btn-select {
         background-color: #fff;
         background-color: #fff;
         color: #000000;
         color: #000000;
         border: none;
         border: none;
@@ -46,10 +46,10 @@
     }
     }
 
 
     /* 顶部搜索框 */
     /* 顶部搜索框 */
-    .div-menu {
+    .menu-message {
         margin-top: 12px;
         margin-top: 12px;
     }
     }
-    .div-menu #search_input {
+    .menu-message #search_input {
         height: 36px;
         height: 36px;
         font-size: 16px;
         font-size: 16px;
         font-family: '微软雅黑';
         font-family: '微软雅黑';
@@ -59,7 +59,7 @@
         text-align: center;
         text-align: center;
     }
     }
 
 
-    .div-menu #search_btn {
+    .menu-message #search_btn {
         height: 36px;
         height: 36px;
         padding-top: 0;
         padding-top: 0;
         padding-bottom: 0;
         padding-bottom: 0;
@@ -73,7 +73,7 @@
 
 
     /* 当前激活 */
     /* 当前激活 */
 
 
-    .div-menu .menu-status .btn-selected {
+    .menu-message .menu-status .btn-selected {
         background-color: #fff;
         background-color: #fff;
         color: #D32526;
         color: #D32526;
         border: none;
         border: none;
@@ -82,7 +82,7 @@
 
 
     }
     }
 
 
-    .div-menu .menu-status .btn-selected:hover {
+    .menu-message .menu-status .btn-selected:hover {
         background-color: #f5f5f5;
         background-color: #f5f5f5;
     }
     }
 
 
@@ -120,6 +120,10 @@
         vertical-align: sub;
         vertical-align: sub;
         margin-top: 0;
         margin-top: 0;
     }
     }
+
+    #notice-list .footer-click {
+        margin-left: 14px;
+    }
     #notice-list .footer-click  input{
     #notice-list .footer-click  input{
         margin-right: 5px;
         margin-right: 5px;
     }
     }
@@ -130,7 +134,7 @@
             <a ng-click="close()"><i class="fa fa-close fa-lg"></i></a>
             <a ng-click="close()"><i class="fa fa-close fa-lg"></i></a>
         </div>
         </div>
     </div>
     </div>
-    <div class="div-menu">
+    <div class="menu-message">
         <div style="font-size: 14px; color: rgb(102,102,102); float: left; margin-top: 6px;margin-left: 6px;">
         <div style="font-size: 14px; color: rgb(102,102,102); float: left; margin-top: 6px;margin-left: 6px;">
             <span>消息分类:</span>
             <span>消息分类:</span>
         </div>
         </div>
@@ -151,7 +155,18 @@
             </span>
             </span>
         </div>
         </div>
     </div>
     </div>
-
+    <div class="footer-click">
+        <div ng-hide="active == 'done'" style="float: left;">
+            <input type="checkbox" name="checkbox" ng-model="checks.checked" ng-click="checkAll()" />
+        </div>
+        <div ng-hide="active == 'done'" style="float: left; padding: 0 20px 0 0;">
+            <!--<a ng-click="checkAll()">全选</a>-->
+            <span>全选</span>
+        </div>
+        <div ng-hide="active == 'done'" style="padding: 0 20px;">
+            <a ng-click="setRead()">标为已读</a>
+        </div>
+    </div>
     <table class="block table release-table"
     <table class="block table release-table"
            ng-table="tableParams">
            ng-table="tableParams">
         <thead>
         <thead>
@@ -184,16 +199,4 @@
         </tr>
         </tr>
         </tbody>
         </tbody>
     </table>
     </table>
-    <div class="footer-click">
-        <div ng-hide="active == 'done'" style="float: left;">
-            <input type="checkbox" name="checkbox" ng-model="checks.checked" ng-click="checkAll()" />
-        </div>
-        <div ng-hide="active == 'done'" style="float: left; padding: 0 20px 0 0;">
-            <!--<a ng-click="checkAll()">全选</a>-->
-            <span>全选</span>
-        </div>
-        <div ng-hide="active == 'done'" style="padding: 0 10px;">
-            <a ng-click="setRead()">标为已读</a>
-        </div>
-    </div>
 </div>
 </div>

+ 5 - 2
src/main/webapp/resources/tpl/index/home/right.html

@@ -87,8 +87,11 @@
 										ng-class="{'text-inverse': todo.cartTodo>0}">{{todo.cartTodo ||
 										ng-class="{'text-inverse': todo.cartTodo>0}">{{todo.cartTodo ||
 											0}}</span>)
 											0}}</span>)
 								</a></li>
 								</a></li>
-								<li><a href="#/purc/tender">进行中的招标单(<span
-										ng-class="{'text-inverse': todo.tenderDoing>0}">{{todo.tenderDoing ||
+								<li><a href="#/purc/tender">待评标的招标单(<span
+										ng-class="{'text-inverse': todo.saleTenderWaiting>0}">{{todo.saleTenderWaiting ||
+										0}}</span>)</a></li>
+								<li><a href="#/purc/tender">待投标的招标单(<span
+										ng-class="{'text-inverse': todo.saleTenderTodo>0}">{{todo.saleTenderTodo ||
 										0}}</span>)</a></li>
 										0}}</span>)</a></li>
 							</ul>
 							</ul>
 						</li>
 						</li>

+ 4 - 4
src/main/webapp/resources/tpl/index/purc/tender.html

@@ -440,7 +440,7 @@
 </style>
 </style>
 
 
 <div class="ng-scope">
 <div class="ng-scope">
-    <form name="tenderForm">
+    <form name="tenderForm" id="tenderForm">
         <div class="purc-tender">
         <div class="purc-tender">
             <!--<div class="com_title">服务>招标<font>>招标单</font></div>-->
             <!--<div class="com_title">服务>招标<font>>招标单</font></div>-->
             <!--<div class="loading in" ng-class="{'in': loading}">
             <!--<div class="loading in" ng-class="{'in': loading}">
@@ -673,10 +673,10 @@
                 </div>
                 </div>
                 <div class="col-xs-12" style="padding: 30px;">
                 <div class="col-xs-12" style="padding: 30px;">
                     <div class="col-xs-2 pull-right btn-publish">
                     <div class="col-xs-2 pull-right btn-publish">
-                        <button class="btn" ng-disabled="tenderForm.$invalid || !tender.shipadd" ng-click="save(true)">发布</button>
+                        <button class="btn" ng-disabled="tenderForm.$invalid" ng-click="save(true)">发布</button>
                     </div>
                     </div>
                     <div class="col-xs-2 pull-right btn-save">
                     <div class="col-xs-2 pull-right btn-save">
-                        <button class="btn" ng-disabled="tenderForm.$invalid || !tender.shipadd" ng-click="save(false)">保存</button>
+                        <button class="btn" ng-disabled="tenderForm.$invalid" ng-click="save(false)">保存</button>
                     </div>
                     </div>
                 </div>
                 </div>
             </div>
             </div>
@@ -736,7 +736,7 @@
             </li>
             </li>
         </ul>
         </ul>
         <div class="many-file-btn">
         <div class="many-file-btn">
-            <button class="btn01" ng-click="saveShipAddress(ship)" ng-disabled="shipAddress.$invalid">保存</button><a href="#" class="btn02">取消</a>
+            <button class="btn01" ng-click="saveShipAddress(ship);" ng-disabled="shipAddress.$invalid">保存</button><a href="#" class="btn02">取消</a>
         </div>
         </div>
     </form>
     </form>
 </div>
 </div>

+ 2 - 2
src/main/webapp/resources/tpl/index/purc/tender_evaluation.html

@@ -227,7 +227,7 @@
                         <div class="bid-desc">联系电话:</div>
                         <div class="bid-desc">联系电话:</div>
                         <div class="unchanged-info">{{tender.userTel}}</div>
                         <div class="unchanged-info">{{tender.userTel}}</div>
                     </div>
                     </div>
-                    <div class="col-xs-8">
+                    <div class="col-xs-12">
                         <div class="bid-desc">收货地址:</div>
                         <div class="bid-desc">收货地址:</div>
                         <div class="unchanged-info">{{tender.shipAddress}}</div>
                         <div class="unchanged-info">{{tender.shipAddress}}</div>
                     </div>
                     </div>
@@ -252,7 +252,7 @@
                         <div class="bid-desc">付款方式:</div>
                         <div class="bid-desc">付款方式:</div>
                         <div class="unchanged-info">{{tender.payment}}</div>
                         <div class="unchanged-info">{{tender.payment}}</div>
                     </div>
                     </div>
-                    <div class="col-xs-8">
+                    <div class="col-xs-12">
                         <div class="bid-desc">证照要求:</div>
                         <div class="bid-desc">证照要求:</div>
                         <div class="unchanged-info">{{tender.certificate}}</div>
                         <div class="unchanged-info">{{tender.certificate}}</div>
                     </div>
                     </div>

+ 24 - 3
src/main/webapp/resources/tpl/index/sale/open_tender_detail.html

@@ -254,6 +254,20 @@
         border-radius: 0;
         border-radius: 0;
     }
     }
 
 
+    .tender-content>div>div.a-detail {
+        margin-top: 40px;
+    }
+
+    .tender-content>div>div.a-detail>a {
+        color: #FF2E2F;
+        font-size: 14px;
+    }
+
+    .tender-content>div>div.a-detail>a:hover{
+        color: #D32526;
+        cursor: pointer;
+    }
+
     .read-only {
     .read-only {
         border: none;
         border: none;
         color: #969595;
         color: #969595;
@@ -347,6 +361,10 @@
                         <div class="tender-desc">招标标题:</div>
                         <div class="tender-desc">招标标题:</div>
                         <div ng-bind="tender.title"></div>
                         <div ng-bind="tender.title"></div>
                     </div>
                     </div>
+                    <div class = "col-xs-4">
+                        <div class="tender-desc">招标企业:</div>
+                        <div ng-bind="tender.enterprise.enName"></div>
+                    </div>
                     <div class = "col-xs-4">
                     <div class = "col-xs-4">
                         <div class="tender-desc">联系人:</div>
                         <div class="tender-desc">联系人:</div>
                         <div ng-bind="tender.user"></div>
                         <div ng-bind="tender.user"></div>
@@ -504,7 +522,7 @@
                             <div class="tender-desc">交易方式:</div>
                             <div class="tender-desc">交易方式:</div>
                             <div>{{tender.payment}}</div>
                             <div>{{tender.payment}}</div>
                         </div>
                         </div>
-                        <div class="col-xs-4">
+                        <div class="col-xs-8">
                             <div class="tender-desc">证照要求:
                             <div class="tender-desc">证照要求:
                             </div>
                             </div>
                             <div>
                             <div>
@@ -519,10 +537,13 @@
                 </div>
                 </div>
                 <div class="col-xs-12" style="padding: 30px;">
                 <div class="col-xs-12" style="padding: 30px;">
                     <div ng-show="!currentHasBid" class="col-xs-2 pull-right btn-publish">
                     <div ng-show="!currentHasBid" class="col-xs-2 pull-right btn-publish">
-                        <button class="btn" ng-click="iWantToBid(tender.id)">我要投标</button>
+                        <button class="btn" ng-click="iWantToBid(tender.id)" ng-disabled="hasClick">我要投标</button>
                     </div>
                     </div>
                     <div ng-show="currentHasBid" class="col-xs-2 pull-right btn-disabled">
                     <div ng-show="currentHasBid" class="col-xs-2 pull-right btn-disabled">
-                        <button class="btn" ng-disabled="disabled">已转投标</button>
+                        <button class="btn" disabled>已转投标</button>
+                    </div>
+                    <div ng-show="currentHasBid" class="pull-right a-detail">
+                        <a ui-sref="sale.tender({id:tender.id})" target="_self" title="点击查看详情">>>查看详情</a>
                     </div>
                     </div>
                 </div>
                 </div>
             </div>
             </div>

+ 3 - 3
src/main/webapp/resources/tpl/index/sale/open_tender_list.html

@@ -202,9 +202,9 @@
                         <div class="filter row">
                         <div class="filter row">
                             <span>查询</span>
                             <span>查询</span>
                             <div class="form-group" style="width: 310px;">
                             <div class="form-group" style="width: 310px;">
-                                <input type="search" class="form-control" />
+                                <input type="search" class="form-control" ng-model="keyword" ng-search="onSearch()" />
                                 <div class="input-group-addon">
                                 <div class="input-group-addon">
-                                    <i class="fa fa-search"></i>
+                                    <i class="fa fa-search" ng-click="onSearch()"></i>
                                 </div>
                                 </div>
                             </div>
                             </div>
                             <div style="padding-left: 50px;">
                             <div style="padding-left: 50px;">
@@ -236,7 +236,7 @@
                                 <tbody  ng-repeat="tender in $data">
                                 <tbody  ng-repeat="tender in $data">
                                 <tr>
                                 <tr>
                                     <td ng-click="toDetail(tender.id)">
                                     <td ng-click="toDetail(tender.id)">
-                                        <span><em>招标公告</em><a ui-sref="purc.open_tender_detail({id:tender.id})" title="点击查看详情">{{tender.title}}</a></span>
+                                        <span><em>招标公告</em><a ui-sref="baseInfo.open_tender_detail({id:tender.id})" title="点击查看详情">{{tender.title}}</a></span>
                                         <strong>{{tender.date | date:'yyyy-MM-dd'}}</strong>
                                         <strong>{{tender.date | date:'yyyy-MM-dd'}}</strong>
                                     </td>
                                     </td>
                                 </tr>
                                 </tr>

+ 7 - 6
src/main/webapp/resources/tpl/index/sale/tender.html

@@ -282,9 +282,10 @@
                         <div class="bid-desc">证照要求:</div>
                         <div class="bid-desc">证照要求:</div>
                         <div class="unchanged-info">{{bid.certificate}}</div>
                         <div class="unchanged-info">{{bid.certificate}}</div>
                     </div>
                     </div>
-                    <div ng-if="bid.tenderAttaches.length" class="col-xs-12" style="height: 50px;">
-                        <span class="bid-desc">招标附件:</span>
-                        <a class="col-xs-10" ng-repeat="attach in bid.tenderAttaches" href="file/{{attach.id}}">{{::attach.name}}</a>
+                    <div ng-if="bid.tenderAttaches.length" class="col-xs-12" ng-repeat="attach in bid.tenderAttaches">
+                        <span ng-show="$index == 0" class="bid-desc">招标附件:</span>
+                        <span ng-show="$index != 0" class="bid-desc">&nbsp;</span>
+                        <a class="col-xs-10" style="padding-left: 0;" href="file/{{attach.id}}">{{::attach.name}}</a>
                     </div>
                     </div>
                 </div>
                 </div>
                 <div class="wrap">
                 <div class="wrap">
@@ -317,9 +318,9 @@
                                     <!--<span><input type="text" class="editAble" ng-model="prod.currentItem.cycle" ng-pattern="/^\+?[1-9][0-9]*$/" ng-change="validateThis(prod.currentItem.cycle, 'cycle')" placeholder="点击填写周期"/></span>
                                     <!--<span><input type="text" class="editAble" ng-model="prod.currentItem.cycle" ng-pattern="/^\+?[1-9][0-9]*$/" ng-change="validateThis(prod.currentItem.cycle, 'cycle')" placeholder="点击填写周期"/></span>
                                     <span><input type="text" class="editAble" ng-model="prod.currentItem.taxrate" ng-pattern="/^\+?[0-9][0-9]{0,1}$/" ng-change="validateThis(prod.currentItem.taxrate, 'taxrate')" placeholder="点击填写税率"/></span>
                                     <span><input type="text" class="editAble" ng-model="prod.currentItem.taxrate" ng-pattern="/^\+?[0-9][0-9]{0,1}$/" ng-change="validateThis(prod.currentItem.taxrate, 'taxrate')" placeholder="点击填写税率"/></span>
                                     <span><input type="text" class="editAble" ng-model="prod.currentItem.price" ng-pattern="/^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/" ng-change="validateThis(prod.currentItem.price, 'price')" ng-focus="validPrice(prod.currentItem.price)" ng-blur="validPrice(prod.currentItem.price)" placeholder="点击填写单价"/></span>-->
                                     <span><input type="text" class="editAble" ng-model="prod.currentItem.price" ng-pattern="/^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/" ng-change="validateThis(prod.currentItem.price, 'price')" ng-focus="validPrice(prod.currentItem.price)" ng-blur="validPrice(prod.currentItem.price)" placeholder="点击填写单价"/></span>-->
-                                    <span><input type="text" class="editAble" ng-model="prod.currentItem.cycle" ng-pattern="/^\+?[1-9][0-9]*$/" ng-change="validateProds(prod);validateThis(prod.currentItem.cycle, 'cycle')" ng-blur="validateProds(prod);validateThis(prod.currentItem.cycle, 'cycle')" ng-focus="validateProds(prod);validateThis(prod.currentItem.cycle, 'cycle')" placeholder="请输入周期"/></span>
-                                    <span><input type="text" class="editAble" ng-model="prod.currentItem.taxrate" ng-pattern="/^\+?[0-9][0-9]{0,1}$/" ng-change="validateProds(prod);validateThis(prod.currentItem.taxrate, 'taxrate')" ng-focus="validateProds(prod);validateThis(prod.currentItem.taxrate, 'taxrate')" ng-blur="validateProds(prod);validateThis(prod.currentItem.taxrate, 'taxrate')" placeholder="请输入税率"/></span>
-                                    <span><input type="text" class="editAble" ng-model="prod.currentItem.price" ng-pattern="/^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/" ng-change="validateProds(prod);" ng-blur="validateThis(prod.currentItem.price, 'price')" ng-focus="validateProds(prod);" placeholder="请输入单价"/></span>
+                                    <span><input type="text" class="editAble" ng-model="prod.currentItem.cycle" ng-pattern="/^\+?[1-9][0-9]*$/" ng-change="validateProds(prod);validateThis(prod.currentItem.cycle, 'cycle')" ng-blur="validateThis(prod.currentItem.cycle, 'cycle');" ng-focus="validateThis(prod.currentItem.cycle, 'cycle');" placeholder="请输入周期"/></span>
+                                    <span><input type="text" class="editAble" ng-model="prod.currentItem.taxrate" ng-pattern="/^\+?[0-9][0-9]{0,1}$/" ng-change="validateProds(prod);validateThis(prod.currentItem.taxrate, 'taxrate')" ng-focus="validateThis(prod.currentItem.taxrate, 'taxrate');" ng-blur="validateThis(prod.currentItem.taxrate, 'taxrate');" placeholder="请输入税率"/></span>
+                                    <span><input type="text" class="editAble" ng-model="prod.currentItem.price" ng-pattern="/^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/" ng-change="validateProds(prod);" ng-blur="validateThis(prod.currentItem.price, 'price');validateProds(prod);" placeholder="请输入单价"/></span>
                                     <span ng-bind="prod.currentItem.price * prod.qty || '' | number:2"></span>
                                     <span ng-bind="prod.currentItem.price * prod.qty || '' | number:2"></span>
                                     <span  ng-show = "bid.result == 1" ng-bind="prod.currentItem.applyStatus == 1 ? '中标' : '未中标'"></span>
                                     <span  ng-show = "bid.result == 1" ng-bind="prod.currentItem.applyStatus == 1 ? '中标' : '未中标'"></span>
                                     <span  ng-show = "bid.result == 1" ng-bind="prod.currentItem.description"></span>
                                     <span  ng-show = "bid.result == 1" ng-bind="prod.currentItem.description"></span>

+ 207 - 118
src/main/webapp/resources/tpl/index/sale/tenderlist.html

@@ -113,15 +113,32 @@
         border: 1px solid transparent;
         border: 1px solid transparent;
     }
     }
 
 
-    .tender-table > tbody > tr:nth-child(odd) {
+    .tender-table > tbody.not-done > tr:nth-child(odd) {
         height: 100px;
         height: 100px;
     }
     }
 
 
-    .tender-table tbody > tr:nth-child(odd):hover {
+    .tender-table tbody.not-done > tr:nth-child(odd):hover {
         border: 2px solid #D32526;
         border: 2px solid #D32526;
 
 
     }
     }
 
 
+    .tender-table > tbody.is-done:hover {
+        border: 2px solid #D32526;
+    }
+    .tender-table > tbody.is-done > tr:first-child {
+        background-color: #f5f5f5;
+        border-bottom: 1px solid #e8e8e8;
+    }
+
+    .tender-table > tbody.is-done > tr {
+        border-bottom: 1px solid #e8e8e8;
+    }
+
+    .tender-table tbody.is-done > tr:last-child {
+        border-bottom: 1px solid #e8e8e8;
+
+    }
+
     .tender-table tbody tr td a {
     .tender-table tbody tr td a {
         color: #327ebe;
         color: #327ebe;
     }
     }
@@ -134,12 +151,20 @@
     .main-content .btn-group button {
     .main-content .btn-group button {
         font-weight: inherit;
         font-weight: inherit;
     }
     }
+
+    .list-notnum {
+        text-align: left;
+        padding-left: 20px;
+    }
+
+    .list-num {
+        text-align: right;
+    }
 </style>
 </style>
 <link rel="stylesheet" href="static/css/public.css">
 <link rel="stylesheet" href="static/css/public.css">
 <div ng-controller="SaleTenderCtrl" id="public">
 <div ng-controller="SaleTenderCtrl" id="public">
     <!-- 顶部导航及搜索框 -->
     <!-- 顶部导航及搜索框 -->
     <div class="block main-content">
     <div class="block main-content">
-        <!-- 设计页面是暂时隐藏 -->
         <!--<div class="loading in" ng-class="{'in': loading}">-->
         <!--<div class="loading in" ng-class="{'in': loading}">-->
         <!--<i></i>-->
         <!--<i></i>-->
         <!--</div>-->
         <!--</div>-->
@@ -156,7 +181,12 @@
                         </div>
                         </div>
                         <div class="btn-group">
                         <div class="btn-group">
                             <button type="button" class="btn btn-select"
                             <button type="button" class="btn btn-select"
-                                    ng-class="{'btn-selected':active=='done'}" ng-click="setActive('done')">待评标
+                                    ng-class="{'btn-selected':active=='done'}" ng-click="setActive('done')">已评标
+                            </button>
+                        </div>
+                        <div class="btn-group">
+                            <button type="button" class="btn btn-select"
+                                    ng-class="{'btn-selected':active=='waiting'}" ng-click="setActive('waiting')">已投标
                             </button>
                             </button>
                         </div>
                         </div>
                         <div class="btn-group">
                         <div class="btn-group">
@@ -170,9 +200,9 @@
                             </button>
                             </button>
                         </div>
                         </div>
                     </div>
                     </div>
-                   <!-- <div class="col-xs-1 pull-right" style="padding-top: 5px;">
-                        共<span class="text-num">{{tableParams.total()}}</span>
-                    </div>-->
+                    <!-- <div class="col-xs-1 pull-right" style="padding-top: 5px;">
+                         共<span class="text-num">{{tableParams.total()}}</span>
+                     </div>-->
                 </div>
                 </div>
                 <!--<div class="col-xs-2 toggle">
                 <!--<div class="col-xs-2 toggle">
                     <a ng-click="condition.$open=!condition.$open" class="text-simple"><span ng-bind="condition.$open ? '简化筛选条件' : '更多筛选条件'"></span><i class="fa fa-fw" ng-class="{'fa-angle-up': condition.$open, 'fa-angle-down': !condition.$open}"></i></a>
                     <a ng-click="condition.$open=!condition.$open" class="text-simple"><span ng-bind="condition.$open ? '简化筛选条件' : '更多筛选条件'"></span><i class="fa fa-fw" ng-class="{'fa-angle-up': condition.$open, 'fa-angle-down': !condition.$open}"></i></a>
@@ -185,7 +215,7 @@
                 </div>-->
                 </div>-->
             </div>
             </div>
             <div class="condition block" style="padding: 10px 15px;">
             <div class="condition block" style="padding: 10px 15px;">
-                <div class="search-bg condition block"  style="padding: 10px 15px;">
+                <div class="search-bg condition block" style="padding: 10px 15px;">
                     <div class="row">
                     <div class="row">
                         <div id="topSearch" style="float: left">
                         <div id="topSearch" style="float: left">
                             <span class="text-muted f16"><i class="fa fa-search fa-lg"></i> 搜索"{{tip}}",为您找到结果:</span>
                             <span class="text-muted f16"><i class="fa fa-search fa-lg"></i> 搜索"{{tip}}",为您找到结果:</span>
@@ -193,14 +223,18 @@
                         </div>
                         </div>
                         <div class="col-xs-6">
                         <div class="col-xs-6">
                             <div class="search">
                             <div class="search">
-                                <div class="form-group form-group-sm has-feedback" dropdown auto-close="outsideClick" on-toggle="searchAdvance=open">
-                                    <input type="search" class="form-control input-sm" ng-model="keyword" ng-search="onSearch()" placeholder="输入企业名称、简称或申请人搜索"  style="width: 100%"/>
+                                <div class="form-group form-group-sm has-feedback" dropdown auto-close="outsideClick"
+                                     on-toggle="searchAdvance=open">
+                                    <input type="search" class="form-control input-sm" ng-model="keyword"
+                                           ng-search="onSearch()" placeholder="输入企业名称、简称或申请人搜索" style="width: 100%"/>
                                     <a class="btn input-group-addon" ng-click="onSearch()">搜索</a>
                                     <a class="btn input-group-addon" ng-click="onSearch()">搜索</a>
                                 </div>
                                 </div>
                             </div>
                             </div>
                         </div>
                         </div>
                         <div class="fr toggle">
                         <div class="fr toggle">
-                            <a ng-click="condition.$open=!condition.$open" class="text-simple"><span ng-bind="condition.$open ? '简化筛选条件' : '更多筛选条件'"></span><i class="fa fa-fw" ng-class="{'fa-angle-up': condition.$open, 'fa-angle-down': !condition.$open}"></i></a>
+                            <a ng-click="condition.$open=!condition.$open" class="text-simple"><span
+                                    ng-bind="condition.$open ? '简化筛选条件' : '更多筛选条件'"></span><i class="fa fa-fw"
+                                                                                              ng-class="{'fa-angle-up': condition.$open, 'fa-angle-down': !condition.$open}"></i></a>
                         </div>
                         </div>
                     </div>
                     </div>
                     <div class="more" ng-class="{'open': condition.$open}">
                     <div class="more" ng-class="{'open': condition.$open}">
@@ -208,7 +242,8 @@
                             <div class="form-group ">
                             <div class="form-group ">
                                 <label>日期:</label>
                                 <label>日期:</label>
                                 <div class="btn-group btn-menu" dropdown is-open="condition.$dateZoneOpen">
                                 <div class="btn-group btn-menu" dropdown is-open="condition.$dateZoneOpen">
-                                    <button type="button" dropdown-toggle style="width: 85px;" class="btn btn-default btn-xs dropdown-toggle">
+                                    <button type="button" dropdown-toggle style="width: 85px;"
+                                            class="btn btn-default btn-xs dropdown-toggle">
                                         {{dateZoneText}}<i class="fa fa-fw fa-angle-down icon-right"></i></span>
                                         {{dateZoneText}}<i class="fa fa-fw fa-angle-down icon-right"></i></span>
                                     </button>
                                     </button>
                                     <ul class="dropdown-menu">
                                     <ul class="dropdown-menu">
@@ -248,10 +283,25 @@
 							</span>
 							</span>
                                 </div>
                                 </div>
                             </div>
                             </div>
+                            <div class="form-group">
+                                <label>招标类型:</label>
+                                <div class="btn-group btn-menu" dropdown is-open="condition.$typeOpen">
+                                    <button type="button" dropdown-toggle style="width: 70px;"
+                                            class="btn btn-default btn-xs dropdown-toggle">
+                                        {{typeText}}<i class="fa fa-fw fa-angle-down icon-right"></i></span>
+                                    </button>
+                                    <ul class="dropdown-menu">
+                                        <li><a ng-click="changeType()">全部</a></li>
+                                        <li><a ng-click="changeType(1)">公开</a></li>
+                                        <li><a ng-click="changeType(0)">指定</a></li>
+                                    </ul>
+                                </div>
+                            </div>
                             <div class="form-group">
                             <div class="form-group">
                                 <label>采纳结果:</label>
                                 <label>采纳结果:</label>
                                 <div class="btn-group btn-menu" dropdown is-open="condition.$agreedOpen">
                                 <div class="btn-group btn-menu" dropdown is-open="condition.$agreedOpen">
-                                    <button type="button" dropdown-toggle style="width: 70px;" class="btn btn-default btn-xs dropdown-toggle">
+                                    <button type="button" dropdown-toggle style="width: 70px;"
+                                            class="btn btn-default btn-xs dropdown-toggle">
                                         {{agreedText}}<i class="fa fa-fw fa-angle-down icon-right"></i></span>
                                         {{agreedText}}<i class="fa fa-fw fa-angle-down icon-right"></i></span>
                                     </button>
                                     </button>
                                     <ul class="dropdown-menu">
                                     <ul class="dropdown-menu">
@@ -265,95 +315,18 @@
                     </div>
                     </div>
                 </div>
                 </div>
             </div>
             </div>
-            <!--<div class="more" ng-class="{'open': condition.$open}">
-                <form class="form-inline">
-                    <div class="form-group ">
-                        <label>单据日期:</label>
-                        <div class="btn-group btn-menu" dropdown
-                             is-open="condition.$dateZoneOpen">
-                            <button type="button" dropdown-toggle style="width: 85px;"
-                                    class="btn btn-default btn-xs dropdown-toggle">
-                                {{dateZoneText}}<i class="fa fa-fw fa-angle-down icon-right"></i></span>
-                            </button>
-                            <ul class="dropdown-menu">
-                                <li><a ng-click="changeDateZone(-1)">不限</a></li>
-                                <li><a ng-click="changeDateZone(1)">一个月内</a></li>
-                                <li><a ng-click="changeDateZone(6)">半年内</a></li>
-                                <li><a ng-click="changeDateZone()">半年前</a></li>
-                            </ul>
-                        </div>
-                        <div class="input-group input-group-xs input-trigger">
-                            <input type="text" ng-model="condition.dateFrom"
-                                   class="form-control" placeholder="点击选择起始日期" readonly="readonly"
-                                   datepicker-popup="yyyy-MM-dd" is-open="condition.$fromOpened"
-                                   ng-required="true" max-date="condition.dateTo" current-text="今天"
-                                   clear-text="清除" close-text="关闭"
-                                   datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
-                                   ng-click="openDatePicker($event, condition, '$fromOpened')"
-                                   ng-change="onDateCondition()"> <span
-                                class="input-group-btn">
-                                <button type="button" class="btn btn-default"
-                                        ng-click="openDatePicker($event, condition, '$fromOpened')">
-                                    <i class="fa fa-calendar"></i>
-                                </button>
-                            </span>
-                        </div>
-                        <div class="input-group input-group-xs input-trigger">
-                            <input type="text" ng-model="condition.dateTo"
-                                   class="form-control" placeholder="点击选择截止日期" readonly="readonly"
-                                   datepicker-popup="yyyy-MM-dd" is-open="condition.$toOpened"
-                                   ng-required="true" min-date="condition.dateFrom"
-                                   current-text="今天" clear-text="清除" close-text="关闭"
-                                   datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
-                                   ng-focus="openDatePicker($event, condition, '$toOpened')"
-                                   ng-change="onDateCondition()"> <span
-                                class="input-group-btn">
-                                <button type="button" class="btn btn-default"
-                                        ng-click="openDatePicker($event, condition, '$toOpened')">
-                                    <i class="fa fa-calendar"></i>
-                                </button>
-                            </span>
-                        </div>
-                    </div>
-                </form>
-            </div>-->
         </div>
         </div>
+        <!-- 除已评标的显示 -->
         <table class="tender-table block" ng-table="tableParams">
         <table class="tender-table block" ng-table="tableParams">
-            <thead>
+            <thead ng-show="active != 'done' && active != 'waiting'">
             <tr class="header">
             <tr class="header">
-                <th width="150">招标标题</th>
-                <th width="200">产品信息</th>
-                <th width="150">采购数量</th>
+                <th width="300">招标信息</th>
+                <th width="80">联系人</th>
+                <th width="100">联系电话</th>
                 <th width="150">投标截止时间</th>
                 <th width="150">投标截止时间</th>
                 <th width="150">公布结果时间</th>
                 <th width="150">公布结果时间</th>
                 <th width="150">状态</th>
                 <th width="150">状态</th>
             </tr>
             </tr>
-            <!-- <tr class="toolbar toolbar-top">
-                 <td colspan="5">
-                     <div>
-                         <label><input type="checkbox" class="selector select_all"
-                                       ng-model="checkboxes.checked" ng-click="checkAll()">全选</label> <a ng-if="active=='todo'" href="javascript:void(0)"
-                                                                                                         class="btn btn-default btn-xs" ng-click="replyByBatch()" title="选中的单据按照客户需求的数量和交期默认回复">&nbsp;批量回复&nbsp;</a>
-                         <div class="btn-group dropdown">
-                             <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown" aria-expanded="true">
-                                 &nbsp;&nbsp;标记为&nbsp;&nbsp;<span class="caret"></span>&nbsp;
-                             </button>
-                             <ul class="dropdown-menu" role="menu">
-                                 <li><a href="javascript:void(0)" ng-click="setDisplay('setRead')">已查看</a></li>
-                                 <li><a href="javascript:void(0)" ng-click="setDisplay('setUnRead')">未查看</a></li>
-                                 <li><a href="javascript:void(0)" ng-click="setDisplay('setTop')">置顶</a></li>
-                             </ul>
-                         </div>
-                         <span class="text-muted">
-                                 &nbsp;&nbsp;<i class="fa fa-exclamation-triangle"></i> 批量回复是对选中的单据按照满足客户需求的数量和交期默认回复。
-                             </span>
-                     </div> &lt;!&ndash; 分页 &ndash;&gt;
-                 </td>
-                 <td class="text-center">
-                     <a href="sale/orders/xls?_state={{active}}&searchFilter={{searchFilterXls}}"
-                        target="_self" class="text-simple" title="导出Excel表格"><i class="fa fa-file-excel-o fa-fw"></i>导出</a>
-                 </td>
-             </tr>-->
             </thead>
             </thead>
             <tbody ng-if="tableParams.total() == 0">
             <tbody ng-if="tableParams.total() == 0">
             <tr>
             <tr>
@@ -378,10 +351,6 @@
                                     <p>2、客户指定的投标供应商不包括您<br>
                                     <p>2、客户指定的投标供应商不包括您<br>
                                         解决:与您的客户沟通确认是否添加了您为指定投标供应商</p>
                                         解决:与您的客户沟通确认是否添加了您为指定投标供应商</p>
                                 </div>
                                 </div>
-                                <!--<div class="info">-->
-                                <!--<p>3、您的客户正在使用旧版本的UAS商务平台<br>-->
-                                <!--解决:我们仍有部分用户在使用旧版本UAS商务平台系统,你可以用您的企业UU号和管理员个人UU号 <a href="http://www.usoftchina.com" class="text-bold text-link" title="http://www.usoftchina.com" target="_blank">登陆旧版本UAS商务平台</a></p>-->
-                                <!--</div>-->
                             </div>
                             </div>
                             <br>
                             <br>
                             <br>
                             <br>
@@ -396,47 +365,67 @@
 
 
                 </tr>
                 </tr>
             </tbody>-->
             </tbody>-->
-            <tbody ng-repeat="tender in $data">
+            <tbody class="not-done" ng-repeat="tender in $data" ng-show="active != 'done' && active != 'waiting'">
             <tr>
             <tr>
-                <td width="150">
+                <td class="list-notnum" width=300">
+                    <div>
+                        标题:{{tender.title}}
+                    </div>
                     <div>
                     <div>
                         {{tender.code}}
                         {{tender.code}}
                     </div>
                     </div>
                     <div>
                     <div>
-                        {{tender.title}}
+                        <strong ng-if="tender.ifOpen == 0">指定招标</strong>
+                        <strong ng-if="tender.ifOpen == 1">公开招标</strong>
                     </div>
                     </div>
                     <div>
                     <div>
                         <a ui-sref="sale.tender({id:tender.id})" target="_self" title="点击查看详情">查看详情</a>
                         <a ui-sref="sale.tender({id:tender.id})" target="_self" title="点击查看详情">查看详情</a>
                     </div>
                     </div>
                 </td>
                 </td>
-                <td width="200">
-                    <div>产品名称:{{tender.prodTitle}}</div>
-                    <!--<div>产品规格:{{tender.prodSpec}}</div>-->
-                    <div>产品所属行业:电子元器件</div>
+                <td class="list-notnum" width="80">
+                    <div>{{tender.user}}</div>
                 </td>
                 </td>
-                <td width="150">{{tender.qty}}</td>
+                <td class="list-notnum" width="100">{{tender.userTel}}</td>
                 <td width="150">{{tender.endDate | date:'yyyy-MM-dd'}}</td>
                 <td width="150">{{tender.endDate | date:'yyyy-MM-dd'}}</td>
                 <td width="150">{{tender.publishDate | date:'yyyy-MM-dd'}}</td>
                 <td width="150">{{tender.publishDate | date:'yyyy-MM-dd'}}</td>
                 <td width="150">
                 <td width="150">
-                    <div ng-if="tender.status == '已结标' && tender.result == 1 && tender.applyVendor">
-                        <img src="resources/img/tender/zhongbiao.png">
-                    </div>
-                    <div ng-if="(tender.status == '流标' && tender.vendorHasBid) || (tender.status == '已结标' && tender.result == 1 && !tender.applyVendor) || (tender.status == '待评标' && tender.result == 1 && tender.vendorHasBid)">
-                        <img src="resources/img/tender/weizhongbiao.png">
+                    <div ng-if="tender.status == '已结标'">
+                        <img src="resources/img/tender/yijiebiao.png">
                     </div>
                     </div>
-                    <div ng-if="(tender.status == '流标' && !tender.vendorHasBid) || (tender.status == '待评标' && !tender.vendorHasBid) || (tender.status == '待投标' && tender.overdue == 1)">
+                    <div ng-if="(tender.status == '待评标' && tender.overdue == 1 && tender.result == 1) || (tender.status == '待投标' && tender.overdue == 1) || tender.status == '流标'">
+                        <!-- 没人报、报了到期没评、评了没有采纳 -->
                         <img src="resources/img/tender/liubiao.png">
                         <img src="resources/img/tender/liubiao.png">
                     </div>
                     </div>
-                    <div ng-if="tender.status == '待评标' && tender.overdue == 1 && tender.result != 1 && tender.vendorHasBid">
+                    <div ng-if="tender.status == '待评标' && tender.overdue == 1 && tender.result != 1">
                         <img src="resources/img/tender/daipingbiao.png">
                         <img src="resources/img/tender/daipingbiao.png">
                     </div>
                     </div>
-                    <div ng-if="tender.overdue != 1 && tender.vendorHasBid">
-                        <img src="resources/img/tender/yitoubiao.png">
+                    <div ng-if="(tender.status == '待评标' && tender.overdue != 1) || (tender.status == '待投标' && tender.overdue != 1)">
+                        <img src="resources/img/tender/toubiaozhong.png">
                     </div>
                     </div>
-                    <div ng-if="tender.overdue != 1 && !tender.vendorHasBid">
-                        <img src="resources/img/tender/daitoubiao.png">
+                    <div ng-if="tender.status == '待发布'">
+                        <img src="resources/img/tender/zailuru.png">
                     </div>
                     </div>
                 </td>
                 </td>
+                <!--<td width="150">-->
+                <!--<div ng-if="tender.status == '已结标' && tender.result == 1 && tender.applyVendor">-->
+                <!--<img src="resources/img/tender/zhongbiao.png">-->
+                <!--</div>-->
+                <!--<div ng-if="(tender.status == '流标' && tender.vendorHasBid) || (tender.status == '已结标' && tender.result == 1 && !tender.applyVendor) || (tender.status == '待评标' && tender.result == 1 && tender.vendorHasBid)">-->
+                <!--<img src="resources/img/tender/weizhongbiao.png">-->
+                <!--</div>-->
+                <!--<div ng-if="(tender.status == '流标' && !tender.vendorHasBid) || (tender.status == '待评标' && !tender.vendorHasBid) || (tender.status == '待投标' && tender.overdue == 1)">-->
+                <!--<img src="resources/img/tender/liubiao.png">-->
+                <!--</div>-->
+                <!--<div ng-if="tender.status == '待评标' && tender.overdue == 1 && tender.result != 1 && tender.vendorHasBid">-->
+                <!--<img src="resources/img/tender/daipingbiao.png">-->
+                <!--</div>-->
+                <!--<div ng-if="tender.overdue != 1 && tender.vendorHasBid">-->
+                <!--<img src="resources/img/tender/yitoubiao.png">-->
+                <!--</div>-->
+                <!--<div ng-if="tender.overdue != 1 && !tender.vendorHasBid">-->
+                <!--<img src="resources/img/tender/daitoubiao.png">-->
+                <!--</div>-->
+                <!--</td>-->
             </tr>
             </tr>
             <tr>
             <tr>
                 <td colspan="6">
                 <td colspan="6">
@@ -446,6 +435,106 @@
                 </td>
                 </td>
             </tr>
             </tr>
             </tbody>
             </tbody>
+            <!-- 已评标和已投标显示 -->
+            <thead ng-show="active == 'done' || active == 'waiting'">
+            <tr class="header">
+                <th width="350">产品信息</th>
+                <th width="150">采购数量</th>
+                <th width="150">投标截止时间</th>
+                <th width="150">公布结果时间</th>
+                <th width="150">状态</th>
+            </tr>
+            </thead>
+            <!--<tbody ng-repeat="order in $data track by order.id">
+                <tr class="order-bd" ng-repeat="item in order.orderItems track by item.id"
+                    ng-if="!order.$collapsed ">
+
+                </tr>
+            </tbody>-->
+            <tbody class="is-done" ng-repeat="tender in $data" ng-show="active == 'done' || active == 'waiting'">
+            <tr>
+                <td class="list-notnum" width="350">
+                    <div>招标标题:{{tender.title}}</div>
+                    <div>
+                        <a ui-sref="sale.tender({id:tender.id})" target="_self" title="点击查看详情">查看详情</a>
+                    </div>
+                </td>
+                <td class="list-notnum" width="150" colspan="2">
+                    <div>招标单号:{{tender.code}}</div>
+                    <div>招标类型:
+                        <strong ng-if="tender.ifOpen == 0">指定招标</strong>
+                        <strong ng-if="tender.ifOpen == 1">公开招标</strong>
+                    </div>
+                </td>
+                <td class="" width="150">联系人:{{tender.user}}</td>
+                <td class="" width="150">{{tender.userTel}}</td>
+                <!--<td width="150">-->
+                    <!-- 招标单状态 -->
+                    <!--<div ng-if="tender.status == '已结标'">-->
+                    <!--<img src="resources/img/tender/yijiebiao.png">-->
+                    <!--</div>-->
+                    <!--<div ng-if="(tender.status == '待评标' && tender.overdue == 1 && tender.result == 1) || (tender.status == '待投标' && tender.overdue == 1) || tender.status == '流标'">-->
+                    <!--&lt;!&ndash; 没人报、报了到期没评、评了没有采纳 &ndash;&gt;-->
+                    <!--<img src="resources/img/tender/liubiao.png">-->
+                    <!--</div>-->
+                    <!--<div ng-if="tender.status == '待评标' && tender.overdue == 1 && tender.result != 1">-->
+                    <!--<img src="resources/img/tender/daipingbiao.png">-->
+                    <!--</div>-->
+                    <!--<div ng-if="(tender.status == '待评标' && tender.overdue != 1) || (tender.status == '待投标' && tender.overdue != 1)">-->
+                    <!--<img src="resources/img/tender/toubiaozhong.png">-->
+                    <!--</div>-->
+                    <!--<div ng-if="tender.status == '待发布'">-->
+                    <!--<img src="resources/img/tender/zailuru.png">-->
+                    <!--</div>-->
+                <!--</td>-->
+            </tr>
+            <tr ng-repeat="tenderProd in tender.purchaseTenderProds | orderBy : '- id'" ng-show="tenderProd.currentItem.price"><!--  ng-show="tenderProd.currentItem.price" -->
+                <td class="list-notnum" width="350">
+                    <div>产品名称:{{tenderProd.prodTitle}}</div>
+                    <div>产品型号:{{tenderProd.prodCode}}</div>
+                    <div>品牌:{{tenderProd.brand}}</div>
+                    <div>单位:{{tenderProd.unit}}</div>
+                </td>
+                <td class="list-num" width="150">
+                    <div>{{tenderProd.qty}}</div>
+                </td>
+                <td  class="list-notnum" width="150">{{tender.endDate | date:'yyyy-MM-dd'}}</td>
+                <td  class="list-notnum" width="150">{{tender.publishDate | date:'yyyy-MM-dd'}}</td>
+                <td>
+                    <!-- 投标单状态 -->
+                    <!-- 已评标 start -->
+                    <div ng-if="tenderProd.currentItem.applyStatus == 1 && tenderProd.currentItem.price">
+                        <img src="resources/img/tender/zhongbiao.png">
+                    </div>
+                    <div ng-if="(tender.status == '已结标' && !tenderProd.currentItem.applyStatus) || tender.status == '流标' || ((tender.status == '待评标' || tender.status == '待投标') && tender.result == 1)">
+                        <!-- 报了到期没评、评了没有采纳 -->
+                        <img src="resources/img/tender/weizhongbiao.png">
+                    </div>
+                    <!-- 已评标end -->
+                    <!-- 已投标start -->
+                    <div ng-if="tender.status == '待评标' && tender.overdue == 1 && tender.result != 1">
+                        <img src="resources/img/tender/daipingbiao.png">
+                    </div>
+                    <!--<div ng-if="tender.status == '待评标' && tender.overdue == 1 && tender.result != 1 && !tenderProd.currentItem.price">-->
+                        <!--<img src="resources/img/tender/weitoubiao.png">-->
+                    <!--</div>-->
+                    <div ng-if="tender.status == '待评标' && tender.overdue != 1 && tenderProd.currentItem.price">
+                        <img src="resources/img/tender/yitoubiao.png">
+                    </div>
+                    <div ng-if="tender.overdue != 1 && !tenderProd.currentItem.price">
+                        <img src="resources/img/tender/daitoubiao.png">
+                    </div>
+                    <!-- 已投标end -->
+                </td>
+            </tr>
+            <!--<tr>
+                <td colspan="6">
+                    <div style="height: 16px; background-color: #f5f5f5;">
+                        &lt;!&ndash; 间隙 &ndash;&gt;
+                    </div>
+                </td>
+            </tr>-->
+            </tbody>
         </table>
         </table>
     </div>
     </div>
 </div>
 </div>