Browse Source

招标功能bug修改。

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@7609 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw 9 years ago
parent
commit
1dd3cc5f5a

+ 66 - 12
src/main/java/com/uas/platform/b2b/controller/PurchaseTenderController.java

@@ -8,8 +8,10 @@ import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.AttachService;
 import com.uas.platform.b2b.service.PurchaseTenderService;
 import com.uas.platform.b2b.service.UserService;
+import com.uas.platform.b2b.support.JxlsExcelView;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
+import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageInfo;
@@ -20,14 +22,21 @@ import com.uas.search.b2b.model.MultiValue;
 import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.util.SearchConstants;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Sort.Direction;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
 
+import java.io.IOException;
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -153,17 +162,17 @@ public class PurchaseTenderController {
 //       return purchaseTenderService.findByItemId(id);
 //    }
 
-    /**
-     * 供应商查看投标单
-     *
-     * @param id
-     * @return
-     */
-    @RequestMapping(value = "vendorTenderDetail/{vendUU}/{id}", method = RequestMethod.GET)
-    @ResponseBody
-    public SaleTender getVendorItemByIdAndEnUU(@PathVariable("vendUU")Long vendUU, @PathVariable("id") Long id) {
-        return purchaseTenderService.findByEnUUAndId(vendUU, id);
-    }
+//    /**
+//     * 供应商查看投标单
+//     *
+//     * @param id
+//     * @return
+//     */
+//    @RequestMapping(value = "vendorTenderDetail/{vendUU}/{id}", method = RequestMethod.GET)
+//    @ResponseBody
+//    public SaleTender getVendorItemByIdAndEnUU(@PathVariable("vendUU")Long vendUU, @PathVariable("id") Long id) {
+//        return purchaseTenderService.findByEnUUAndId(vendUU, id);
+//    }
 
 
 //    /**
@@ -580,7 +589,7 @@ public class PurchaseTenderController {
     public List<PurchaseTender> getLatestTender(PageParams params) {
         PageInfo info = new PageInfo(params);
         info.sorting("date", Direction.DESC); // 按发布日期倒序
-        return purchaseTenderService.findAll();
+        return purchaseTenderService.findAllByPageInfo(info);
     }
 
     /**
@@ -632,4 +641,49 @@ public class PurchaseTenderController {
         purchaseTenderService.deleteAttach(attachId);
     }
 
+
+    /**
+     * 获取批量上传物料的模板
+     *
+     * @return
+     */
+    @RequestMapping(value = "/upload/template", method = RequestMethod.GET)
+    public ModelAndView exportOrders() {
+        ModelAndView modelAndView = new ModelAndView();
+        modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/sale/PurchaseTenderProd", "招标产品明细"));
+        logger.log("招标产品明细上传", "下载批量上传招标产品明细的模板");
+        return modelAndView;
+    }
+
+
+    /**
+     * 通过excel批量导入物料明细
+     *
+     * @param uploadItem
+     * @return
+     */
+    @RequestMapping(value = "/release/excel", method = RequestMethod.POST)
+    @ResponseBody
+    public ModelMap releaseByExcel(FileUpload uploadItem) {
+        ModelMap map = new ModelMap();
+        String fileName = uploadItem.getFile().getOriginalFilename();
+        String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
+        InputStream is = null;
+        Workbook workbook = null;
+        try {
+            is = uploadItem.getFile().getInputStream();
+            if ("xls".equals(suffix)) {
+                workbook = new HSSFWorkbook(is);
+            } else if ("xlsx".equals(suffix)) {
+                workbook = new XSSFWorkbook(is);
+            } else {
+                throw new IllegalOperatorException("文件格不正确,请上传.xls或.xlsx的文件");
+            }
+            map = purchaseTenderService.releaseByWorkbook(workbook);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        logger.log("商品批次", "[" + SystemSession.getUser().getUserName() + "]通过excel导入了招标产品明细,数量为" + map.size());
+        return map;
+    }
 }

+ 3 - 1
src/main/java/com/uas/platform/b2b/dao/PurchaseTenderDao.java

@@ -5,11 +5,13 @@ import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
  * Created by dongbw on 17/03/07 14:10.
  */
 @Repository
 public interface PurchaseTenderDao extends JpaSpecificationExecutor<PurchaseTender>,JpaRepository<PurchaseTender, Long> {
 
-    PurchaseTender findByEnUUAndCode(Long uu, String code);
+    List<PurchaseTender> findByEnUUAndCode(Long uu, String code);
 }

+ 17 - 18
src/main/java/com/uas/platform/b2b/service/PurchaseTenderService.java

@@ -1,14 +1,11 @@
 package com.uas.platform.b2b.service;
 
-import java.util.List;
+import com.uas.platform.b2b.model.*;
+import com.uas.platform.core.model.PageInfo;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.springframework.ui.ModelMap;
 
-import com.uas.platform.b2b.model.Attach;
-import com.uas.platform.b2b.model.Enterprise;
-import com.uas.platform.b2b.model.EnterpriseBaseInfo;
-import com.uas.platform.b2b.model.FileUpload;
-import com.uas.platform.b2b.model.PurchaseTender;
-import com.uas.platform.b2b.model.SaleTender;
-import com.uas.platform.b2b.model.SaleTenderItem;
+import java.util.List;
 
 /**
  * Created by dongbw on 17/03/07 14:15.
@@ -73,13 +70,13 @@ public interface PurchaseTenderService {
 //     */
 //    List<SaleTender> getItemsByTenderId(Long id);
 
-    /**
-     *  根据id和enuu获取客户投标单
-     * @param vendUU
-     * @param id
-     * @return
-     */
-    SaleTender findByEnUUAndId(Long vendUU, Long id);
+//    /**
+//     *  根据id和enuu获取客户投标单
+//     * @param vendUU
+//     * @param id
+//     * @return
+//     */
+//    SaleTender findByEnUUAndId(Long vendUU, Long id);
 
     /**
      *  发布公开招标单
@@ -102,7 +99,7 @@ public interface PurchaseTenderService {
      *
      * @return
      */
-    List<PurchaseTender> findAll();
+    List<PurchaseTender> findAllByPageInfo(PageInfo info);
 
     List<PurchaseTender> findOpen();
 
@@ -123,15 +120,17 @@ public interface PurchaseTenderService {
 
 	/**
 	 * 待投标的招标单
-	 * 
+	 *
 	 * @return
 	 */
 	public Long getTenderTodoCount();
 
 	/**
 	 * 进行中的招标单
-	 * 
+	 *
 	 * @return
 	 */
 	public Long getTenderDoingCount();
+
+    ModelMap releaseByWorkbook(Workbook workbook);
 }

+ 103 - 52
src/main/java/com/uas/platform/b2b/service/impl/PurchaseTenderServiceImpl.java

@@ -1,41 +1,28 @@
 package com.uas.platform.b2b.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
+import com.uas.platform.b2b.dao.*;
+import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.service.AttachService;
+import com.uas.platform.b2b.service.PurchaseTenderService;
+import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.temporary.model.PurcTenderProd;
+import com.uas.platform.core.model.Constant;
+import com.uas.platform.core.model.PageInfo;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
+import org.springframework.ui.ModelMap;
 import org.springframework.util.CollectionUtils;
 
-import com.uas.platform.b2b.dao.AttachDao;
-import com.uas.platform.b2b.dao.CommonDao;
-import com.uas.platform.b2b.dao.EnterpriseBaseInfoDao;
-import com.uas.platform.b2b.dao.EnterpriseDao;
-import com.uas.platform.b2b.dao.PurchaseTenderDao;
-import com.uas.platform.b2b.dao.PurchaseTenderProdDao;
-import com.uas.platform.b2b.dao.SaleTenderDao;
-import com.uas.platform.b2b.dao.SaleTenderItemDao;
-import com.uas.platform.b2b.model.Attach;
-import com.uas.platform.b2b.model.Enterprise;
-import com.uas.platform.b2b.model.EnterpriseBaseInfo;
-import com.uas.platform.b2b.model.FileUpload;
-import com.uas.platform.b2b.model.PurchaseTender;
-import com.uas.platform.b2b.model.PurchaseTenderProd;
-import com.uas.platform.b2b.model.SaleTender;
-import com.uas.platform.b2b.model.SaleTenderItem;
-import com.uas.platform.b2b.service.AttachService;
-import com.uas.platform.b2b.service.PurchaseTenderService;
-import com.uas.platform.b2b.support.SystemSession;
-import com.uas.platform.core.model.Constant;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.util.*;
 
 /**
  * Created by dongbw on 17/03/07 14:16.
@@ -174,10 +161,11 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
     }
 
     @Override
-    public List<PurchaseTender> findAll() {
+    public List<PurchaseTender> findAllByPageInfo(PageInfo info) {
         List<SaleTender> saleTenders = saleTenderDao.findAll(new Specification<SaleTender>() {
             @Override
             public Predicate toPredicate(Root<SaleTender> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+                // 根据供应商企业uu为本企业uu筛选
                 Predicate myTender = cb.equal(root.get("enterpriseBaseInfo").get("uu"), SystemSession.getUser().getEnterprise().getUu());
                 query.where(myTender);
                 return query.getRestriction();
@@ -185,7 +173,8 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
         });
         List<PurchaseTender> tenderList = new ArrayList<>();
         for (SaleTender saleTender : saleTenders) {
-            PurchaseTender purchaseTender = purchaseTenderDao.findByEnUUAndCode(saleTender.getEnUU(), saleTender.getCode());
+            // 理论上根据企业uu和单号可以找到唯一单据,防止数据出错,取list第一个
+            PurchaseTender purchaseTender = purchaseTenderDao.findByEnUUAndCode(saleTender.getEnUU(), saleTender.getCode()).get(0);
             if (purchaseTender.getIfOpen() == Constant.NO && purchaseTender.getIsPublish() == Constant.YES) {
                 tenderList.add(purchaseTender);
             }
@@ -233,6 +222,63 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
         }
     }
 
+    @Override
+    public ModelMap releaseByWorkbook(Workbook workbook) {
+        ModelMap modelMap = new ModelMap();
+        List<String> alters = new ArrayList<String>();
+        List<PurcTenderProd> tenderProds = new ArrayList<PurcTenderProd>();
+        Sheet sheet = workbook.getSheetAt(0);
+        int rowNum = sheet.getLastRowNum();
+        Row headerRow = sheet.getRow(0);
+        int total = 0;
+        if (headerRow != null) {
+            for (int r = 3; r <= rowNum; r++) {
+                Row row = sheet.getRow(r);
+                if (row != null && row.getCell(0) != null && row.getCell(1).getCellType() != Cell.CELL_TYPE_BLANK) {
+                    total++;
+                    PurcTenderProd info = new PurcTenderProd();
+                    // 商品名称
+                    if (row.getCell(0) != null) {
+                        row.getCell(0).setCellType(Cell.CELL_TYPE_STRING);
+                        info.setProdname(row.getCell(0).getStringCellValue().trim());
+                    }
+
+                    // 型号
+                    if (row.getCell(1) != null) {
+                        row.getCell(1).setCellType(Cell.CELL_TYPE_STRING);
+                        info.setProdcode(row.getCell(1).getStringCellValue().trim());
+                    }
+
+                    // 品牌
+                    if (row.getCell(2) != null) {
+                        row.getCell(2).setCellType(Cell.CELL_TYPE_STRING);
+                        info.setBrand(row.getCell(2).getStringCellValue().trim());
+                    }
+
+                    // 单位
+                    if (row.getCell(3) != null) {
+                        row.getCell(3).setCellType(Cell.CELL_TYPE_STRING);
+                        info.setUnit(row.getCell(3).getStringCellValue().trim());
+                    }
+
+                    // 采购数量
+                    if (row.getCell(4) != null) {
+                        row.getCell(4).setCellType(Cell.CELL_TYPE_STRING);
+                        info.setAmount(Integer.valueOf(row.getCell(4).getStringCellValue()));
+                    }
+
+                    if (info.getProdcode() != null && info.getAmount() != null && info.getProdname() != null) {
+                        modelMap.put("total", total);
+                        modelMap.put("success", total - alters.size());
+                        tenderProds.add(info);
+                        modelMap.put("items", tenderProds);
+                    }
+                }
+            }
+        }
+        return modelMap;
+    }
+
 
     @Override
     public PurchaseTender findById(Long id) {
@@ -240,6 +286,10 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
         if (tender.getIfOpen() == Constant.NO){ // 如果是指定供应商投标,直接返回查找结果
             return tender;
         }
+        if (tender.getEnUU() == SystemSession.getUser().getEnterprise().getUu()) { // 如果是当前企业查看自己的公开招标单,直接返回结果
+            return tender;
+        }
+        // 转投标单方法
         for (PurchaseTenderProd tenderProd : tender.getPurchaseTenderProds()) {
             Long vendUU = SystemSession.getUser().getEnterprise().getUu();
             EnterpriseBaseInfo enBaseInfo = enterpriseBaseInfoDao.findOne(vendUU);
@@ -250,14 +300,14 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
             SaleTenderItem tenderItem = new SaleTenderItem();
             // 找不到投标单主表才新建一个
             SaleTender saleTender =  saleTenderDao.findByEnUUAndVendUUAndCode(tender.getEnterprise().getUu(), enBaseInfo.getUu(), tender.getCode());
-            if (null == saleTender) {
+            if (null == saleTender) { // 不存在投标单说明未转投标单,进行新增投标单操作
                 saleTender = new SaleTender(tender);
                 saleTender.setVendUU(enBaseInfo.getUu()); // 投标单主表构造完毕
                 saleTenderDao.save(saleTender);
+                tenderItem.setSaleTender(saleTender);
+                tenderItem.setTenderProd(tenderProd);
+                saleTenderItemDao.saveAndFlush(tenderItem);
             }
-            tenderItem.setSaleTender(saleTender);
-            tenderItem.setTenderProd(tenderProd);
-            saleTenderItemDao.saveAndFlush(tenderItem);
         }
         return tender;
     }
@@ -276,6 +326,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
     public void reply(List<SaleTenderItem> tenderItems, EnterpriseBaseInfo enBaseInfo, List<Attach> attaches) {
         enterpriseBaseInfoDao.save(enBaseInfo);
         SaleTender saleTender = tenderItems.get(0).getSaleTender();
+        saleTender.setStatus("已投标");
         Set<Attach> attachSet = new HashSet<>();
         if (!CollectionUtils.isEmpty(attaches)) {
             attachSet.addAll(attaches);
@@ -307,19 +358,19 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
 //        return returnPurchaseTenderItem(tender, enUU);
 //    }
 
-    /**
-     * 根据id和供应商uu获取投标单(采购方查看投标单)
-     *
-     * @param id
-     * @return
-     */
-    @Override
-    public SaleTender findByEnUUAndId(Long enUU, Long id) {
-        PurchaseTender tender = purchaseTenderDao.findOne(id);
-        return returnPurchaseTenderItem(tender, enUU);
-    }
-
-    private SaleTender returnPurchaseTenderItem(PurchaseTender tender, Long enUU) {
+//    /**
+//     * 根据id和供应商uu获取投标单(采购方查看投标单)
+//     *
+//     * @param id
+//     * @return
+//     */
+//    @Override
+//    public SaleTender findByEnUUAndId(Long enUU, Long id) {
+//        PurchaseTender tender = purchaseTenderDao.findOne(id);
+//        return returnPurchaseTenderItem(tender, enUU);
+//    }
+//
+//    private SaleTender returnPurchaseTenderItem(PurchaseTender tender, Long enUU) {
 //        SaleTender tenderItem = new SaleTender();
 //        if (!CollectionUtils.isEmpty(tender.getPurchaseTenderItems())) {
 //            Set<SaleTender> tenderItems = tender.getPurchaseTenderItems();
@@ -355,8 +406,8 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
 //        tender.setPurchaseTenderItems(items);
 //        purchaseTenderDao.save(tender);
 //        return tenderItem;
-        return null;
-    }
+//        return null;
+//    }
 
     /**
      * 采购方定标操作

+ 103 - 0
src/main/java/com/uas/platform/b2b/temporary/model/PurcTenderProd.java

@@ -0,0 +1,103 @@
+package com.uas.platform.b2b.temporary.model;
+
+import java.io.Serializable;
+
+/**
+ * 招标菜品明细
+ *
+ * Created by dongbw
+ * 17/04/10 10:40.
+ */
+public class PurcTenderProd implements Serializable{
+
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 产品名称
+     */
+    private String prodname;
+
+    /**
+     * 产品型号
+     */
+    private String prodcode;
+
+//    /**
+//     * 产品规格
+//     */
+//    private String prodspec;
+
+    /**
+     * 品牌
+     */
+    private String brand;
+
+    /**
+     * 单位
+     */
+    private String unit;
+
+    /**
+     * 采购数量
+     */
+    private Integer amount;
+
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getProdname() {
+        return prodname;
+    }
+
+    public void setProdname(String prodname) {
+        this.prodname = prodname;
+    }
+
+    public String getProdcode() {
+        return prodcode;
+    }
+
+    public void setProdcode(String prodcode) {
+        this.prodcode = prodcode;
+    }
+
+    public String getBrand() {
+        return brand;
+    }
+
+    public void setBrand(String brand) {
+        this.brand = brand;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
+    public Integer getAmount() {
+        return amount;
+    }
+
+    public void setAmount(Integer amount) {
+        this.amount = amount;
+    }
+}
+

BIN
src/main/resources/jxls-tpl/sale/PurchaseTenderProd.xls


+ 1 - 1
src/main/webapp/resources/css/index.css

@@ -2407,7 +2407,7 @@ input.ng-invalid.ng-dirty,textarea.ng-invalid.ng-dirty {
 	position: fixed;
 	width: 100%;
 	top: 0;
-	z-index: 10000;
+	z-index: 1000;
 }
 .dropdown-tab01{
 	width: 100%;

+ 160 - 21
src/main/webapp/resources/js/index/app.js

@@ -677,6 +677,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 		};
 
 		$scope.showMessage = function() {
+            $rootScope.isOpen  = true;
             var $modalInstance = $modal.open({
                 templateUrl: 'static/tpl/index/home/pagingRelease.html',
                 controller: 'PagingReleaseCtrl'
@@ -3143,6 +3144,14 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 
     // 查找供应商
     app.controller('DbfindVendorCtrl', ['$scope', 'Vendor', 'BaseService', 'ngTableParams', 'toaster', '$modalInstance','$rootScope', function($scope, Vendor, BaseService, ngTableParams, toaster, $modalInstance, $rootScope){
+
+        // 搜索框回车
+        $scope.onSearch = function(keyword) {
+            $scope.keyword = keyword;
+            $scope.tableParams.page(1);
+            $scope.tableParams.reload();
+        };
+
         $scope.tableParams = new ngTableParams({
             page : 1,
             count : 25
@@ -3151,7 +3160,9 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
             counts: [10, 25, 50, 100],
             getData : function($defer, params) {
                 $scope.loading = true;
-                Vendor.getVendor(BaseService.parseParams(params.url()), function(page){
+                var pageParams = params.url();
+                pageParams.keyword = $scope.keyword;
+                Vendor.getVendor.call(null, BaseService.parseParams(pageParams), function(page){
                     $scope.loading = false;
                     if(page) {
                         params.total(page.totalElements);
@@ -3196,7 +3207,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
         $scope.checkOne = function(vendor) {
             vendor.checked = true;
 
-        }
+        };
 
         $scope.close = function(){
             var vendors = [];
@@ -3206,7 +3217,8 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
                     $modalInstance.close(vendors);
                 }
             });
-        }
+        };
+
     }]);
 	
 	// 发货提醒
@@ -9742,11 +9754,38 @@ app.controller('SaleSendCtrl', ['$scope', '$filter', 'SaleSend', 'ngTableParams'
     /**
      * 新增招标单
      */
-    app.controller('PurcNewTenderCtrl', ['$scope', '$filter', 'PurcTender', 'ngTableParams', 'toaster', 'BaseService', '$stateParams', '$modal', '$rootScope', '$upload', function($scope, $filter, PurcTender, ngTableParams, toaster, BaseService, $stateParams, $modal, $rootScope, $upload) {
+    app.controller('PurcNewTenderCtrl', ['$scope', '$filter', 'PurcTender', 'ngTableParams', 'toaster', 'BaseService', '$stateParams', '$modal', '$rootScope', '$upload', 'ShipAddress', '$http', function($scope, $filter, PurcTender, ngTableParams, toaster, BaseService, $stateParams, $modal, $rootScope, $upload, ShipAddress, $http) {
 
 
         $scope.loading = false;
 
+        // 获取收货地址列表
+        ShipAddress.shipAddList({}, function(data) {
+            $scope.ships = data;
+            $scope.tender.shipAddress = $scope.ships[0];
+        });
+
+        // 获取地址信息
+        $http.get('resources/citydata/city.json',  {"Accept": "application/json;charset=utf-8", "Accept-Charset":"charset=utf-8"
+        }).then(function(response) {
+            $scope.provinces = response.data;
+        });
+
+        // 新增收货地址保存
+        $scope.saveShipAddress = function(ship) {
+            ship.address = ship.province + ship.city + ship.district;
+            ShipAddress.saveAddress( {}, ship, function(data) {
+                if(data.success) {
+                    toaster.pop('success', '提示', data.success);
+                    $scope.ships = data;
+                    $scope.tender.shipAddress = $scope.ships[0];
+                }
+                if(data.error) {
+                    toaster.pop('error', '提示', data.error);
+                }
+            });
+        }
+
         $scope.condition = {dateZone: 1};
         $scope.tenderProd = [];
         var prod = {
@@ -9787,12 +9826,40 @@ app.controller('SaleSendCtrl', ['$scope', '$filter', 'SaleSend', 'ngTableParams'
             $scope.tenderProd.splice(index, 1);
         };
 
+        // 批量导入
+        $scope.uplodaByBatch = function() {
+            var modalInstance = $modal.open({
+                templateUrl: 'static/tpl/index/purc/modal/uplodaByBatch.html',
+                controller: 'PurcTenderUploadCtrl',
+                size: 'lg',
+                resolve: {
+                }
+            });
+
+            modalInstance.result.then(function(data) {
+                // 获取上传的产品明细,前台展示
+                angular.forEach(data, function(data) {
+                    console.log(data);
+                    $scope.tenderProd.push(data);
+                    for(var i = 0; i < $scope.tenderProd.length; i++) {
+                        if($scope.tenderProd[i].prodname == null) { // 如果没有填写就删除这行数据
+                            $scope.tenderProd.splice(i, 1);
+                        }
+                    }
+                });
+
+            }, function(){
+
+            });
+        }
+
         // 已存在id的为查看招标单(用于在录入的招标单的发布和删除)
         if( ! angular.isUndefined($stateParams.id)) {
             $scope.loading  = true;
             PurcTender.getOne({id: $stateParams.id}, function(data){
                 data.$editing = false;
                 $scope.tender = data;
+                $scope.firstProd = data.purchaseTenderProds[0];
                 console.log($scope.tender);
                 $scope.loading  = false;
             }, function(response){
@@ -9823,7 +9890,7 @@ app.controller('SaleSendCtrl', ['$scope', '$filter', 'SaleSend', 'ngTableParams'
         //     }
         // };
 
-        // 查找客户
+        // 查找供应商
         $scope.dbfindVendor = function(){
             var modalInstance = $modal.open({
                 templateUrl: 'static/tpl/index/purc/tender_vendor.html',
@@ -9970,8 +10037,7 @@ app.controller('SaleSendCtrl', ['$scope', '$filter', 'SaleSend', 'ngTableParams'
         };
 
         // 删除(在录入状态)
-        // TODO 
-        $scope.deleted = function(tender) {
+        $scope.deleteThis = function(tender) {
             PurcTender.deleteOne({}, tender, function() {
                 toaster.pop('info', '提示', '删除成功');
                 window.location.hash = '#/purc/tender';
@@ -9980,8 +10046,8 @@ app.controller('SaleSendCtrl', ['$scope', '$filter', 'SaleSend', 'ngTableParams'
 
         // 发布(在录入状态)
         $scope.publishSaved = function(tender) {
-            var now = new Date().getTime();
-            if (tender.endDate.getTime() < now) {
+            var now = new Date() + 1; // 投标截止日为当天的均可以提交
+            if (tender.endDate < now) {
                 toaster.pop('warning', '警告', '单据已过期,请重新设置日期');
             } else {
                 toaster.pop('info', '提示', '正在发布,请稍候');
@@ -10010,6 +10076,57 @@ app.controller('SaleSendCtrl', ['$scope', '$filter', 'SaleSend', 'ngTableParams'
         };
     }]);
 
+
+    /**
+     * 招标单批量导入
+     */
+    app.controller('PurcTenderUploadCtrl', ['$scope', 'toaster', '$upload', '$modalInstance', function($scope, toaster, $upload, $modalInstance) {
+        // 通过excel批量上传物料
+        $scope.result = null;
+        $scope.upload = function() {
+            var file = $scope.myFiles[0];
+            $upload.upload({
+                url: 'tender/release/excel',
+                file: file,
+                method: 'POST'
+            }).success(function(data) {
+                console.log(data);
+                $scope.result = data;
+                $scope.success = $scope.result.success;
+                $scope.total = $scope.result.total;
+                $scope.alters = $scope.result.alters;
+            }).error(function(response) {
+                toaster.pop('error', response.data || response);
+            });
+        };
+
+        // 查看范例
+        $scope.showImg = function() {
+            var src = "static/img/eg/uploadByBatch_example.png", box = $('#image-box');
+            box.show();
+            box.find('img').attr('src', src);
+            box.find('a').click(function(){
+                box.hide();
+            });
+            box.dblclick(function(){
+                box.hide();
+            });
+        };
+
+        // 下载模板
+        $scope.download = function() {
+            window.location.href = 'tender/upload/template';
+        };
+
+        $scope.enSure = function() {
+            $modalInstance.close($scope.result.items);
+        }
+
+        $scope.cancel = function() {
+            $modalInstance.dismiss();
+        }
+    }]);
+
     /**
      * 评标
      */
@@ -10029,6 +10146,18 @@ app.controller('SaleSendCtrl', ['$scope', '$filter', 'SaleSend', 'ngTableParams'
             });
         }
         evaluation();
+        $scope.orderType = 'price';
+        $scope.dir = '-';
+
+        // 改变排序顺序
+        $scope.changeOrder = function(type){
+            $scope.orderType = type;
+            if(!$scope.dir || $scope.dir === '') {
+                $scope.dir = '-';
+            }else {
+                $scope.dir = '';
+            }
+        };
 
         $scope.submit = function(tender) {
             PurcTender.decide(tender, function(){
@@ -10228,16 +10357,25 @@ app.controller('SaleSendCtrl', ['$scope', '$filter', 'SaleSend', 'ngTableParams'
      * 采购方查看供应商投标单
      */
     app.controller('SaleVendorTenderDetailCtrl', ['$scope', '$filter', 'PurcTender', 'ngTableParams', 'toaster', 'BaseService', '$stateParams', '$modal', '$rootScope', function($scope, $filter, PurcTender, ngTableParams, toaster, BaseService, $stateParams, $modal, $rootScope) {
-        PurcTender.getVendorTenderItem({vendUU:$stateParams.vendUU, id: $stateParams.id}, function(data){
-            $scope.item = data; // 供应商查看
-            $scope.loading  = false;
-        }, function(response){
-            $scope.loading  = false;
-            toaster.pop('error', '数据加载失败', response.data);
-        });
-
+        // PurcTender.getVendorTenderItem({vendUU:$stateParams.vendUU, id: $stateParams.id}, function(data){
+        //     $scope.item = data; // 供应商查看
+        //     $scope.loading  = false;
+        // }, function(response){
+        //     $scope.loading  = false;
+        //     toaster.pop('error', '数据加载失败', response.data);
+        // });
+        console.log($stateParams);
         PurcTender.getOne({id: $stateParams.id}, function(data){
-            $scope.bid = data; // 用于展示
+            $scope.bid = data;
+            angular.forEach(data.purchaseTenderProds, function(tenderProd) {
+                angular.forEach(tenderProd.saleTenderItems, function(saleTenderItem) {
+                    if (saleTenderItem.saleTender.vendUU == $stateParams.vendUU) {// 与传出的参数venUU相等,即为查看企业对应的明细
+                        tenderProd.currentItem = saleTenderItem;
+                        $scope.saleTender = saleTenderItem.saleTender;
+                        $scope.currentEnBaseInfo = saleTenderItem.saleTender.enterpriseBaseInfo;
+                    }
+                });
+            });
         }, function(response){
             toaster.pop('error', '数据加载失败', response.data);
         });
@@ -10250,6 +10388,7 @@ app.controller('SaleSendCtrl', ['$scope', '$filter', 'SaleSend', 'ngTableParams'
     app.controller('SaleTenderDetailCtrl', ['$scope', '$filter', 'PurcTender', 'ngTableParams', 'toaster', 'BaseService', '$stateParams', '$modal', '$rootScope', '$upload', 'AccountEnterprise', function($scope, $filter, PurcTender, ngTableParams, toaster, BaseService, $stateParams, $modal, $rootScope, $upload, AccountEnterprise) {
 
         $scope.itemStatusTodo = true;
+        $scope.attaches = []; // 存放上传了的附件
         // var staticItem = null;
         // $scope.loading  = true;
 
@@ -10271,16 +10410,18 @@ app.controller('SaleSendCtrl', ['$scope', '$filter', 'SaleSend', 'ngTableParams'
 
         AccountEnterprise.get({}, function(data){
             $scope.currentEn = data;
-            console.log(data);
         });
 
         PurcTender.getOne({id: $stateParams.id}, function(data){
             $scope.bid = data;
+            console.log(data);
             angular.forEach(data.purchaseTenderProds, function(tenderProd) {
                 angular.forEach(tenderProd.saleTenderItems, function(saleTenderItem) {
                     if (saleTenderItem.saleTender.vendUU == $scope.currentEn.uu) {
                         tenderProd.currentItem = saleTenderItem;
                         $scope.saleTender = saleTenderItem.saleTender;
+                        $scope.attaches = saleTenderItem.saleTender.bidAttaches;
+                        console.log($scope.attaches);
                         $scope.currentEnBaseInfo = saleTenderItem.saleTender.enterpriseBaseInfo;
                         if (tenderProd.currentItem.price != null) { // 为投标时
                             $scope.itemStatusTodo = false;
@@ -10292,8 +10433,6 @@ app.controller('SaleSendCtrl', ['$scope', '$filter', 'SaleSend', 'ngTableParams'
             toaster.pop('error', '数据加载失败', response.data);
         });
 
-        $scope.attaches = []; // 存放上传了的附件
-
         $scope.upload = function(myFile) {  // 上传附件
             var file = $scope.myFile, file = file && file.length > 0 ? file : null;
             $upload.upload({

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

@@ -18,6 +18,11 @@
 		top: 5px;
 		content: "."
 	}
+	.pane-body .detail .active{
+		overflow-y: scroll;
+		overflow-x: hidden;
+	}
+
 </style>
 <div class="user">
 	<div class="user-info">
@@ -47,7 +52,7 @@
 </div>
 <!-- 用户信息 End -->
 <!-- 常用操作 Start -->
-<!--<div class="feed-wrap">
+<div class="feed-wrap">
 	<div class="pane notice" ng-controller="NoticeCtrl">
 		<div class="pane-header">
 			<img src="resources/img/home/gonggao.png"> 公告(3)<span class="pull-right f12">{{dateTime | date:
@@ -68,7 +73,7 @@
 		</div>
 		<div class="pane-body">
 			<ul class="list-unstyled detail">
-				<li ng-repeat="tender in tenders">
+				<li ng-repeat="tender in tenders | orderBy : - date">
 					<a ui-sref="sale.tender({id:tender.id})" class="text-light" ng-bind="::tender.title"></a>
 				</li>
 			</ul>
@@ -80,13 +85,24 @@
 		</div>
 		<div class="pane-body">
 			<ul class="list-unstyled detail">
-				<li ng-repeat="tender in openTenders">
+				<li ng-repeat="tender in openTenders | orderBy : - date">
 					<a ui-sref="sale.tender({id:tender.id})" class="text-light" ng-bind="::tender.title"></a>
 				</li>
 			</ul>
 		</div>
 	</div>
 	</div>
-</div>-->
+</div>
+<script src="static/lib/jquery/jquery.min.js"></script>
+<script>
+	$(function () {
+        var size5= $(".pane-body ul li").size();
+        if(size5 > 5){
+            $(".pane-body .detail").addClass("active");
+        }else{
+            $(".pane-body .detail").removeClass("active");
+        }
+	})
+</script>
 <!-- 常用操作 End -->
 

+ 417 - 122
src/main/webapp/resources/tpl/index/purc/saved_tender.html

@@ -3,37 +3,39 @@
 
     /* 标题 */
     .tender-label {
-        height: 30px;
-        margin-left: 10px;
-        margin-right: 10px;
-        background-color: #e8e8e8;
-        box-shadow: 0 0 5px #6f6f6f;
-        border-top-right-radius: 20px;
-    }
+        /*height: 30px;*/
+        /*margin-left: 10px;*/
+        /*margin-right: 10px;*/
+        /*background-color: #e8e8e8;*/
+        /*box-shadow: 0 0 5px #6f6f6f;*/
+        /*border-top-right-radius: 20px;*/
+        width: 100%;
+        height: 40px;
+        line-height: 42px;
+        background: url(static/img/comm_bg01.png) no-repeat center;
+        background-size: 100%;
 
+    }
     /* 主体 */
     .purc-tender {
         line-height: 2;
         font-family: "Microsoft Yahei Regular";
         font-size: 14px;
     }
-
     .purc-tender .row {
         margin-left: 0px;
         margin-right: 0px;
         padding-left: 15px;
         padding-right: 15px;
     }
-
     .tender-content {
         background-color: #fff;
     }
 
-    .tender-content > div > div {
+    .tender-content>div>div {
         margin-top: 3px;
         margin-bottom: 3px;
     }
-
     /* 二级标题栏 */
     .title-div {
         font-family: "Microsoft Yahei Regular";
@@ -49,6 +51,16 @@
         width: 100px;
         float: left;
     }
+    /* 输入框 */
+    .tender-input {
+        border: none;
+        border-bottom: 1px solid #323232;
+        text-align: center;
+    }
+    .tender-input:focus{
+        outline:none;
+        border-bottom: 1px solid #5078cb;
+    }
 
     /* 收货地址 */
     .address-group {
@@ -56,8 +68,7 @@
         border-bottom-left-radius: 0;
         margin-right: 20px;
     }
-
-    .address-group > input:focus {
+    .address-group>input:focus{
         outline: none;
     }
 
@@ -69,12 +80,158 @@
         margin-bottom: 0; /* 去除index中公共样式影响 */
     }
 
+    /* 地址附加图标 */
+    .address-addon {
+        border: none;
+        background: none;
+    }
+
+    /* 下拉选项 */
+    .select-menu {
+        margin: 4px;
+        width: 100px;
+        padding: 0 5%;
+        height: 30px;
+    }
+
+    select {
+        /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/
+        border: solid 1px #5078cb;
+
+        /*很关键:将默认的select选择框样式清除*/
+        appearance:none;
+        -moz-appearance:none;
+        -webkit-appearance:none;
+
+        /*在选择框的最右侧中间显示小箭头图片*/
+        background: url("resources/img/tender/select.png") no-repeat scroll right center transparent;
+
+
+        /*为下拉小箭头留出一点位置,避免被文字覆盖*/
+        padding-right: 14px;
+    }
+
+
+    /*清除ie的默认选择框样式清除,隐藏下拉箭头*/
+    select::-ms-expand { display: none; }
+
+    /* 日期选择器 */
+    .purc-tender .date-picker {
+        padding-top: 10px;
+    }
+    .purc-tender .date-picker input {
+        border-radius: 0;
+        border: 1px solid #5078cb;
+        border-right: none;
+        font-size: 12px;
+    }
+    .purc-tender .date-picker span .btn-open {
+        color: #fff;
+        background-color: #5078cb;
+        border-radius: 0;
+        border: 1px solid #5078cb;
+        border-left: none;
+    }
+
+    /* 修改本页内btn的样式 及datepicker中的btn-success的样式 */
+    .tender-content .date-picker .btn {
+        border-radius: 0;
+    }
+
+    .tender-content .date-picker .btn-success {
+        background-color: #327EBE;
+    }
+    .tender-content .date-picker ul {
+        border-radius: 0;
+    }
+    .tender-content .date-picker ul div:focus {
+        outline: none;
+        border-radius: 0;
+        border: none;
+    }
+
+    /* 附件上传 */
+    .purc-tender .base-info .attach-upload {
+        display: inline;
+    }
+    .purc-tender .base-info .attach-upload input {
+        height: 100px;
+        width: 100px;
+        margin: 6px 0 0 100px;
+        opacity: 0;
+        z-index: 1;
+        position: relative;
+    }
+    .purc-tender .base-info .attach-upload input:hover {
+        cursor: pointer;
+    }
+    .fileInputContainer{
+        height:100px;
+        background-image: url('resources/img/tender/upload.png');
+        position:relative;
+        width: 100px;
+        margin-left: 100px;
+        margin-top: 20px;
+    }
+    .fileInput{
+        height:100px;
+        font-size: 100px;
+        position:absolute;
+        margin-left: 100px;
+        margin-top: 20px;
+        right:0;
+        top:0;
+        opacity: 0;
+        filter:alpha(opacity=0);
+        cursor:pointer;
+    }
+    /* 图片点击上传 */
+    /*.upload-bg {*/
+    /*width: 100px;*/
+    /*height: 100px;*/
+    /*background-image: url('resources/img/tender/upload.png');*/
+    /*margin-top: 10px;*/
+    /*margin-left: 100px;*/
+    /*border: 1px solid #e8e8e8;*/
+    /*z-index: 2;*/
+    /*}*/
+    /* 供应商信息 添加供应商 */
+    .vend-info  a.add-vendor {
+        color: #5078cb;
+    }
+    .vend-info  a.add-vendor:hover {
+        cursor: pointer;
+        color: #55b6ff;
+    }
+    .vend-info  a.remove-vendor {
+        color: #FF2E2F;
+    }
+    .vend-info  a.remove-vendor:hover {
+        cursor: pointer;
+        color: #D32526;
+    }
+
+    /* 单选框 复选框 */
+    input[type="radio"],input[type="checkbox"] {
+        vertical-align:text-bottom;
+        margin-bottom:2px;
+        margin-bottom:-2px\9;
+    }
+    .vend-info .input-select {
+        float: left;
+        padding-top: 4px;
+        margin-left: -20px;
+    }
+
+    .vend-info .input-select input {
+        margin-right: 8px;
+    }
+
     /* 右下角按钮 */
-    .tender-content > div {
+    .tender-content>div {
         background-color: #fff;
     }
-
-    .tender-content > div > div > button {
+    .tender-content>div>div>button {
         width: 94px;
         height: 36px;
         font-size: 14px;
@@ -82,10 +239,13 @@
         color: #fff;
         border-radius: 0;
     }
-
-    .tender-content > div > div.btn-publish > button {
+    .tender-content>div>div.btn-publish>button {
         background-color: #327EBE;
     }
+    .tender-content>div>div.btn-save>button {
+        background-color: #32bebc;
+    }
+
 
     .read-only {
         border: none;
@@ -96,124 +256,259 @@
         border: none;
     }
 
+    .attach-file {
+        margin-left: 100px;
+        width: 400px;
+    }
+
+
+    .com_head{width:100%;height:40px;line-height:42px;background:url(static/img/comm_bg01.png) no-repeat center;background-size: 100%;}
+    .com_head span{margin-left:30px;color:#000;font-size:14px;}
+    .com_head a{color:#327ebe;float:right;margin-right:40px;font-size: 14px;}
+    .com_head a i{margin-left: 5px;line-height: 40px;}
+    .com_head a:hover{color: #d2272d;}
+
+    .com_title{width:100%;margin:0px auto;height:40px;line-height:40px;font-size:14px;color:#323232;background:#f5f5f5;}
+    .com_title font{color:#327ebe;}
+
+
+    .com_title01{height: 50px;line-height:50px;width:100%;border-bottom:#3578ba 1px dotted;border-top:#e8e8e8 1px solid;margin-top: -4px;} /*  这里修改过 margin-top*/
+    .com_title01 span{margin-left:20px;font-size: 14px;line-height: 50px;color: #555;font-weight: bold;}
+
+    .com_title01  a {
+        color: #5078cb;
+    }
+    .com_title01  a:hover {
+        cursor: pointer;
+        color: #55b6ff;
+    }
+
+    /*招标单*/
+    .tender-list02 dl{width: 100%;margin:0 auto;}
+    .tender-list02 dl dt{width: 100%;margin:0 auto;height: 40px;}
+    .tender-list02 dl dt span{height: 50px;line-height: 50px;display: inline-block;color: #999;}
+    .tender-list02 dl dd{width: 100%;margin:0 auto;height: 50px;border-bottom: #ccc 1px dotted;overflow: hidden; position: relative;}
+    .tender-list02 dl dd:hover{border: #d32526 1px solid;}
+    .tender-list02 dl dd span{height: 50px;line-height: 50px;display: inline-block;}
+    .tender-list02 dl span{width:11%;font-size: 14px;float: left;text-align: center;}
+    .tender-list02 dl span.wid01{ width:22%;}
+    .tender-list02 dl span.wid02{ width:18%;}
+    .tender-list02 dl span.wid03{ width:5%;}
+    .tender-list02 .editable{ text-align: center; width: 100%;}
+    .tender-list02  .scroll-y dd input{width: 100%; height: 34px; border: none; font-size: 14px; padding-left: 4px; text-align: center; vertical-align: middle; line-height: 34px;}
+    .tender-list02 dl span.wid03 a{ display: none;}
+    .tender-list02 dl span.wid03 a.active{ display: inline-block;}
+    .tender-list02 dl span.wid03 a i{width: 20px;height: 20px;display: inline-block;line-height: 20px;background: #d2272d;text-align: center;border-radius: 100%;color: #fff;}
+    .tender-list02 .com_title01 a{float: right;margin-right: 45px;font-size: 14px;line-height: 50px;}
+    .scroll-y{width: 100%;margin: 0 auto;max-height: 500px;}
+    .scroll-y.active{overflow-y: scroll;  overflow-x: hidden;  }
+
 </style>
 
 <div class="ng-scope">
-    <div class="purc-tender">
-        <div class="tender-label list-unstyled">
-            <strong style="padding: 0 10px 0 10px;">|</strong><label>招标单</label>
-        </div>
-        <div class="tender-content ng-scope" ng-controller="PurcNewTenderCtrl">
-            <div class="title-div" style="border-bottom: 1px dashed #327ebe;">
-                <span>基本信息</span>&nbsp;
-                <span style="color: rgb(211,37,38);">*</span>
+    <form name="tenderForm">
+        <div class="purc-tender">
+            <div class="com_title">服务>招标<font>>招标单</font></div>
+            <!--<div class="loading in" ng-class="{'in': loading}">
+            <i></i>
+            </div>-->
+            <div class="tender-label list-unstyled">
+                <div class="com_head"><span>招标单</span></div>
             </div>
-            <div class="row base-info">
-                <div class="col-xs-4">
-                    <div class="tender-desc">招标标题:</div>
-                    <div>{{tenderItem.tender.title}}</div>
-                </div>
-                <div class="col-xs-4">
-                    <div class="tender-desc">联系人:</div>
-                    <div>{{tenderItem.tender.user}}</div>
-                </div>
-                <div class="col-xs-4">
-                    <div class="tender-desc">联系电话:</div>
-                    <div>{{tenderItem.tender.userTel}}</div>
-                </div>
-                <div class="col-xs-4">
-                    <div class="tender-desc">产品名称:</div>
-                    <div>{{tenderItem.tender.prodTitle}}</div>
-                </div>
-                <div class="col-xs-4">
-                    <div class="tender-desc">产品型号:</div>
-                    <div>{{tenderItem.tender.prodCode}}</div>
-                </div>
-                <div class="col-xs-4">
-                    <div class="tender-desc">单位:</div>
-                    <div>{{tenderItem.tender.unit}}</div>
-                </div>
-                <div class="col-xs-4">
-                    <div class="tender-desc">采购数量:</div>
-                    <div>{{tenderItem.tender.qty}}</div>
-                </div>
-                <div class="col-xs-4">
-                    <div class="tender-desc">交易币别:</div>
-                    <div>{{tenderItem.tender.currency}}</div>
+            <div class="tender-content ng-scope" ng-controller="PurcNewTenderCtrl">
+                <div class="title-div" style="border-bottom: 1px dashed #327ebe;">
+                    <span>基本信息</span>&nbsp;
+                    <span style="color: rgb(211,37,38);">*</span>
                 </div>
-                <div class="col-xs-4">
-                    <div class="tender-desc">是否含税:</div>
-                    <div>{{tenderItem.tender.ifTax == 1 ? '是' : '否'}}</div>
-                </div>
-                <div class="col-xs-12">
-                    <div class="tender-desc">收货地址:</div>
-                    <div>{{tenderItem.tender.shipAddress}}</div>
-                </div>
-                <div class="col-xs-4">
-                    <span class="tender-desc">投标截止时间:</span>
-                    <div>{{tenderItem.tender.endDate | date:'yyyy-MM-dd'}}</div>
-                </div>
-                <div class="col-xs-4">
-                    <span class="tender-desc">发布结果时间:</span>
-                    <div>{{tenderItem.tender.publishDate | date:'yyyy-MM-dd'}}</div>
-                </div>
-                <div class="col-xs-12">
-                    <div class="tender-desc">招标文件:</div>
-                    <a class="file" ng-repeat="attach in tenderItem.tender.tenderAttaches"
-                       href="file/{{attach.id}}">{{::attach.name}}</a>
-                </div>
-            </div>
-            <div class="title-div" style="border-bottom: 1px dashed #327ebe;">
-                <span>供应商信息</span>
-            </div>
-            <div class="row vend-info">
-                <div class="col-xs-12">
-                    <div class="tender-desc">是否开放报名:</div>
-                    <div>{{tenderItem.tender.ifOpen == 1 ? '允许优软平台的供应商参与' : '只允许我邀请的供应商参与'}}</div>
-                </div>
-                <div class="col-xs-12" style="" ng-repeat="item in tenderItem.tender.saleTenders">
-                    <div class="col-xs-2 control-label" style="width: 100px;">供应商{{$index + 1}}</div>
-                    <div for="uu{{$index + 1}}" class="col-xs-1" style="width: 20px;">UU</div>
-                    <div class="col-xs-2">
-                        <div>{{item.enterpriseBaseInfo.uu}}</div>
+                <div class="row base-info">
+                    <div class = "col-xs-4">
+                        <div class="tender-desc">招标标题:</div>
+                        <div ng-bind="tender.title"></div>
                     </div>
-                    <div for="enName{{$index + 1}}" class="col-xs-1"
-                         style="width: 60px; margin-left: 20px; margin-right: -20px;">名称
+                    <div class = "col-xs-4">
+                        <div class="tender-desc">联系人:</div>
+                        <div ng-bind="tender.user"></div>
                     </div>
-                    <div class="col-xs-3">
-                        <div>{{item.enterpriseBaseInfo.enName}}</div>
+                    <div class = "col-xs-4">
+                        <div class="tender-desc">联系电话:</div>
+                        <div ng-bind="tender.userTel"></div>
+                    </div>
+                    <div class = "col-xs-4">
+                        <div class="tender-desc">交易币别:</div>
+                        <div ng-bind="tender.currency"></div>
+                    </div>
+                    <div class = "col-xs-4">
+                        <div class="tender-desc">是否含税:</div>
+                        <div ng-bind="tender.ifTax == 1 ? '是' : '否'"></div>
+                    </div>
+                    <div class="col-xs-12">
+                        <div class="tender-desc">收货地址:</div>
+                        <div ng-bind="tender.shipAddress"></div>
+                        </span>
+                    </div>
+                    <div class="col-xs-4">
+                        <span class="tender-desc">投标截止时间:</span>
+                        <div ng-bind="tender.endDate | date:'yyyy-MM-dd'"></div>
+                    </div>
+                    <div class="col-xs-4">
+                        <span class="tender-desc">公布结果时间:</span>
+                        <div ng-bind="tender.publishDate | date:'yyyy-MM-dd'"></div>
+                    </div>
+                    <div class="col-xs-4">
+                    </div>
+                    <div class="col-xs-12">
+                        <div class="tender-desc">招标文件:</div>
+                        <div ng-if="tender.tenderAttaches.length" class="col-xs-8">
+                            <a class="file" ng-repeat="attach in tender.tenderAttaches" href="file/{{attach.id}}">{{::attach.name}}</a>
+                        </div>
+                        <div ng-if="tender.tenderAttaches.length == 0">无</div>
                     </div>
                 </div>
-                <div class="col-xs-12" style="border-bottom: 1px dashed #327ebe;">
-                    <div class="tender-desc">供应商报名要求</div>
-                </div>
-                <div class="col-xs-12">
-                    <div class="tender-desc">交易方式:</div>
-                    <div>{{tenderItem.tender.payment}}</div>
+
+                <div class="wrap">
+                    <div class="content">
+                        <div class="tender-list02">
+                            <!--产品信息-->
+                            <div class="com_title01"><span>产品明细</span></div>
+                            <dl>
+                                <dt>
+                                    <span>序号</span>
+                                    <span class="wid01">产品名称</span>
+                                    <span class="wid01">型号</span>
+                                    <span class="wid02">品牌</span>
+                                    <span>单位</span>
+                                    <span>采购数量</span>
+                                </dt>
+                                <div class="scroll-y">
+                                    <dd ng-repeat="prod in tender.purchaseTenderProds">
+                                        <span>{{$index + 1}}</span>
+                                        <span class="wid01" ng-bind="prod.prodTitle"></span>
+                                        <span class="wid01" ng-bind="prod.prodCode"></span>
+                                        <span class="wid02" ng-bind="prod.brand"></span>
+                                        <span ng-bind="prod.unit"></span>
+                                        <span ng-bind="prod.qty"></span>
+                                    </dd>
+                                </div>
+                            </dl>
+                        </div>
+                    </div>
                 </div>
-                <div class="col-xs-2"></div>
-                <div class="col-xs-12">
-                    <div class="tender-desc">发票要求:</div>
-                    <div ng-if="tenderItem.tender.invoiceType == 3">增值税专用发票</div>
-                    <div ng-if="tenderItem.tender.invoiceType == 2">增值税普通发票</div>
-                    <div ng-if="tenderItem.tender.invoiceType == 1">不需要发票</div>
+                <div  class="title-div" style="border-bottom: 1px dashed #327ebe;">
+                    <span>供应商信息</span>
                 </div>
-                <div class="col-xs-12">
-                    <div class="tender-desc">证照要求:
+                <!--<div class="row vend-info">
+                    <div class="col-xs-12">
+                        <div class="tender-desc">是否开放报名:</div>
+                        <div class="input-select col-xs-4">
+                            <input  class="tender-input" name="ifOpen" type="radio" value="0" ng-model="tender.ifOpen"/>
+                            <span>只允许我邀请的供应商参与</span>
+                        </div>
+                        <div class="input-select col-xs-4">
+                            <input class="tender-input" name="ifOpen" type="radio" value="1" ng-model="tender.ifOpen"/>
+                            <span>允许优软平台的供应商参与</span>
+                        </div>
                     </div>
-                    <div>
-                        {{tenderItem.tender.certificate}}
+                    <div class="col-xs-12" ng-show="tender.ifOpen == 0">
+                        <a class="add-vendor tender-desc" ng-click="dbfindVendor()" href="javascript:void(0)">
+                            <i class="fa fa-plus-square"></i>添加供应商&nbsp;
+                        </a>
                     </div>
+                    <div class="col-xs-12" style="" ng-repeat="en in tenderProd.enterpriseBaseInfo" ng-show="tender.ifOpen == 0">
+                        <div class="col-xs-2 control-label" style="width: 100px;">供应商{{$index + 1}}</div>
+                        <div for="uu{{$index + 1}}" class="col-xs-1" style="width: 20px;">UU</div>
+                        <div class="col-xs-2">
+                            <input class="tender-input" ng-model="en.uu" type="number" id="uu{{$index + 1}}" readonly ng-required="tender.ifOpen == 0">
+                        </div>
+                        <div for="enName{{$index + 1}}" class="col-xs-1" style="width: 60px; margin-left: 20px; margin-right: -20px;">名称</div>
+                        <div class="col-xs-3">
+                            <input ng-model="en.enName" type="text" style="width: 100%;" class="tender-input" readonly id="enName{{$index + 1}}"
+                                   ng-required="tender.ifOpen == 0">
+                        </div>
+                        <div class="col-xs-1">
+                            <a class="remove-vendor" href="javascript:void(0)" ng-click="removeVendor($index)" title="删除"><i class="fa fa-trash-o"></i></a>
+                        </div>
+                    </div>
+                    <div class="col-xs-12" style="border-bottom: 1px dashed #327ebe;">
+                        <div class="tender-desc">供应商报名要求</div>
+                    </div>
+                    <div class="col-xs-12">
+                        <div class="tender-desc">交易方式:</div>
+                        <input class="tender-input" style="width: 80%; text-align: left;" required name="payment" type="text" ng-model="tender.payment" placeholder="必填,填写付款方式,如现金、月结30天等"/>
+                    </div>
+                    <div class="col-xs-2"></div>
+                    <div class="col-xs-12">
+                        <div class="tender-desc">发票要求:</div>
+                        <div class="input-select col-xs-3">
+                            <input class="tender-input"  name="invoiceType" type="radio" value="2" ng-model="tender.invoiceType"/>
+                            <span>增值税专用发票</span>
+                        </div>
+                        <div class="input-select col-xs-3">
+                            <input class="tender-input" name="invoiceType" type="radio" value="1" ng-model="tender.invoiceType" />
+                            <span>增值税普通发票</span>
+                        </div>
+                        <div class="input-select col-xs-3">
+                            <input class="tender-input"  name="invoiceType" type="radio" value="0" ng-model="tender.invoiceType" />
+                            <span>不需要发票</span>
+                        </div>
+                    </div>
+                    <div class="col-xs-12">
+                        <div class="tender-desc">证照要求:<span class="tender-desc" style="font-size: 12px; font-family: 'Microsoft Yahei'; color: #969595;margin-top:-10px;">(多选)</span></div>
+                        <div class="input-select col-xs-3" ng-repeat="certificate in certificates">
+                            <input type="checkbox" name="certificate" ng-model="certificate.checked" value="certificate">
+                            <span ng-bind="certificate.name"></span>
+                        </div>
+                    </div>-->
+
+
+                    <div class="row vend-info">
+                        <div class="col-xs-12">
+                            <div class="tender-desc">是否开放报名:</div>
+                            <div>{{tender.ifOpen == 1 ? '允许优软平台的供应商参与' : '只允许我邀请的供应商参与'}}</div>
+                        </div>
+                        <div class="col-xs-12" ng-repeat="item in firstProd.saleTenderItems">
+                            <div class="col-xs-2 control-label" style="width: 100px;">供应商{{$index + 1}}</div>
+                            <div for="uu{{$index + 1}}" class="col-xs-1" style="width: 20px;">UU</div>
+                            <div class="col-xs-2">
+                                <div>{{item.saleTender.enterpriseBaseInfo.uu}}</div>
+                            </div>
+                            <div for="enName{{$index + 1}}" class="col-xs-1"
+                                 style="width: 60px; margin-left: 20px; margin-right: -20px;">名称
+                            </div>
+                            <div class="col-xs-3">
+                                <div>{{item.saleTender.enterpriseBaseInfo.enName}}</div>
+                            </div>
+                        </div>
+                        <div class="col-xs-12" style="border-bottom: 1px dashed #327ebe;">
+                            <div class="tender-desc">供应商报名要求</div>
+                        </div>
+                        <div class="col-xs-12">
+                            <div class="tender-desc">交易方式:</div>
+                            <div>{{tender.payment}}</div>
+                        </div>
+                        <div class="col-xs-2"></div>
+                        <div class="col-xs-12">
+                            <div class="tender-desc">发票要求:</div>
+                            <div ng-if="tender.invoiceType == 3">增值税专用发票</div>
+                            <div ng-if="tender.invoiceType == 2">增值税普通发票</div>
+                            <div ng-if="tender.invoiceType == 1">不需要发票</div>
+                        </div>
+                        <div class="col-xs-12">
+                            <div class="tender-desc">证照要求:
+                            </div>
+                            <div>
+                                {{tender.certificate}}
+                            </div>
+                        </div>
                 </div>
-            </div>
-            <div class="col-xs-12" style="padding: 30px;">
-                <div class="col-xs-2 pull-right btn-publish">
-                    <button class="btn" ng-click="publishSaved(tenderItem.tender)">发布</button>
-                </div>
-                <div class="col-xs-2 pull-right btn-delete">
-                    <button class="btn btn-danger" ng-click="delete(tenderItem.tender)">删除</button>
+                <div class="col-xs-12" style="padding: 30px;">
+                    <div class="col-xs-2 pull-right btn-publish">
+                        <button class="btn" ng-click="publishSaved(tender)">发布</button>
+                    </div>
+                    <div class="col-xs-2 pull-right btn-delete">
+                        <button class="btn btn-danger" ng-click="deleteThis(tender)">删除</button>
+                    </div>
                 </div>
             </div>
         </div>
-    </div>
-</div>
+    </form>
+</div>

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

@@ -1,4 +1,5 @@
 <!--  招标单  -->
+<link rel="stylesheet" href="static/css/add.css "/>
 <style>
 
     /* 标题 */
@@ -305,6 +306,26 @@
     .scroll-y{width: 100%;margin: 0 auto;max-height: 500px;}
     .scroll-y.active{overflow-y: scroll;  overflow-x: hidden;  }
 
+    /* 弹框 */
+    .bomb-box{width: 100%;height: 100%;position: fixed;z-index: 11111;background: rgba(0, 0, 0, 0.2);top: 0;left: 0;}
+    .bomb-box .box{position: absolute;left: 0;right: 0;top: 0;bottom: 0;margin: auto;box-shadow:0 0 3px #888 ;}
+    .bomb-box .box01{width:580px;height: 406px;border-radius: 5px;background: #fff;}
+    .bomb-box .box i.off{width:20px;height:20px;display:inline-block;position:absolute;right:8px;top:8px;text-align:center; cursor: pointer;}
+    .bomb-box .box p{height: 40px;line-height: 40px;font-size: 14px;width:100%;margin: 0 auto;border-bottom: #e8e8e8 1px solid;padding-left: 20px;}
+    .per-data{width:90%;margin: 0 auto;}
+    .per-data ul,.per-data ul li{width:100%;margin: 0 auto;}
+    .per-data ul li{height: 34px;line-height: 34px;margin-top: 15px;}
+    .per-data ul li em{width: 60px;font-size: 14px;float: left;}
+    .per-data ul li input,.per-data ul li select{width: 236px;height: 34px;border: #e8e8e8 1px solid;font-size: 14px;padding-left: 10px;}
+    .per-data ul li select{background: url("../images/select.png") no-repeat right;-webkit-appearance: none;appearance: none;-o-appearance: none;-moz-appearance: none;-ms-appearance: none;}
+    .per-data ul li select option{line-height: 30px;}
+    .per-data ul li span{color: #959595;line-height: 18px;float: right;width: 215px;display: inline-block;}
+    .per-data ul li.per-btn{margin-top: 30px;}
+    .per-data ul li a{width: 94px;height: 36px;display: inline-block;font-size: 14px;color: #fff;text-align: center;line-height: 34px;float: left;}
+    .per-data ul li a.save{margin-left: 60px;background: #327ebe;}
+    .per-data ul li a.mod-psd{background: #8dc7f9;margin-left: 30px;}
+    .per-data ul li a:hover{background: #3578ba;}
+
 </style>
 
 <div class="ng-scope">
@@ -353,11 +374,18 @@
                     </div>
                     <div class="col-xs-12">
                         <div class="tender-desc">收货地址:</div>
-                        <span style="border-bottom: 1px solid #323232;"></span>
-                        <div class="input-group address-group">
-                            <span class="address-addon input-group-addon glyphicon glyphicon-map-marker" style="color: #5078cb;"></span>
-                            <input type="text" name="shipAddress" style="width: 100%; border: none;" ng-model="tender.shipAddress" placeholder="填写总部所在详细地址" required/>
-                        </div>
+                        <span required="required">
+                             <select class="select select-menu fl" style="width: 70%; height: 30px;" ng-model="tender.shipAddress" required="required"
+                                     ng-options="(ship.addressdet + ' ' + ship.receiver + ' ' + ship.usertel) for ship in ships">
+								<option value="">请选择收货地址</option>
+							</select>
+                            <a href="javascript:void(0);" class="add-address">+新增收货信息</a>
+                        </span>
+                        <!--<span style="border-bottom: 1px solid #323232;"></span>-->
+                        <!--<div class="input-group address-group">-->
+                            <!--<span class="address-addon input-group-addon glyphicon glyphicon-map-marker" style="color: #5078cb;"></span>-->
+                            <!--<input type="text" name="shipAddress" style="width: 100%; border: none;" ng-model="tender.shipAddress" placeholder="填写总部所在详细地址" required/>-->
+                        <!--</div>-->
                     </span>
                     </div>
                     <div class="col-xs-4">
@@ -420,7 +448,7 @@
                     <div class="content">
                         <div class="tender-list02">
                             <!--产品信息-->
-                            <div class="com_title01"><span>产品明细</span><a href="#">批量导入</a></div>
+                            <div class="com_title01"><span>产品明细</span><a ng-click="uplodaByBatch()">批量导入</a></div>
                             <dl>
                                 <dt>
                                     <span>序号</span>
@@ -526,6 +554,63 @@
         </div>
     </form>
 </div>
+<!--设置-企业设置-收货地址编辑-->
+<div class="bomb-box" style="display: none">
+    <form class="box04 box" name="shipAddress" id="shipAddress">
+        <i class="off"><img src="resources/img/purc/close.png" alt="" /></i>
+        <p>个人资料</p>
+        <ul>
+            <li class="line01">
+                <div class="fl">
+                    <span class="fl">收货人<em>*</em>:</span>
+                    <span class="fr"><input type="text" placeholder="填写收货人" ng-model="ship.receiver" required="true"/></span>
+                </div>
+                <div class="fr">
+                    <span class="fl">手机<em>*</em>:</span>
+                    <span class="fr"><input type="text" ng-model="ship.usertel" required="true" ng-pattern="/^1(3|4|5|7|8)\d{9}$/"/></span>
+                </div>
+            </li>
+            <li class="line01">
+                <div class="fl">
+                    <span class="fl">固定电话<em></em>:</span>
+                    <span class="fr"><input type="text" ng-model="ship.phone"/></span>
+                </div>
+                <div class="fr">
+                    <span class="fl">邮箱:</span>
+                    <span class="fr emaill"><input type="text" ng-model="ship.email" ng-pattern="/^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/"/><i>用于接收订单提醒邮件,便于您及时了解订单状态</i></span>
+                </div>
+            </li>
+            <li class="line02 margin-top40">
+                <div class="fl">所在地址<em>*</em>:</div>
+                <!--<div class="select fr"><input type="text" placeholder="请选择" ng-model="ship.address" required="true"/><i class="fa fa-angle-down"></i></div>-->
+                <div class="select fr">
+                    <select required="" class="area-select" ng-model="ship.province" ng-options="key as key for (key,value) in provinces"
+                            ng-change="ship.city='';ship.district='';" required="true">
+                        <option value="">省</option>
+                    </select>
+                    <select class="area-select" ng-model="ship.city" ng-options="key as key for (key,value) in provinces[ship.province]"
+                            ng-change="ship.district='';" required="true">
+                        <option value="">市</option>
+                    </select>
+                    <select class="area-select" ng-model="ship.district" ng-options="value as value for value in provinces[ship.province][ship.city]" required="true">
+                        <option value="">区</option>
+                    </select>
+                </div>
+            </li>
+            <li class="line02">
+                <div class="fl">详细地址<em>*</em>:</div>
+                <div class="fr"><input type="text" ng-model="ship.addressdet" required="true"/></div>
+            </li>
+            <li class="line02">
+                <div class="fl">地址别名:</div>
+                <div class="fr address"><input type="text" ng-model="ship.addalias"/><i>建议填写常用名称:家里/父母家/公司</i></div>
+            </li>
+        </ul>
+        <div class="many-file-btn">
+            <button class="btn01" ng-click="saveShipAddress(ship)" ng-disabled="shipAddress.$invalid">保存</button><a href="#" class="btn02">取消</a>
+        </div>
+    </form>
+</div>
 <script src="static/lib/jquery/jquery.min.js"></script>
 <script>
     $(function(){
@@ -535,5 +620,17 @@
         }else{
             $(".scroll-y").removeClass("active");
         }
+
+        //新增收货地址
+        $(".tender-content .base-info .add-address").click(function(){
+            document.getElementById('shipAddress').reset();
+            $(".bomb-box").show();
+        });
+        $(".bomb-box .box04 .off,.box04 .many-file-btn .btn02").click(function(){
+            $(".bomb-box").hide();
+        })
+        $(".bomb-box .box04 .off,.box04 .many-file-btn .btn01").click(function(){
+            $(".bomb-box").hide();
+        })
     })
 </script>

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

@@ -360,9 +360,9 @@
                                 <dt>
                                     <span class="wid01">投标供应商</span>
                                     <span>税率</span>
-                                    <span>单价<a href="#" class="change01"><i class="fa fa-angle-up"></i><i class="fa fa-angle-down"></i></a></span>
+                                    <span>单价<a class="change01" ng-click="changeOrder('price')" style="margin-top: 8px;"><i class="fa fa-angle-down fa-lg" title="按最低单价排序"></i></a></span>
                                     <span>含税金额</span>
-                                    <span>采购周期<a href="#" class="change01"><i class="fa fa-angle-up"></i><i class="fa fa-angle-down"></i></a></span>
+                                    <span>采购周期<a class="change01" ng-click="changeOrder('cycle')" style="margin-top: 8px;" title="按最短周期排序"><i class="fa fa-angle-down fa-lg"></i></a></span>
                                     <span class="wid02">说明</span>
                                     <span>定标</span>
                                     <span>不定标</span>
@@ -372,7 +372,7 @@
                                         暂无企业参加招标
                                     </div>
                                 </dd>
-                                <dd ng-repeat="saleTenderItem in tenderProd.saleTenderItems">
+                                <dd ng-repeat="saleTenderItem in tenderProd.saleTenderItems | orderBy: dir + orderType">
                                     <span class="wid01">{{saleTenderItem.saleTender.enterpriseBaseInfo.enName}}<a ui-sref="sale.vendortender({vendUU:item.enterpriseBaseInfo.uu, id:tender.id})" target="_self" title="查看投标单">查看投标单</a></span>
                                     <span>{{saleTenderItem.taxrate || 0}}</span>
                                     <span>{{saleTenderItem.price || 0}}</span>

+ 23 - 3
src/main/webapp/resources/tpl/index/purc/tender_vendor.html

@@ -3,14 +3,34 @@
         border-radius: 0;
     }
 
-    .modal-content {
-        border-radius: 0;
+    /*.modal-content {*/
+        /*border-radius: 0;*/
+    /*}*/
+
+    .content-title {
+        position: absolute;
+        top: -12px;
+        left: 25px;
+        line-height: 24px;
+        padding: 0 15px 0 10px;
+        background: #fff;
+        z-index: 2;
     }
+
 </style>
 <div class="modal-body" style="min-height: 500px; border-radius: 0;">
     <div class="headerline">
-        <span class="content"><i class="fa fa-fw fa-edit text-primary"></i>招标单 - 选择供应商</span>
+        <span class="content-title"><i class="fa fa-fw fa-edit text-primary"></i>招标单 - 选择供应商</span>
     </div>
+    <form class="form-horizontal">
+        <div class="form-group">
+            <label class="col-md-2 col-sm-2 control-label">筛选:</label>
+            <div class="col-md-8 col-sm-8">
+                <input type="text" class="form-control input-sm"
+                       required placeholder="输入供应商名称关键字查询" autofocus ng-model="keyword" ng-search="onSearch(keyword)">
+            </div>
+        </div>
+    </form>
     <table class="block table table-default table-striped table-bordered"
            ng-table="tableParams">
         <thead>

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

@@ -303,7 +303,10 @@
                 <tr>
                     <td width="150">
                         <div>
-                            <a ui-sref="purc.evaluation({id:tender.id})" target="_self" title="点击查看详情">
+                            <a ng-if="tender.isPublish == 1" ui-sref="purc.evaluation({id:tender.id})" target="_self" title="点击查看详情">
+                                {{tender.code}}
+                            </a>
+                            <a ng-if="tender.isPublish != 1" ui-sref="purc.savedtender({id:tender.id})" target="_self" title="点击查看详情">
                                 {{tender.code}}
                             </a>
                         </div>

+ 135 - 119
src/main/webapp/resources/tpl/index/sale/tenderlist.html

@@ -3,6 +3,7 @@
     .top-nav {
         margin-bottom: 10px;
     }
+
     .top-nav #search_input {
         height: 36px;
         font-size: 16px;
@@ -32,7 +33,7 @@
 
     /* 选项菜单 招标单按钮*/
     .div-menu .text-num {
-        color: rgb(211,37,38);
+        color: rgb(211, 37, 38);
         padding: 0 5px;
     }
 
@@ -81,11 +82,12 @@
     .div-menu .btn-select:focus {
         border-bottom: 2px solid #D32526;
     }
+
     .div-menu .btn-select:first-child {
         margin-left: 10px;
-     }
+    }
 
-    .div-menu>div:first-child .btn {
+    .div-menu > div:first-child .btn {
         font-size: 16px;
     }
 
@@ -93,35 +95,43 @@
     .tender-table {
         text-align: center;
     }
+
     .tender-table .header {
         height: 50px;
         background-color: #fff;
-        color: rgb(50,50,50);
+        color: rgb(50, 50, 50);
         border-bottom: 1px solid #969595;
     }
-    .tender-table .header>th {
+
+    .tender-table .header > th {
         text-align: center;
     }
-    .tender-table>tbody {
+
+    .tender-table > tbody {
         font-size: 14px;
         color: #323232;
         border: 1px solid transparent;
     }
-    .tender-table>tbody>tr:nth-child(odd) {
+
+    .tender-table > tbody > tr:nth-child(odd) {
         height: 100px;
     }
-    .tender-table tbody>tr:nth-child(odd):hover {
+
+    .tender-table tbody > tr:nth-child(odd):hover {
         border: 2px solid #D32526;
 
     }
+
     .tender-table tbody tr td a {
         color: #327ebe;
     }
-    .main-content  .btn-group{
+
+    .main-content .btn-group {
         font-family: "Microsoft YaHei", "微软雅黑";
         font-weight: 500;
     }
-    .main-content  .btn-group button{
+
+    .main-content .btn-group button {
         font-weight: inherit;
     }
 </style>
@@ -132,7 +142,8 @@
             <span>服务>销售模块></span><span style="color: #327EBE;">投标</span>
         </div>
         <div class="input-group search-group col-xs-4">
-            <input id="search_input" type="search" class="form-control input-sm" ng-model="keyword" ng-search="onSearch()" placeholder="输入投标信息" />
+            <input id="search_input" type="search" class="form-control input-sm" ng-model="keyword"
+                   ng-search="onSearch()" placeholder="输入投标信息"/>
             <span class="input-group-btn">
             <button id="search_btn" class="btn btn-selected x-rss-btn x-background-whiteblue" ng-click="onSearch()">&nbsp;&nbsp;搜索&nbsp;&nbsp;</button>
         </span>
@@ -146,23 +157,28 @@
         <!-- 选项菜单和新增按钮 -->
         <div class="block">
             <div class="row div-menu">
-                <div class="col-xs-8" style="width: 766px; height: 40px; font-size: 16px; font-weight: 600; font-family: 'Microsoft Yahei Regular'; color: #000000;">
+                <div class="col-xs-8"
+                     style="width: 766px; height: 40px; font-size: 16px; font-weight: 600; font-family: 'Microsoft Yahei Regular'; color: #000000;">
                     <div class="btn-group menu-status">
                         <div class="btn-group">
                             <button type="button" class="btn btn-select"
-                                    ng-class="{'btn-selected':active=='all'}" ng-click="setActive('all')">全部</button>
+                                    ng-class="{'btn-selected':active=='all'}" ng-click="setActive('all')">全部
+                            </button>
                         </div>
                         <div class="btn-group">
                             <button type="button" class="btn btn-select"
-                                    ng-class="{'btn-selected':active=='done'}" ng-click="setActive('done')">待评标</button>
+                                    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=='todo'}" ng-click="setActive('todo')">待投标</button>
+                                    ng-class="{'btn-selected':active=='todo'}" ng-click="setActive('todo')">待投标
+                            </button>
                         </div>
                         <div class="btn-group">
                             <button type="button" class="btn btn-select"
-                                    ng-class="{'btn-selected':active=='end'}" ng-click="setActive('end')">过期</button>
+                                    ng-class="{'btn-selected':active=='end'}" ng-click="setActive('end')">过期
+                            </button>
                         </div>
                     </div>
                     <div class="col-xs-1 pull-right" style="padding-top: 5px;">
@@ -234,14 +250,14 @@
         </div>
         <table class="tender-table block" ng-table="tableParams">
             <thead>
-                <tr class="header">
-                    <th width="150">招标标题</th>
-                    <th width="200">产品信息</th>
-                    <th width="150">采购数量</th>
-                    <th width="150">投标截止时间</th>
-                    <th width="150">公布结果时间</th>
-                    <th width="150">状态</th>
-                </tr>
+            <tr class="header">
+                <th width="150">招标标题</th>
+                <th width="200">产品信息</th>
+                <th width="150">采购数量</th>
+                <th width="150">投标截止时间</th>
+                <th width="150">公布结果时间</th>
+                <th width="150">状态</th>
+            </tr>
             <!-- <tr class="toolbar toolbar-top">
                  <td colspan="5">
                      <div>
@@ -271,37 +287,37 @@
             </thead>
             <tbody ng-if="tableParams.total() == 0">
             <tr>
-            <td colspan="6">
-            <div class="row text-muted info-container" style="padding: 50px 10px;">
-            <div class="col-md-4 text-center">
-            <br>
-            <br>
-            <div><img src="static/img/all/info.png" width="130px" height="90px"></div>
-            <div class="f16">当前没有对应的招标单!</div>
-            </div>
-            <div class="col-md-8 br-l">
-            <div class="f16">
-            <p>为什么我没有接收到客户的招标单?</p>
-            </div>
-            <div class="f14">
-            <div class="info">
-            <p>1、您的客户还没有发布招标单<br>
-            解决:与您的客户沟通确认单据是否已经发布</p>
-            </div>
-            <div class="info">
-            <p>2、客户指定的投标供应商不包括您<br>
-            解决:与您的客户沟通确认是否添加了您为指定投标供应商</p>
-            </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>
-            <br>
-            <br>
-            </div>
-            </div>
-            </td>
+                <td colspan="6">
+                    <div class="row text-muted info-container" style="padding: 50px 10px;">
+                        <div class="col-md-4 text-center">
+                            <br>
+                            <br>
+                            <div><img src="static/img/all/info.png" width="130px" height="90px"></div>
+                            <div class="f16">当前没有对应的招标单!</div>
+                        </div>
+                        <div class="col-md-8 br-l">
+                            <div class="f16">
+                                <p>为什么我没有接收到客户的招标单?</p>
+                            </div>
+                            <div class="f14">
+                                <div class="info">
+                                    <p>1、您的客户还没有发布招标单<br>
+                                        解决:与您的客户沟通确认单据是否已经发布</p>
+                                </div>
+                                <div class="info">
+                                    <p>2、客户指定的投标供应商不包括您<br>
+                                        解决:与您的客户沟通确认是否添加了您为指定投标供应商</p>
+                                </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>
+                            <br>
+                            <br>
+                        </div>
+                    </div>
+                </td>
             </tr>
             </tbody>
             <!--<tbody ng-repeat="order in $data track by order.id">
@@ -311,70 +327,70 @@
                 </tr>
             </tbody>-->
             <tbody ng-repeat="tender in $data">
-                <tr>
-                    <td width="150">
-                        <div>
-                            {{tender.code}}
-                        </div>
-                        <div>
-                            {{tender.title}}
-                        </div>
-                        <div>
-                            <a ui-sref="sale.tender({id:tender.id})" target="_self" title="点击查看详情">查看详情</a>
-                        </div>
-                    </td>
-                    <td width="200">
-                        <div>产品名称:{{tender.prodTitle}}</div>
-                        <!--<div>产品规格:{{tender.prodSpec}}</div>-->
-                        <div>产品所属行业:电子元器件</div>
-                    </td>
-                    <td width="150">{{tender.qty}}</td>
-                    <td width="150">{{tender.endDate | date:'yyyy-MM-dd'}}</td>
-                    <td width="150">{{tender.publishDate | date:'yyyy-MM-dd'}}</td>
-                    <td width="150">
-                        <!--<div ng-if = "getTenderStatus(tender) == 'daitoubiao'">-->
-                            <!--<img src="resources/img/tender/daitoubiao.png">-->
-                        <!--</div>-->
-                        <!--<div ng-if = "getTenderStatus(tender) == 'yitoubiao'">-->
-                            <!--<img src="resources/img/tender/yitoubiao.png">-->
-                        <!--</div>-->
-                        <!--<div ng-if = "getTenderStatus(tender) == 'zhongbiao'">-->
-                            <!--<img src="resources/img/tender/zhongbiao.png">-->
-                        <!--</div>-->
-                        <!--<div ng-if = "getTenderStatus(tender) == 'weizhongbiao'">-->
-                            <!--<img src="resources/img/tender/weizhongbiao.png">-->
-                        <!--</div>-->
-                        <div ng-if="tender.status == '已结标'">
-                            <img src="resources/img/tender/yijiebiao.png">
-                        </div>
-                        <div ng-if="tender.status == '待评标' && tender.overdue == 1 && tender.result == 1">
-                            <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">
-                            <img src="resources/img/tender/toubiaozhong.png">
-                        </div>
-                        <!-- overdue与投标截止日期比较  result与公布结果日期比较 -->
-                        <div ng-if="tender.status == '待投标' && tender.overdue != 1">
-                            <img src="resources/img/tender/daitoubiao.png">
-                        </div>
-                        <div ng-if="tender.status == '待投标' && tender.overdue == 1">
-                            <img src="resources/img/tender/liubiao.png">
-                        </div>
-                        <div ng-if="tender.status == '待发布'">
-                            <img src="resources/img/tender/zailuru.png">
-                        </div>
-                    </td>
-                </tr>
-                <tr>
-                    <td colspan="6">
-                        <div style="height: 16px; background-color: #f5f5f5;">
-                            <!-- 间隙 -->
-                        </div>
-                    </td>
-                </tr>
+            <tr>
+                <td width="150">
+                    <div>
+                        {{tender.code}}
+                    </div>
+                    <div>
+                        {{tender.title}}
+                    </div>
+                    <div>
+                        <a ui-sref="sale.tender({id:tender.id})" target="_self" title="点击查看详情">查看详情</a>
+                    </div>
+                </td>
+                <td width="200">
+                    <div>产品名称:{{tender.prodTitle}}</div>
+                    <!--<div>产品规格:{{tender.prodSpec}}</div>-->
+                    <div>产品所属行业:电子元器件</div>
+                </td>
+                <td width="150">{{tender.qty}}</td>
+                <td width="150">{{tender.endDate | date:'yyyy-MM-dd'}}</td>
+                <td width="150">{{tender.publishDate | date:'yyyy-MM-dd'}}</td>
+                <td width="150">
+                    <!--<div ng-if = "getTenderStatus(tender) == 'daitoubiao'">-->
+                    <!--<img src="resources/img/tender/daitoubiao.png">-->
+                    <!--</div>-->
+                    <!--<div ng-if = "getTenderStatus(tender) == 'yitoubiao'">-->
+                    <!--<img src="resources/img/tender/yitoubiao.png">-->
+                    <!--</div>-->
+                    <!--<div ng-if = "getTenderStatus(tender) == 'zhongbiao'">-->
+                    <!--<img src="resources/img/tender/zhongbiao.png">-->
+                    <!--</div>-->
+                    <!--<div ng-if = "getTenderStatus(tender) == 'weizhongbiao'">-->
+                    <!--<img src="resources/img/tender/weizhongbiao.png">-->
+                    <!--</div>-->
+                    <div ng-if="tender.status == '已结标'">
+                        <img src="resources/img/tender/yijiebiao.png">
+                    </div>
+                    <div ng-if="tender.status == '待评标' && tender.overdue == 1 && tender.result == 1">
+                        <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">
+                        <img src="resources/img/tender/toubiaozhong.png">
+                    </div>
+                    <!-- overdue与投标截止日期比较  result与公布结果日期比较 -->
+                    <div ng-if="tender.status == '待投标' && tender.overdue != 1">
+                        <img src="resources/img/tender/daitoubiao.png">
+                    </div>
+                    <div ng-if="tender.status == '待投标' && tender.overdue == 1">
+                        <img src="resources/img/tender/liubiao.png">
+                    </div>
+                    <div ng-if="tender.status == '待发布'">
+                        <img src="resources/img/tender/zailuru.png">
+                    </div>
+                </td>
+            </tr>
+            <tr>
+                <td colspan="6">
+                    <div style="height: 16px; background-color: #f5f5f5;">
+                        <!-- 间隙 -->
+                    </div>
+                </td>
+            </tr>
             </tbody>
         </table>
     </div>

+ 149 - 63
src/main/webapp/resources/tpl/index/sale/vendor_tender.html

@@ -79,24 +79,44 @@
     }
 
     /* 附件上传 */
-    .purc-bid .prod-info .attach-upload input {
-        width: 100px;
+    .purc-tender .base-info .attach-upload {
+        display: inline;
+    }
+    .purc-tender .base-info .attach-upload input {
         height: 100px;
+        width: 100px;
+        margin: 6px 0 0 100px;
         opacity: 0;
-        margin-top: 10px;
-        margin-left: 100px;
-        position: absolute;
+        z-index: 1;
+        position: relative;
     }
-    .purc-bid .prod-info .attach-upload input:hover {
+    .purc-tender .base-info .attach-upload input:hover {
         cursor: pointer;
     }
-    .upload-bg {
-        width: 100px;
-        height: 100px;
+    .fileInputContainer{
+        height:100px;
         background-image: url('resources/img/tender/upload.png');
-        margin-top: 10px;
+        position:relative;
+        width: 100px;
         margin-left: 100px;
-        border: 1px solid #e8e8e8;
+        margin-top: 20px;
+    }
+    .fileInput{
+        height:100px;
+        font-size: 100px;
+        position:absolute;
+        margin-left: 100px;
+        margin-top: 20px;
+        right:0;
+        top:0;
+        opacity: 0;
+        filter:alpha(opacity=0);
+        cursor:pointer;
+    }
+
+    .attach-file {
+        margin-left: 130px;
+        width: 400px;
     }
 
     /* 右下角按钮 */
@@ -146,15 +166,56 @@
         border-radius: 0;
         border: none;
     }
+
+
+
+    .com_head{width:100%;height:40px;line-height:42px;background:url(static/img/comm_bg01.png) no-repeat center;background-size: 100%;}
+    .com_head span{margin-left:30px;color:#000;font-size:14px;}
+    .com_head a{color:#327ebe;float:right;margin-right:40px;font-size: 14px;}
+    .com_head a i{margin-left: 5px;line-height: 40px;}
+    .com_head a:hover{color: #d2272d;}
+
+    .com_title{width:100%;margin:0px auto;height:40px;line-height:40px;font-size:14px;color:#323232;background:#f5f5f5;}
+    .com_title font{color:#327ebe;}
+
+
+    .com_title01{height: 50px;line-height:50px;width:100%;border-bottom:#3578ba 1px dotted;border-top:#e8e8e8 1px solid;margin-top: -4px;} /*  这里修改过 margin-top*/
+    .com_title01 span{margin-left:20px;font-size: 14px;line-height: 50px;color: #555;font-weight: bold;}
+
+    .com_title01  a {
+        color: #5078cb;
+    }
+    .com_title01  a:hover {
+        cursor: pointer;
+        color: #55b6ff;
+    }
+
+    /*投标单*/
+    .tender-list,.tender-list02{width:100%;margin: 0 auto;background: #fff;}
+    .tender-list dl{width: 100%;margin:0 auto;}
+    .tender-list dl dt{width: 100%;margin:0 auto;height: 40px;}
+    .tender-list dl dt span{height: 40px;line-height: 48px;display: inline-block;color: #999;}
+    .tender-list dl dd{width: 100%;margin:0 auto;height: 100px;border-bottom: #ccc 1px dashed;overflow: hidden;}
+    .tender-list dl dd:hover{border: #d32526 1px solid;}
+    .tender-list dl dd span{height: 100px;line-height: 50px;display: inline-block;}
+    .tender-list dl span{width:10.6%;font-size: 14px;float: left;text-align: center;}
+    .tender-list dl span.wid01{width:25%;}
+    .tender-list dl span.wid01 p{font-size: 14px;line-height: 22px;text-align: left;margin: 0;}
+    .tender-list dl dd span.wid01{margin-top: 15px;}
+    .tender-list .com_title01 em,.tender-list02 .com_title01 em{margin-left: 5px;font-size: 16px;color: #f00;position: relative;top: 3px;}
+
+    /* 点击变输入框 */
+    .editAble{ width: 100%; height: 34px; border: none; font-size: 14px; text-align:center;line-height:34px;}
+
 </style>
 
 <div class="ng-scope">
     <form name="bidForm">
         <div class="purc-bid">
-            <div class="bid-label list-unstyled">
-                <strong style="padding: 0 10px 0 10px;">|</strong><label>投标单</label>
+            <div class="list-unstyled">
+                <div class="com_head"><span>投标单</span></div>
             </div>
-            <div class="bid-content ng-scope" ng-controller="SaleVendorTenderDetailCtrl">
+            <div class="bid-content ng-scope" ng-controller="SaleTenderDetailCtrl">
                 <div class="title-div" style="border-bottom: 1px dashed #327ebe;">
                     <span>基本信息</span>&nbsp;
                 </div>
@@ -192,55 +253,75 @@
                         <div class="unchanged-info">{{bid.shipAddress}}</div>
                     </div>
                     <div class = "col-xs-4">
-                        <div class="bid-desc">交易方式:</div>
-                        <div class="unchanged-info">{{bid.payment}}</div>
-                    </div>
-                    <div class = "col-xs-8">
-                        <div class="bid-desc">证照要求:</div>
-                        <div class="unchanged-info">{{bid.certificate}}</div>
+                        <div class="bid-desc">交易币别:</div>
+                        <div class="unchanged-info">{{bid.currency}}</div>
                     </div>
-                </div>
-                <div  class="title-div" style="border-bottom: 1px dashed #327ebe;">
-                    <span>产品信息</span>
-                    <span style="color: rgb(211,37,38);">*</span>
-                </div>
-                <div class="row prod-info">
                     <div class = "col-xs-4">
-                        <div class="bid-desc">产品名称:</div>
-                        <div class="unchanged-info">{{bid.prodTitle}}</div>
+                        <div class="bid-desc">是否含税:</div>
+                        <div class="unchanged-info" ng-bind="bid.ifTax == 1 ? '是': '否'"></div>
                     </div>
                     <div class = "col-xs-4">
-                        <div class="bid-desc">产品型号:</div>
-                        <div class="unchanged-info">{{bid.prodCode}}</div>
+                        <div class="bid-desc">付款方式:</div>
+                        <div class="unchanged-info">{{bid.payment}}</div>
                     </div>
                     <div class = "col-xs-4">
-                        <div class="bid-desc">单位:</div>
-                        <div class="unchanged-info">{{bid.unit}}</div>
+                        <div class="bid-desc">是否开放报名:</div>
+                        <div class="unchanged-info" ng-bind="bid.ifOpen == 1 ? '是': '否'"></div>
                     </div>
                     <div class = "col-xs-4">
-                        <div class="bid-desc">采购数量:</div>
-                        <div class="unchanged-info">{{bid.qty}}</div>
+                        <div class="bid-desc">发票要求:</div>
+                        <div class="unchanged-info" ng-if="bid.invoiceType == 2">增值税专用发票</div>
+                        <div class="unchanged-info" ng-if="bid.invoiceType == 1">增值税普通发票</div>
+                        <div class="unchanged-info" ng-if="bid.invoiceType == 0">不需要发票</div>
                     </div>
-                    <div class = "col-xs-4">
-                        <div class="bid-desc">币别:</div>
-                        <div class="unchanged-info">{{bid.currency}}</div>
-                    </div>
-                    <div class = "col-xs-4">
-                        <div class="bid-desc">税率:</div>
-                        <div>{{item.taxrate}}</div>
+                    <div class = "col-xs-12">
+                        <div class="bid-desc">证照要求:</div>
+                        <div class="unchanged-info">{{bid.certificate}}</div>
                     </div>
-                    <div class = "col-xs-4">
-                        <div class="bid-desc">单价:</div>
-                        <div>{{item.price}}</div>
+                    <div ng-if="bid.tenderAttaches.length" class="col-xs-8" style="height: 50px;">
+                        招标附件:<a class="file" ng-repeat="attach in bid.tenderAttaches" href="file/{{attach.id}}">{{::attach.name}}</a>
                     </div>
-                    <div class = "col-xs-4">
-                        <div class="bid-desc">含税金额:</div>
-                        <div class="unchanged-info">{{item.price * bid.qty || ''}}</div>
+                </div>
+                <div class="wrap">
+                    <div class="content">
+                        <div class="tender-list">
+                            <!--产品信息-->
+                            <div class="com_title01"><span>产品信息</span><em>*</em></div>
+                            <dl>
+                                <dt>
+                                    <span>序号</span>
+                                    <span class="wid01">产品信息</span>
+                                    <span>单位</span>
+                                    <span>采购数量</span>
+                                    <span>采购周期</span>
+                                    <span>税率</span>
+                                    <span>单价</span>
+                                    <span>含税金额</span>
+                                </dt>
+                                <dd ng-repeat="prod in bid.purchaseTenderProds">
+                                    <span>{{$index + 1}}</span>
+                                    <span class="wid01">
+                                        <p>产品编号:{{prod.prodCode}}</p>
+                                        <p>产品名称:{{prod.prodTitle}}</p>
+                                        <!--<p>产品规格:<span ng-bind="prod.prodSpec"></span></p>-->
+                                    </span>
+                                    <span ng-bind="prod.unit"></span>
+                                    <span ng-bind="prod.qty"></span>
+                                    <span ng-bind="prod.currentItem.cycle"></span>
+                                    <span ng-bind="prod.currentItem.taxrate"></span>
+                                    <span ng-bind="prod.currentItem.price"></span>
+                                    <span ng-bind="prod.currentItem.price * prod.qty || ''"></span>
+                                </dd>
+                            </dl>
+                        </div>
                     </div>
-                    <div ng-if="item.bidAttaches.length" class="col-xs-8" style="height: 50px;">
-                        <div>投标附件:</div>
-                        <a class="file" ng-repeat="attach in item.bidAttaches" href="file/{{attach.id}}">{{::attach.name}}</a>
+                </div>
+                <div style="min-height: 150px;" ng-if="saleTender.bidAttaches.length">
+                    <div class="bid-desc" style="margin-left: 20px; float: left;">投标附件:</div>
+                    <div class="col-xs-8" style="height: 50px;">
+                        <a class="file" ng-repeat="attach in saleTender.bidAttaches" href="file/{{attach.id}}">{{::attach.name}}</a>
                     </div>
+
                 </div>
                 <div  class="title-div" style="border-bottom: 1px dashed #327ebe;">
                     <span>投标企业基本信息</span>
@@ -249,55 +330,60 @@
                 <div class="row prod-info">
                     <div class = "col-xs-4">
                         <div class="bid-desc">企业名称:</div>
-                        <div>{{item.enterpriseBaseInfo.enName}}</div>
+                        <div class="unchanged-info">{{currentEnBaseInfo.enName}}</div>
                     </div>
                     <div class = "col-xs-8">
                         <div class="bid-desc">注册地址:</div>
-                        <div>{{item.enterpriseBaseInfo.enAddress}}</div>
+                        <div class="unchanged-info">{{currentEnBaseInfo.enAddress}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">企业UU号:</div>
-                        <div>{{item.enterpriseBaseInfo.uu}}</div>
+                        <div class="unchanged-info">{{currentEnBaseInfo.uu}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">营业执照号:</div>
-                        <div>{{item.enterpriseBaseInfo.enBusinessCode}}</div>
+                        <div class="unchanged-info">{{currentEnBaseInfo.enBusinessCode}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">成立时间:</div>
-                        <div>{{item.enterpriseBaseInfo.enEstablishDate | date: 'yyyy-MM-dd'}}</div>
+                        <div class="bid-desc" ng-show="currentEnBaseInfo.enEstablishDate">{{currentEnBaseInfo.enEstablishDate | date:'yyyy-MM-dd'}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">员工人数:</div>
-                        <div>{{item.enterpriseBaseInfo.emNum}}</div>
+                        <div class="unchanged-info">{{currentEnBaseInfo.enNum}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">企业电话:</div>
-                        <div>{{item.enterpriseBaseInfo.enTel}}</div>
+                        <div class="unchanged-info">{{currentEnBaseInfo.enTel}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">企业传真:</div>
-                        <div>{{item.enterpriseBaseInfo.enFax}}</div>
+                        <div class="unchanged-info">{{currentEnBaseInfo.enFax}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">联系人:</div>
-                        <div>{{item.enterpriseBaseInfo.enUser}}</div>
+                        <div class="unchanged-info">{{currentEnBaseInfo.enUser}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">联系电话:</div>
-                        <div>{{item.enterpriseBaseInfo.userTel}}</div>
+                        <div class="unchanged-info">{{currentEnBaseInfo.userTel}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">开户银行:</div>
-                        <div>{{item.enterpriseBaseInfo.bank}}</div>
+                        <div class="unchanged-info">{{currentEnBaseInfo.bank}}</div>
                     </div>
                     <div class = "col-xs-12">
                         <div class="bid-desc">经营范围:</div>
-                        <div>{{item.enterpriseBaseInfo.scope}}</div>
+                        <div class="unchanged-info">{{currentEnBaseInfo.scope}}</div>
                     </div>
                     <div class = "col-xs-12">
                         <div class="bid-desc">备注:</div>
-                        <div>{{item.enterpriseBaseInfo.remark}}</div>
+                        <div class="unchanged-info">{{currentEnBaseInfo.remark}}</div>
+                    </div>
+                </div>
+                <div class="col-xs-12" style="padding: 30px;">
+                    <div class="col-xs-2 pull-right btn-bid">
+                        <button class="btn" ng-click="">返回</button>
                     </div>
                 </div>
             </div>