ソースを参照

【招标】投标修改;查看供应商投标单数据修改;

dongbw 8 年 前
コミット
07f9f7e940

+ 21 - 17
src/main/java/com/uas/platform/b2b/controller/PurchaseTenderController.java

@@ -2,7 +2,11 @@ package com.uas.platform.b2b.controller;
 
 import com.alibaba.dubbo.common.utils.CollectionUtils;
 import com.alibaba.fastjson.JSONObject;
-import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.erp.model.SaleTenderErp;
+import com.uas.platform.b2b.model.Attach;
+import com.uas.platform.b2b.model.FileUpload;
+import com.uas.platform.b2b.model.PurchaseTender;
+import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.PurchaseTenderService;
 import com.uas.platform.b2b.service.UserService;
@@ -39,7 +43,6 @@ import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Objects;
 
 /**
  * 招标单
@@ -114,25 +117,13 @@ public class PurchaseTenderController {
     /**
      * 供应商投标
      *
-     * @param enBaseInfo  投标企业信息
-     * @param tenderItems 投标明细
      *
      */
     @RequestMapping(value = "/reply", method = RequestMethod.POST)
     @ResponseBody
-    public ResponseEntity<String> replyTender(String tenderItems, String enBaseInfo, String attaches, String saleTender) {
-        tenderItems = "[".concat(tenderItems);
-        tenderItems = tenderItems.concat("]");
-        List<SaleTenderItem> saleTenderItems = FlexJsonUtils.fromJsonArray(tenderItems, SaleTenderItem.class);
-        EnterpriseBaseInfo vendor = FlexJsonUtils.fromJson(enBaseInfo, EnterpriseBaseInfo.class);
-        List<Attach> saleTenderAttaches = new ArrayList<>();
-        if (attaches != null && !Objects.equals(attaches, "")) {
-            attaches = "[".concat(attaches);
-            attaches = attaches.concat("]");
-            saleTenderAttaches = FlexJsonUtils.fromJsonArray(attaches, Attach.class);
-        }
-        SaleTender saleTender1 = FlexJsonUtils.fromJson(saleTender, SaleTender.class);
-        purchaseTenderService.reply(saleTenderItems, vendor, saleTenderAttaches, saleTender1);
+    public ResponseEntity<String> replyTender(@RequestBody String saleTender) {
+        SaleTenderErp saleTender1 = FlexJsonUtils.fromJson(saleTender, SaleTenderErp.class);
+        purchaseTenderService.reply(saleTender1);
 //        logger.log("供应商投标", "供应商对招标单进行投标",  "供应商名称" + saleTenderItems.get(0).getSaleTender().getEnterpriseBaseInfo().getEnName() + ",招标单号: "+ saleTenderItems.get(0).getTenderProd().getTender().getCode());
         return new ResponseEntity<String>(HttpStatus.OK);
     }
@@ -162,6 +153,19 @@ public class PurchaseTenderController {
         return purchaseTenderService.findMySaleTenderDetailByTenderId(tenderId);
     }
 
+    /**
+     * 查看供应商投标单详情
+     *
+     * @param vendUU 供应商UU
+     * @param tenderId 招标单id
+     *
+     */
+    @RequestMapping(value = "/getVendorSaleTenderDetail/{vendUU}/{tenderId}", method = RequestMethod.GET)
+    @ResponseBody
+    public ModelMap getVendorSaleTenderDetail(@PathVariable("vendUU") Long vendUU, @PathVariable("tenderId") Long tenderId) {
+        return purchaseTenderService.findVendorSaleTenderDetailByTenderId(vendUU, tenderId);
+    }
+
 
     /**
      * 公开招标转投标单

+ 2 - 0
src/main/java/com/uas/platform/b2b/dao/SaleTenderErpDao.java

@@ -18,4 +18,6 @@ public interface SaleTenderErpDao extends JpaSpecificationExecutor<SaleTenderErp
      * @return
      */
     SaleTenderErp findByPtIdAndVendUU(Long tenderId, Long vendUU);
+
+    SaleTenderErp findByCodeAndEnUUAndVendUU(String code, Long enUU, Long vendUU);
 }

+ 26 - 13
src/main/java/com/uas/platform/b2b/erp/model/PurchaseTenderErp.java

@@ -4,19 +4,7 @@ import java.io.Serializable;
 import java.util.Date;
 import java.util.Set;
 
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.OneToMany;
-import javax.persistence.OneToOne;
-import javax.persistence.SequenceGenerator;
-import javax.persistence.Table;
+import javax.persistence.*;
 
 import com.uas.platform.b2b.model.Attach;
 import com.uas.platform.b2b.model.Enterprise;
@@ -181,6 +169,15 @@ public class PurchaseTenderErp implements Serializable {
     @Column(name = "pt_auditstatus")
     private Short auditStatus;
 
+    /**
+     * 是否全包 (1为全包,0为部分供料)
+     */
+    @Column(name = "pt_ifall")
+    private Short ifAll;
+
+    @Transient
+    private Short bidEnNum;
+
     public Long getId() {
         return id;
     }
@@ -372,6 +369,22 @@ public class PurchaseTenderErp implements Serializable {
     public void setAuditStatus(Short auditStatus) {
         this.auditStatus = auditStatus;
     }
+
+    public Short getIfAll() {
+        return ifAll;
+    }
+
+    public void setIfAll(Short ifAll) {
+        this.ifAll = ifAll;
+    }
+
+    public Short getBidEnNum() {
+        return bidEnNum;
+    }
+
+    public void setBidEnNum(Short bidEnNum) {
+        this.bidEnNum = bidEnNum;
+    }
 }
 
 

+ 3 - 1
src/main/java/com/uas/platform/b2b/model/PurchaseInquiryItem.java

@@ -605,7 +605,9 @@ public class PurchaseInquiryItem {
 							&& (this.inquiry.getCheck() == null || this.inquiry.getCheck() != Constant.YES)
 							&& this.agreed == null));
 		}
-		return this.status == Status.NOT_REPLY.value();
+		return this.status == Status.NOT_REPLY.value() || (this.status == Status.REPLIED.value()
+				&& (this.inquiry.getCheck() == null || this.inquiry.getCheck() != Constant.YES)
+				&& this.agreed == null);
 	}
 
     public static List<PurchaseInquiryItem> distinct(List<PurchaseInquiryItem> purcitems) {

+ 7 - 4
src/main/java/com/uas/platform/b2b/service/PurchaseTenderService.java

@@ -1,7 +1,10 @@
 package com.uas.platform.b2b.service;
 
 import com.uas.platform.b2b.erp.model.SaleTenderErp;
-import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.model.Attach;
+import com.uas.platform.b2b.model.FileUpload;
+import com.uas.platform.b2b.model.PurchaseTender;
+import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.b2b.temporary.model.TenderContactInfo;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.search.b2b.model.SPage;
@@ -36,11 +39,9 @@ public interface PurchaseTenderService {
      * 投标
      *
      *
-     * @param tenderItems
-     * @param enBaseInfo
      * @return
      */
-    void reply(List<SaleTenderItem> tenderItems, EnterpriseBaseInfo enBaseInfo, List<Attach> attaches, SaleTender saleTender);
+    void reply(SaleTenderErp saleTender);
 
 //    /**
 //     * 根据id获取投标单
@@ -206,4 +207,6 @@ public interface PurchaseTenderService {
     SPage<PurchaseTender> findAllBySaleTenderPageInfo(PageInfo pageInfo, SearchFilter filter);
 
     ModelMap findMySaleTenderDetailByTenderId(Long tenderId);
+
+    ModelMap findVendorSaleTenderDetailByTenderId(Long vendUU, Long tenderId);
 }

+ 27 - 12
src/main/java/com/uas/platform/b2b/service/impl/PurchaseTenderServiceImpl.java

@@ -5,6 +5,7 @@ import com.uas.platform.b2b.core.util.ThreadTask;
 import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.PurchaseTenderErp;
 import com.uas.platform.b2b.erp.model.SaleTenderErp;
+import com.uas.platform.b2b.erp.model.SaleTenderItemErp;
 import com.uas.platform.b2b.event.PurchaseTenderDecideReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseTenderSaveReleaseEvent;
 import com.uas.platform.b2b.model.*;
@@ -668,14 +669,14 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
     /**
      * 投标
      *
-     * @param tenderItems  投标明细
-     * @param enBaseInfo  企业投标信息
      */
     @Override
-    public void reply(List<SaleTenderItem> tenderItems, EnterpriseBaseInfo enBaseInfo, List<Attach> attaches, SaleTender saleTender) {
-        enterpriseBaseInfoDao.save(enBaseInfo);
+    public void reply(SaleTenderErp saleTender) {
+        if (null != saleTender.getEnterpriseBaseInfo()) {
+            enterpriseBaseInfoDao.save(saleTender.getEnterpriseBaseInfo());
+        }
         Double totalMoney = 0d;
-        for (SaleTenderItem tenderItem : tenderItems) {
+        for (SaleTenderItemErp tenderItem : saleTender.getSaleTenderItems()) {
             SaleTenderItem saleTenderItem = saleTenderItemDao.findOne(tenderItem.getId());
             // 需要修改建索引主表中的字段来触发索引更新
             saleTenderItem.getTenderProd().getTender().setModified(new Date());
@@ -689,13 +690,14 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
                 saleTenderItemDao.save(saleTenderItem);
             }
         }
-        saleTender.setStatus("已投标");
-        saleTender.setModified(new Date());
-        Set<Attach> attachSet = new HashSet<>();
-        attachSet.addAll(attaches);
-        saleTender.setBidAttaches(attachSet);
-        saleTender.setTotalMoney(totalMoney);
-        saleTenderDao.save(saleTender);
+        SaleTender saleTender1 = saleTenderDao.findOne(saleTender.getId());
+        saleTender1.setStatus("已投标");
+        saleTender1.setModified(new Date());
+        saleTender1.setBidAttaches(saleTender.getBidAttaches());
+        saleTender1.setTotalMoney(totalMoney);
+        saleTender1.setCycle(saleTender.getCycle());
+        saleTender1.setTaxrate(saleTender.getTaxrate());
+        saleTenderDao.save(saleTender1);
     }
 
     private static Double mul(Double v1, Double v2) {
@@ -869,5 +871,18 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
         map.put("saleTender", saleTender);
         return map;
     }
+
+    @Override
+    public ModelMap findVendorSaleTenderDetailByTenderId(Long vendUU, Long tenderId) {
+        ModelMap map = new ModelMap();
+        PurchaseTenderErp tender = purchaseTenderErpDao.findOne(tenderId);
+        SaleTenderErp saleTender = saleTenderErpDao.findByPtIdAndVendUU(tenderId, vendUU);
+        if (null == saleTender) {
+            saleTender = saleTenderErpDao.findByCodeAndEnUUAndVendUU(tender.getCode(), tender.getEnUU(), vendUU);
+        }
+        map.put("tender", tender);
+        map.put("saleTender", saleTender);
+        return map;
+    }
 }
 

+ 63 - 73
src/main/webapp/resources/js/index/app.js

@@ -18028,20 +18028,13 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
      */
     app.controller('SaleVendorTenderDetailCtrl', ['$scope', '$filter', 'PurcTender', 'ngTableParams', 'toaster', 'BaseService', '$stateParams', '$modal', '$rootScope', function ($scope, $filter, PurcTender, ngTableParams, toaster, BaseService, $stateParams, $modal, $rootScope) {
         $scope.loading = true;
-        PurcTender.getOne({id: $stateParams.id}, function (data) {
-            $scope.bid = data;
-            var vendUU = Number($stateParams.vendUU);
-            angular.forEach(data.purchaseTenderProds, function (tenderProd) {
-                angular.forEach(tenderProd.saleTenderItems, function (saleTenderItem) {
-                    if (saleTenderItem.saleTender.vendUU === vendUU) {// 与传出的参数venUU相等,即为查看企业对应的明细
-                        tenderProd.currentItem = saleTenderItem;
-                        $scope.saleTender = saleTenderItem.saleTender;
-                        $scope.currentEnBaseInfo = saleTenderItem.saleTender.enterpriseBaseInfo;
-                    }
-                });
-            });
+        console.log($stateParams);
+        PurcTender.getVendorSaleTenderDetail({tenderId: $stateParams.id, vendUU:$stateParams.vendUU}, function (data) {
+            $scope.saleTender = data.saleTender;
+            $scope.tender = data.tender;
             $scope.loading = false;
         }, function (response) {
+            $scope.loading = false;
             toaster.pop('error', '数据加载失败', response.data);
         });
 
@@ -18061,7 +18054,8 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 
         $scope.loading = true;
         PurcTender.getSaleTenderDetail({tenderId: $stateParams.id}, function (data) {
-            $scope.saleTender = data;
+            $scope.saleTender = data.saleTender;
+            $scope.tender = data.tender;
             console.log(data);
             $scope.loading = false;
         }, function (response) {
@@ -18089,37 +18083,33 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
         var priceYes = false;
         $scope.canSave = false;
         $scope.validateThis = function (value, type) {
-            switch (type) {
-                case 'taxrate':
-                    var regex = /^\+?[0-9][0-9]{0,1}$/;
-                    if (regex.test(value)) {
-                        taxrateYes = true;
-                    } else {
-                        if (value) {
+            if (value != "") {
+                switch (type) {
+                    case 'taxrate':
+                        var regex = /^\+?[0-9][0-9]{0,1}$/;
+                        if (regex.test(value)) {
+                            taxrateYes = true;
+                        } else {
                             toaster.pop('warning', '警告', '税率不合法,请重新填写');
                         }
-                    }
-                    break;
-                case 'cycle':
-                    regex = /^\+?[1-9][0-9]*$/;
-                    if (regex.test(value)) {
-                        cycleYes = true;
-                    } else {
-                        if (value) {
+                        break;
+                    case 'cycle':
+                        regex = /^\+?[1-9][0-9]*$/;
+                        if (regex.test(value)) {
+                            cycleYes = true;
+                        } else {
                             toaster.pop('warning', '警告', '周期不合法,请重新填写');
                         }
-                    }
-                    break;
-                case 'price':
-                    regex = /^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/;
-                    if (regex.test(value) && value !== 0) {
-                        priceYes = true;
-                    } else {
-                        if (value) {
+                        break;
+                    case 'price':
+                        regex = /^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/;
+                        if (regex.test(value) && value !== 0) {
+                            priceYes = true;
+                        } else {
                             toaster.pop('warning', '警告', '请确认单价是否填写正确');
                         }
-                    }
-                    break;
+                        break;
+                }
             }
         };
 
@@ -18133,56 +18123,56 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
             }
         };
 
-        //TODO 需要修改
-        $scope.validateProds = function (tenderProd) {
+        $scope.validateProds = function (saleTender) {
             $scope.canSave = true;
             var cycleRegex = /^\+?[1-9][0-9]*$/;
             var taxrateRegex = /^\+?[0-9][0-9]{0,1}$/;
             var priceRegex = /^(([0-9]+\.[0-9]{1,6})|([0-9]*[1-9][0-9]*\.[0-9]{1,6})|([0-9]*[1-9][0-9]*))$/; // 非零最多六位小数正实数
-            if ($scope.bid.ifAll == 1) { // 全包时需要所有信息都填写并合法才可以投标
+            if ($scope.tender.ifAll == 1) { // 全包时需要所有信息都填写并合法才可以投标
                 // 全包全部需要填写,且需要符合正则式
-                angular.forEach($scope.bid.purchaseTenderProds, function(prod) {
-                    if ((!prod.currentItem.cycle || !prod.currentItem.price) || (!cycleRegex.test(prod.currentItem.cycle) || !priceRegex.test(prod.currentItem.price))) {
+                angular.forEach(saleTender.saleTenderItems, function(item) {
+                    if ((!item.cycle || !item.price) || (!cycleRegex.test(item.cycle) || !priceRegex.test(item.price))) {
                         $scope.canSave = false;
                     }
                 });
-                if (!$scope.saleTender.cycle || !$scope.saleTender.taxrate || !cycleRegex.test($scope.saleTender.cycle) || !taxrateRegex.test($scope.saleTender.taxrate)) {
+                if (!saleTender.cycle || !saleTender.taxrate || !cycleRegex.test(saleTender.cycle) || !taxrateRegex.test(saleTender.taxrate)) {
                     $scope.canSave = false;
                 }
-            } else {
-                if (tenderProd.currentItem.cycle || tenderProd.currentItem.taxrate || tenderProd.currentItem.price) {
-                    // /^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/;
-                    // 判断填写过的有为0或不符合正则式的,设置不能保存
-                    if (!cycleRegex.test(tenderProd.currentItem.cycle) || !taxrateRegex.test(tenderProd.currentItem.taxrate) || !priceRegex.test(tenderProd.currentItem.price)) {
-                        $scope.canSave = false;
-                    } else {
-                        $scope.canSave = true;
+            } else { // 非全包模式
+                angular.forEach(saleTender.saleTenderItems, function(item) {
+                    if (item.cycle || item.taxrate || item.price) {
+                        // /^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/;
+                        // 判断填写过的有为0或不符合正则式的,设置不能保存
+                        if (!cycleRegex.test(item.cycle) || !taxrateRegex.test(item.taxrate) || !priceRegex.test(item.price)) {
+                            $scope.canSave = false;
+                        } else {
+                            $scope.canSave = true;
+                        }
                     }
-                }
+                });
             }
         };
 
-        // 投标 //TODO 需要修改
-        $scope.bidIt = function (tender, currentEnBaseInfo, saleTender) {
+        // 投标
+        $scope.bidIt = function (saleTender) {
             $scope.loading = true;
-            if (currentEnBaseInfo.enEstablishDate instanceof Date) {
-                currentEnBaseInfo.enEstablishDate = currentEnBaseInfo.enEstablishDate.getTime();
-            }
-            var saleTenderItems = [];
-            angular.forEach(tender.purchaseTenderProds, function (tenderProd) {
-                if (tenderProd.currentItem) {
-                    if ("" !== tenderProd.currentItem.price && "" !== tenderProd.currentItem.taxrate && "" !== tenderProd.currentItem.cycle) {
-                        tenderProd.currentItem.saleTender = {};
-                        saleTenderItems.push(tenderProd.currentItem);
-                    }
-                }
-            });
-            PurcTender.reply({
-                tenderItems: saleTenderItems,
-                enBaseInfo: currentEnBaseInfo,
-                attaches: $scope.attaches,
-                saleTender: saleTender
-            }, {}, function (data) {
+            if (saleTender.enterpriseBaseInfo.enEstablishDate instanceof Date) {
+                saleTender.enterpriseBaseInfo.enEstablishDate = saleTender.enterpriseBaseInfo.enEstablishDate.getTime();
+            }
+            console.log($scope.attaches);
+            console.log(saleTender.bidAttaches);
+            saleTender.bidAttaches.push.apply(saleTender.bidAttaches, $scope.attaches);
+            console.log(saleTender.bidAttaches);
+            // var saleTenderItems = [];
+            // angular.forEach(tender.purchaseTenderProds, function (tenderProd) {
+            //     if (tenderProd.currentItem) {
+            //         if ("" !== tenderProd.currentItem.price && "" !== tenderProd.currentItem.taxrate && "" !== tenderProd.currentItem.cycle) {
+            //             tenderProd.currentItem.saleTender = {};
+            //             saleTenderItems.push(tenderProd.currentItem);
+            //         }
+            //     }
+            // });
+            PurcTender.reply({}, saleTender, function (data) {
                 $scope.loading = false;
                 toaster.pop('info', '成功', '投标成功');
                 // $window.location.reload();

+ 8 - 0
src/main/webapp/resources/js/index/services/Purc.js

@@ -532,6 +532,14 @@ define([ 'ngResource'], function() {
                     tenderId: 'tenderId'
                 }
             },
+            getVendorSaleTenderDetail: {
+                url: 'tender/getVendorSaleTenderDetail/:vendUU/:tenderId',
+                method: 'GET',
+                params: {
+                	vendUU: 'vendUU',
+                    tenderId: 'tenderId'
+                }
+            },
             addItems: {
                 url: 'tender/addItems/:id',
                 method: 'POST',

+ 91 - 77
src/main/webapp/resources/tpl/index/sale/tender.html

@@ -256,103 +256,103 @@
                 <div class="title-div" style="border-bottom: 1px dashed #327ebe;">
                     <span>基本信息</span>&nbsp;
                     <!-- 投标单状态 -->
-                    <div class="img-status" ng-if="saleTender.status == '待投标' && bid.overdue != 1">
+                    <div class="img-status" ng-if="saleTender.status == '待投标' && tender.overdue != 1">
                         <img src="static/img/tender/daitoubiao.png">
                     </div>
-                    <div class="img-status" ng-if="saleTender.status == '已投标' && bid.overdue != 1">
+                    <div class="img-status" ng-if="saleTender.status == '已投标' && tender.overdue != 1">
                         <img src="static/img/tender/yitoubiao.png">
                     </div>
-                    <div class="img-status" ng-if="saleTender.status == '已投标' && bid.result != 1 && bid.overdue == 1">
+                    <div class="img-status" ng-if="saleTender.status == '已投标' && tender.result != 1 && tender.overdue == 1">
                         <img src="static/img/tender/daipingbiao.png">
                     </div>
-                    <div class="img-status" ng-if="saleTender.status == '已投标' && bid.result == 1">
+                    <div class="img-status" ng-if="tender.status == '已结标' && tender.result == 1">
                         <img src="static/img/tender/yijiebiao.png">
                     </div>
-                    <div class="img-status" ng-if="saleTender.status != '已投标' && bid.overdue == 1">
+                    <div class="img-status" ng-if="tender.status == '流标' && tender.result == 1">
                         <img src="static/img/tender/liubiao.png">
                     </div>
                 </div>
                 <div class="row base-info">
                     <div class = "col-xs-4">
                         <div class="bid-desc">招标编号:</div>
-                        <div class="unchanged-info">{{saleTender.code}}</div>
+                        <div class="unchanged-info">{{tender.code}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">招标项目:</div>
-                        <div class="unchanged-info">{{saleTender.title}}</div>
+                        <div class="unchanged-info">{{tender.title}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">招标企业:</div>
-                        <div class="unchanged-info">{{saleTender.enterprise.enName}}</div>
+                        <div class="unchanged-info">{{tender.enterprise.enName}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">联系人:</div>
-                        <div class="unchanged-info">{{saleTender.user}}</div>
+                        <div class="unchanged-info">{{tender.user}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">联系电话:</div>
-                        <div class="unchanged-info">{{saleTender.userTel}}</div>
+                        <div class="unchanged-info">{{tender.userTel}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">投标截止时间:</div>
-                        <div class="unchanged-info">{{saleTender.endDate | date:'yyyy-MM-dd'}}</div>
+                        <div class="unchanged-info">{{tender.endDate | date:'yyyy-MM-dd'}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">公布结果时间:</div>
-                        <div class="unchanged-info">{{saleTender.publishDate | date:'yyyy-MM-dd'}}</div>
+                        <div class="unchanged-info">{{tender.publishDate | date:'yyyy-MM-dd'}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">交易币别:</div>
-                        <div class="unchanged-info">{{saleTender.currency}}</div>
+                        <div class="unchanged-info">{{tender.currency}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">是否含税:</div>
-                        <div class="unchanged-info" ng-bind="saleTender.ifTax == 1 ? '是': '否'"></div>
+                        <div class="unchanged-info" ng-bind="tender.ifTax == 1 ? '是': '否'"></div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">付款方式:</div>
-                        <div class="unchanged-info">{{saleTender.payment}}</div>
+                        <div class="unchanged-info">{{tender.payment}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">是否开放报名:</div>
-                        <div class="unchanged-info" ng-bind="saleTender.ifOpen == 1 ? '是': '否'"></div>
+                        <div class="unchanged-info" ng-bind="tender.ifOpen == 1 ? '是': '否'"></div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">发票要求:</div>
-                        <div class="unchanged-info" ng-if="saleTender.invoiceType == 2">增值税专用发票</div>
-                        <div class="unchanged-info" ng-if="saleTender.invoiceType == 1">增值税普通发票</div>
-                        <div class="unchanged-info" ng-if="saleTender.invoiceType == 0">不需要发票</div>
+                        <div class="unchanged-info" ng-if="tender.invoiceType == 2">增值税专用发票</div>
+                        <div class="unchanged-info" ng-if="tender.invoiceType == 1">增值税普通发票</div>
+                        <div class="unchanged-info" ng-if="tender.invoiceType == 0">不需要发票</div>
                     </div>
                     <div class = "col-xs-12">
                         <div class="bid-desc">交货地址:</div>
-                        <div class="unchanged-info">{{saleTender.shipAddress}}</div>
+                        <div class="unchanged-info">{{tender.shipAddress}}</div>
                     </div>
                     <div class = "col-xs-12">
                         <div class="bid-desc">证照要求:</div>
-                        <div class="unchanged-info">{{saleTender.certificate}}</div>
+                        <div class="unchanged-info">{{tender.certificate}}</div>
                     </div>
-                    <div ng-if="saleTender.saleTenderItems[0].tenderProd.tenderErp.tenderAttaches.length" class="col-xs-12" ng-repeat="attach in saleTender.saleTenderItems[0].tenderProd.tenderErp.tenderAttaches">
+                    <div ng-if="tender.tenderAttaches.length" class="col-xs-12" ng-repeat="attach in tender.tenderAttaches">
                         <span ng-show="$index == 0" class="bid-desc">招标附件:</span>
                         <span ng-show="$index != 0" class="bid-desc">&nbsp;</span>
                         <a class="" style="padding-left: 0; color: #5078cb;" href="file/{{attach.id}}">{{::attach.name}}</a>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">招标类型:</div>
-                        <div class="unchanged-info" ng-if="saleTender.ifAll == 1">全包</div>
-                        <div class="unchanged-info" ng-if="saleTender.ifAll == 0">甲供料</div>
-                        <div class="unchanged-info" ng-if="!saleTender.ifAll">无</div>
+                        <div class="unchanged-info" ng-if="tender.ifAll == 1">全包</div>
+                        <div class="unchanged-info" ng-if="tender.ifAll == 0">甲供料</div>
+                        <div class="unchanged-info" ng-if="tender.ifAll == null">无</div>
                     </div>
-                    <div class = "col-xs-4" ng-if="saleTender.ifAll == 1">
+                    <div class = "col-xs-4" ng-if="tender.ifAll == 1">
                         <div class="bid-desc">项目周期<span style="color: #d2272d;">*</span>:</div>
-                        <div class="unchanged-info" ng-if="saleTender.overdue == 1">{{saleTender.cycle || '未填'}}</div>
-                        <input ng-if="saleTender.overdue != 1" class="bid-input" title="请输入项目周期(天)" ng-model="saleTender.cycle" ng-change="validateProds()" ng-pattern="/^\+?[1-9][0-9]*$/"/>
+                        <div class="unchanged-info" ng-if="tender.overdue == 1">{{saleTender.cycle || '未填'}}</div>
+                        <input ng-if="tender.overdue != 1" class="bid-input" title="请输入项目周期(天)" ng-model="saleTender.cycle" ng-change="validateProds(saleTender)" ng-pattern="/^\+?[1-9][0-9]*$/"/>
                     </div>
-                    <div class = "col-xs-4" ng-if="saleTender.ifAll == 1">
+                    <div class = "col-xs-4" ng-if="tender.ifAll == 1">
                         <div class="bid-desc">税率<span style="color: #d2272d;">*</span>:</div>
-                        <div class="unchanged-info" ng-if="saleTender.overdue == 1">{{saleTender.taxrate || '未填'}}</div>
-                        <input ng-if="saleTender.overdue != 1"  class="bid-input" title="请输入税率" ng-model="saleTender.taxrate" ng-change="validateProds()" ng-pattern="/^(\d|[1-9]\d)$/"/>
+                        <div class="unchanged-info" ng-if="tender.overdue == 1">{{saleTender.taxrate || '未填'}}</div>
+                        <input ng-if="tender.overdue != 1"  class="bid-input" title="请输入税率" ng-model="saleTender.taxrate" ng-change="validateProds(saleTender)" ng-pattern="/^(\d|[1-9]\d)$/"/>
                     </div>
-                    <div class = "col-xs-4" ng-if="saleTender.ifAll == 1 && saleTender.result == 1">
+                    <div class = "col-xs-4" ng-if="tender.ifAll == 1 && tender.result == 1">
                         <div class="bid-desc">定标结果:</div>
                         <div ng-if="saleTender.saleTenderItems[0].applyStatus == '1'">
                             <img src="static/img/tender/zhongbiao.png">
@@ -361,7 +361,7 @@
                             <img src="static/img/tender/weizhongbiao.png">
                         </div>
                     </div>
-                    <div class = "col-xs-8" ng-if="saleTender.ifAll == 1 && saleTender.result == 1">
+                    <div class = "col-xs-8" ng-if="tender.ifAll == 1 && tender.result == 1">
                         <div class="bid-desc">定标说明:</div>
                         <div class="unchanged-info">{{saleTender.saleTenderItems[0].description}}</div>
                     </div>
@@ -369,10 +369,10 @@
                 <div class="wrap">
                     <div class="content">
                         <!-- 非全包产品信息展示 -->
-                        <div class="tender-list" ng-if="saleTender.ifAll != 1">
+                        <div class="tender-list" ng-if="tender.ifAll != 1">
                             <!--产品信息-->
                             <div class="com_title01"><span>产品信息</span><em>*</em></div>
-                            <dl ng-show = "saleTender.result != 1 || saleTender.auditStatus == 0" >
+                            <dl ng-show = "tender.result != 1 || tender.auditStatus == 0" >
                                 <dt>
                                     <span>序号</span>
                                     <span class="wid01">产品</span>
@@ -392,13 +392,22 @@
                                     </span>
                                     <span ng-bind="item.tenderProd.unit"></span>
                                     <span ng-bind="item.tenderProd.qty"></span>
-                                    <span><input type="text" class="editAble" ng-model="item.cycle" ng-pattern="/^\+?[1-9][0-9]*$/" ng-change="validateProds(item.tenderProd);validateThis(item.cycle, 'cycle')" ng-blur="validateThis(item.cycle, 'cycle');validateProds(item.tenderProd);" ng-focus="validateThis(item.cycle, 'cycle');validateProds(item.tenderProd);" placeholder="请输入周期"/></span>
-                                    <span><input type="text" class="editAble" ng-model="item.taxrate" ng-pattern="/^\+?[0-9][0-9]{0,1}$/" ng-change="validateProds(item.tenderProd);validateThis(item.taxrate, 'taxrate')" ng-focus="validateThis(item.taxrate, 'taxrate');validateProds(item.tenderProd);" ng-blur="validateThis(item.taxrate, 'taxrate');validateProds(item.tenderProd);" placeholder="请输入税率"/></span>
-                                    <span><input type="text" class="editAble" ng-model="item.price" ng-pattern="/^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/" ng-change="validateProds(item.tenderProd);" ng-blur="validateThis(item.price, 'price');validateProds(item.tenderProd);" ng-focus="validateProds(item.tenderProd);" placeholder="请输入单价"/></span>
+                                    <span><input type="text" class="editAble" ng-model="item.cycle" ng-pattern="/^\+?[1-9][0-9]*$/"
+                                                 ng-change="validateProds(saleTender);validateThis(item.cycle, 'cycle')"
+                                                 ng-blur="validateProds(saleTender);"
+                                                 ng-focus="validateProds(saleTender);" placeholder="请输入周期"/></span>
+                                    <span><input type="text" class="editAble" ng-model="item.taxrate" ng-pattern="/^\+?[0-9][0-9]{0,1}$/"
+                                                 ng-change="validateProds(saleTender);validateThis(item.taxrate, 'taxrate')"
+                                                 ng-focus="validateProds(saleTender);"
+                                                 ng-blur="validateProds(saleTender);" placeholder="请输入税率"/></span>
+                                    <span><input type="text" class="editAble" ng-model="item.price" ng-pattern="/^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/"
+                                                 ng-change="validateProds(saleTender);" ng-blur="validateProds(saleTender);validateThis(item.price, 'price')"
+                                                 ng-focus="validateProds(saleTender);" placeholder="请输入单价"/></span>
                                     <span ng-bind="item.price * item.tenderProd.qty || '' | number:2"></span>
                                 </dd>
                             </dl>
-                            <dl ng-show = "saleTender.result == 1 && saleTender.auditStatus != 0">
+                            <!-- 已结标 -->
+                            <dl ng-show = "tender.result == 1 && tender.auditStatus != 0">
                                 <dt>
                                     <span class="result-index">序号</span>
                                     <span class="wid01-result">产品信息</span>
@@ -412,25 +421,25 @@
                                     <span class="result">评标说明</span>
                                 </dt>
                                 <dd ng-repeat="item in saleTender.saleTenderItems | orderBy: 'tenderProd.index'">
-                                    <span>{{$index + 1}}</span>
-                                    <span class="wid01">
+                                    <span class="result-index">{{$index + 1}}</span>
+                                    <span class="wid01-result">
                                         <p>产品型号:{{item.tenderProd.prodCode}}</p>
                                         <p>产品名称:{{item.tenderProd.prodTitle}}</p>
                                         <p ng-show="item.tenderProd.brand">品牌:<i ng-bind="item.tenderProd.brand" style="font-style: inherit"></i></p>
                                     </span>
-                                    <span ng-bind="item.tenderProd.unit"></span>
-                                    <span ng-bind="item.tenderProd.qty"></span>
-                                    <span><input type="text" class="editAble" ng-model="item.cycle" ng-pattern="/^\+?[1-9][0-9]*$/" ng-change="validateProds(item.tenderProd);validateThis(item.cycle, 'cycle')" ng-blur="validateThis(item.cycle, 'cycle');validateProds(item.tenderProd);" ng-focus="validateThis(item.cycle, 'cycle');validateProds(item.tenderProd);" placeholder="请输入周期"/></span>
-                                    <span><input type="text" class="editAble" ng-model="item.taxrate" ng-pattern="/^\+?[0-9][0-9]{0,1}$/" ng-change="validateProds(item.tenderProd);validateThis(item.taxrate, 'taxrate')" ng-focus="validateThis(item.taxrate, 'taxrate');validateProds(item.tenderProd);" ng-blur="validateThis(item.taxrate, 'taxrate');validateProds(item.tenderProd);" placeholder="请输入税率"/></span>
-                                    <span><input type="text" class="editAble" ng-model="item.price" ng-pattern="/^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/" ng-change="validateProds(item.tenderProd);" ng-blur="validateThis(item.price, 'price');validateProds(item.tenderProd);" ng-focus="validateProds(item.tenderProd);" placeholder="请输入单价"/></span>
-                                    <span ng-bind="item.price * item.tenderProd.qty || '' | number:2"></span>
-                                    <span class="result" ng-bind="bid.auditStatus != 0 ? (prod.currentItem.applyStatus == 1 ? '中标' : '未中标') : '未中标';"></span>
-                                    <span class="result" ng-bind="bid.auditStatus != 0 ? prod.currentItem.description: '';"></span>
+                                    <span class="result" ng-bind="item.tenderProd.unit"></span>
+                                    <span class="result" ng-bind="item.tenderProd.qty"></span>
+                                    <span class="result" ng-bind="item.cycle"></span>
+                                    <span class="result" ng-bind="item.taxrate"></span>
+                                    <span class="result" ng-bind="item.price"></span>
+                                    <span class="result" ng-bind="item.price * item.tenderProd.qty || '' | number:2"></span>
+                                    <span class="result" ng-bind="tender.auditStatus != 0 ? (item.applyStatus == 1 ? '中标' : '未中标') : '未中标';"></span>
+                                    <span class="result" ng-bind="tender.auditStatus != 0 ? item.description: '';"></span>
                                 </dd>
                             </dl>
                         </div>
                         <!-- 全包产品信息展示 -->
-                        <div class="tender-list" ng-if="bid.ifAll == 1">
+                        <div class="tender-list" ng-if="tender.ifAll == 1">
                             <!--产品信息-->
                             <div class="com_title01"><span>产品信息</span><em>*</em></div>
                             <dl>
@@ -443,36 +452,41 @@
                                     <span>单价</span>
                                     <span>含税金额</span>
                                 </dt>
-                                <dd ng-repeat="prod in bid.purchaseTenderProds | orderBy: 'index'">
+                                <dd ng-repeat="item in saleTender.saleTenderItems | orderBy: 'tenderProd.index'">
                                     <span>{{$index + 1}}</span>
                                     <span class="wid-all">
-                                        <p>产品型号:{{prod.prodCode}}</p>
-                                        <p>产品名称:{{prod.prodTitle}}</p>
-                                        <p ng-show="prod.brand">品牌:<i ng-bind="prod.brand" style="font-style: inherit"></i></p>
+                                        <p>产品型号:{{item.tenderProd.prodCode}}</p>
+                                        <p>产品名称:{{item.tenderProd.prodTitle}}</p>
+                                        <p ng-show="item.tenderProd.brand">品牌:<i ng-bind="item.tenderProd.brand" style="font-style: inherit"></i></p>
                                     </span>
-                                    <span ng-bind="prod.unit"></span>
-                                    <span ng-bind="prod.qty"></span>
-                                    <span><input type="text" class="editAble" ng-model="prod.currentItem.cycle" ng-pattern="/^\+?[1-9][0-9]*$/" ng-change="validateProds(prod);validateThis(prod.currentItem.cycle, 'cycle')" ng-blur="validateThis(prod.currentItem.cycle, 'cycle');validateProds(prod);" ng-focus="validateThis(prod.currentItem.cycle, 'cycle');validateProds(prod);" placeholder="请输入周期"/></span>
-                                    <span><input type="text" class="editAble" ng-model="prod.currentItem.price" ng-pattern="/^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/" ng-change="validateProds(prod);" ng-blur="validateThis(prod.currentItem.price, 'price');validateProds(prod);" ng-focus="validateProds(prod);" placeholder="请输入单价"/></span>
-                                    <span ng-bind="prod.currentItem.price * prod.qty || '' | number:2"></span>
+                                    <span ng-bind="item.tenderProd.unit"></span>
+                                    <span ng-bind="item.tenderProd.qty"></span>
+                                    <span><input type="text" class="editAble" ng-model="item.cycle" ng-pattern="/^\+?[1-9][0-9]*$/"
+                                                 ng-change="validateProds(saleTender);validateThis(item.cycle, 'cycle')"
+                                                 ng-blur="validateProds(saleTender);"
+                                                 ng-focus="validateProds(saleTender);" placeholder="请输入周期"/></span>
+                                    <span><input type="text" class="editAble" ng-model="item.price" ng-pattern="/^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/"
+                                                 ng-change="validateProds(saleTender);" ng-blur="validateProds(saleTender);validateThis(item.price, 'price')"
+                                                 ng-focus="validateProds(saleTender);" placeholder="请输入单价"/></span>
+                                    <span ng-bind="item.price * item.tenderProd.qty || '' | number:2"></span>
                                 </dd>
                             </dl>
                         </div>
                     </div>
                 </div>
-                <div style="min-height: 150px;" ng-hide="bid.overdue == 1">
+                <div style="min-height: 150px;" ng-hide="tender.overdue == 1">
                     <div class="bid-desc" style="margin-left: 20px;">投标附件:</div>
                     <div class="fileInputContainer">
                         <input class="fileInput" type="file" ng-file-select name="file" ng-model="myFile" ng-change="upload(myFile)" />
                         <!-- href="file/{{attach.id}}" -->
                         <div class="attach-file" ng-repeat="attach in attaches">
                             <a style="color: #5078cb;" href="file/{{attach.id}}">{{::attach.name}}</a>&nbsp;&nbsp;
-                            <a ng-click="removeAttach(attach.id, $index, bid.id)" title="删除"><i class="fa fa-trash-o fa-lg"></i></a>
+                            <a ng-click="removeAttach(attach.id, $index, tender.id)" title="删除"><i class="fa fa-trash-o fa-lg"></i></a>
                         </div>
                     </div>
                     <span style="margin-left: 100px; color: #969595; font-size: 12px; font-family: 'Microsoft Yahei Regular';">提示:选择附件大小不超过5MB,可上传JPG,PNG,EXCEL,WORD,PDF</span>
                 </div>
-                <div style="min-height: 50px;" ng-show="bid.overdue == 1 && attaches.length > 0">
+                <div style="min-height: 50px;" ng-show="tender.overdue == 1 && attaches.length > 0">
                     <div class="bid-desc" style="margin-left: 20px;">投标附件:</div>
                     <div class="">
                         <div ng-repeat="attach in attaches">
@@ -487,24 +501,24 @@
                 <div class="row prod-info">
                     <div class = "col-xs-4">
                         <div class="bid-desc">企业名称:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.enName}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.enName}}</div>
                     </div>
                     <div class = "col-xs-8">
                         <div class="bid-desc">注册地址:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.enAddress}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.enAddress}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">企业UU号:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.uu}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.uu}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">营业执照号:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.enBusinessCode}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.enBusinessCode}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">成立时间:</div>
-                        <div class="bid-desc" ng-show="currentEnBaseInfo.enEstablishDate">{{currentEnBaseInfo.enEstablishDate | date:'yyyy-MM-dd'}}</div>
-                        <div class="input-group input-trigger date-picker" ng-show="currentEnBaseInfo.enEstablishDate == null">
+                        <div class="bid-desc" ng-show="saleTender.enterpriseBaseInfo.enEstablishDate">{{saleTender.enterpriseBaseInfo.enEstablishDate | date:'yyyy-MM-dd'}}</div>
+                        <div class="input-group input-trigger date-picker" ng-show="saleTender.enterpriseBaseInfo.enEstablishDate == null">
                             <input type="text" ng-model="item.enterpriseBaseInfo.enEstablishDate"
                                    class="form-control" placeholder="点击选择日期" readonly="readonly"
                                    datepicker-popup="yyyy-MM-dd" is-open="condition.$fromOpened"
@@ -523,40 +537,40 @@
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">员工人数:</div>
-                        <input class="bid-input" ng-model="currentEnBaseInfo.emNum" type="text" ng-change="validateThis(currentEnBaseInfo.emNum, 'emNum')" ng-focus="validateThis(currentEnBaseInfo.emNum, 'emNum')" ng-blur="validateThis(currentEnBaseInfo.emNum, 'emNum')" ng-pattern="/^\+?[1-9][0-9]*$/" />
+                        <input class="bid-input" ng-model="saleTender.enterpriseBaseInfo.emNum" ng-readonly="tender.overdue == 1" type="text" ng-change="validateThis(currentEnBaseInfo.emNum, 'emNum')" ng-focus="validateThis(currentEnBaseInfo.emNum, 'emNum')" ng-blur="validateThis(currentEnBaseInfo.emNum, 'emNum')" ng-pattern="/^\+?[1-9][0-9]*$/" />
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">企业电话:</div>
-                        <input class="bid-input" ng-model="currentEnBaseInfo.enTel" type="text" />
+                        <input class="bid-input" ng-model="saleTender.enterpriseBaseInfo.enTel" ng-readonly="tender.overdue == 1" type="text" />
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">企业传真:</div>
-                        <input class="bid-input" ng-model="currentEnBaseInfo.enFax" type="text" />
+                        <input class="bid-input" ng-model="saleTender.enterpriseBaseInfo.enFax" ng-readonly="tender.overdue == 1" type="text" />
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">管理员:</div>
-                        <input class="bid-input" ng-model="currentEnBaseInfo.enUser" type="text" />
+                        <input class="bid-input" ng-model="saleTender.enterpriseBaseInfo.enUser" ng-readonly="tender.overdue == 1" type="text" />
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">联系电话:</div>
-                        <input class="bid-input" ng-model="currentEnBaseInfo.userTel" type="text" />
+                        <input class="bid-input" ng-model="saleTender.enterpriseBaseInfo.userTel" ng-readonly="tender.overdue == 1" type="text" />
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">开户银行:</div>
-                        <input class="bid-input" ng-model="currentEnBaseInfo.bank" type="text" />
+                        <input class="bid-input" ng-model="saleTender.enterpriseBaseInfo.bank" ng-readonly="tender.overdue == 1" type="text" />
                     </div>
                     <div class = "col-xs-12">
                         <div class="bid-desc">经营范围:</div>
-                        <input class="bid-input" style="width: 80%; text-align: left;" ng-model="currentEnBaseInfo.scope" type="text" />
+                        <input class="bid-input" style="width: 80%; text-align: left;" ng-model="saleTender.enterpriseBaseInfo.scope" ng-readonly="tender.overdue == 1" type="text" />
                     </div>
                     <div class = "col-xs-12">
                         <div class="bid-desc">备注:</div>
-                        <input class="bid-input" style="width: 80%; text-align: left;" ng-model="currentEnBaseInfo.remark" type="text" />
+                        <input class="bid-input" style="width: 80%; text-align: left;" ng-model="saleTender.enterpriseBaseInfo.remark" ng-readonly="tender.overdue == 1" type="text" />
                     </div>
                 </div>
                 <div class="col-xs-12" style="padding: 30px;">
                     <div class="col-xs-2 pull-right btn-bid">
-                        <button class="btn" ng-disabled="bid.overdue == 1 || !canSave || !emNumYes" ng-click="bidIt(bid, currentEnBaseInfo, saleTender)">投标</button>
+                        <button class="btn" ng-disabled="tender.overdue == 1 || !canSave || !emNumYes" ng-click="bidIt(saleTender)">投标</button>
                     </div>
                 </div>
             </div>

+ 40 - 41
src/main/webapp/resources/tpl/index/sale/vendor_tender.html

@@ -219,64 +219,64 @@
                 <div class="row base-info">
                     <div class = "col-xs-4">
                         <div class="bid-desc">招标编号:</div>
-                        <div class="unchanged-info">{{bid.code}}</div>
+                        <div class="unchanged-info">{{tender.code}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">招标项目:</div>
-                        <div class="unchanged-info">{{bid.title}}</div>
+                        <div class="unchanged-info">{{tender.title}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">招标企业:</div>
-                        <div class="unchanged-info">{{bid.enterprise.enName}}</div>
+                        <div class="unchanged-info">{{tender.enterprise.enName}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">联系人:</div>
-                        <div class="unchanged-info">{{bid.user}}</div>
+                        <div class="unchanged-info">{{tender.user}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">联系电话:</div>
-                        <div class="unchanged-info">{{bid.userTel}}</div>
+                        <div class="unchanged-info">{{tender.userTel}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">投标截止时间:</div>
-                        <div class="unchanged-info">{{bid.endDate | date:'yyyy-MM-dd'}}</div>
+                        <div class="unchanged-info">{{tender.endDate | date:'yyyy-MM-dd'}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">公布结果时间:</div>
-                        <div class="unchanged-info">{{bid.publishDate | date:'yyyy-MM-dd'}}</div>
+                        <div class="unchanged-info">{{tender.publishDate | date:'yyyy-MM-dd'}}</div>
                     </div>
                     <div class = "col-xs-8">
                         <div class="bid-desc">交货地址:</div>
-                        <div class="unchanged-info">{{bid.shipAddress}}</div>
+                        <div class="unchanged-info">{{tender.shipAddress}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">交易币别:</div>
-                        <div class="unchanged-info">{{bid.currency}}</div>
+                        <div class="unchanged-info">{{tender.currency}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">是否含税:</div>
-                        <div class="unchanged-info" ng-bind="bid.ifTax == 1 ? '是': '否'"></div>
+                        <div class="unchanged-info" ng-bind="tender.ifTax == 1 ? '是': '否'"></div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">付款方式:</div>
-                        <div class="unchanged-info">{{bid.payment}}</div>
+                        <div class="unchanged-info">{{tender.payment}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">是否开放报名:</div>
-                        <div class="unchanged-info" ng-bind="bid.ifOpen == 1 ? '是': '否'"></div>
+                        <div class="unchanged-info" ng-bind="tender.ifOpen == 1 ? '是': '否'"></div>
                     </div>
                     <div class = "col-xs-4">
                         <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 class="unchanged-info" ng-if="tender.invoiceType == 2">增值税专用发票</div>
+                        <div class="unchanged-info" ng-if="tender.invoiceType == 1">增值税普通发票</div>
+                        <div class="unchanged-info" ng-if="tender.invoiceType == 0">不需要发票</div>
                     </div>
                     <div class = "col-xs-12">
                         <div class="bid-desc">证照要求:</div>
-                        <div class="unchanged-info">{{bid.certificate}}</div>
+                        <div class="unchanged-info">{{tender.certificate}}</div>
                     </div>
-                    <div ng-if="bid.tenderAttaches.length" class="col-xs-8" style="height: 50px;">
-                        招标附件:<a class="file" style="color: #5078cb;" ng-repeat="attach in bid.tenderAttaches" href="file/{{attach.id}}">{{::attach.name}}</a>
+                    <div ng-if="tender.tenderAttaches.length" class="col-xs-8" style="height: 50px;">
+                        招标附件:<a class="file" style="color: #5078cb;" ng-repeat="attach in tender.tenderAttaches" href="file/{{attach.id}}">{{::attach.name}}</a>
                     </div>
                 </div>
                 <div class="wrap">
@@ -295,19 +295,18 @@
                                     <span>单价</span>
                                     <span>含税金额</span>
                                 </dt>
-                                <dd ng-repeat="prod in bid.purchaseTenderProds | orderBy : 'index'">
+                                <dd ng-repeat="item in saleTender.saleTenderItems | orderBy : 'tenderProd.index'">
                                     <span>{{$index + 1}}</span>
                                     <span class="wid01">
-                                        <p>产品编号:{{prod.prodCode}}</p>
-                                        <p>产品名称:{{prod.prodTitle}}</p>
-                                        <!--<p>产品规格:<span ng-bind="prod.prodSpec"></span></p>-->
+                                        <p>产品编号:{{item.tenderProd.prodCode}}</p>
+                                        <p>产品名称:{{item.tenderProd.prodTitle}}</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|number:6"></span>
-                                    <span ng-bind="prod.currentItem.price * prod.qty || '' | number:2"></span>
+                                    <span ng-bind="item.tenderProd.unit"></span>
+                                    <span ng-bind="item.tenderProd.qty"></span>
+                                    <span ng-bind="item.cycle"></span>
+                                    <span ng-bind="item.taxrate"></span>
+                                    <span ng-bind="item.price|number:6"></span>
+                                    <span ng-bind="item.price * item.tenderProd.qty || '' | number:2"></span>
                                 </dd>
                             </dl>
                         </div>
@@ -327,55 +326,55 @@
                 <div class="row prod-info">
                     <div class = "col-xs-4">
                         <div class="bid-desc">企业名称:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.enName}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.enName}}</div>
                     </div>
                     <div class = "col-xs-8">
                         <div class="bid-desc">注册地址:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.enAddress}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.enAddress}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">企业UU号:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.uu}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.uu}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">营业执照号:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.enBusinessCode}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.enBusinessCode}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">成立时间:</div>
-                        <div class="bid-desc" ng-show="currentEnBaseInfo.enEstablishDate">{{currentEnBaseInfo.enEstablishDate | date:'yyyy-MM-dd'}}</div>
+                        <div class="bid-desc" ng-show="saleTender.enterpriseBaseInfo.enEstablishDate">{{saleTender.enterpriseBaseInfo.enEstablishDate | date:'yyyy-MM-dd'}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">员工人数:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.emNum}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.emNum}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">企业电话:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.enTel}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.enTel}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">企业传真:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.enFax}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.enFax}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">联系人:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.enUser}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.enUser}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">联系电话:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.userTel}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.userTel}}</div>
                     </div>
                     <div class = "col-xs-4">
                         <div class="bid-desc">开户银行:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.bank}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.bank}}</div>
                     </div>
                     <div class = "col-xs-12">
                         <div class="bid-desc">经营范围:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.scope}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.scope}}</div>
                     </div>
                     <div class = "col-xs-12">
                         <div class="bid-desc">备注:</div>
-                        <div class="unchanged-info">{{currentEnBaseInfo.remark}}</div>
+                        <div class="unchanged-info">{{saleTender.enterpriseBaseInfo.remark}}</div>
                     </div>
                 </div>
                 <!--<div class="col-xs-12" style="padding: 30px;">-->