zerp пре 2 година
родитељ
комит
6eeada2849

+ 49 - 9
src/api/bid.js

@@ -1,5 +1,10 @@
 import request from '@/utils/request'
 
+
+/***
+ *   物流相关接口
+ * 
+ * * */
 // 获取列表
 export function getTableList(parms) {
   return request({
@@ -17,15 +22,7 @@ export function getQueryId(parms) {
     params: parms
   })
 }
-// 获取列表   --  销售
-export function getSaleId(parms) {
-  return request({
-    url: '/tender/sale/page',
-    // url: '/common/tender/logistics',
-    method: 'get',
-    params: parms
-  })
-}
+
 // 修改列表
 export function getQueryEdit(parms) {
   return request({
@@ -84,4 +81,47 @@ export function apiFile(value){
 }
 
 
+/***
+ * 
+ * 销售相关
+ * 
+ * * */
+
+  // 获取列表   --  销售
+export function getSaleId(parms) {
+  return request({
+    url: '/tender/sale/page',
+    // url: '/common/tender/logistics',
+    method: 'get',
+    params: parms
+  })
+}
+
+/**
+ *   原料相关接口
+ * 
+ * * */
+
+export function getTenderRaw(parms) {
+  return request({
+    url: '/tender/raw',
+    // url: '/common/tender/logistics',
+    method: 'get',
+    params: parms
+  })
+}
+
 
+/**
+ * 加工承揽
+ * 
+ * ** */
+
+export function getTenderProcessing(parms) {
+  return request({
+    url: '/tender/processing',
+    // url: '/common/tender/logistics',
+    method: 'get',
+    params: parms
+  })
+}

+ 79 - 1
src/api/tender.js

@@ -1,5 +1,8 @@
 import request from '@/utils/request'
-
+  /***
+   *    物流相关接口
+   * 
+   * * */
 // 获取列表
 export function getTableList(parms) {
   return request({
@@ -17,6 +20,7 @@ export function getQueryId(parms) {
     params: parms
   })
 }
+
 // 获取列表
 export function getLogisticsInfo(tenderLogisticsId,size,current) {
   return request({
@@ -50,6 +54,7 @@ export function getQueryAdd(parms) {
   })
 }
 
+
 // 下载
 export function loadCustomer(parms) {
   return request({
@@ -58,3 +63,76 @@ export function loadCustomer(parms) {
     params: parms
   })
 }
+
+
+
+/**
+ * 
+ *     销售相关接口
+ * 
+  * **/
+
+ // 获取列表   --  销售
+export function getSaleId(parms) {
+  return request({
+    url: '/tender/sale/page',
+    // url: '/common/tender/logistics',
+    method: 'get',
+    params: parms
+  })
+}
+
+// 添加列表
+export function getSaleAdd(parms) {
+  return request({
+    url: '/bidding/sale',
+    method: 'post',
+    data: parms
+  })
+}
+
+/**
+ *   原料相关接口
+ * 
+ * * */
+
+export function getTenderRaw(parms) {
+  return request({
+    url: '/tender/raw',
+    // url: '/common/tender/logistics',
+    method: 'get',
+    params: parms
+  })
+}
+
+// 添加列表
+export function getRawAdd(parms) {
+  return request({
+    url: '/bidding/raw',
+    method: 'post',
+    data: parms
+  })
+}
+
+/**
+ * 加工承揽
+ * 
+ * ** */
+
+export function getTenderProcessing(parms) {
+  return request({
+    url: '/tender/processing',
+    // url: '/common/tender/logistics',
+    method: 'get',
+    params: parms
+  })
+}
+
+// 添加列表
+export function getBiddingAdd(parms) {
+  return request({
+    url: ' /bidding/processing',
+    method: 'post',
+    data: parms
+  })
+}

+ 52 - 376
src/views/bid/index.vue

@@ -259,364 +259,14 @@
    
     <div class="goodsNameCss">
        <!-- 物流详情 -->
-          <el-dialog :append-to-body="true" fullscreen :visible.sync="viewDialog" title="" center>
-               <el-card class="box-card" shadow="nerver">
-                    <div slot="header" class="clearfix">
-                      <span class="topClass">基本信息</span>
-                    </div>
-
-                    <el-row type="flex" class="row-bg">
-                       <el-col :span="8" class="flex_text">
-                           标题 : <span class="flex_name"> {{bidInfo.tenderTitle}}</span>
-                       </el-col>
-                         <el-col :span="8" class="flex_text">
-                           状态 : <span class="flex_name"> <el-tag effect="plain" v-if="bidInfo.status ==1">进行中</el-tag>
-                                <el-tag effect="plain" v-if="bidInfo.status ==2" type="info">已结束</el-tag>
-                                <el-tag effect="plain" v-if="bidInfo.status ==3" type="danger">已作废</el-tag>
-                                <el-tag effect="plain" v-if="bidInfo.status ==4" type="warning">未开始</el-tag>
-                                </span>
-                       </el-col>
-                         <el-col :span="8" class="flex_text">
-                         招标类型 :  <span class="flex_name"><el-tag v-if="bidInfo.tenderType == 1"  >物流</el-tag>
-                                    <el-tag v-if="bidInfo.tenderType == 2" >原料</el-tag>
-                                    <el-tag v-if="bidInfo.tenderType == 3" >销售</el-tag>
-                                    <el-tag v-if="bidInfo.tenderType == 4" >加工承揽</el-tag>
-                                    </span>
-                       </el-col>
-                    </el-row>
-                     <el-row type="flex" class="row-bg">
-                       <el-col :span="8" class="flex_text">
-                         招标规则 : <span class="flex_name">    <el-tag v-if="bidInfo.tenderRule == 1" type="success" effect="plain">价低者得</el-tag>
-          <el-tag v-if="bidInfo.tenderRule == 2" effect="plain" >价高者得</el-tag></span>
-                       </el-col>
-                         <el-col :span="8" class="flex_text">
-                         开始时间 : <span class="flex_name"> {{bidInfo.startTime}} </span>
-                       </el-col>
-                         <el-col :span="8" class="flex_text">
-                         截止时间 :  <span class="flex_name">{{bidInfo.endTime}}
-                                    </span>
-                       </el-col>
-                    </el-row>
-                    <el-row type="flex" class="row-bg">
-                       <el-col :span="24" class="flex_text">
-                            备注:<span class="flex_name">{{bidInfo.tenderRemark}}</span>
-                       </el-col>
-                    </el-row>
-                  </el-card>
-
- 
-                    <el-card class="box-card" shadow="nerver">
-                       <div slot="header" class="clearfix">
-                          <span class="topClass"> 所有标的</span>
-                        </div>
-                          <el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
-                                <el-tab-pane label="标的详情" name="first">
-                              <div slot="header" class="clearfix">
-                                <span class="topClass">投的详情</span>
-                              </div>
-                                      <div class="head-container" style="margin: 30px 0 10px 0;">
-                                        <span style="fontSize:13px">货物名称</span>
-                                          <el-input
-                                            v-model="param.goodsName"
-                                            clearable
-                                            placeholder="请输入货物名称"
-                                            style="width: 200px;"
-                                            size="small"
-                                            class="filter-item"
-                                            @keyup.enter.native="getParam"
-                                            @clear="getParam"
-                                          />
-                                      <span style="fontSize:13px;marginLeft:30px">始发地</span>
-                                          <el-input
-                                            v-model="param.departureName"
-                                            clearable
-                                            placeholder="请输入始发地"
-                                            style="width: 200px;"
-                                            size="small"
-                                            class="filter-item"
-                                            @keyup.enter.native="getParam"
-                                            @clear="getParam"
-                                          />
-                        
-                                      <span style="fontSize:13px;marginLeft:30px;">目的地</span>
-                                          <el-input
-                                            v-model="param.destinationName"
-                                            clearable
-                                            placeholder="请输入货物名称"
-                                            style="width: 200px;"
-                                            size="small"
-                                            class="filter-item"
-                                            @keyup.enter.native="getParam"
-                                            @clear="getParam"
-                                          />
-                                          <!-- 搜索 -->
-                                          <span style="fontSize:13px;marginLeft:30px;">是否有人投标</span>
-                                          <el-select v-model="param.logisticsIsTender" size="small"  @keyup.enter.native="getParam" @clear="getParam" clearable placeholder="请选择">
-                                            <el-option  label="未投标" value="0"> </el-option>
-                                            <el-option  label="有投标" value="1"> </el-option>
-                                          </el-select>
-                                      <el-button class="filter-item" style="marginLeft:20px;marginBottom:20px" size="small" type="primary" icon="el-icon-search" plain @click="getParam">搜索</el-button>
-                                      <div style="height:20px"></div>
-                                      <el-table center :data="Paramdata"  :header-cell-style="{ background: '#f5f7fa', }" border v-loading="tableLoading" stripe style="width: 100%;">
-
-                                        <el-table-column prop="goodsName" fixed="left" label="货品名称" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="goodsNumber"  label="数量(吨)" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="departureName"  label="始发地" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="destinationName" label="目的地" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="predictDistance" label="预估运输距离(公里/海里)" width="128" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="transportUnitPrice" label="运输单价含税价(元/吨)"  width="120" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="appendix" label="附件" align="center" width="100">
-                                            <template slot-scope="scope">
-                                                <el-link v-if="scope.row.receiptPathUrl" :href="'http://view.officeapps.live.com/op/view.aspx?src='+scope.row.receiptPathUrl" type="primary" target="_target"><i class="el-icon-view"></i> 查看</el-link>
-                                            </template>
-                                          </el-table-column>
-                                            <el-table-column label="状态" align="center" width="100">
-                                        <template slot-scope="scope">
-                                          <el-tag effect="plain" v-if="scope.row.status ==1">进行中</el-tag>
-                                          <el-tag effect="plain" v-if="scope.row.status ==2" type="info">已结束</el-tag>
-                                          <el-tag effect="plain" v-if="scope.row.status ==3" type="danger">已作废</el-tag>
-                                          <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
-                                        </template>
-                                      </el-table-column>
-                                        <el-table-column prop="logisticsIsTender" label="是否有人投标" :show-overflow-tooltip="true" align="center" >
-                                          <template slot-scope="scope">
-                                            <el-tag v-if="scope.row.logisticsIsTender == 0" type="info">未投标</el-tag>
-                                            <el-tag v-if="scope.row.logisticsIsTender == 1" type="warning">有投标</el-tag>
-                                          </template>
-                                        </el-table-column>
-                                        <el-table-column prop="tenderLogisticsRule" label="中标规则" :show-overflow-tooltip="true" align="center" >
-                                          <template slot-scope="scope">
-                                            <el-tag v-if="scope.row.tenderLogisticsRule == 1" type="success" effect="plain">价低者得</el-tag>
-                                            <el-tag v-if="scope.row.tenderLogisticsRule == 2" effect="plain" >价高者得</el-tag>
-                                          </template>
-                                        </el-table-column>
-                                        <el-table-column prop="startTime" label="起始时间" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="endTime" label="结束时间" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="createTime" label="创建时间" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="logisticsRemark" label="备注" :show-overflow-tooltip="true" align="center" />
-                                  
-                                      </el-table>
-                                      <div class="pagination">
-                                        <el-pagination
-                                          :current-page.sync="param.current"
-                                          :page-size="param.size"
-                                          layout="total, sizes, prev, pager, next, jumper"
-                                          :total="total1"
-                                          :page-sizes="[10, 20, 30, 50]"
-                                          background
-                                          @size-change="handleSizeChangeParam"
-                                          @current-change="handleCurrentChangeParam"
-                                        />
-                                      </div>
-                              <div style="height:60px"></div>
-                                </div>
-                                </el-tab-pane>
-                                <el-tab-pane label="投标详情" name="second">
-                                    <!-- <el-card class="box-card" shadow="nerver"> -->
-                                      <!-- <div slot="header" class="clearfix">
-                                        <span class="topClass">投标详情</span>
-                                      </div> -->
-                                              <ckTable ref="ckTable" @change="costPlannedAmountChange($event)"></ckTable>
-                                    <!-- </el-card> -->
-                                </el-tab-pane>
-
-                          </el-tabs>
-                    </el-card>
-
-                  <!-- <el-card class="box-card" shadow="nerver">
-                    <div slot="header" class="clearfix">
-                      <span class="topClass">投标详情</span>
-                    </div>
-                  <ckTable ref="ckTable"  @change="costPlannedAmountChange($event)"></ckTable>
-                   </el-card> -->
-
-                       <div slot="footer" class="paginationParam">
-                    <!-- <el-button @click="viewDialog = false">取消</el-button> -->
-                    <el-button :loading="loading" type="primary" @click="viewDialog = false">返回</el-button>
-                    <!-- <el-button :loading="loading" type="primary" @click="viewDialog = false">确认</el-button> -->
-                  </div>
-                  <el-dialog :title="goodsName" width="90%" center :visible.sync="dialogTableVisible" append-to-body>
-                               <ckDialog ref="ckDialog"></ckDialog>
-                          </el-dialog>
-
-          </el-dialog>
-
+    <ckTender ref="ckTender"/>
         <!-- 销售详情 -->
-          <el-dialog :append-to-body="true" fullscreen :visible.sync="saleViewDialog" title="" center>
-               <el-card class="box-card" shadow="nerver">
-                    <div slot="header" class="clearfix">
-                      <span class="topClass">基本信息</span>
-                    </div>
-
-                    <el-row type="flex" class="row-bg">
-                       <el-col :span="8" class="flex_text">
-                           标题 : <span class="flex_name"> {{bidInfo.tenderTitle}}</span>
-                       </el-col>
-                         <el-col :span="8" class="flex_text">
-                           状态 : <span class="flex_name"> <el-tag effect="plain" v-if="bidInfo.status ==1">进行中</el-tag>
-                                <el-tag effect="plain" v-if="bidInfo.status ==2" type="info">已结束</el-tag>
-                                <el-tag effect="plain" v-if="bidInfo.status ==3" type="danger">已作废</el-tag>
-                                <el-tag effect="plain" v-if="bidInfo.status ==4" type="warning">未开始</el-tag>
-                                </span>
-                       </el-col>
-                         <el-col :span="8" class="flex_text">
-                         招标类型 :  <span class="flex_name"><el-tag v-if="bidInfo.tenderType == 1"  >物流</el-tag>
-                                    <el-tag v-if="bidInfo.tenderType == 2" >原料</el-tag>
-                                    <el-tag v-if="bidInfo.tenderType == 3" >销售</el-tag>
-                                    <el-tag v-if="bidInfo.tenderType == 4" >加工承揽</el-tag>
-                                    </span>
-                       </el-col>
-                    </el-row>
-                     <el-row type="flex" class="row-bg">
-                       <el-col :span="8" class="flex_text">
-                         招标规则 : <span class="flex_name">    <el-tag v-if="bidInfo.tenderRule == 1" type="success" effect="plain">价低者得</el-tag>
-          <el-tag v-if="bidInfo.tenderRule == 2" effect="plain" >价高者得</el-tag></span>
-                       </el-col>
-                         <el-col :span="8" class="flex_text">
-                         开始时间 : <span class="flex_name"> {{bidInfo.startTime}} </span>
-                       </el-col>
-                         <el-col :span="8" class="flex_text">
-                         截止时间 :  <span class="flex_name">{{bidInfo.endTime}}
-                                    </span>
-                       </el-col>
-                    </el-row>
-                    <el-row type="flex" class="row-bg">
-                       <el-col :span="24" class="flex_text">
-                            备注:<span class="flex_name">{{bidInfo.tenderRemark}}</span>
-                       </el-col>
-                    </el-row>
-                  </el-card>
-
- 
-                    <el-card class="box-card" shadow="nerver">
-                       <div slot="header" class="clearfix">
-                          <span class="topClass"> 所有标的</span>
-                        </div>
-                          <el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
-                                <el-tab-pane label="标的详情" name="first">
-                              <div slot="header" class="clearfix">
-                                <span class="topClass">投的详情</span>
-                              </div>
-                                      <div class="head-container" style="margin: 30px 0 10px 0;">
-                                        <span style="fontSize:13px">货物名称</span>
-                                          <el-input
-                                            v-model="param.goodsName"
-                                            clearable
-                                            placeholder="请输入货物名称"
-                                            style="width: 200px;"
-                                            size="small"
-                                            class="filter-item"
-                                            @keyup.enter.native="getParam"
-                                            @clear="getParam"
-                                          />
-                                      <span style="fontSize:13px;marginLeft:30px">始发地</span>
-                                          <el-input
-                                            v-model="param.departureName"
-                                            clearable
-                                            placeholder="请输入始发地"
-                                            style="width: 200px;"
-                                            size="small"
-                                            class="filter-item"
-                                            @keyup.enter.native="getParam"
-                                            @clear="getParam"
-                                          />
-                        
-                                      <span style="fontSize:13px;marginLeft:30px;">目的地</span>
-                                          <el-input
-                                            v-model="param.destinationName"
-                                            clearable
-                                            placeholder="请输入货物名称"
-                                            style="width: 200px;"
-                                            size="small"
-                                            class="filter-item"
-                                            @keyup.enter.native="getParam"
-                                            @clear="getParam"
-                                          />
-                                          <!-- 搜索 -->
-                                          <span style="fontSize:13px;marginLeft:30px;">是否有人投标</span>
-                                          <el-select v-model="param.logisticsIsTender" size="small"  @keyup.enter.native="getParam" @clear="getParam" clearable placeholder="请选择">
-                                            <el-option  label="未投标" value="0"> </el-option>
-                                            <el-option  label="有投标" value="1"> </el-option>
-                                          </el-select>
-                                      <el-button class="filter-item" style="marginLeft:20px;marginBottom:20px" size="small" type="primary" icon="el-icon-search" plain @click="getParam">搜索</el-button>
-                                      <div style="height:20px"></div>
-                                      <el-table center :data="Paramdata"  :header-cell-style="{ background: '#f5f7fa', }" border v-loading="tableLoading" stripe style="width: 100%;">
-
-                                        <el-table-column prop="goodsName" fixed="left" label="货品名称" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="goodsNumber"  label="数量(吨)" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="departureName"  label="始发地" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="destinationName" label="目的地" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="predictDistance" label="预估运输距离(公里/海里)" width="128" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="transportUnitPrice" label="运输单价含税价(元/吨)"  width="120" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="appendix" label="附件" align="center" width="100">
-                                            <template slot-scope="scope">
-                                                <el-link v-if="scope.row.receiptPathUrl" :href="'http://view.officeapps.live.com/op/view.aspx?src='+scope.row.receiptPathUrl" type="primary" target="_target"><i class="el-icon-view"></i> 查看</el-link>
-                                            </template>
-                                          </el-table-column>
-                                            <el-table-column label="状态" align="center" width="100">
-                                        <template slot-scope="scope">
-                                          <el-tag effect="plain" v-if="scope.row.status ==1">进行中</el-tag>
-                                          <el-tag effect="plain" v-if="scope.row.status ==2" type="info">已结束</el-tag>
-                                          <el-tag effect="plain" v-if="scope.row.status ==3" type="danger">已作废</el-tag>
-                                          <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
-                                        </template>
-                                      </el-table-column>
-                                        <el-table-column prop="logisticsIsTender" label="是否有人投标" :show-overflow-tooltip="true" align="center" >
-                                          <template slot-scope="scope">
-                                            <el-tag v-if="scope.row.logisticsIsTender == 0" type="info">未投标</el-tag>
-                                            <el-tag v-if="scope.row.logisticsIsTender == 1" type="warning">有投标</el-tag>
-                                          </template>
-                                        </el-table-column>
-                                        <el-table-column prop="tenderLogisticsRule" label="中标规则" :show-overflow-tooltip="true" align="center" >
-                                          <template slot-scope="scope">
-                                            <el-tag v-if="scope.row.tenderLogisticsRule == 1" type="success" effect="plain">价低者得</el-tag>
-                                            <el-tag v-if="scope.row.tenderLogisticsRule == 2" effect="plain" >价高者得</el-tag>
-                                          </template>
-                                        </el-table-column>
-                                        <el-table-column prop="startTime" label="起始时间" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="endTime" label="结束时间" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="createTime" label="创建时间" :show-overflow-tooltip="true" align="center" />
-                                        <el-table-column prop="logisticsRemark" label="备注" :show-overflow-tooltip="true" align="center" />
-                                  
-                                      </el-table>
-                                      <div class="pagination">
-                                        <el-pagination
-                                          :current-page.sync="param.current"
-                                          :page-size="param.size"
-                                          layout="total, sizes, prev, pager, next, jumper"
-                                          :total="total1"
-                                          :page-sizes="[10, 20, 30, 50]"
-                                          background
-                                          @size-change="handleSizeChangeParam"
-                                          @current-change="handleCurrentChangeParam"
-                                        />
-                                      </div>
-                              <div style="height:60px"></div>
-                                </div>
-                                </el-tab-pane>
-                                <el-tab-pane label="投标详情" name="second">
-                                    <!-- <el-card class="box-card" shadow="nerver"> -->
-                                      <!-- <div slot="header" class="clearfix">
-                                        <span class="topClass">投标详情</span>
-                                      </div> -->
-                                              <ckTable ref="ckTable" @change="costPlannedAmountChange($event)"></ckTable>
-                                    <!-- </el-card> -->
-                                </el-tab-pane>
-
-                          </el-tabs>
-                    </el-card>
-
-                       <div slot="footer" class="paginationParam">
-                    <!-- <el-button @click="viewDialog = false">取消</el-button> -->
-                    <el-button :loading="loading" type="primary" @click="saleViewDialog = false">返回</el-button>
-                    <!-- <el-button :loading="loading" type="primary" @click="viewDialog = false">确认</el-button> -->
-                  </div>
-                  <el-dialog :title="goodsName" width="90%" center :visible.sync="dialogTableVisible" append-to-body>
-                               <ckDialog ref="ckDialog"></ckDialog>
-                          </el-dialog>
-
-          </el-dialog>
-
+          <ckTender1 ref="ckTender1"></ckTender1>
+          <!-- 原料 -->
+          <ckTender2 ref="ckTender2"></ckTender2>
+      <!-- 加工承揽-->
+          <ckTender3 ref="ckTender3"></ckTender3>
+      
     </div>
 
   </div>
@@ -626,12 +276,16 @@
 <script>
 import { getTableList, getQueryId, getQueryAdd, getQueryEdit, getQueryDelete, loadCustomer,apiFile,getSaleId } from '@/api/bid'
 import { Notification, MessageBox } from 'element-ui'
-import ckTable from './table.vue'
-import ckDialog from './dialog.vue'
+import ckTender1 from "./tender1/tender.vue"
+import ckTender from "./tender/tender.vue"
+import ckTender2 from "./tender2/tender.vue"
+import ckTender3 from "./tender3/tender.vue"
 export default {
    components:{
-    ckTable,
-    ckDialog
+ckTender1,
+ckTender2,
+ckTender3,
+    ckTender
   },
   data() {
     const checkTel = (rule, value, callback) => {
@@ -1036,24 +690,46 @@ window.open(officeUrl,'_target')
     },
     // 详情
     handleView(row) {
-      this.param.tenderParentId = row.tenderParentId
-      this.bidInfo = row
-      this.param.current = 1
-      this.getParam()
-
-         setTimeout(() => {
-        console.log(this.$refs.ckTable.tenderParentId,"1234")
-       this.$refs.ckTable.tenderParentId = row.tenderParentId
-        this.$refs.ckTable.getTenantList()
-      }, 300);
+   
       let tenderType = row.tenderType
       if(tenderType == 1){
-        this.viewDialog = true
-         this.getParam()
-        console.log("物流")
+        this.$refs.ckTender.viewDialog = true
+         setTimeout(() => {
+            this.$refs.ckTender.activeName="first"
+            this.$refs.ckTender.param.tenderParentId = row.tenderParentId
+            this.$refs.ckTender.bidInfo = row
+            this.$refs.ckTender.param.current = 1
+            this.$refs.ckTender.getParam()
+            console.log("物流")
+      }, 300);
+      }else if(tenderType == 2){
+        this.$refs.ckTender2.viewDialog = true
+         setTimeout(() => {
+            this.$refs.ckTender2.activeName="first"
+            this.$refs.ckTender2.param.tenderParentId = row.tenderParentId
+            this.$refs.ckTender2.bidInfo = row
+            this.$refs.ckTender2.param.current = 1
+            this.$refs.ckTender2.getParam()
+            console.log("原料")
+      }, 300);
       }else if(tenderType == 3){
-        this.saleViewDialog = true
-        console.log("销售")
+        this.$refs.ckTender1.viewDialog = true
+          setTimeout(() => {
+              this.$refs.ckTender1.activeName="first"
+              this.$refs.ckTender1.param.tenderParentId = row.tenderParentId
+              this.$refs.ckTender1.bidInfo = row
+              this.$refs.ckTender1.param.current = 1
+              this.$refs.ckTender1.getParam()
+        }, 300);
+      }else if(tenderType == 4){
+        this.$refs.ckTender3.viewDialog = true
+          setTimeout(() => {
+              this.$refs.ckTender3.activeName="first"
+              this.$refs.ckTender3.param.tenderParentId = row.tenderParentId
+              this.$refs.ckTender3.bidInfo = row
+              this.$refs.ckTender3.param.current = 1
+              this.$refs.ckTender3.getParam()
+        }, 300);
       }
     },
     getParam(tenderParentId) {

+ 280 - 0
src/views/bid/tender/dialog.vue

@@ -0,0 +1,280 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <!-- <div>
+      <span style="font-size:14px">货物:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div> -->
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+
+      <el-table-column label="运输方式" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+           <template slot-scope="scope">
+                           <span v-if="scope.row.transportMode == 1">陆运</span>
+                            <!-- <span v-if="scope.row.transportMode == 2">汽运</span> -->
+                            <span v-if="scope.row.transportMode == 2">火车运输</span>
+                            <span v-if="scope.row.transportMode == 3">船运</span>
+                            <span v-if="scope.row.transportMode == 4">汽运/火车运输/船运</span>
+                            <span v-if="scope.row.transportMode == 5">汽运/火车运输</span>
+                            <span v-if="scope.row.transportMode == 6">汽运/船运</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标价格" prop="logisticsBiddingPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="quantity" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="总价" prop="logisticsTotalPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="联系电话" prop="phone" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+       <el-table-column  :show-overflow-tooltip="true" label="包装方式" width="100" align="center">
+        <template slot-scope="scope">
+            <span v-if="scope.row.packingWay == 1">散粮</span> 
+            <span v-if="scope.row.packingWay == 2">袋装</span> 
+            <span v-if="scope.row.packingWay == 3">散装</span> 
+            <span v-if="scope.row.packingWay == 4">集装箱</span> 
+        </template>
+      </el-table-column>
+
+      <el-table-column label="始发车站" prop="departureStation" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的车站" prop="destinationStation" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+       <el-table-column label="状态" align="center" width="100">
+            <template slot-scope="scope">
+            <el-tag effect="plain" v-if="scope.row.biddingStatus == 5">已投递</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==6" type="info">审核中</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==7" type="warning">已中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==8" type="danger">未中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==9" type="danger">已作废</el-tag>
+            </template>
+       </el-table-column>
+      <el-table-column label="投标时间" prop="logisticsBiddingTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="备注" prop="biddingLogisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :popper-class="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsInfo } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: {},
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: '1',
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        isShow:true
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      onshow(){
+          this.isShow = !this.isShow
+      },
+    parseTime,
+    getTenantList: function() {
+        console.log(this.priceData)
+        let tenderLogisticsId =this.priceData.logisticsBidId
+        let current =this.current
+        let size =this.size
+      getLogisticsInfo(tenderLogisticsId,size,current).then(response => {
+        console.log(response)
+        this.loading = false
+         let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 投标时间
+          let startTime = this.priceData.endTime
+
+          const date = new Date(startTime)
+          const start = date.valueOf()         //开始时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          if(res.biddingStatus < 7){
+              console.log("我不满足")
+                if(time < start){
+                    res.biddingStatus = 5
+                    console.log("当前时间小于投标时间,已投递")
+                }else if(time > start){
+                    res.biddingStatus = 6
+                    console.log("当前时间小于投标时间,审核中")
+                }
+          }
+          return res
+        })
+        console.log(data)
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = '1'
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+.pagination{
+  padding-bottom: 30px;
+}
+</style>
+

+ 366 - 0
src/views/bid/tender/table.vue

@@ -0,0 +1,366 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <div>
+      <span style="font-size:14px">货物名称:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+          <!-- <span style="fontSize:13px;marginLeft:20px">投标时间</span>
+            <el-date-picker
+              v-model="applyDateStart"
+              size="mini"
+              type="datetimerange"
+              style="width: 280px;"
+              range-separator="-"
+              clearable
+              value-format="yyyy-MM-dd HH:mm:ss"
+              :default-time="['00:00:00', '23:59:59']"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+             @change="onApplyDate"
+             @clear="onApplyDate"
+            />
+ -->
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div>
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+          <!-- <el-table-column type="expand" prop="biddingLogisticsInfoList">
+      <template slot-scope="props"> -->
+            <!-- <div  :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" v-if="isShow">
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式: 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 1">陆运</span> 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 2">汽运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 3">火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 4">船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 6">汽运/火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{props.row.biddingLogisticsInfoList[0].quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{props.row.biddingLogisticsInfoList[0].logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{props.row.biddingLogisticsInfoList[0].phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="props.row.biddingLogisticsInfoList[0].packingWay == 1">散粮</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 2">袋装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 3">散装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{props.row.biddingLogisticsInfoList[0].departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{props.row.biddingLogisticsInfoList[0].destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{props.row.biddingLogisticsInfoList[0].logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+          <!-- <div v-for="(item,index) in props.row.biddingLogisticsInfoList" :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" >
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式:
+                            <span v-if="item.transportMode == 1">陆运</span>
+                            <span v-if="item.transportMode == 2">汽运</span>
+                            <span v-if="item.transportMode == 3">火车运输</span>
+                            <span v-if="item.transportMode == 4">船运</span>
+                            <span v-if="item.transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="item.transportMode == 6">汽运/火车运输</span>
+                            <span v-if="item.transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{item.logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{item.quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{item.logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{item.phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="item.packingWay == 1">散粮</span> 
+                           <span v-if="item.packingWay == 2">袋装</span> 
+                           <span v-if="item.packingWay == 3">散装</span> 
+                           <span v-if="item.packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{item.departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{item.destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{item.logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{item.logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+            <!-- <div @click="onshow">{{isShow ?"展开" : "收起"}}</div> -->
+      <!-- </template>
+    </el-table-column> -->
+
+      <el-table-column label="货物" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="goodsNumber" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="始发地" prop="departureName" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的地" prop="destinationName" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="预估距离" prop="predictDistance" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="单价" prop="transportUnitPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="保证金" prop="deposit" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column prop="description" :show-overflow-tooltip="true" label="招标规则" width="100" align="center">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.tenderLogisticsRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="scope.row.tenderLogisticsRule == 2" effect="plain" >价高者得</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标开始时间" prop="startTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标结束时间" prop="endTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标备注" prop="logisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+  
+        <el-table-column label="操作" width="150" fixed="right" align="center">
+        <template slot-scope="scope">
+          <!-- <el-button type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == null" slot="reference" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == 0" slot="reference" type="text" icon="el-icon-edit" @click="handleEdit(scope.row)">改标</el-button> -->
+          <el-button  slot="reference" icon="el-icon-view" type="text" @click="handleView(scope.row)">查看更多</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :current-page="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsList } from '@/api/bid'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: [],
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: 1,
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        isShow:true
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      handleView(row){
+          console.log("我被点击了")
+            this.$emit('change',row)
+        //   this.$parent.dialogTableVisible = true
+      },
+      onshow(){
+          this.isShow = !this.isShow
+      },
+    parseTime,
+    getTenantList: function() {
+      this.loading = true
+      const params = new URLSearchParams()
+      params.append('tenderParentId', this.tenderParentId)
+      params.append('goodsName', this.goodsName)
+      params.append('startTime', this.startTime)
+      params.append('endTime', this.endTime)
+      params.append('current', this.current)
+      params.append('size', this.size)
+      getLogisticsList(params).then(response => {
+        console.log(response)
+        this.loading = false
+        this.tableData = response.data.data.records
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = 1
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+</style>
+

+ 793 - 0
src/views/bid/tender/tender.vue

@@ -0,0 +1,793 @@
+<template>
+    <div>
+              <el-dialog :append-to-body="true" fullscreen :visible.sync="viewDialog" title="" center>
+               <el-card class="box-card" shadow="nerver">
+                    <div slot="header" class="clearfix">
+                      <span class="topClass">基本信息</span>
+                    </div>
+
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                           标题 : <span class="flex_name"> {{bidInfo.tenderTitle}}</span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                           状态 : <span class="flex_name"> <el-tag effect="plain" v-if="bidInfo.status ==1">进行中</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==2" type="info">已结束</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==3" type="danger">已作废</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==4" type="warning">未开始</el-tag>
+                                </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         招标类型 :  <span class="flex_name"><el-tag v-if="bidInfo.tenderType == 1"  >物流</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 2" >原料</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 3" >销售</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 4" >加工承揽</el-tag>
+                                    </span>
+                       </el-col>
+                    </el-row>
+                     <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                         招标规则 : <span class="flex_name">    <el-tag v-if="bidInfo.tenderRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="bidInfo.tenderRule == 2" effect="plain" >价高者得</el-tag></span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         开始时间 : <span class="flex_name"> {{bidInfo.startTime}} </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         截止时间 :  <span class="flex_name">{{bidInfo.endTime}}
+                                    </span>
+                       </el-col>
+                    </el-row>
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="24" class="flex_text">
+                            备注:<span class="flex_name">{{bidInfo.tenderRemark}}</span>
+                       </el-col>
+                    </el-row>
+                  </el-card>
+
+ 
+                    <el-card class="box-card" shadow="nerver">
+                       <div slot="header" class="clearfix">
+                          <span class="topClass"> 所有标的</span>
+                        </div>
+                          <el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
+                                <el-tab-pane label="标的详情" name="first">
+                              <div slot="header" class="clearfix">
+                                <span class="topClass">投的详情</span>
+                              </div>
+                                      <div class="head-container" style="margin: 30px 0 10px 0;">
+                                        <span style="fontSize:13px">货物名称</span>
+                                          <el-input
+                                            v-model="param.goodsName"
+                                            clearable
+                                            placeholder="请输入货物名称"
+                                            style="width: 200px;"
+                                            size="small"
+                                            class="filter-item"
+                                            @keyup.enter.native="getParamFexd"
+                                            @clear="getParamFexd"
+                                          />
+                                      <span style="fontSize:13px;marginLeft:30px">始发地</span>
+                                          <el-input
+                                            v-model="param.departureName"
+                                            clearable
+                                            placeholder="请输入始发地"
+                                            style="width: 200px;"
+                                            size="small"
+                                            class="filter-item"
+                                            @keyup.enter.native="getParamFexd"
+                                            @clear="getParamFexd"
+                                          />
+                        
+                                      <span style="fontSize:13px;marginLeft:30px;">目的地</span>
+                                          <el-input
+                                            v-model="param.destinationName"
+                                            clearable
+                                            placeholder="请输入货物名称"
+                                            style="width: 200px;"
+                                            size="small"
+                                            class="filter-item"
+                                            @keyup.enter.native="getParamFexd"
+                                            @clear="getParamFexd"
+                                          />
+                                          <!-- 搜索 -->
+                                          <span style="fontSize:13px;marginLeft:30px;">是否有人投标</span>
+                                          <el-select v-model="param.logisticsIsTender" size="small"  @keyup.enter.native="getParamFexd" @clear="getParamFexd" clearable placeholder="请选择">
+                                            <el-option  label="未投标" value="0"> </el-option>
+                                            <el-option  label="有投标" value="1"> </el-option>
+                                          </el-select>
+                              <div style="text-align: right;margin-right:40px">
+                                   <el-button class="filter-item" style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="getParamFexd">搜索</el-button>
+                              </div>
+                                      <!-- <el-button class="filter-item" style="marginLeft:20px;marginBottom:20px" size="small" type="primary" icon="el-icon-search"  @click="getParamFexd">搜索</el-button> -->
+                                      <div style="height:20px"></div>
+                                     <el-table center :data="Paramdata"  :header-cell-style="{ background: '#f5f7fa', }" border v-loading="tableLoading" stripe style="width: 100%;">
+
+                                        <el-table-column prop="goodsName" fixed="left" label="货品名称" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="goodsNumber"  label="数量(吨)" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="departureName"  label="始发地" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="destinationName" label="目的地" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="predictDistance" label="预估运输距离(公里/海里)" width="128" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="transportUnitPrice" label="运输单价含税价(元/吨)"  width="120" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="appendix" label="附件" align="center" width="100">
+                                            <template slot-scope="scope">
+                                                <el-link v-if="scope.row.receiptPathUrl" :href="'http://view.officeapps.live.com/op/view.aspx?src='+scope.row.receiptPathUrl" type="primary" target="_target"><i class="el-icon-view"></i> 查看</el-link>
+                                            </template>
+                                          </el-table-column>
+                                            <el-table-column label="状态" align="center" width="100">
+                                        <template slot-scope="scope">
+                                         <el-tag effect="plain" v-if="scope.row.status ==3">进行中</el-tag>
+                                          <el-tag effect="plain" v-if="scope.row.status ==1" type="info">已结束</el-tag>
+                                          <el-tag effect="plain" v-if="scope.row.status ==5" type="info">待处理</el-tag>
+                                          <el-tag effect="plain" v-if="scope.row.status ==2" type="danger">已作废</el-tag>
+                                          <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+                                        </template>
+                                      </el-table-column>
+                                        <el-table-column prop="logisticsIsTender" label="是否有人投标" :show-overflow-tooltip="true" align="center" >
+                                          <template slot-scope="scope">
+                                            <el-tag v-if="scope.row.logisticsIsTender == 0" type="info">未投标</el-tag>
+                                            <el-tag v-if="scope.row.logisticsIsTender == 1" type="warning">有投标</el-tag>
+                                          </template>
+                                        </el-table-column>
+                                        <el-table-column prop="tenderLogisticsRule" label="中标规则" :show-overflow-tooltip="true" align="center" >
+                                          <template slot-scope="scope">
+                                            <el-tag v-if="scope.row.tenderLogisticsRule == 1" type="success" effect="plain">价低者得</el-tag>
+                                            <el-tag v-if="scope.row.tenderLogisticsRule == 2" effect="plain" >价高者得</el-tag>
+                                          </template>
+                                        </el-table-column>
+                                        <el-table-column prop="startTime" label="起始时间" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="endTime" label="结束时间" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="createTime" label="创建时间" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="logisticsRemark" label="备注" :show-overflow-tooltip="true" align="center" />
+                                  
+                                      </el-table>
+                                      <div class="pagination">
+                                        <el-pagination
+                                          :current-page.sync="param.current"
+                                          :page-size="param.size"
+                                          layout="total, sizes, prev, pager, next, jumper"
+                                          :total="total1"
+                                          :page-sizes="[1,10, 20, 30, 50]"
+                                          background
+                                          @size-change="handleSizeChangeParam"
+                                          @current-change="handleCurrentChangeParam"
+                                        />
+                                      </div>
+                                </div>
+                                </el-tab-pane>
+                                <el-tab-pane label="投标详情" name="second">
+                                    <!-- <el-card class="box-card" shadow="nerver"> -->
+                                      <!-- <div slot="header" class="clearfix">
+                                        <span class="topClass">投标详情</span>
+                                      </div> -->
+                                              <ckTable ref="ckTable" @change="costPlannedAmountChange($event)"></ckTable>
+                                    <!-- </el-card> -->
+                                </el-tab-pane>
+
+                          </el-tabs>
+                    </el-card>
+
+                  <!-- <el-card class="box-card" shadow="nerver">
+                    <div slot="header" class="clearfix">
+                      <span class="topClass">投标详情</span>
+                    </div>
+                  <ckTable ref="ckTable"  @change="costPlannedAmountChange($event)"></ckTable>
+                   </el-card> -->
+
+                       <div slot="footer" class="paginationParam">
+                          <!-- <el-button @click="viewDialog = false">取消</el-button> -->
+                          <el-button  type="primary" @click="viewDialog = false">返回</el-button>
+                          <!-- <el-button :loading="loading" type="primary" @click="viewDialog = false">确认</el-button> -->
+                        </div>
+                  <el-dialog :title="goodsName" width="90%" center :visible.sync="dialogTableVisible" append-to-body>
+                               <ckDialog ref="ckDialog"></ckDialog>
+                          </el-dialog>
+
+          </el-dialog>
+
+    </div>
+</template>
+
+
+<script>
+import { getTableList, getQueryId, getQueryAdd, getQueryEdit, getQueryDelete, loadCustomer,apiFile,getSaleId } from '@/api/bid'
+import { Notification, MessageBox } from 'element-ui'
+import ckTable from './table.vue'
+import ckDialog from './dialog.vue'
+export default {
+   components:{
+    ckTable,
+    ckDialog
+  },
+  data() {
+    const checkTel = (rule, value, callback) => {
+      console.log(this.form.fileUrl)
+      console.log(value, 'value')
+      if (this.form.fileUrl == null || this.form.fileUrl == '') {
+        callback(new Error('请选择附件'))
+        console.log('没过')
+      } else {
+        callback()
+        console.log('过')
+      }
+    }
+    return {
+      showType:false,
+      form: {
+        tenderType:"",
+        tenderRule:"",
+        fileUrl:""
+      },
+      applyDateStart:[],
+      data: [],
+      fileList: [],
+      fileData:{},
+      BASE_API: process.env.BASE_API,
+      dialog: false,
+      delLoading: false,
+      viewDialog: false,
+      loading: false,
+      isAdd: false,
+      currentPage: 1,
+      pageSize: 10,
+      total: 0, // 总数量
+      rules: {
+        tenderTitle: [
+          { required: true, message: '标题不为空', trigger: 'blur' }
+        ],
+        tenderRule: [
+          { required: true, message: '请选择招标规则', trigger: 'blur' }
+        ],
+        tenderType: [
+          { required: true, message: '请选择投标类型', trigger: 'blur' }
+        ],
+        fileUrl: [
+          { validator: checkTel, trigger: 'change' }
+        ],
+        // startTime: [
+        //   { type:"array",required: true, message: '发布时间不为空', trigger: 'blur' }
+        // ]
+      },
+      tenderType:[
+        {id:1,name:"物流",value:"logistics"},
+        {id:2,name:"原料",value:"raw"},
+        {id:3,name:"销售",value:"sale"},
+        {id:4,name:"加工承揽",value:"processing"},
+      ],
+      tenderRule:[
+        {id:1,name:"价低者得"},
+        {id:2,name:"价高者得"},
+
+      ],
+      queryTypeOptions: [
+        { key: 'name', display_name: '字典名称' },
+        { key: 'remark', display_name: '描述' }
+      ],
+      query: {
+        type: '',
+        value: '',
+        tenderRule:"",
+        tenderType:"",
+        startTime:"",
+        endTime:""
+      },
+      param: {
+        current: 1,
+        size: 10
+      },
+      total1: 0,
+      Paramdata: [],
+      bidDate: [],
+      buton: false,
+      fileUrl:"",
+      tableLoading:false,
+      dialogTableVisible:false,
+      goodsName:"",
+      activeName:"first",
+      bidInfo:{},
+      saleViewDialog:false,
+    }
+  },
+  created() {
+    this.getDictData()
+  },
+  methods: {
+     // 投标详情 向父元素传递数据
+    costPlannedAmountChange(val){
+      console.log(val)
+ 
+      this.dialogTableVisible = true
+      setTimeout(() => {
+        this.goodsName = val.goodsName
+       this.$refs.ckDialog.priceData = val
+      this.$refs.ckDialog.getTenantList()
+        console.log(this.$refs.ckDialog)
+      }, 300);
+    },
+    onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.query.startTime =this.applyDateStart[0]
+              this.query.endTime = this.applyDateStart[1]
+            }else{
+              this.query.startTime =""
+              this.query.endTime =""
+            }
+      this.handleFind()
+    },
+    onShowType(){
+      console.log(this.form.tenderType+"this.form.tenderType ")
+      console.log(this.form.tenderRule+"this.form.tenderRule")
+        if(this.form.tenderType ==undefined ||  this.form.tenderRule == undefined){
+          this.showType = false
+        }else{
+          this.showType = true
+        }
+    },
+    onTenderType(value,index){
+      console.log(value)
+      // let value= ""
+      this.onShowType()
+      let tenderType =this.tenderType
+      // id减一得到下标
+      let data = tenderType[value - 1].value
+      apiFile(data).then((res)=>{
+        console.log(res)
+        this.fileUrl = res.data.data.path
+      })
+
+    },
+    // 发布时间
+    oncustom() {
+      console.log(this.bidDate)
+      if (this.bidDate != null) {
+        this.form.startTime = this.bidDate[0]
+        this.form.endTime = this.bidDate[1]
+      }
+    },
+    onClear() {
+      this.bidDate = []
+      console.log(this.form)
+    },
+    // 下载
+    onLoad(row) {
+      // const params = new URLSearchParams()
+      // params.append('path', row)
+      const a = document.createElement('a')
+      // a.href= /bidding/load
+      const url = window.location.origin + process.env.BASE_API + '/bidding/load?path=' + encodeURIComponent(row)
+      a.href = url
+      a.click()
+    },
+    // 搜索
+    handleFind: function() {
+      this.currentPage = 1
+      this.getDictData()
+    },
+    // 获取详情
+    getDictData: function() {
+      this.loading = true
+
+      const params = new URLSearchParams()
+      params.append('current', this.currentPage)
+      params.append('size', this.pageSize)
+      params.append('tenderType', this.query.tenderType)
+      params.append('tenderTitle', this.query.value)
+      params.append('tenderRule', this.query.tenderRule)
+      params.append('startTime',this.query.startTime )
+      params.append('endTime', this.query.endTime)
+
+      // const data = {
+      //   page: this.currentPage,
+      //   size: this.pageSize,
+      //   title: this.query.value
+      // }
+
+      getTableList(params).then(res => {
+        console.log(res)
+        // this.data = res.data.data.records
+        let data = res.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.data = data
+        this.total = res.data.data.total
+        this.loading = false
+      })
+    },
+    // 点击时候
+    handleUpload(){
+      console.log("我被固定了")
+      if(this.form.tenderType ==undefined ||  this.form.tenderRule == undefined){
+       this.$message({
+          message: '请先选择招标类型和招标规则',
+          type: 'warning'
+        });
+      }
+      // return false
+    },
+    // 文件移除的时候
+    handleRemove(file, fileList) {
+      this.form.fileUrl = ''
+      console.log(file, fileList, this.fileList, '移出')
+    },
+    // 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
+    handleChange(file, fileList) {
+      console.log(file, fileList, '上传')
+      if (file.response) {
+        console.log(file.response, 'file')
+        if (file.response.code == '200') {
+          this.form.fileUrl = file.response.data.filePath
+          this.form.tenderParentId = file.response.data.tenderParentId
+        } else {
+          Notification.error({
+            title: file.response.msg,
+            duration: 1000
+          })
+          this.fileList = []
+        }
+      }
+    },
+    // 点击文件列表中已上传的文件时的钩子
+    handlePreview(file) {
+      console.log(file, 'file21')
+      // 判断添加 还是 编辑
+      let officeUrl
+      if(this.isAdd){
+        officeUrl = 'http://view.officeapps.live.com/op/view.aspx?src='+file.response.data.filePath
+      }else{
+        officeUrl = 'http://view.officeapps.live.com/op/view.aspx?src='+this.form.fileUrl
+      }
+// 在新窗口打开编码后 的链接
+window.open(officeUrl,'_target')
+      // window.location.href = file.url
+    },
+    handleExceed(files, fileList) {
+      this.$message.warning(`当前限制选择 1 个附件,本次选择了 ${files.length} 个文件`)
+    },
+    hanndleErr(err, files, fileList) {
+      console.log(err, 'err')
+      console.log(files, 'err')
+      console.log(fileList, 'err')
+    },
+    beforeRemove(file, fileList) {
+      return this.$confirm(`确定移除 ${file.name}?`)
+    },
+      onFile(){
+        // let url = "https://fire-development.oss-cn-beijing.aliyuncs.com/bid/dev/客户批量上传模板.xlsx"
+      if(this.form.tenderType ==undefined ||  this.form.tenderRule == undefined){
+       this.$message({
+          message: '请先选择招标类型和招标规则',
+          type: 'warning'
+        });
+      }else{
+        window.open(this.fileUrl, '_self');
+      }
+    },
+
+    // 字典名称提交动作
+    doSubmit() {
+      console.log(this.form)
+      this.$refs['form'].validate((valid) => {
+        console.log(valid)
+        if (valid) {
+          if (this.isAdd) {
+            // 新增字典
+            this.buton = true
+            getQueryAdd(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.dialog = false
+                this.getDictData()
+                this.buton = false
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+
+              this.$refs['form'].resetFields()
+            }).catch(err => {
+              this.buton = false
+            })
+          } else {
+            // 更新
+            getQueryEdit(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.getDictData()
+            })
+          }
+        }
+      })
+    },
+    formatDate(date) {
+      var myyear = date.getFullYear()
+      var mymonth = date.getMonth() + 1
+      var myweekday = date.getDate()
+
+      if (mymonth < 10) {
+        mymonth = '0' + mymonth
+      }
+      if (myweekday < 10) {
+        myweekday = '0' + myweekday
+      }
+      return myyear + '-' + mymonth + '-' + myweekday
+    },
+    // 添加字典
+    handleAdd: function() {
+      this.isAdd = true
+      this.form = {}
+      const end = new Date()
+      const start = new Date()
+      end.setTime(start.getTime() + 3600 * 1000 * 24 * 1)
+      console.log(this.formatDate(end))
+      this.form.startTime = this.formatDate(start) + ' 00:00:00'
+      this.form.endTime = this.formatDate(end) + ' 15:00:00'
+      this.bidDate = [this.form.startTime, this.form.endTime]
+      this.form.fileUrl = null
+      this.fileList = []
+      // 添加弹框中的附件,进来要隐藏
+      this.showType = false
+      this.dialog = true
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+    },
+    // 编辑字典
+    handleEdit: function(row) {
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+      const data = JSON.parse(JSON.stringify(row))
+      this.form = data
+      this.bidDate = [data.startTime, data.endTime]
+      // this.form.
+      // let name = data.appendix.lastIndexOf('/') ;
+      if (data.fileUrl) {
+        let name = data.fileUrl.split('/')
+        name = name.pop()
+        // let name = data.appendix.replace(/(.*\/)*([^.]+).*/ig, "$2");
+        this.fileList = [{ name: name, url: data.fileUrl }]
+      }
+      // 编辑弹框中的附件,进来要展示
+      this.showType = true
+      this.dialog = true
+      this.isAdd = false
+      // 下载模板类型
+      let tenderValue = this.tenderType[data.tenderType-1].value
+       apiFile(tenderValue).then((res)=>{
+        console.log(res)
+        this.fileUrl = res.data.data.path
+      })
+      console.log(data)
+    },
+     handleClick(row,val){
+      console.log(row,val)
+      if(row.name == "second"){
+       this.$refs.ckTable.tenderParentId = this.param.tenderParentId
+        this.$refs.ckTable.getTenantList()
+      }
+    },
+    // 详情
+    handleView(row) {
+      this.param.tenderParentId = row.tenderParentId
+      this.bidInfo = row
+      this.param.current = 1
+      this.getParam()
+
+         setTimeout(() => {
+        console.log(this.$refs.ckTable.tenderParentId,"1234")
+       this.$refs.ckTable.tenderParentId = row.tenderParentId
+        this.$refs.ckTable.getTenantList()
+      }, 300);
+      let tenderType = row.tenderType
+      if(tenderType == 1){
+        this.viewDialog = true
+         this.getParam()
+        console.log("物流")
+      }else if(tenderType == 3){
+        this.saleViewDialog = true
+        console.log("销售")
+      }
+    },
+    getParamFexd(){
+      this.param.current = 1
+      this.getParam()
+    },
+    getParam(tenderParentId) {
+      const data = this.param
+      this.tableLoading = true
+      // getSaleId
+      // this.
+      getQueryId(data).then((res) => {
+        console.log(res.data.data.records, '')
+        let data = res.data.data.records
+         data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+      if(res.tenderStatus == 1 || res.tenderStatus == 2){
+             res.status = res.tenderStatus 
+            console.log("我的状态是:" + res.tenderStatus)
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 3
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 5
+            console.log("当前时间大于结束时间,待处理")
+          }
+
+          return res
+        })
+        this.Paramdata = data
+        this.tableLoading = false
+        this.total1 = res.data.data.total
+      })
+    },
+    // 删除操作
+    subDelete(tenderParentId,tenderType) {
+      // const data = {
+      //   id: val
+      // }
+      getQueryDelete(tenderType,tenderParentId).then(res => {
+        if (res.data.code === 200) {
+          this.$message({ message: '已作废', type: 'success' })
+          this.getDictData()
+        }
+      }).catch(err => {
+        console.log(err.response.data.message)
+      })
+      this.$refs[tenderParentId].doClose()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      this.currentPage = val
+      this.getDictData()
+    },
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.getDictData()
+    },
+    handleCurrentChangeParam(val) {
+      this.param.current = val
+      this.getParam()
+    },
+    handleSizeChangeParam(val) {
+      this.param.size = val
+      this.getParam()
+    }
+  }
+}
+</script>
+
+<style scoped  lang="scss">
+/* 去掉上传附件时候的过度效果 */
+  ::v-deep .el-upload-list__item{transition: none !important;}
+   ::v-deep .el-textarea__inner{
+  padding-bottom: 36px;
+}
+.padding /deep/ .el-input--medium .el-input__inner {
+    padding-right: 56px;
+}
+/deep/ .el-upload-list__item-name {
+  width: 150px;
+}
+.ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+.paginationParam{
+  // bottom: 0;
+  // left: 0;
+  line-height: 80px;
+  width: 100%;
+  // left: 45%;
+  // text-align: right;
+  z-index: 999;
+  background: #fff;
+}
+/deep/ .el-tabs__item{
+  font-size: 16px !important;
+  // padding: 35px  ;
+}
+.el-card {
+  border: 0px solid #fff;
+}
+.clearfix {
+    line-height: 20px;
+    font-size: 18px;
+    font-weight: 600;
+    color: #409EFF;
+}
+/deep/.el-dialog.is-fullscreen {
+
+    background-color: #f5f7f9;
+}
+.box-card{
+  margin-bottom: 20px;
+  .row-bg{
+  padding: 15px 40px 0 40px;
+  .flex_text{
+    line-height: 50px;
+    color: #8C8C8C;
+    font-size: 14px;
+    // border:1px solid red;
+    // font-weight: 600;
+  }
+  .flex_name{
+    font-size: 14px;
+    padding-left: 25px;
+    color: #575757;
+    font-weight: 550;
+  }
+}
+}
+/deep/ .el-card__body{
+  padding: 20px 0;
+}
+/deep/.el-tabs__nav-wrap::after {
+
+    background-color: #dfe4ed00;  
+}
+/deep/ .el-dialog--center .el-dialog__body {
+    text-align: initial;
+    padding: 25px 25px 0px 30px;
+}
+
+/deep/ .el-tabs--border-card{
+  // border-top:1px ;
+  border-bottom: 0px;
+
+ box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.5)
+}
+</style>

+ 773 - 0
src/views/bid/tender1.vue

@@ -0,0 +1,773 @@
+<template>
+    <div>
+              <el-dialog :append-to-body="true" fullscreen :visible.sync="viewDialog" title="" center>
+               <el-card class="box-card" shadow="nerver">
+                    <div slot="header" class="clearfix">
+                      <span class="topClass">基本信息</span>
+                    </div>
+
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                           标题 : <span class="flex_name"> {{bidInfo.tenderTitle}}</span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                           状态 : <span class="flex_name"> <el-tag effect="plain" v-if="bidInfo.status ==1">进行中</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==2" type="info">已结束</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==3" type="danger">已作废</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==4" type="warning">未开始</el-tag>
+                                </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         招标类型 :  <span class="flex_name"><el-tag v-if="bidInfo.tenderType == 1"  >物流</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 2" >原料</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 3" >销售</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 4" >加工承揽</el-tag>
+                                    </span>
+                       </el-col>
+                    </el-row>
+                     <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                         招标规则 : <span class="flex_name">    <el-tag v-if="bidInfo.tenderRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="bidInfo.tenderRule == 2" effect="plain" >价高者得</el-tag></span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         开始时间 : <span class="flex_name"> {{bidInfo.startTime}} </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         截止时间 :  <span class="flex_name">{{bidInfo.endTime}}
+                                    </span>
+                       </el-col>
+                    </el-row>
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="24" class="flex_text">
+                            备注:<span class="flex_name">{{bidInfo.tenderRemark}}</span>
+                       </el-col>
+                    </el-row>
+                  </el-card>
+
+ 
+                    <el-card class="box-card" shadow="nerver">
+                       <div slot="header" class="clearfix">
+                          <span class="topClass"> 所有标的</span>
+                        </div>
+                          <el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
+                                <el-tab-pane label="标的详情" name="first">
+                              <div slot="header" class="clearfix">
+                                <span class="topClass">投的详情</span>
+                              </div>
+                                      <div class="head-container" style="margin: 30px 0 10px 0;">
+                                        <span style="fontSize:13px">货物名称</span>
+                                          <el-input
+                                            v-model="param.goodsName"
+                                            clearable
+                                            placeholder="请输入货物名称"
+                                            style="width: 200px;"
+                                            size="small"
+                                            class="filter-item"
+                                            @keyup.enter.native="getParam"
+                                            @clear="getParam"
+                                          />
+                                      <span style="fontSize:13px;marginLeft:30px">始发地</span>
+                                          <el-input
+                                            v-model="param.departureName"
+                                            clearable
+                                            placeholder="请输入始发地"
+                                            style="width: 200px;"
+                                            size="small"
+                                            class="filter-item"
+                                            @keyup.enter.native="getParam"
+                                            @clear="getParam"
+                                          />
+                        
+                                      <span style="fontSize:13px;marginLeft:30px;">目的地</span>
+                                          <el-input
+                                            v-model="param.destinationName"
+                                            clearable
+                                            placeholder="请输入货物名称"
+                                            style="width: 200px;"
+                                            size="small"
+                                            class="filter-item"
+                                            @keyup.enter.native="getParam"
+                                            @clear="getParam"
+                                          />
+                                          <!-- 搜索 -->
+                                          <span style="fontSize:13px;marginLeft:30px;">是否有人投标</span>
+                                          <el-select v-model="param.logisticsIsTender" size="small"  @keyup.enter.native="getParam" @clear="getParam" clearable placeholder="请选择">
+                                            <el-option  label="未投标" value="0"> </el-option>
+                                            <el-option  label="有投标" value="1"> </el-option>
+                                          </el-select>
+                                      <el-button class="filter-item" style="marginLeft:20px;marginBottom:20px" size="small" type="primary" icon="el-icon-search" plain @click="getParam">搜索</el-button>
+                                      <div style="height:20px"></div>
+                                      <el-table center :data="Paramdata"  :header-cell-style="{ background: '#f5f7fa', }" border v-loading="tableLoading" stripe style="width: 100%;">
+
+                                        <el-table-column prop="goodsName" fixed="left" label="货品名称" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="goodsNumber"  label="数量(吨)" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="departureName"  label="始发地" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="destinationName" label="目的地" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="predictDistance" label="预估运输距离(公里/海里)" width="128" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="transportUnitPrice" label="运输单价含税价(元/吨)"  width="120" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="appendix" label="附件" align="center" width="100">
+                                            <template slot-scope="scope">
+                                                <el-link v-if="scope.row.receiptPathUrl" :href="'http://view.officeapps.live.com/op/view.aspx?src='+scope.row.receiptPathUrl" type="primary" target="_target"><i class="el-icon-view"></i> 查看</el-link>
+                                            </template>
+                                          </el-table-column>
+                                            <el-table-column label="状态" align="center" width="100">
+                                        <template slot-scope="scope">
+                                          <el-tag effect="plain" v-if="scope.row.status ==1">进行中</el-tag>
+                                          <el-tag effect="plain" v-if="scope.row.status ==2" type="info">已结束</el-tag>
+                                          <el-tag effect="plain" v-if="scope.row.status ==3" type="danger">已作废</el-tag>
+                                          <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+                                        </template>
+                                      </el-table-column>
+                                        <el-table-column prop="logisticsIsTender" label="是否有人投标" :show-overflow-tooltip="true" align="center" >
+                                          <template slot-scope="scope">
+                                            <el-tag v-if="scope.row.logisticsIsTender == 0" type="info">未投标</el-tag>
+                                            <el-tag v-if="scope.row.logisticsIsTender == 1" type="warning">有投标</el-tag>
+                                          </template>
+                                        </el-table-column>
+                                        <el-table-column prop="tenderLogisticsRule" label="中标规则" :show-overflow-tooltip="true" align="center" >
+                                          <template slot-scope="scope">
+                                            <el-tag v-if="scope.row.tenderLogisticsRule == 1" type="success" effect="plain">价低者得</el-tag>
+                                            <el-tag v-if="scope.row.tenderLogisticsRule == 2" effect="plain" >价高者得</el-tag>
+                                          </template>
+                                        </el-table-column>
+                                        <el-table-column prop="startTime" label="起始时间" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="endTime" label="结束时间" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="createTime" label="创建时间" :show-overflow-tooltip="true" align="center" />
+                                        <el-table-column prop="logisticsRemark" label="备注" :show-overflow-tooltip="true" align="center" />
+                                  
+                                      </el-table>
+                                      <div class="pagination">
+                                        <el-pagination
+                                          :current-page.sync="param.current"
+                                          :page-size="param.size"
+                                          layout="total, sizes, prev, pager, next, jumper"
+                                          :total="total1"
+                                          :page-sizes="[10, 20, 30, 50]"
+                                          background
+                                          @size-change="handleSizeChangeParam"
+                                          @current-change="handleCurrentChangeParam"
+                                        />
+                                      </div>
+                              <div style="height:60px"></div>
+                                </div>
+                                </el-tab-pane>
+                                <el-tab-pane label="投标详情" name="second">
+                                    <!-- <el-card class="box-card" shadow="nerver"> -->
+                                      <!-- <div slot="header" class="clearfix">
+                                        <span class="topClass">投标详情</span>
+                                      </div> -->
+                                              <ckTable ref="ckTable" @change="costPlannedAmountChange($event)"></ckTable>
+                                    <!-- </el-card> -->
+                                </el-tab-pane>
+
+                          </el-tabs>
+                    </el-card>
+
+                  <!-- <el-card class="box-card" shadow="nerver">
+                    <div slot="header" class="clearfix">
+                      <span class="topClass">投标详情</span>
+                    </div>
+                  <ckTable ref="ckTable"  @change="costPlannedAmountChange($event)"></ckTable>
+                   </el-card> -->
+
+                       <div slot="footer" class="paginationParam">
+                    <!-- <el-button @click="viewDialog = false">取消</el-button> -->
+                    <el-button :loading="loading" type="primary" @click="viewDialog = false">返回</el-button>
+                    <!-- <el-button :loading="loading" type="primary" @click="viewDialog = false">确认</el-button> -->
+                  </div>
+                  <el-dialog :title="goodsName" width="90%" center :visible.sync="dialogTableVisible" append-to-body>
+                               <ckDialog ref="ckDialog"></ckDialog>
+                          </el-dialog>
+
+          </el-dialog>
+
+    </div>
+</template>
+
+
+<script>
+import { getTableList, getQueryId, getQueryAdd, getQueryEdit, getQueryDelete, loadCustomer,apiFile,getSaleId } from '@/api/bid'
+import { Notification, MessageBox } from 'element-ui'
+
+export default {
+   components:{
+
+  },
+  data() {
+    const checkTel = (rule, value, callback) => {
+      console.log(this.form.fileUrl)
+      console.log(value, 'value')
+      if (this.form.fileUrl == null || this.form.fileUrl == '') {
+        callback(new Error('请选择附件'))
+        console.log('没过')
+      } else {
+        callback()
+        console.log('过')
+      }
+    }
+    return {
+      showType:false,
+      form: {
+        tenderType:"",
+        tenderRule:"",
+        fileUrl:""
+      },
+      applyDateStart:[],
+      data: [],
+      fileList: [],
+      fileData:{},
+      BASE_API: process.env.BASE_API,
+      dialog: false,
+      delLoading: false,
+      viewDialog: false,
+      loading: false,
+      isAdd: false,
+      currentPage: 1,
+      pageSize: 10,
+      total: 0, // 总数量
+      rules: {
+        tenderTitle: [
+          { required: true, message: '标题不为空', trigger: 'blur' }
+        ],
+        tenderRule: [
+          { required: true, message: '请选择招标规则', trigger: 'blur' }
+        ],
+        tenderType: [
+          { required: true, message: '请选择投标类型', trigger: 'blur' }
+        ],
+        fileUrl: [
+          { validator: checkTel, trigger: 'change' }
+        ],
+        // startTime: [
+        //   { type:"array",required: true, message: '发布时间不为空', trigger: 'blur' }
+        // ]
+      },
+      tenderType:[
+        {id:1,name:"物流",value:"logistics"},
+        {id:2,name:"原料",value:"raw"},
+        {id:3,name:"销售",value:"sale"},
+        {id:4,name:"加工承揽",value:"processing"},
+      ],
+      tenderRule:[
+        {id:1,name:"价低者得"},
+        {id:2,name:"价高者得"},
+
+      ],
+      queryTypeOptions: [
+        { key: 'name', display_name: '字典名称' },
+        { key: 'remark', display_name: '描述' }
+      ],
+      query: {
+        type: '',
+        value: '',
+        tenderRule:"",
+        tenderType:"",
+        startTime:"",
+        endTime:""
+      },
+      param: {
+        current: 1,
+        size: 10
+      },
+      total1: 0,
+      Paramdata: [],
+      bidDate: [],
+      buton: false,
+      fileUrl:"",
+      tableLoading:false,
+      dialogTableVisible:false,
+      goodsName:"",
+      activeName:"first",
+      bidInfo:{},
+      saleViewDialog:false,
+    }
+  },
+  created() {
+    this.getDictData()
+  },
+  methods: {
+     // 投标详情 向父元素传递数据
+    costPlannedAmountChange(val){
+      console.log(val)
+ 
+      this.dialogTableVisible = true
+      setTimeout(() => {
+        this.goodsName = val.goodsName
+       this.$refs.ckDialog.priceData = val
+      this.$refs.ckDialog.getTenantList()
+        console.log(this.$refs.ckDialog)
+      }, 300);
+    },
+    onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.query.startTime =this.applyDateStart[0]
+              this.query.endTime = this.applyDateStart[1]
+            }else{
+              this.query.startTime =""
+              this.query.endTime =""
+            }
+      this.handleFind()
+    },
+    onShowType(){
+      console.log(this.form.tenderType+"this.form.tenderType ")
+      console.log(this.form.tenderRule+"this.form.tenderRule")
+        if(this.form.tenderType ==undefined ||  this.form.tenderRule == undefined){
+          this.showType = false
+        }else{
+          this.showType = true
+        }
+    },
+    onTenderType(value,index){
+      console.log(value)
+      // let value= ""
+      this.onShowType()
+      let tenderType =this.tenderType
+      // id减一得到下标
+      let data = tenderType[value - 1].value
+      apiFile(data).then((res)=>{
+        console.log(res)
+        this.fileUrl = res.data.data.path
+      })
+
+    },
+    // 发布时间
+    oncustom() {
+      console.log(this.bidDate)
+      if (this.bidDate != null) {
+        this.form.startTime = this.bidDate[0]
+        this.form.endTime = this.bidDate[1]
+      }
+    },
+    onClear() {
+      this.bidDate = []
+      console.log(this.form)
+    },
+    // 下载
+    onLoad(row) {
+      // const params = new URLSearchParams()
+      // params.append('path', row)
+      const a = document.createElement('a')
+      // a.href= /bidding/load
+      const url = window.location.origin + process.env.BASE_API + '/bidding/load?path=' + encodeURIComponent(row)
+      a.href = url
+      a.click()
+    },
+    // 搜索
+    handleFind: function() {
+      this.currentPage = 1
+      this.getDictData()
+    },
+    // 获取详情
+    getDictData: function() {
+      this.loading = true
+
+      const params = new URLSearchParams()
+      params.append('current', this.currentPage)
+      params.append('size', this.pageSize)
+      params.append('tenderType', this.query.tenderType)
+      params.append('tenderTitle', this.query.value)
+      params.append('tenderRule', this.query.tenderRule)
+      params.append('startTime',this.query.startTime )
+      params.append('endTime', this.query.endTime)
+
+      // const data = {
+      //   page: this.currentPage,
+      //   size: this.pageSize,
+      //   title: this.query.value
+      // }
+
+      getTableList(params).then(res => {
+        console.log(res)
+        // this.data = res.data.data.records
+        let data = res.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.data = data
+        this.total = res.data.data.total
+        this.loading = false
+      })
+    },
+    // 点击时候
+    handleUpload(){
+      console.log("我被固定了")
+      if(this.form.tenderType ==undefined ||  this.form.tenderRule == undefined){
+       this.$message({
+          message: '请先选择招标类型和招标规则',
+          type: 'warning'
+        });
+      }
+      // return false
+    },
+    // 文件移除的时候
+    handleRemove(file, fileList) {
+      this.form.fileUrl = ''
+      console.log(file, fileList, this.fileList, '移出')
+    },
+    // 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
+    handleChange(file, fileList) {
+      console.log(file, fileList, '上传')
+      if (file.response) {
+        console.log(file.response, 'file')
+        if (file.response.code == '200') {
+          this.form.fileUrl = file.response.data.filePath
+          this.form.tenderParentId = file.response.data.tenderParentId
+        } else {
+          Notification.error({
+            title: file.response.msg,
+            duration: 1000
+          })
+          this.fileList = []
+        }
+      }
+    },
+    // 点击文件列表中已上传的文件时的钩子
+    handlePreview(file) {
+      console.log(file, 'file21')
+      // 判断添加 还是 编辑
+      let officeUrl
+      if(this.isAdd){
+        officeUrl = 'http://view.officeapps.live.com/op/view.aspx?src='+file.response.data.filePath
+      }else{
+        officeUrl = 'http://view.officeapps.live.com/op/view.aspx?src='+this.form.fileUrl
+      }
+// 在新窗口打开编码后 的链接
+window.open(officeUrl,'_target')
+      // window.location.href = file.url
+    },
+    handleExceed(files, fileList) {
+      this.$message.warning(`当前限制选择 1 个附件,本次选择了 ${files.length} 个文件`)
+    },
+    hanndleErr(err, files, fileList) {
+      console.log(err, 'err')
+      console.log(files, 'err')
+      console.log(fileList, 'err')
+    },
+    beforeRemove(file, fileList) {
+      return this.$confirm(`确定移除 ${file.name}?`)
+    },
+      onFile(){
+        // let url = "https://fire-development.oss-cn-beijing.aliyuncs.com/bid/dev/客户批量上传模板.xlsx"
+      if(this.form.tenderType ==undefined ||  this.form.tenderRule == undefined){
+       this.$message({
+          message: '请先选择招标类型和招标规则',
+          type: 'warning'
+        });
+      }else{
+        window.open(this.fileUrl, '_self');
+      }
+    },
+
+    // 字典名称提交动作
+    doSubmit() {
+      console.log(this.form)
+      this.$refs['form'].validate((valid) => {
+        console.log(valid)
+        if (valid) {
+          if (this.isAdd) {
+            // 新增字典
+            this.buton = true
+            getQueryAdd(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.dialog = false
+                this.getDictData()
+                this.buton = false
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+
+              this.$refs['form'].resetFields()
+            }).catch(err => {
+              this.buton = false
+            })
+          } else {
+            // 更新
+            getQueryEdit(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.getDictData()
+            })
+          }
+        }
+      })
+    },
+    formatDate(date) {
+      var myyear = date.getFullYear()
+      var mymonth = date.getMonth() + 1
+      var myweekday = date.getDate()
+
+      if (mymonth < 10) {
+        mymonth = '0' + mymonth
+      }
+      if (myweekday < 10) {
+        myweekday = '0' + myweekday
+      }
+      return myyear + '-' + mymonth + '-' + myweekday
+    },
+    // 添加字典
+    handleAdd: function() {
+      this.isAdd = true
+      this.form = {}
+      const end = new Date()
+      const start = new Date()
+      end.setTime(start.getTime() + 3600 * 1000 * 24 * 1)
+      console.log(this.formatDate(end))
+      this.form.startTime = this.formatDate(start) + ' 00:00:00'
+      this.form.endTime = this.formatDate(end) + ' 15:00:00'
+      this.bidDate = [this.form.startTime, this.form.endTime]
+      this.form.fileUrl = null
+      this.fileList = []
+      // 添加弹框中的附件,进来要隐藏
+      this.showType = false
+      this.dialog = true
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+    },
+    // 编辑字典
+    handleEdit: function(row) {
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+      const data = JSON.parse(JSON.stringify(row))
+      this.form = data
+      this.bidDate = [data.startTime, data.endTime]
+      // this.form.
+      // let name = data.appendix.lastIndexOf('/') ;
+      if (data.fileUrl) {
+        let name = data.fileUrl.split('/')
+        name = name.pop()
+        // let name = data.appendix.replace(/(.*\/)*([^.]+).*/ig, "$2");
+        this.fileList = [{ name: name, url: data.fileUrl }]
+      }
+      // 编辑弹框中的附件,进来要展示
+      this.showType = true
+      this.dialog = true
+      this.isAdd = false
+      // 下载模板类型
+      let tenderValue = this.tenderType[data.tenderType-1].value
+       apiFile(tenderValue).then((res)=>{
+        console.log(res)
+        this.fileUrl = res.data.data.path
+      })
+      console.log(data)
+    },
+     handleClick(row,val){
+      console.log(row,val)
+      if(row.name == "second"){
+       this.$refs.ckTable.tenderParentId = this.param.tenderParentId
+        this.$refs.ckTable.getTenantList()
+      }
+    },
+    // 详情
+    handleView(row) {
+      this.param.tenderParentId = row.tenderParentId
+      this.bidInfo = row
+      this.param.current = 1
+      this.getParam()
+
+         setTimeout(() => {
+        console.log(this.$refs.ckTable.tenderParentId,"1234")
+       this.$refs.ckTable.tenderParentId = row.tenderParentId
+        this.$refs.ckTable.getTenantList()
+      }, 300);
+      let tenderType = row.tenderType
+      if(tenderType == 1){
+        this.viewDialog = true
+         this.getParam()
+        console.log("物流")
+      }else if(tenderType == 3){
+        this.saleViewDialog = true
+        console.log("销售")
+      }
+    },
+    getParam(tenderParentId) {
+      const data = this.param
+      this.tableLoading = true
+      // getSaleId
+      // this.
+      getQueryId(data).then((res) => {
+        console.log(res.data.data.records, '')
+        let data = res.data.data.records
+         data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.Paramdata = data
+        this.tableLoading = false
+        this.total1 = res.data.data.total
+      })
+    },
+    // 删除操作
+    subDelete(tenderParentId,tenderType) {
+      // const data = {
+      //   id: val
+      // }
+      getQueryDelete(tenderType,tenderParentId).then(res => {
+        if (res.data.code === 200) {
+          this.$message({ message: '已作废', type: 'success' })
+          this.getDictData()
+        }
+      }).catch(err => {
+        console.log(err.response.data.message)
+      })
+      this.$refs[tenderParentId].doClose()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      this.currentPage = val
+      this.getDictData()
+    },
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.getDictData()
+    },
+    handleCurrentChangeParam(val) {
+      this.param.current = val
+      this.getParam()
+    },
+    handleSizeChangeParam(val) {
+      this.param.size = val
+      this.getParam()
+    }
+  }
+}
+</script>
+
+<style scoped  lang="scss">
+/* 去掉上传附件时候的过度效果 */
+  ::v-deep .el-upload-list__item{transition: none !important;}
+   ::v-deep .el-textarea__inner{
+  padding-bottom: 36px;
+}
+.padding /deep/ .el-input--medium .el-input__inner {
+    padding-right: 56px;
+}
+/deep/ .el-upload-list__item-name {
+  width: 150px;
+}
+.ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+.paginationParam{
+  // bottom: 0;
+  // left: 0;
+  line-height: 80px;
+  width: 100%;
+  // left: 45%;
+  // text-align: right;
+  z-index: 999;
+  background: #fff;
+}
+/deep/ .el-tabs__item{
+  font-size: 16px !important;
+  // padding: 35px  ;
+}
+.el-card {
+  border: 0px solid #fff;
+}
+.clearfix {
+    line-height: 20px;
+    font-size: 18px;
+    font-weight: 600;
+    color: #409EFF;
+}
+/deep/.el-dialog.is-fullscreen {
+
+    background-color: #f5f7f9;
+}
+.box-card{
+  margin-bottom: 20px;
+  .row-bg{
+  padding: 15px 40px 0 40px;
+  .flex_text{
+    line-height: 50px;
+    color: #8C8C8C;
+    font-size: 14px;
+    // border:1px solid red;
+    // font-weight: 600;
+  }
+  .flex_name{
+    font-size: 14px;
+    padding-left: 25px;
+    color: #575757;
+    font-weight: 550;
+  }
+}
+}
+/deep/ .el-card__body{
+  padding: 20px 0;
+}
+/deep/.el-tabs__nav-wrap::after {
+
+    background-color: #dfe4ed00;  
+}
+</style>

+ 280 - 0
src/views/bid/tender1/dialog.vue

@@ -0,0 +1,280 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <!-- <div>
+      <span style="font-size:14px">货物:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div> -->
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+
+      <el-table-column label="运输方式" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+           <template slot-scope="scope">
+                            <span v-if="scope.row.transportMode == 1">陆运</span>
+                            <!-- <span v-if="scope.row.transportMode == 2">汽运</span> -->
+                            <span v-if="scope.row.transportMode == 2">火车运输</span>
+                            <span v-if="scope.row.transportMode == 3">船运</span>
+                            <span v-if="scope.row.transportMode == 4">汽运/火车运输/船运</span>
+                            <span v-if="scope.row.transportMode == 5">汽运/火车运输</span>
+                            <span v-if="scope.row.transportMode == 6">汽运/船运</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标价格" prop="logisticsBiddingPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="quantity" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="总价" prop="logisticsTotalPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="联系电话" prop="phone" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+       <el-table-column  :show-overflow-tooltip="true" label="包装方式" width="100" align="center">
+        <template slot-scope="scope">
+            <span v-if="scope.row.packingWay == 1">散粮</span> 
+            <span v-if="scope.row.packingWay == 2">袋装</span> 
+            <span v-if="scope.row.packingWay == 3">散装</span> 
+            <span v-if="scope.row.packingWay == 4">集装箱</span> 
+        </template>
+      </el-table-column>
+
+      <el-table-column label="始发车站" prop="departureStation" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的车站" prop="destinationStation" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+       <el-table-column label="状态" align="center" width="100">
+            <template slot-scope="scope">
+            <el-tag effect="plain" v-if="scope.row.biddingStatus == 5">已投递</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==6" type="info">审核中</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==7" type="warning">已中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==8" type="danger">未中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==9" type="danger">已作废</el-tag>
+            </template>
+       </el-table-column>
+      <el-table-column label="投标时间" prop="logisticsBiddingTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="备注" prop="biddingLogisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :popper-class="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsInfo } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: {},
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: '1',
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        isShow:true
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      onshow(){
+          this.isShow = !this.isShow
+      },
+    parseTime,
+    getTenantList: function() {
+        console.log(this.priceData)
+        let tenderLogisticsId =this.priceData.logisticsBidId
+        let current =this.current
+        let size =this.size
+      getLogisticsInfo(tenderLogisticsId,size,current).then(response => {
+        console.log(response)
+        this.loading = false
+         let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 投标时间
+          let startTime = this.priceData.endTime
+
+          const date = new Date(startTime)
+          const start = date.valueOf()         //开始时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          if(res.biddingStatus < 7){
+              console.log("我不满足")
+                if(time < start){
+                    res.biddingStatus = 5
+                    console.log("当前时间小于投标时间,已投递")
+                }else if(time > start){
+                    res.biddingStatus = 6
+                    console.log("当前时间小于投标时间,审核中")
+                }
+          }
+          return res
+        })
+        console.log(data)
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = '1'
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+.pagination{
+  padding-bottom: 30px;
+}
+</style>
+

+ 404 - 0
src/views/bid/tender1/table.vue

@@ -0,0 +1,404 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <div>
+      <span style="font-size:14px">货物名称:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+          <!-- <span style="fontSize:13px;marginLeft:20px">投标时间</span>
+            <el-date-picker
+              v-model="applyDateStart"
+              size="mini"
+              type="datetimerange"
+              style="width: 280px;"
+              range-separator="-"
+              clearable
+              value-format="yyyy-MM-dd HH:mm:ss"
+              :default-time="['00:00:00', '23:59:59']"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+             @change="onApplyDate"
+             @clear="onApplyDate"
+            />
+ -->
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div>
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+          <!-- <el-table-column type="expand" prop="biddingLogisticsInfoList">
+      <template slot-scope="props"> -->
+            <!-- <div  :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" v-if="isShow">
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式: 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 1">陆运</span> 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 2">汽运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 3">火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 4">船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 6">汽运/火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{props.row.biddingLogisticsInfoList[0].quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{props.row.biddingLogisticsInfoList[0].logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{props.row.biddingLogisticsInfoList[0].phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="props.row.biddingLogisticsInfoList[0].packingWay == 1">散粮</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 2">袋装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 3">散装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{props.row.biddingLogisticsInfoList[0].departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{props.row.biddingLogisticsInfoList[0].destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{props.row.biddingLogisticsInfoList[0].logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+          <!-- <div v-for="(item,index) in props.row.biddingLogisticsInfoList" :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" >
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式:
+                            <span v-if="item.transportMode == 1">陆运</span>
+                            <span v-if="item.transportMode == 2">汽运</span>
+                            <span v-if="item.transportMode == 3">火车运输</span>
+                            <span v-if="item.transportMode == 4">船运</span>
+                            <span v-if="item.transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="item.transportMode == 6">汽运/火车运输</span>
+                            <span v-if="item.transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{item.logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{item.quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{item.logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{item.phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="item.packingWay == 1">散粮</span> 
+                           <span v-if="item.packingWay == 2">袋装</span> 
+                           <span v-if="item.packingWay == 3">散装</span> 
+                           <span v-if="item.packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{item.departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{item.destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{item.logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{item.logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+            <!-- <div @click="onshow">{{isShow ?"展开" : "收起"}}</div> -->
+      <!-- </template>
+    </el-table-column> -->
+
+      <el-table-column label="货物" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="goodsNumber" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="始发地" prop="departureName" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的地" prop="destinationName" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="预估距离" prop="predictDistance" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="单价" prop="transportUnitPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="保证金" prop="deposit" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+        <el-table-column label="状态" align="center" width="100">
+      <template slot-scope="scope">
+        <el-tag effect="plain" v-if="scope.row.status ==1">进行中</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==2" type="info">已结束</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==3" type="danger">已作废</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+      </template>
+    </el-table-column>
+      <el-table-column prop="description" :show-overflow-tooltip="true" label="招标规则" width="100" align="center">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.tenderLogisticsRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="scope.row.tenderLogisticsRule == 2" effect="plain" >价高者得</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标开始时间" prop="startTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标结束时间" prop="endTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标备注" prop="logisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+        <el-table-column label="操作" width="150" fixed="right" align="center">
+        <template slot-scope="scope">
+          <!-- <el-button type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == null" slot="reference" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == 0" slot="reference" type="text" icon="el-icon-edit" @click="handleEdit(scope.row)">改标</el-button> -->
+          <el-button  slot="reference" type="text" :disabled="scope.row.status !=1" icon="el-icon-plus" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button  slot="reference" icon="el-icon-view" type="text" @click="handleView(scope.row)">查看更多</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :popper-class="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsList } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: [],
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: '1',
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        // dialogTableVisible:false
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      handleView(row){
+          console.log("我被点击了")
+            this.$emit('change',row)
+        //   this.$parent.dialogTableVisible = true
+      },
+    parseTime,
+    getTenantList: function() {
+      this.loading = true
+      const params = new URLSearchParams()
+      params.append('tenderParentId', this.tenderParentId)
+      params.append('goodsName', this.goodsName)
+      params.append('startTime', this.startTime)
+      params.append('endTime', this.endTime)
+      params.append('current', this.current)
+      params.append('size', this.size)
+      getLogisticsList(params).then(response => {
+        console.log(response)
+        this.loading = false
+          let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = '1'
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+
+</style>
+

+ 826 - 0
src/views/bid/tender1/tender.vue

@@ -0,0 +1,826 @@
+<template>
+    <div>
+          <el-dialog :append-to-body="true" fullscreen :visible.sync="viewDialog" title="" center>
+                  <el-card class="box-card" shadow="nerver">
+                    <div slot="header" class="clearfix">
+                      <span class="topClass">基本信息</span>
+                    </div>
+
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                           标题 : <span class="flex_name"> {{bidInfo.tenderTitle}}</span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                           状态 : <span class="flex_name"> <el-tag effect="plain" v-if="bidInfo.status ==1">进行中</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==2" type="info">已结束</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==3" type="danger">已作废</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==4" type="warning">未开始</el-tag>
+                                </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         招标类型 :  <span class="flex_name"><el-tag v-if="bidInfo.tenderType == 1"  >物流</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 2" >原料</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 3" >销售</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 4" >加工承揽</el-tag>
+                                    </span>
+                       </el-col>
+                    </el-row>
+                     <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                         招标规则 : <span class="flex_name">    <el-tag v-if="bidInfo.tenderRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="bidInfo.tenderRule == 2" effect="plain" >价高者得</el-tag></span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         开始时间 : <span class="flex_name"> {{bidInfo.startTime}} </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         截止时间 :  <span class="flex_name">{{bidInfo.endTime}}
+                                    </span>
+                       </el-col>
+                    </el-row>
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="24" class="flex_text">
+                            备注:<span class="flex_name">{{bidInfo.tenderRemark}}</span>
+                       </el-col>
+                    </el-row>
+                  </el-card>
+                   <el-card class="box-card" shadow="nerver">
+                        <div slot="header" class="clearfix">
+                          <span class="topClass"> 所有标的</span>
+                        </div>
+                      <el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
+                        <el-tab-pane label="标的详情" name="first">
+
+                          <div class="head-container" style="margin: 30px 0 10px 0;">
+                            <span style="fontSize:13px">产品名称</span>
+                              <el-input
+                                v-model="param.productName"
+                                clearable
+                                placeholder="请输入产品名称"
+                                style="width: 200px;"
+                                size="small"
+                                class="filter-item"
+                                @keyup.enter.native="getParamFexd"
+                                @clear="getParamFexd"
+                              />
+                            <span style="fontSize:13px;marginLeft:20px">编码</span>
+                              <el-input
+                                v-model="param.productEncode"
+                                clearable
+                                placeholder="请输入编码"
+                                style="width: 200px;"
+                                size="small"
+                                class="filter-item"
+                                @keyup.enter.native="getParamFexd"
+                                @clear="getParamFexd"
+                              />
+                            <span style="fontSize:13px;marginLeft:20px">加工地点</span>
+                              <el-input
+                                v-model="param.processingLocation"
+                                clearable
+                                placeholder="请输入加工地点"
+                                style="width: 200px;"
+                                size="small"
+                                class="filter-item"
+                                @keyup.enter.native="getParamFexd"
+                                @clear="getParamFexd"
+                              />
+                               <!-- <span style="fontSize:13px;marginLeft:30px;">是否有人投标</span>
+                                          <el-select v-model="param.saleIsTender" size="small"  @keyup.enter.native="getParamFexd" @clear="getParamFexd" clearable placeholder="请选择">
+                                            <el-option  label="未投标" value="0"> </el-option>
+                                            <el-option  label="有投标" value="1"> </el-option>
+                                          </el-select> -->
+                            <span style="fontSize:13px;marginLeft:20px">发标时间</span>
+                              <el-date-picker
+                                v-model="applyDateStart"
+                                size="small"
+                                type="datetimerange"
+                                style="width: 400px;"
+                                range-separator="-"
+                                clearable
+                                value-format="yyyy-MM-dd HH:mm:ss"
+                                :default-time="['00:00:00', '23:59:59']"
+                                start-placeholder="开始日期"
+                                end-placeholder="结束日期"
+                              @change="onApplyDate"
+                              @clear="onApplyDate"
+                              />
+                              <div style="text-align: right;margin-right:40px">
+                                   <el-button class="filter-item" style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="getParamFexd">搜索</el-button>
+                              </div>
+                          <div style="height:20px"></div>
+                          <el-table center :data="Paramdata" :header-cell-style="{ background: '#f5f7fa', }" border v-loading="tableLoading" stripe style="width: 100%;">
+
+                            <el-table-column prop="tenderCode" width="150" fixed="left" label="标的编号" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="productName" fixed="left" label="产品名称" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="productEncode" width="150" label="产品内部编码" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="processingLocation"   label="加工地点(所在加工厂) " :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="number"  label="数量(吨)" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="lowestPrice"  width="90" label="最低价(元/吨)" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="highestPrice" width="90" label="最高价(元/吨)" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="biddingStartPrice" width="100" label="投标起价价(元)" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="deposit" width="100" label="履约保证金" :show-overflow-tooltip="true" align="center" />
+                           <el-table-column label="状态" align="center" width="100">
+                            <template slot-scope="scope">
+                             <el-tag effect="plain" v-if="scope.row.status ==3">进行中</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==1" type="info">已结束</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==5" type="info">待处理</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==2" type="danger">已作废</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+                            </template>
+                          </el-table-column>
+                           <el-table-column prop="logisticsIsTender" label="是否有人投标" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                <el-tag v-if="scope.row.saleIsTender == 0" type="info">未投标</el-tag>
+                                <el-tag v-if="scope.row.saleIsTender == 1" type="warning">有投标</el-tag>
+                              </template>
+                            </el-table-column>
+                          <el-table-column prop="tenderSaleRule" width="100" label="中标规则" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.tenderSaleRule == 1" type="success" effect="plain">价低者得</el-tag>
+                                  <el-tag v-if="scope.row.tenderSaleRule == 2" effect="plain" >价高者得</el-tag>
+                              </template>
+                            </el-table-column>
+                            <el-table-column prop="startTime"  label="起始时间" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="endTime" label="结束时间" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="createTime" label="创建时间"  width="152" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="saleRemark" label="备注" width="162" :show-overflow-tooltip="true" align="center" />
+                          </el-table>
+                          <div class="pagination">
+                            <el-pagination
+                              :current-page.sync="param.current"
+                              :page-size="param.size"
+                              layout="total, sizes, prev, pager, next, jumper"
+                              :total="total1"
+                              :page-sizes="[10, 20, 30, 50]"
+                              background
+                              @size-change="handleSizeChangeParam"
+                              @current-change="handleCurrentChangeParam"
+                            />
+                          </div>
+                  <!-- <div style="height:60px"></div> -->
+                    </div>
+
+                </el-tab-pane>
+                <el-tab-pane label="投标详情" name="second">
+                   <!-- <el-card class="box-card" shadow="nerver"> -->
+                      <!-- <div slot="header" class="clearfix">
+                        <span class="topClass">投标详情</span>
+                      </div> -->
+                              <ckTable ref="ckTable" @change="costPlannedAmountChange($event)"></ckTable>
+                   <!-- </el-card> -->
+                </el-tab-pane>
+              </el-tabs>
+             
+                      </el-card>
+          <el-dialog :append-to-body="true" :visible.sync="dialog" :title="isAdd ? '投标' : '修标'" width="50%">
+                      <el-form ref="form" :model="form" :rules="rules1" label-width="80px">
+                        <el-form-item label="货物名称">
+                           <!-- <span>{{form.biddingLogisticsRemark}}</span> -->
+                           <el-tag>{{form.goodsName}}</el-tag>
+                            <!-- <el-input  v-model="form.goodsName" style="width:50%" readonly></el-input> -->
+                        </el-form-item>
+                         <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="始发车站" prop="departureStation">
+                              <el-input v-model="form.departureStation" style="width: 80%;" placeholder="请输入始发车站"></el-input>
+                            </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="目的车站" prop="destinationStation">
+                                <el-input v-model="form.destinationStation" style="width: 80%;" placeholder="请输入目的车站"></el-input>
+                              </el-form-item>
+                          </el-col>
+                         </el-row>
+                        
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="包装方式" prop="packingWay">
+                              <el-select v-model="form.packingWay" style="width: 80%;"  filterable placeholder="请选择包装方式">
+                                  <el-option
+                                    v-for="item in packingWay"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id"
+                                  />
+                                </el-select>
+                            </el-form-item>
+                           </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                           <el-form-item label="运输方式" prop="transportMode">
+                             <el-select v-model="form.transportMode" style="width: 80%;"  filterable placeholder="请选择包装方式">
+                                <el-option
+                                  v-for="item in transportMode"
+                                  :key="item.id"
+                                  :label="item.name"
+                                  :value="item.id"
+                                />
+                              </el-select>
+                           </el-form-item>
+                        </el-col>
+                        </el-row>
+
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="数量" prop="quantity">
+                              <el-input v-model="form.quantity" readonly style="width: 80%;" placeholder="数量"><template slot="append">(吨)</template></el-input>
+                           <!-- <span style="fontSize:16px" effect="plain">{{form.quantity}} (吨)</span> -->
+                            <!-- <el-input v-model="form.quantity" style="width: 80%;" placeholder="请输入数量"></el-input> -->
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="投标价格" prop="logisticsBiddingPrice">
+                              <el-input v-model="form.logisticsBiddingPrice" style="width: 80%;" placeholder="请输入金额"><template slot="append">(吨/元)</template></el-input>
+                              <!-- <el-input v-model="form.logisticsBiddingPrice" @input="onlogistiicsPrice" style="width: 80%;" placeholder="请输入金额"><template slot="append">(吨/元)</template></el-input> -->
+                              <!-- <div style="color:#909399;fontSize:15px"> * <span style="color:#909399;fontSize:13px;position: relative;top:-5px">最大价格 {{form.transportUnitPrice}} </span> </div> -->
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+
+                            <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="合计" prop="quantity">
+                              <el-input  :value="form.logisticsBiddingPrice ? (form.quantity *form.logisticsBiddingPrice).toFixed(4) : 0" readonly style="width: 80%;" placeholder="请输入金额"><template slot="append">(元)</template></el-input>
+                           <!-- <span style="fontSize:16px"  effect="plain">{{}} (吨/元)</span> -->
+                           <!-- <el-tag  style="fontSize:14px"  effect="plain">{{form.logisticsBiddingPrice=="NAN" ? (form.quantity *form.logisticsBiddingPrice).toFixed(4) : 0}} (吨/元)</el-tag> -->
+                            <!-- <el-input v-model="form.quantity" style="width: 80%;" placeholder="请输入数量"></el-input> -->
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                               <el-form-item label="上传凭证" >
+                              <el-upload
+                                  class="upload-demo"
+                                  :limit="1"
+                                  :on-preview="handlePreview"
+                                  :on-change="handleChange"
+                                  :on-remove="handleRemove"
+                                  :before-remove="beforeRemove"
+                                  :on-exceed="handleExceed"
+                                  :action="BASE_API+'/common/bidding/voucher'"
+                                  name="multipartFile"
+                                  list-type="text"
+                                  :file-list="fileList"
+                                  multiple
+                                >
+                                    <el-button class="el-icon-upload" >上传凭证</el-button>
+                                </el-upload>
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="联系电话" prop="phone">
+                            <el-input v-model="form.phone" style="width: 80%;" placeholder="请输入联系电话"></el-input>
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="备注" prop="biddingLogisticsRemark">
+                                <el-input
+                                  v-model="form.biddingLogisticsRemark"
+                                  type="textarea"
+                                  style="width: 93%;"
+                                  :autosize="{ minRows: 2, maxRows: 10}"
+                                  maxlength="500"
+                                  show-word-limit
+                                  placeholder="请输入内容"
+                                />
+                              </el-form-item>
+                          </el-col>
+                        </el-row>
+                      </el-form>
+                      <div slot="footer" class="dialog-footer">
+                        <el-button @click="dialog = false">取消</el-button>
+                        <el-button :loading="loading" type="primary" @click="doSubmit">确认</el-button>
+                      </div>
+                    </el-dialog>
+            
+                   <div slot="footer" class="paginationParam" style="paddingRight:">
+                    <!-- <el-button @click="viewDialog = false">取消</el-button> -->
+                    <el-button :loading="loading" type="primary" @click="viewDialog = false">返回</el-button>
+                  </div>
+
+                         <el-dialog :title="goodsName" width="90%" center :visible.sync="dialogTableVisible" append-to-body>
+                               <ckDialog ref="ckDialog"></ckDialog>
+                          </el-dialog>
+
+    </el-dialog>
+    </div>
+</template>
+
+<script>
+
+import {  getSaleId } from '@/api/bid'
+import { Notification, MessageBox } from 'element-ui'
+
+import ckTable from './table.vue'
+import ckDialog from './dialog.vue'
+export default {
+   components:{
+    ckTable,
+    ckDialog
+  },
+  data() {
+    const checkTel = (rule, value, callback) => {
+      if (value == null) {
+        callback(new Error('请选择附件'))
+      } else {
+        callback()
+      }
+    }
+    return {
+      form: {
+      },
+      data: [{}],
+      active:0,
+      BASE_API: process.env.BASE_API,
+      dialog: false,
+      loading: false,
+      delLoading: false,
+      tableLoading:false,
+      viewDialog: false,
+      isAdd: false,
+      currentPage: 1,
+      pageSize: 10,
+      total: 0, // 总数量
+      rules1:{
+        departureStation:[
+          { required: true, message: '始发车站不为空', trigger: 'blur' },
+        ],
+         destinationStation:[
+          { required: true, message: '目的车站不为空', trigger: 'blur' },
+        ],
+         logisticsBiddingPrice:[
+          { required: true, message: '投标价格不为空', trigger: 'blur' },
+        ],
+         packingWay:[
+          { required: true, message: '包装方式不为空', trigger: 'blur' },
+        ],
+         phone:[
+          { required: true, message: '联系电话不为空', trigger: 'blur' },
+        ],
+         transportMode:[
+          { required: true, message: '运输方式不为空', trigger: 'blur' },
+        ],
+      },
+      rules: {
+
+        price: [
+          { required: true, message: '报价金额不为空', trigger: 'blur' },
+        ],
+        appendix: [
+          // { type:"array",required: true, message: '附件不为空', trigger: 'blur' },
+          { validator: checkTel, trigger: 'blur' }
+        ]
+      },
+      query: {
+        type: '',
+        value: '',
+         tenderRule:"",
+        tenderType:"",
+        startTime:"",
+        endTime:""
+      },
+      fileList: [],
+      param: {
+        current: 1,
+        size: 10
+      },
+      total1: 0,
+      Paramdata: [],
+      applyDateStart:[],
+      dialogTableData:[],
+       tenderRule:[
+        {id:1,name:"价低者得"},
+        {id:2,name:"价高者得"},
+
+      ],
+      packingWay:[
+        {id:1,name:"散粮"},
+        {id:2,name:"袋装"},
+        {id:3,name:"散装"},
+        {id:4,name:"集装箱"},
+      ],
+      transportMode:[
+        {id:1,name:"陆运"},
+        {id:2,name:"火车运输"},
+        {id:3,name:"船运"},
+        {id:4,name:"汽运/火车运输/船运"},
+        {id:5,name:"汽运/火车运输"},
+        {id:6,name:"汽运/船运"},
+      ],
+       activeName: 'first',
+       dialogTableVisible:false,
+       goodsName:"",
+       bidInfo:{}
+    }
+  },
+  created() {
+    // this.getDictData()
+  },
+  methods: {
+    // 投标详情 向父元素传递数据
+    costPlannedAmountChange(val){
+      console.log(val)
+ 
+      this.dialogTableVisible = true
+      setTimeout(() => {
+        this.goodsName = val.goodsName
+       this.$refs.ckDialog.priceData = val
+      this.$refs.ckDialog.getTenantList()
+        console.log(this.$refs.ckDialog)
+      }, 300);
+    },
+    // 价格投标不能大于合计
+    onlogistiicsPrice(val){
+      console.log(val)
+       if(val>this.form.transportUnitPrice){
+         this.form.logisticsBiddingPrice = this.form.transportUnitPrice
+         console.log("我是大于")
+       }
+       if(val.indexOf('.') !== -1 && val == '.'){
+         this.form.logisticsBiddingPrice =0
+       }
+       if(val== "+" || val== "-"){
+         this.form.logisticsBiddingPrice = 0
+       }
+       if(val<0){
+         this.form.logisticsBiddingPrice = 0
+       }
+    },
+    onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.param.startTime =this.applyDateStart[0]
+              this.param.endTime = this.applyDateStart[1]
+            }else{
+              this.param.startTime =""
+              this.param.endTime =""
+            }
+
+      this.getParamFexd()
+    },
+    next() {
+      console.log(this.$refs.ckTable)
+        if (this.active++ > 2) this.active = 0;
+        this.dialogTableData = this.$refs.ckTable.SelectionList
+      },
+      handleSelectionChange(row){
+        
+      },
+    // 获取详情
+    getDictData: function() {
+      this.loading = true
+        const params = new URLSearchParams()
+      params.append('current', this.currentPage)
+      params.append('size', this.pageSize)
+      params.append('tenderType', this.query.tenderType)
+      params.append('tenderTitle', this.query.value)
+      params.append('tenderRule', this.query.tenderRule)
+      params.append('startTime',this.query.startTime )
+      params.append('endTime', this.query.endTime)
+
+      getTableList(params).then(res => {
+          console.log(res)
+        // this.data = res.data.data.records
+        let data = res.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.data = data
+        this.total = res.data.data.total
+        this.loading = false
+      })
+    },
+
+    // 搜索
+    handleFind: function() {
+      this.currentPage = 1
+      this.getDictData()
+    },
+
+    // 文件移除的时候
+    handleRemove(file, fileList) {
+      this.form.voucherFile = ''
+      console.log(file, fileList, this.fileList, '移出')
+    },
+    // 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
+    handleChange(file, fileList) {
+      console.log(file, fileList, '上传')
+      if (file.response) {
+        console.log(file.response, 'file')
+        if (file.response.code == '200') {
+          this.form.voucherFile = file.response.data.filePath
+        } else {
+          Notification.error({
+            title: file.response.msg,
+            duration: 1000
+          })
+          this.fileList = []
+        }
+      }
+    },
+    // 点击文件列表中已上传的文件时的钩子
+    handlePreview(file) {
+      console.log(file, 'file1')
+      // window.location.href = file.url
+    },
+    handleExceed(files, fileList) {
+      this.$message.warning(`当前限制选择 1 个附件,本次选择了 ${files.length} 个文件`)
+    },
+    beforeRemove(file, fileList) {
+      return this.$confirm(`确定移除 ${file.name}?`)
+    },
+    // 下载
+    onLoad(row) {
+      // const params = new URLSearchParams()
+      // params.append('path', row)
+      const a = document.createElement('a')
+      // a.href= /bidding/load
+      const url = window.location.origin + process.env.BASE_API + '/bidding/load?path=' + encodeURIComponent(row)
+      a.href = url
+      a.click()
+    },
+
+    // 字典名称提交动作
+    doSubmit() {
+      this.$refs['form'].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            // 新增字典
+            console.log(this.form)
+            this.loading = true
+            getQueryAdd(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.loading = false
+              this.getDictData()
+              this.$refs['form'].resetFields()
+            }).catch(err => {
+              this.loading = false
+            })
+          } else {
+            // 更新字典
+            getQueryEdit(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.getDictData()
+            })
+          }
+        }
+      })
+    },
+    // 添加字典
+    handleAdd: function(row) {
+      this.dialog = true
+      this.isAdd = true
+      this.form = {}
+      this.fileList = []
+      this.form.tenderLogisticsId = row.logisticsBidId
+      this.form.tenderParentId = this.param.tenderParentId
+      this.form.quantity = row.goodsNumber
+      this.form.goodsName = row.goodsName
+      this.form.transportUnitPrice = row.transportUnitPrice
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+    },
+    // 编辑字典
+    handleEdit: function(row) {
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+      this.dialog = true
+      this.isAdd = false
+      this.form = row.bidding
+      this.form.priceQuotes = row.priceQuotes
+      if (this.form.appendix) {
+        let name = this.form.appendix.split('bidding/')
+        name = name.pop()
+        // let name = data.appendix.replace(/(.*\/)*([^.]+).*/ig, "$2");
+        this.fileList = [{ name: name, url: this.form.appendix }]
+      }
+    },
+    handleClick(row,val){
+      console.log(row,val)
+      if(row.name == "second"){
+       this.$refs.ckTable.tenderParentId = this.param.tenderParentId
+        this.$refs.ckTable.getTenantList()
+      }
+    },
+    handleView(row) {
+      let tenderType = row.tenderType
+      if(tenderType == 1){
+        this.$refs.ckTender.viewDialog = true
+         setTimeout(() => {
+            this.$refs.ckTender.activeName="first"
+            this.$refs.ckTender.param.tenderParentId = row.tenderParentId
+            this.$refs.ckTender.bidInfo = row
+            this.$refs.ckTender.param.current = 1
+            this.$refs.ckTender.getParam()
+            console.log("物流")
+      }, 300);
+      }else if(tenderType == 3){
+        this.saleViewDialog = true
+        console.log("销售")
+      }
+    },
+    // 所有标的搜索
+    getParamFexd(){
+      this.param.current = 1
+      this.getParam()
+    },
+    // 所有标的列表数据
+    getParam() {
+      const data = this.param
+      this.tableLoading = true
+      getSaleId(data).then((res) => {
+       console.log(res.data.data.records, '')
+        let data = res.data.data.records
+         data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.tenderStatus == 1 || res.tenderStatus == 2){
+             res.status = res.tenderStatus 
+            console.log("我的状态是:" + res.tenderStatus)
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 3
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 5
+            console.log("当前时间大于结束时间,待处理")
+          }
+
+          return res
+        })
+        this.Paramdata = data
+        this.tableLoading = false
+        this.total1 = res.data.data.total
+      })
+    },
+
+    // 换页
+    handleCurrentChange: function(val) {
+      this.currentPage = val
+      this.getDictData()
+    },
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.getDictData()
+    },
+    handleCurrentChangeParam(val) {
+      this.param.current = val
+      this.getParam()
+    },
+    handleSizeChangeParam(val) {
+      this.param.size = val
+      this.getParam()
+    }
+  }
+}
+</script>
+<style scoped lang="scss">
+/* 去掉上传附件时候的过度效果 */
+  ::v-deep .el-upload-list__item{transition: none !important;}
+  ::v-deep .el-textarea__inner{
+  padding-bottom: 36px;
+}
+.btn_fixed{
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  padding: 15px 50px;
+  width: 100%;
+  text-align: right;
+  background: #f5f5f5;
+
+}
+.ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+.paginationParam{
+  // position: fixed;
+  // bottom: 50px;
+  bottom: 0;
+  left: 0;
+  line-height: 80px;
+  width: 100%;
+  // left: 45%;
+  // text-align: right;
+  z-index: 999;
+  background: #fff;
+}
+/deep/ .el-tabs__item{
+  font-size: 16px !important;
+  // padding: 35px  ;
+}
+.el-card {
+  border: 0px solid #fff;
+}
+.clearfix {
+    line-height: 20px;
+    font-size: 18px;
+    font-weight: 600;
+    color: #409EFF;
+}
+/deep/.el-dialog.is-fullscreen {
+
+    background-color: #f5f7f9;
+}
+.box-card{
+  margin-bottom: 20px;
+  .row-bg{
+  padding: 15px 40px 0 40px;
+  .flex_text{
+    line-height: 50px;
+    color: #8C8C8C;
+    font-size: 14px;
+    // border:1px solid red;
+    // font-weight: 600;
+  }
+  .flex_name{
+    font-size: 14px;
+    padding-left: 25px;
+    color: #575757;
+    font-weight: 550;
+  }
+}
+}
+/deep/ .el-card__body{
+  padding: 20px 0;
+}
+/deep/.el-tabs__nav-wrap::after {
+
+    background-color: #dfe4ed00;  
+}
+/deep/ .el-dialog--center .el-dialog__body {
+    text-align: initial;
+    padding: 25px 25px 0px 30px;
+}
+
+/deep/ .el-tabs--border-card{
+  // border-top:1px ;
+  border-bottom: 0px;
+
+ box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.5)
+}
+
+</style>
+

+ 277 - 0
src/views/bid/tender2/dialog.vue

@@ -0,0 +1,277 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <!-- <div>
+      <span style="font-size:14px">货物:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div> -->
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+
+      <el-table-column label="运输方式" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+           <template slot-scope="scope">
+                            <span v-if="scope.row.transportMode == 1">陆运</span>
+                            <!-- <span v-if="scope.row.transportMode == 2">汽运</span> -->
+                            <span v-if="scope.row.transportMode == 2">火车运输</span>
+                            <span v-if="scope.row.transportMode == 3">船运</span>
+                            <span v-if="scope.row.transportMode == 4">汽运/火车运输/船运</span>
+                            <span v-if="scope.row.transportMode == 5">汽运/火车运输</span>
+                            <span v-if="scope.row.transportMode == 6">汽运/船运</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标价格" prop="logisticsBiddingPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="quantity" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="总价" prop="logisticsTotalPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="联系电话" prop="phone" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+       <el-table-column  :show-overflow-tooltip="true" label="包装方式" width="100" align="center">
+        <template slot-scope="scope">
+            <span v-if="scope.row.packingWay == 1">散粮</span> 
+            <span v-if="scope.row.packingWay == 2">袋装</span> 
+            <span v-if="scope.row.packingWay == 3">散装</span> 
+            <span v-if="scope.row.packingWay == 4">集装箱</span> 
+        </template>
+      </el-table-column>
+
+      <el-table-column label="始发车站" prop="departureStation" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的车站" prop="destinationStation" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+       <el-table-column label="状态" align="center" width="100">
+            <template slot-scope="scope">
+            <el-tag effect="plain" v-if="scope.row.biddingStatus == 5">已投递</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==6" type="info">审核中</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==7" type="warning">已中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==8" type="danger">未中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==9" type="danger">已作废</el-tag>
+            </template>
+       </el-table-column>
+      <el-table-column label="投标时间" prop="logisticsBiddingTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="备注" prop="biddingLogisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :popper-class="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsInfo } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: {},
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: '1',
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        isShow:true
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      onshow(){
+          this.isShow = !this.isShow
+      },
+    parseTime,
+    getTenantList: function() {
+        console.log(this.priceData)
+        let tenderLogisticsId =this.priceData.logisticsBidId
+        let current =this.current
+        let size =this.size
+      getLogisticsInfo(tenderLogisticsId,size,current).then(response => {
+        console.log(response)
+        this.loading = false
+         let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 投标时间
+          let startTime = this.priceData.endTime
+
+          const date = new Date(startTime)
+          const start = date.valueOf()         //开始时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          if(res.biddingStatus < 7){
+              console.log("我不满足")
+                if(time < start){
+                    res.biddingStatus = 5
+                    console.log("当前时间小于投标时间,已投递")
+                }else if(time > start){
+                    res.biddingStatus = 6
+                    console.log("当前时间小于投标时间,审核中")
+                }
+          }
+          return res
+        })
+        console.log(data)
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = '1'
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+</style>
+

+ 404 - 0
src/views/bid/tender2/table.vue

@@ -0,0 +1,404 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <div>
+      <span style="font-size:14px">货物名称:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+          <!-- <span style="fontSize:13px;marginLeft:20px">投标时间</span>
+            <el-date-picker
+              v-model="applyDateStart"
+              size="mini"
+              type="datetimerange"
+              style="width: 280px;"
+              range-separator="-"
+              clearable
+              value-format="yyyy-MM-dd HH:mm:ss"
+              :default-time="['00:00:00', '23:59:59']"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+             @change="onApplyDate"
+             @clear="onApplyDate"
+            />
+ -->
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div>
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+          <!-- <el-table-column type="expand" prop="biddingLogisticsInfoList">
+      <template slot-scope="props"> -->
+            <!-- <div  :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" v-if="isShow">
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式: 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 1">陆运</span> 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 2">汽运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 3">火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 4">船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 6">汽运/火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{props.row.biddingLogisticsInfoList[0].quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{props.row.biddingLogisticsInfoList[0].logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{props.row.biddingLogisticsInfoList[0].phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="props.row.biddingLogisticsInfoList[0].packingWay == 1">散粮</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 2">袋装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 3">散装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{props.row.biddingLogisticsInfoList[0].departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{props.row.biddingLogisticsInfoList[0].destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{props.row.biddingLogisticsInfoList[0].logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+          <!-- <div v-for="(item,index) in props.row.biddingLogisticsInfoList" :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" >
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式:
+                            <span v-if="item.transportMode == 1">陆运</span>
+                            <span v-if="item.transportMode == 2">汽运</span>
+                            <span v-if="item.transportMode == 3">火车运输</span>
+                            <span v-if="item.transportMode == 4">船运</span>
+                            <span v-if="item.transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="item.transportMode == 6">汽运/火车运输</span>
+                            <span v-if="item.transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{item.logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{item.quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{item.logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{item.phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="item.packingWay == 1">散粮</span> 
+                           <span v-if="item.packingWay == 2">袋装</span> 
+                           <span v-if="item.packingWay == 3">散装</span> 
+                           <span v-if="item.packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{item.departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{item.destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{item.logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{item.logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+            <!-- <div @click="onshow">{{isShow ?"展开" : "收起"}}</div> -->
+      <!-- </template>
+    </el-table-column> -->
+
+      <el-table-column label="货物" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="goodsNumber" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="始发地" prop="departureName" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的地" prop="destinationName" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="预估距离" prop="predictDistance" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="单价" prop="transportUnitPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="保证金" prop="deposit" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+        <el-table-column label="状态" align="center" width="100">
+      <template slot-scope="scope">
+        <el-tag effect="plain" v-if="scope.row.status ==1">进行中</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==2" type="info">已结束</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==3" type="danger">已作废</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+      </template>
+    </el-table-column>
+      <el-table-column prop="description" :show-overflow-tooltip="true" label="招标规则" width="100" align="center">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.tenderLogisticsRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="scope.row.tenderLogisticsRule == 2" effect="plain" >价高者得</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标开始时间" prop="startTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标结束时间" prop="endTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标备注" prop="logisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+        <el-table-column label="操作" width="150" fixed="right" align="center">
+        <template slot-scope="scope">
+          <!-- <el-button type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == null" slot="reference" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == 0" slot="reference" type="text" icon="el-icon-edit" @click="handleEdit(scope.row)">改标</el-button> -->
+          <el-button  slot="reference" type="text" :disabled="scope.row.status !=1" icon="el-icon-plus" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button  slot="reference" icon="el-icon-view" type="text" @click="handleView(scope.row)">查看更多</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :popper-class="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsList } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: [],
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: '1',
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        // dialogTableVisible:false
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      handleView(row){
+          console.log("我被点击了")
+            this.$emit('change',row)
+        //   this.$parent.dialogTableVisible = true
+      },
+    parseTime,
+    getTenantList: function() {
+      this.loading = true
+      const params = new URLSearchParams()
+      params.append('tenderParentId', this.tenderParentId)
+      params.append('goodsName', this.goodsName)
+      params.append('startTime', this.startTime)
+      params.append('endTime', this.endTime)
+      params.append('current', this.current)
+      params.append('size', this.size)
+      getLogisticsList(params).then(response => {
+        console.log(response)
+        this.loading = false
+          let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = '1'
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+
+</style>
+

+ 815 - 0
src/views/bid/tender2/tender.vue

@@ -0,0 +1,815 @@
+<template>
+    <div>
+          <el-dialog :append-to-body="true" fullscreen :visible.sync="viewDialog" title="" center>
+                  <el-card class="box-card" shadow="nerver">
+                    <div slot="header" class="clearfix">
+                      <span class="topClass">基本信息</span>
+                    </div>
+
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                           标题 : <span class="flex_name"> {{bidInfo.tenderTitle}}</span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                           状态 : <span class="flex_name"> <el-tag effect="plain" v-if="bidInfo.status ==1">进行中</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==2" type="info">已结束</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==3" type="danger">已作废</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==4" type="warning">未开始</el-tag>
+                                </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         招标类型 :  <span class="flex_name"><el-tag v-if="bidInfo.tenderType == 1"  >物流</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 2" >原料</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 3" >销售</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 4" >加工承揽</el-tag>
+                                    </span>
+                       </el-col>
+                    </el-row>
+                     <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                         招标规则 : <span class="flex_name">    <el-tag v-if="bidInfo.tenderRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="bidInfo.tenderRule == 2" effect="plain" >价高者得</el-tag></span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         开始时间 : <span class="flex_name"> {{bidInfo.startTime}} </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         截止时间 :  <span class="flex_name">{{bidInfo.endTime}}
+                                    </span>
+                       </el-col>
+                    </el-row>
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="24" class="flex_text">
+                            备注:<span class="flex_name">{{bidInfo.tenderRemark}}</span>
+                       </el-col>
+                    </el-row>
+                  </el-card>
+                   <el-card class="box-card" shadow="nerver">
+                        <div slot="header" class="clearfix">
+                          <span class="topClass"> 所有标的</span>
+                        </div>
+                      <el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
+                        <el-tab-pane label="标的详情" name="first">
+
+                          <div class="head-container" style="margin: 30px 0 10px 0;">
+                            <span style="fontSize:13px">品种</span>
+                              <el-input
+                                v-model="param.breeds"
+                                clearable
+                                placeholder="请输入产品名称"
+                                style="width: 200px;"
+                                size="small"
+                                class="filter-item"
+                                @keyup.enter.native="getParamFexd"
+                                @clear="getParamFexd"
+                              />
+                            <span style="fontSize:13px;marginLeft:20px">交付方式</span>
+                               <el-select v-model="param.deliveryMethod" style="width:200px;" size="small"  @keyup.enter.native="getParamFexd" @clear="getParamFexd" clearable filterable placeholder="请选择交付方式">
+                                  <el-option
+                                    v-for="item in deliveryMethod"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id"
+                                  />
+                                </el-select>
+                            <span style="fontSize:13px;marginLeft:20px">等级</span>
+                              <el-select v-model="param.level" size="small" style="width: 200px;"  @keyup.enter.native="getParamFexd" @clear="getParamFexd" clearable filterable placeholder="请选择等级">
+                                  <el-option
+                                    v-for="item in level"
+                                    :key="item.name"
+                                    :label="item.name"
+                                    :value="item.name"
+                                  />
+                                </el-select>
+                            <span style="fontSize:13px;marginLeft:20px">发标时间</span>
+                              <el-date-picker
+                                v-model="applyDateStart"
+                                size="small"
+                                type="datetimerange"
+                                style="width: 400px;"
+                                range-separator="-"
+                                clearable
+                                value-format="yyyy-MM-dd HH:mm:ss"
+                                :default-time="['00:00:00', '23:59:59']"
+                                start-placeholder="开始日期"
+                                end-placeholder="结束日期"
+                              @change="onApplyDate"
+                              @clear="onApplyDate"
+                              />
+                              <div style="text-align: right;margin-right:40px">
+                                   <el-button class="filter-item" style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="getParamFexd">搜索</el-button>
+                              </div>
+                          <div style="height:20px"></div>
+                          <el-table center :data="Paramdata" :header-cell-style="{ background: '#f5f7fa', }" border v-loading="tableLoading" stripe style="width: 100%;">
+
+                            <!-- <el-table-column prop="rawTenderId" width="150" fixed="left" label="标的编号" :show-overflow-tooltip="true" align="center" /> -->
+                            <el-table-column prop="tenderRawCode" width="150" label="标的编码" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="breeds"   label="品种" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="number"  label="数量(吨)" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="unitPrice" width="100" label="单价(元/吨)" :show-overflow-tooltip="true" align="center" />
+                              <el-table-column prop="deliveryMethod" width="100" label="交付方式" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.deliveryMethod == 1" type="success" effect="plain">自提</el-tag>
+                                  <el-tag v-if="scope.row.deliveryMethod == 2" effect="plain" >送货到厂</el-tag>
+                              </template>
+                            </el-table-column>
+                              <el-table-column prop="deliveryMethod" label="等级" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.level == 5" >二级</el-tag>
+                                  <el-tag v-if="scope.row.level == 6" >三级</el-tag>
+                              </template>
+                            </el-table-column>
+                             <el-table-column prop="appendix" label="回执" align="center" width="100">
+                                <template slot-scope="scope">
+                                    <el-link v-if="scope.row.receiptPathUrl" :href="'http://view.officeapps.live.com/op/view.aspx?src='+scope.row.receiptPathUrl" type="primary" target="_target"><i class="el-icon-view"></i> 查看</el-link>
+                                </template>
+                              </el-table-column>
+
+                           <el-table-column label="状态" align="center" width="100">
+                            <template slot-scope="scope">
+                             <el-tag effect="plain" v-if="scope.row.status ==3">进行中</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==1" type="info">已结束</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==5" type="info">待处理</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==2" type="danger">已作废</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+                            </template>
+                          </el-table-column>
+                            <el-table-column prop="logisticsIsTender" label="是否有人投标" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                <el-tag v-if="scope.row.rawIsTender == 0" type="info">未投标</el-tag>
+                                <el-tag v-if="scope.row.rawIsTender == 1" type="warning">有投标</el-tag>
+                              </template>
+                            </el-table-column>
+                          <el-table-column prop="tenderLogisticsRule" label="中标规则" width="100" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.rule == 1" type="success" effect="plain">价低者得</el-tag>
+                                  <el-tag v-if="scope.row.rule == 2" effect="plain" >价高者得</el-tag>
+                              </template>
+                            </el-table-column>
+                            <el-table-column prop="startTime" width="152" label="起始时间" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="endTime" width="152" label="结束时间" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="createTime" label="创建时间"  width="152" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="remark" label="备注" width="162" :show-overflow-tooltip="true" align="center" />
+                
+                          </el-table>
+                          <div class="pagination">
+                            <el-pagination
+                              :current-page.sync="param.current"
+                              :page-size="param.size"
+                              layout="total, sizes, prev, pager, next, jumper"
+                              :total="total1"
+                              :page-sizes="[10, 20, 30, 50]"
+                              background
+                              @size-change="handleSizeChangeParam"
+                              @current-change="handleCurrentChangeParam"
+                            />
+                          </div>
+                  <!-- <div style="height:60px"></div> -->
+                    </div>
+
+                </el-tab-pane>
+                <el-tab-pane label="投标详情" name="second">
+                   <!-- <el-card class="box-card" shadow="nerver"> -->
+                      <!-- <div slot="header" class="clearfix">
+                        <span class="topClass">投标详情</span>
+                      </div> -->
+                              <ckTable ref="ckTable" @change="costPlannedAmountChange($event)"></ckTable>
+                   <!-- </el-card> -->
+                </el-tab-pane>
+              </el-tabs>
+             
+                      </el-card>
+          <el-dialog :append-to-body="true" :visible.sync="dialog" :title="isAdd ? '投标' : '修标'" width="50%">
+                      <el-form ref="form" :model="form" :rules="rules1" label-width="80px">
+                        <el-form-item label="货物名称">
+                           <!-- <span>{{form.biddingLogisticsRemark}}</span> -->
+                           <el-tag>{{form.goodsName}}</el-tag>
+                            <!-- <el-input  v-model="form.goodsName" style="width:50%" readonly></el-input> -->
+                        </el-form-item>
+                         <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="始发车站" prop="departureStation">
+                              <el-input v-model="form.departureStation" style="width: 80%;" placeholder="请输入始发车站"></el-input>
+                            </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="目的车站" prop="destinationStation">
+                                <el-input v-model="form.destinationStation" style="width: 80%;" placeholder="请输入目的车站"></el-input>
+                              </el-form-item>
+                          </el-col>
+                         </el-row>
+                        
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="包装方式" prop="packingWay">
+                              <el-select v-model="form.packingWay" style="width: 80%;"  filterable placeholder="请选择包装方式">
+                                  <el-option
+                                    v-for="item in packingWay"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id"
+                                  />
+                                </el-select>
+                            </el-form-item>
+                           </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                           <el-form-item label="运输方式" prop="transportMode">
+                             <el-select v-model="form.transportMode" style="width: 80%;"  filterable placeholder="请选择包装方式">
+                                <el-option
+                                  v-for="item in transportMode"
+                                  :key="item.id"
+                                  :label="item.name"
+                                  :value="item.id"
+                                />
+                              </el-select>
+                           </el-form-item>
+                        </el-col>
+                        </el-row>
+
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="数量" prop="quantity">
+                              <el-input v-model="form.quantity" readonly style="width: 80%;" placeholder="数量"><template slot="append">(吨)</template></el-input>
+                           <!-- <span style="fontSize:16px" effect="plain">{{form.quantity}} (吨)</span> -->
+                            <!-- <el-input v-model="form.quantity" style="width: 80%;" placeholder="请输入数量"></el-input> -->
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="投标价格" prop="logisticsBiddingPrice">
+                              <el-input v-model="form.logisticsBiddingPrice" style="width: 80%;" placeholder="请输入金额"><template slot="append">(吨/元)</template></el-input>
+                              <!-- <el-input v-model="form.logisticsBiddingPrice" @input="onlogistiicsPrice" style="width: 80%;" placeholder="请输入金额"><template slot="append">(吨/元)</template></el-input> -->
+                              <!-- <div style="color:#909399;fontSize:15px"> * <span style="color:#909399;fontSize:13px;position: relative;top:-5px">最大价格 {{form.transportUnitPrice}} </span> </div> -->
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+
+                            <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="合计" prop="quantity">
+                              <el-input  :value="form.logisticsBiddingPrice ? (form.quantity *form.logisticsBiddingPrice).toFixed(4) : 0" readonly style="width: 80%;" placeholder="请输入金额"><template slot="append">(元)</template></el-input>
+                           <!-- <span style="fontSize:16px"  effect="plain">{{}} (吨/元)</span> -->
+                           <!-- <el-tag  style="fontSize:14px"  effect="plain">{{form.logisticsBiddingPrice=="NAN" ? (form.quantity *form.logisticsBiddingPrice).toFixed(4) : 0}} (吨/元)</el-tag> -->
+                            <!-- <el-input v-model="form.quantity" style="width: 80%;" placeholder="请输入数量"></el-input> -->
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                               <el-form-item label="上传凭证" >
+                              <el-upload
+                                  class="upload-demo"
+                                  :limit="1"
+                                  :on-preview="handlePreview"
+                                  :on-change="handleChange"
+                                  :on-remove="handleRemove"
+                                  :before-remove="beforeRemove"
+                                  :on-exceed="handleExceed"
+                                  :action="BASE_API+'/common/bidding/voucher'"
+                                  name="multipartFile"
+                                  list-type="text"
+                                  :file-list="fileList"
+                                  multiple
+                                >
+                                    <el-button class="el-icon-upload" >上传凭证</el-button>
+                                </el-upload>
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="联系电话" prop="phone">
+                            <el-input v-model="form.phone" style="width: 80%;" placeholder="请输入联系电话"></el-input>
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="备注" prop="biddingLogisticsRemark">
+                                <el-input
+                                  v-model="form.biddingLogisticsRemark"
+                                  type="textarea"
+                                  style="width: 93%;"
+                                  :autosize="{ minRows: 2, maxRows: 10}"
+                                  maxlength="500"
+                                  show-word-limit
+                                  placeholder="请输入内容"
+                                />
+                              </el-form-item>
+                          </el-col>
+                        </el-row>
+                      </el-form>
+                      <div slot="footer" class="dialog-footer">
+                        <el-button @click="dialog = false">取消</el-button>
+                        <el-button :loading="loading" type="primary" @click="doSubmit">确认</el-button>
+                      </div>
+                    </el-dialog>
+            
+                   <div slot="footer" class="paginationParam" style="paddingRight:">
+                    <!-- <el-button @click="viewDialog = false">取消</el-button> -->
+                    <el-button :loading="loading" type="primary" @click="viewDialog = false">返回</el-button>
+                  </div>
+
+                         <el-dialog :title="goodsName" width="90%" center :visible.sync="dialogTableVisible" append-to-body>
+                               <ckDialog ref="ckDialog"></ckDialog>
+                          </el-dialog>
+
+    </el-dialog>
+    </div>
+</template>
+
+<script>
+
+import {  getTenderRaw } from '@/api/bid'
+import { Notification, MessageBox } from 'element-ui'
+
+import ckTable from './table.vue'
+import ckDialog from './dialog.vue'
+export default {
+   components:{
+    ckTable,
+    ckDialog
+  },
+  data() {
+    const checkTel = (rule, value, callback) => {
+      if (value == null) {
+        callback(new Error('请选择附件'))
+      } else {
+        callback()
+      }
+    }
+    return {
+      form: {
+      },
+      data: [{}],
+      active:0,
+      BASE_API: process.env.BASE_API,
+      dialog: false,
+      loading: false,
+      delLoading: false,
+      tableLoading:false,
+      viewDialog: false,
+      isAdd: false,
+      currentPage: 1,
+      pageSize: 10,
+      total: 0, // 总数量
+      rules1:{
+        departureStation:[
+          { required: true, message: '始发车站不为空', trigger: 'blur' },
+        ],
+         destinationStation:[
+          { required: true, message: '目的车站不为空', trigger: 'blur' },
+        ],
+         logisticsBiddingPrice:[
+          { required: true, message: '投标价格不为空', trigger: 'blur' },
+        ],
+         packingWay:[
+          { required: true, message: '包装方式不为空', trigger: 'blur' },
+        ],
+         phone:[
+          { required: true, message: '联系电话不为空', trigger: 'blur' },
+        ],
+         transportMode:[
+          { required: true, message: '运输方式不为空', trigger: 'blur' },
+        ],
+      },
+      rules: {
+
+        price: [
+          { required: true, message: '报价金额不为空', trigger: 'blur' },
+        ],
+        appendix: [
+          // { type:"array",required: true, message: '附件不为空', trigger: 'blur' },
+          { validator: checkTel, trigger: 'blur' }
+        ]
+      },
+      query: {
+        type: '',
+        value: '',
+         tenderRule:"",
+        tenderType:"",
+        startTime:"",
+        endTime:""
+      },
+      fileList: [],
+      param: {
+        current: 1,
+        size: 10
+      },
+      total1: 0,
+      Paramdata: [],
+      applyDateStart:[],
+      dialogTableData:[],
+       level:[
+        {id:1,name:"二级"},
+        {id:2,name:"三级"},
+
+      ],
+      deliveryMethod:[
+        {id:1,name:"自提"},
+        {id:2,name:"送货到厂"},
+      ],
+      packingWay:[],
+      transportMode:[
+        {id:1,name:"陆运"},
+        {id:2,name:"火车运输"},
+        {id:3,name:"船运"},
+        {id:4,name:"汽运/火车运输/船运"},
+        {id:5,name:"汽运/火车运输"},
+        {id:6,name:"汽运/船运"},
+      ],
+       activeName: 'first',
+       dialogTableVisible:false,
+       goodsName:"",
+       bidInfo:{}
+    }
+  },
+  created() {
+    // this.getDictData()
+  },
+  methods: {
+    // 投标详情 向父元素传递数据
+    costPlannedAmountChange(val){
+      console.log(val)
+ 
+      this.dialogTableVisible = true
+      setTimeout(() => {
+        this.goodsName = val.goodsName
+       this.$refs.ckDialog.priceData = val
+      this.$refs.ckDialog.getTenantList()
+        console.log(this.$refs.ckDialog)
+      }, 300);
+    },
+    // 价格投标不能大于合计
+    onlogistiicsPrice(val){
+      console.log(val)
+       if(val>this.form.transportUnitPrice){
+         this.form.logisticsBiddingPrice = this.form.transportUnitPrice
+         console.log("我是大于")
+       }
+       if(val.indexOf('.') !== -1 && val == '.'){
+         this.form.logisticsBiddingPrice =0
+       }
+       if(val== "+" || val== "-"){
+         this.form.logisticsBiddingPrice = 0
+       }
+       if(val<0){
+         this.form.logisticsBiddingPrice = 0
+       }
+    },
+    onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.param.startTime =this.applyDateStart[0]
+              this.param.endTime = this.applyDateStart[1]
+            }else{
+              this.param.startTime =""
+              this.param.endTime =""
+            }
+
+      this.getParamFexd()
+    },
+    next() {
+      console.log(this.$refs.ckTable)
+        if (this.active++ > 2) this.active = 0;
+        this.dialogTableData = this.$refs.ckTable.SelectionList
+      },
+      handleSelectionChange(row){
+        
+      },
+    // 获取详情
+    getDictData: function() {
+      this.loading = true
+        const params = new URLSearchParams()
+      params.append('current', this.currentPage)
+      params.append('size', this.pageSize)
+      params.append('tenderType', this.query.tenderType)
+      params.append('tenderTitle', this.query.value)
+      params.append('tenderRule', this.query.tenderRule)
+      params.append('startTime',this.query.startTime )
+      params.append('endTime', this.query.endTime)
+
+      getTableList(params).then(res => {
+          console.log(res)
+        // this.data = res.data.data.records
+        let data = res.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.data = data
+        this.total = res.data.data.total
+        this.loading = false
+      })
+    },
+
+    // 搜索
+    handleFind: function() {
+      this.currentPage = 1
+      this.getDictData()
+    },
+
+    // 文件移除的时候
+    handleRemove(file, fileList) {
+      this.form.voucherFile = ''
+      console.log(file, fileList, this.fileList, '移出')
+    },
+    // 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
+    handleChange(file, fileList) {
+      console.log(file, fileList, '上传')
+      if (file.response) {
+        console.log(file.response, 'file')
+        if (file.response.code == '200') {
+          this.form.voucherFile = file.response.data.filePath
+        } else {
+          Notification.error({
+            title: file.response.msg,
+            duration: 1000
+          })
+          this.fileList = []
+        }
+      }
+    },
+    // 点击文件列表中已上传的文件时的钩子
+    handlePreview(file) {
+      console.log(file, 'file1')
+      // window.location.href = file.url
+    },
+    handleExceed(files, fileList) {
+      this.$message.warning(`当前限制选择 1 个附件,本次选择了 ${files.length} 个文件`)
+    },
+    beforeRemove(file, fileList) {
+      return this.$confirm(`确定移除 ${file.name}?`)
+    },
+    // 下载
+    onLoad(row) {
+      // const params = new URLSearchParams()
+      // params.append('path', row)
+      const a = document.createElement('a')
+      // a.href= /bidding/load
+      const url = window.location.origin + process.env.BASE_API + '/bidding/load?path=' + encodeURIComponent(row)
+      a.href = url
+      a.click()
+    },
+
+    // 字典名称提交动作
+    doSubmit() {
+      this.$refs['form'].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            // 新增字典
+            console.log(this.form)
+            this.loading = true
+            getQueryAdd(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.loading = false
+              this.getDictData()
+              this.$refs['form'].resetFields()
+            }).catch(err => {
+              this.loading = false
+            })
+          } else {
+            // 更新字典
+            getQueryEdit(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.getDictData()
+            })
+          }
+        }
+      })
+    },
+    // 添加字典
+    handleAdd: function(row) {
+      this.dialog = true
+      this.isAdd = true
+      this.form = {}
+      this.fileList = []
+      this.form.tenderLogisticsId = row.logisticsBidId
+      this.form.tenderParentId = this.param.tenderParentId
+      this.form.quantity = row.goodsNumber
+      this.form.goodsName = row.goodsName
+      this.form.transportUnitPrice = row.transportUnitPrice
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+    },
+    // 编辑字典
+    handleEdit: function(row) {
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+      this.dialog = true
+      this.isAdd = false
+      this.form = row.bidding
+      this.form.priceQuotes = row.priceQuotes
+      if (this.form.appendix) {
+        let name = this.form.appendix.split('bidding/')
+        name = name.pop()
+        // let name = data.appendix.replace(/(.*\/)*([^.]+).*/ig, "$2");
+        this.fileList = [{ name: name, url: this.form.appendix }]
+      }
+    },
+    handleClick(row,val){
+      console.log(row,val)
+      if(row.name == "second"){
+       this.$refs.ckTable.tenderParentId = this.param.tenderParentId
+        this.$refs.ckTable.getTenantList()
+      }
+    },
+
+    // 所有标的搜索
+    getParamFexd(){
+      this.param.current = 1
+      this.getParam()
+    },
+    // 所有标的列表数据
+    getParam() {
+      const data = this.param
+      this.tableLoading = true
+      getTenderRaw(data).then((res) => {
+       console.log(this.bidInfo, 'bidInfo')
+        let data = res.data.data.records
+         data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.tenderStatus == 1 || res.tenderStatus == 2){
+             res.status = res.tenderStatus 
+            console.log("我的状态是:" + res.tenderStatus)
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 3
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 5
+            console.log("当前时间大于结束时间,待处理")
+          }
+
+          return res
+        })
+        this.Paramdata = data
+        this.tableLoading = false
+        this.total1 = res.data.data.total
+      })
+    },
+
+    // 换页
+    handleCurrentChange: function(val) {
+      this.currentPage = val
+      this.getDictData()
+    },
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.getDictData()
+    },
+    handleCurrentChangeParam(val) {
+      this.param.current = val
+      this.getParam()
+    },
+    handleSizeChangeParam(val) {
+      this.param.size = val
+      this.getParam()
+    }
+  }
+}
+</script>
+<style scoped lang="scss">
+/* 去掉上传附件时候的过度效果 */
+  ::v-deep .el-upload-list__item{transition: none !important;}
+  ::v-deep .el-textarea__inner{
+  padding-bottom: 36px;
+}
+.btn_fixed{
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  padding: 15px 50px;
+  width: 100%;
+  text-align: right;
+  background: #f5f5f5;
+
+}
+.ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+.paginationParam{
+  // position: fixed;
+  // bottom: 50px;
+  bottom: 0;
+  left: 0;
+  line-height: 80px;
+  width: 100%;
+  // left: 45%;
+  // text-align: right;
+  z-index: 999;
+  background: #fff;
+}
+/deep/ .el-tabs__item{
+  font-size: 16px !important;
+  // padding: 35px  ;
+}
+.el-card {
+  border: 0px solid #fff;
+}
+.clearfix {
+    line-height: 20px;
+    font-size: 18px;
+    font-weight: 600;
+    color: #409EFF;
+}
+/deep/.el-dialog.is-fullscreen {
+
+    background-color: #f5f7f9;
+}
+.box-card{
+  margin-bottom: 20px;
+  .row-bg{
+  padding: 15px 40px 0 40px;
+  .flex_text{
+    line-height: 50px;
+    color: #8C8C8C;
+    font-size: 14px;
+    // border:1px solid red;
+    // font-weight: 600;
+  }
+  .flex_name{
+    font-size: 14px;
+    padding-left: 25px;
+    color: #575757;
+    font-weight: 550;
+  }
+}
+}
+/deep/ .el-card__body{
+  padding: 20px 0;
+}
+/deep/.el-tabs__nav-wrap::after {
+
+    background-color: #dfe4ed00;  
+}
+/deep/ .el-dialog--center .el-dialog__body {
+    text-align: initial;
+    padding: 25px 25px 0px 30px;
+}
+
+/deep/ .el-tabs--border-card{
+  // border-top:1px ;
+  border-bottom: 0px;
+
+ box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.5)
+}
+
+</style>
+

+ 277 - 0
src/views/bid/tender3/dialog.vue

@@ -0,0 +1,277 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <!-- <div>
+      <span style="font-size:14px">货物:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div> -->
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+
+      <el-table-column label="运输方式" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+           <template slot-scope="scope">
+                            <span v-if="scope.row.transportMode == 1">陆运</span>
+                            <!-- <span v-if="scope.row.transportMode == 2">汽运</span> -->
+                            <span v-if="scope.row.transportMode == 2">火车运输</span>
+                            <span v-if="scope.row.transportMode == 3">船运</span>
+                            <span v-if="scope.row.transportMode == 4">汽运/火车运输/船运</span>
+                            <span v-if="scope.row.transportMode == 5">汽运/火车运输</span>
+                            <span v-if="scope.row.transportMode == 6">汽运/船运</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标价格" prop="logisticsBiddingPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="quantity" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="总价" prop="logisticsTotalPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="联系电话" prop="phone" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+       <el-table-column  :show-overflow-tooltip="true" label="包装方式" width="100" align="center">
+        <template slot-scope="scope">
+            <span v-if="scope.row.packingWay == 1">散粮</span> 
+            <span v-if="scope.row.packingWay == 2">袋装</span> 
+            <span v-if="scope.row.packingWay == 3">散装</span> 
+            <span v-if="scope.row.packingWay == 4">集装箱</span> 
+        </template>
+      </el-table-column>
+
+      <el-table-column label="始发车站" prop="departureStation" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的车站" prop="destinationStation" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+       <el-table-column label="状态" align="center" width="100">
+            <template slot-scope="scope">
+            <el-tag effect="plain" v-if="scope.row.biddingStatus == 5">已投递</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==6" type="info">审核中</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==7" type="warning">已中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==8" type="danger">未中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==9" type="danger">已作废</el-tag>
+            </template>
+       </el-table-column>
+      <el-table-column label="投标时间" prop="logisticsBiddingTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="备注" prop="biddingLogisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :popper-class="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsInfo } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: {},
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: '1',
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        isShow:true
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      onshow(){
+          this.isShow = !this.isShow
+      },
+    parseTime,
+    getTenantList: function() {
+        console.log(this.priceData)
+        let tenderLogisticsId =this.priceData.logisticsBidId
+        let current =this.current
+        let size =this.size
+      getLogisticsInfo(tenderLogisticsId,size,current).then(response => {
+        console.log(response)
+        this.loading = false
+         let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 投标时间
+          let startTime = this.priceData.endTime
+
+          const date = new Date(startTime)
+          const start = date.valueOf()         //开始时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          if(res.biddingStatus < 7){
+              console.log("我不满足")
+                if(time < start){
+                    res.biddingStatus = 5
+                    console.log("当前时间小于投标时间,已投递")
+                }else if(time > start){
+                    res.biddingStatus = 6
+                    console.log("当前时间小于投标时间,审核中")
+                }
+          }
+          return res
+        })
+        console.log(data)
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = '1'
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+</style>
+

+ 404 - 0
src/views/bid/tender3/table.vue

@@ -0,0 +1,404 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <div>
+      <span style="font-size:14px">货物名称:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+          <!-- <span style="fontSize:13px;marginLeft:20px">投标时间</span>
+            <el-date-picker
+              v-model="applyDateStart"
+              size="mini"
+              type="datetimerange"
+              style="width: 280px;"
+              range-separator="-"
+              clearable
+              value-format="yyyy-MM-dd HH:mm:ss"
+              :default-time="['00:00:00', '23:59:59']"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+             @change="onApplyDate"
+             @clear="onApplyDate"
+            />
+ -->
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div>
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+          <!-- <el-table-column type="expand" prop="biddingLogisticsInfoList">
+      <template slot-scope="props"> -->
+            <!-- <div  :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" v-if="isShow">
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式: 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 1">陆运</span> 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 2">汽运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 3">火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 4">船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 6">汽运/火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{props.row.biddingLogisticsInfoList[0].quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{props.row.biddingLogisticsInfoList[0].logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{props.row.biddingLogisticsInfoList[0].phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="props.row.biddingLogisticsInfoList[0].packingWay == 1">散粮</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 2">袋装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 3">散装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{props.row.biddingLogisticsInfoList[0].departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{props.row.biddingLogisticsInfoList[0].destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{props.row.biddingLogisticsInfoList[0].logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+          <!-- <div v-for="(item,index) in props.row.biddingLogisticsInfoList" :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" >
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式:
+                            <span v-if="item.transportMode == 1">陆运</span>
+                            <span v-if="item.transportMode == 2">汽运</span>
+                            <span v-if="item.transportMode == 3">火车运输</span>
+                            <span v-if="item.transportMode == 4">船运</span>
+                            <span v-if="item.transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="item.transportMode == 6">汽运/火车运输</span>
+                            <span v-if="item.transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{item.logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{item.quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{item.logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{item.phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="item.packingWay == 1">散粮</span> 
+                           <span v-if="item.packingWay == 2">袋装</span> 
+                           <span v-if="item.packingWay == 3">散装</span> 
+                           <span v-if="item.packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{item.departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{item.destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{item.logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{item.logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+            <!-- <div @click="onshow">{{isShow ?"展开" : "收起"}}</div> -->
+      <!-- </template>
+    </el-table-column> -->
+
+      <el-table-column label="货物" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="goodsNumber" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="始发地" prop="departureName" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的地" prop="destinationName" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="预估距离" prop="predictDistance" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="单价" prop="transportUnitPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="保证金" prop="deposit" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+        <el-table-column label="状态" align="center" width="100">
+      <template slot-scope="scope">
+        <el-tag effect="plain" v-if="scope.row.status ==1">进行中</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==2" type="info">已结束</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==3" type="danger">已作废</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+      </template>
+    </el-table-column>
+      <el-table-column prop="description" :show-overflow-tooltip="true" label="招标规则" width="100" align="center">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.tenderLogisticsRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="scope.row.tenderLogisticsRule == 2" effect="plain" >价高者得</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标开始时间" prop="startTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标结束时间" prop="endTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标备注" prop="logisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+        <el-table-column label="操作" width="150" fixed="right" align="center">
+        <template slot-scope="scope">
+          <!-- <el-button type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == null" slot="reference" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == 0" slot="reference" type="text" icon="el-icon-edit" @click="handleEdit(scope.row)">改标</el-button> -->
+          <el-button  slot="reference" type="text" :disabled="scope.row.status !=1" icon="el-icon-plus" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button  slot="reference" icon="el-icon-view" type="text" @click="handleView(scope.row)">查看更多</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :popper-class="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsList } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: [],
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: '1',
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        // dialogTableVisible:false
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      handleView(row){
+          console.log("我被点击了")
+            this.$emit('change',row)
+        //   this.$parent.dialogTableVisible = true
+      },
+    parseTime,
+    getTenantList: function() {
+      this.loading = true
+      const params = new URLSearchParams()
+      params.append('tenderParentId', this.tenderParentId)
+      params.append('goodsName', this.goodsName)
+      params.append('startTime', this.startTime)
+      params.append('endTime', this.endTime)
+      params.append('current', this.current)
+      params.append('size', this.size)
+      getLogisticsList(params).then(response => {
+        console.log(response)
+        this.loading = false
+          let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = '1'
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+
+</style>
+

+ 851 - 0
src/views/bid/tender3/tender.vue

@@ -0,0 +1,851 @@
+<template>
+    <div>
+          <el-dialog :append-to-body="true" fullscreen :visible.sync="viewDialog" title="" center>
+                  <el-card class="box-card" shadow="nerver">
+                    <div slot="header" class="clearfix">
+                      <span class="topClass">基本信息</span>
+                    </div>
+
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                           标题 : <span class="flex_name"> {{bidInfo.tenderTitle}}</span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                           状态 : <span class="flex_name"> <el-tag effect="plain" v-if="bidInfo.status ==1">进行中</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==2" type="info">已结束</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==3" type="danger">已作废</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==4" type="warning">未开始</el-tag>
+                                </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         招标类型 :  <span class="flex_name"><el-tag v-if="bidInfo.tenderType == 1"  >物流</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 2" >原料</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 3" >销售</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 4" >加工承揽</el-tag>
+                                    </span>
+                       </el-col>
+                    </el-row>
+                     <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                         招标规则 : <span class="flex_name">    <el-tag v-if="bidInfo.tenderRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="bidInfo.tenderRule == 2" effect="plain" >价高者得</el-tag></span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         开始时间 : <span class="flex_name"> {{bidInfo.startTime}} </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         截止时间 :  <span class="flex_name">{{bidInfo.endTime}}
+                                    </span>
+                       </el-col>
+                    </el-row>
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="24" class="flex_text">
+                            备注:<span class="flex_name">{{bidInfo.tenderRemark}}</span>
+                       </el-col>
+                    </el-row>
+                  </el-card>
+                   <el-card class="box-card" shadow="nerver">
+                        <div slot="header" class="clearfix">
+                          <span class="topClass"> 所有标的</span>
+                        </div>
+                      <el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
+                        <el-tab-pane label="标的详情" name="first">
+
+                          <div class="head-container" style="margin: 30px 0 10px 0;">
+                            <span style="fontSize:13px">品种</span>
+                              <el-input
+                                v-model="param.breeds"
+                                clearable
+                                placeholder="请输入产品名称"
+                                style="width: 200px;"
+                                size="small"
+                                class="filter-item"
+                                @keyup.enter.native="getParamFexd"
+                                @clear="getParamFexd"
+                              />
+                            <span style="fontSize:13px">产地</span>
+                              <el-input
+                                v-model="param.comesFrom"
+                                clearable
+                                placeholder="请输入产品名称"
+                                style="width: 200px;"
+                                size="small"
+                                class="filter-item"
+                                @keyup.enter.native="getParamFexd"
+                                @clear="getParamFexd"
+                              />
+                            <!-- <span style="fontSize:13px;marginLeft:20px">交付方式</span>
+                               <el-select v-model="param.deliveryMethod" style="width:200px;" size="small"  @keyup.enter.native="getParamFexd" @clear="getParamFexd" clearable filterable placeholder="请选择交付方式">
+                                  <el-option
+                                    v-for="item in deliveryMethod"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id"
+                                  />
+                                </el-select>
+                            <span style="fontSize:13px;marginLeft:20px">等级</span>
+                              <el-select v-model="param.level" size="small" style="width: 200px;"  @keyup.enter.native="getParamFexd" @clear="getParamFexd" clearable filterable placeholder="请选择等级">
+                                  <el-option
+                                    v-for="item in level"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id"
+                                  />
+                                </el-select> -->
+                            <span style="fontSize:13px;marginLeft:20px">发标时间</span>
+                              <el-date-picker
+                                v-model="applyDateStart"
+                                size="small"
+                                type="datetimerange"
+                                style="width: 400px;"
+                                range-separator="-"
+                                clearable
+                                value-format="yyyy-MM-dd HH:mm:ss"
+                                :default-time="['00:00:00', '23:59:59']"
+                                start-placeholder="开始日期"
+                                end-placeholder="结束日期"
+                              @change="onApplyDate"
+                              @clear="onApplyDate"
+                              />
+                              <div style="text-align: right;margin-right:40px">
+                                   <el-button class="filter-item" style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="getParamFexd">搜索</el-button>
+                              </div>
+                          <div style="height:20px"></div>
+                          <el-table center :data="Paramdata" :header-cell-style="{ background: '#f5f7fa', }" border v-loading="tableLoading" stripe style="width: 100%;">
+
+                            <!-- <el-table-column prop="rawTenderId" width="150" fixed="left" label="标的编号" :show-overflow-tooltip="true" align="center" /> -->
+                            <el-table-column prop="processingCode" width="150" label="标的编码" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="trustBuyLocation"   label="委托收购库点" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="concreteStorageLocation"  width="120"  label="实际存储库点" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="warehouseNumber"   label="仓号" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="comesFrom"   label="产地" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="produceAge"  width="120" label="生产年限" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="breeds"   label="品种" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="level"   label="等级" :show-overflow-tooltip="true" align="center" />
+                             <el-table-column prop="appendix" label="回执" align="center" width="100">
+                                <template slot-scope="scope">
+                                    <el-link v-if="scope.row.receiptPathUrl" :href="'http://view.officeapps.live.com/op/view.aspx?src='+scope.row.receiptPathUrl" type="primary" target="_target"><i class="el-icon-view"></i> 查看</el-link>
+                                </template>
+                              </el-table-column>
+
+                           <el-table-column label="状态" align="center" width="100">
+                            <template slot-scope="scope">
+                             <el-tag effect="plain" v-if="scope.row.status ==3">进行中</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==1" type="info">已结束</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==5" type="info">待处理</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==2" type="danger">已作废</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+                            </template>
+                          </el-table-column>
+
+                           <el-table-column prop="logisticsIsTender" label="是否有人投标" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                <el-tag v-if="scope.row.processingIsTender == 0" type="info">未投标</el-tag>
+                                <el-tag v-if="scope.row.processingIsTender == 1" type="warning">有投标</el-tag>
+                              </template>
+                            </el-table-column>
+                          <el-table-column prop="tenderLogisticsRule" label="中标规则" width="100" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.rule == 1" type="success" effect="plain">价低者得</el-tag>
+                                  <el-tag v-if="scope.row.rule == 2" effect="plain" >价高者得</el-tag>
+                              </template>
+                            </el-table-column>
+                            <el-table-column prop="quantity"  label="数量(吨)" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="nearFutureWater"  label="近期水分%" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="nearFutureImpurity"  label="近期杂质%" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="riceRatio"  label="整精米率%" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="normalLeavingCapacity"  label="承储库日正常出库能力" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="deliveryMethod" label="常用出库方式" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.retrievalWay == 1" >铁路</el-tag>
+                                  <el-tag v-if="scope.row.retrievalWay == 2" >公路</el-tag>
+                                  <el-tag v-if="scope.row.retrievalWay == 3" >水路</el-tag>
+                              </template>
+                            </el-table-column>
+                            <el-table-column prop="leavingCapacityForty" width="100" label="是否具备40吨以上大型运输车辆装车计量能力" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="specialRailwayLine" width="100" label="有无铁路专用线" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="storageFoggy" width="100" label="是否露天储存" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="distanceStation" width="100" label="距最近车站码头距离km" :show-overflow-tooltip="true" align="center" />
+                             <el-table-column prop="deliveryMethod" label="储粮形态" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.storageForm == 1" >包装</el-tag>
+                                  <el-tag v-if="scope.row.storageForm == 2" >散装</el-tag>
+                              </template>
+                            </el-table-column>
+                            <el-table-column prop="sampleLookTime" label="看样日期" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="ifSoothSaveConfirmSample"  label="是否由实际存储库点确认看样单" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="unitPrice" width="100" label="单价(元/吨)" :show-overflow-tooltip="true" align="center" />
+                              <el-table-column prop="deliveryMethod" width="100" label="交付方式" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.deliveryMethod == 1" type="success" effect="plain">自提</el-tag>
+                                  <el-tag v-if="scope.row.deliveryMethod == 2" effect="plain" >送货到厂</el-tag>
+                              </template>
+                            </el-table-column>
+
+                            <el-table-column prop="startTime" width="152" label="起始时间" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="endTime" width="152" label="结束时间" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="createTime" label="创建时间"  width="152" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="remark" label="备注" width="162" :show-overflow-tooltip="true" align="center" />
+                 
+                          </el-table>
+                          <div class="pagination">
+                            <el-pagination
+                              :current-page.sync="param.current"
+                              :page-size="param.size"
+                              layout="total, sizes, prev, pager, next, jumper"
+                              :total="total1"
+                              :page-sizes="[10, 20, 30, 50]"
+                              background
+                              @size-change="handleSizeChangeParam"
+                              @current-change="handleCurrentChangeParam"
+                            />
+                          </div>
+                  <!-- <div style="height:60px"></div> -->
+                    </div>
+
+                </el-tab-pane>
+                <el-tab-pane label="投标详情" name="second">
+                   <!-- <el-card class="box-card" shadow="nerver"> -->
+                      <!-- <div slot="header" class="clearfix">
+                        <span class="topClass">投标详情</span>
+                      </div> -->
+                              <ckTable ref="ckTable" @change="costPlannedAmountChange($event)"></ckTable>
+                   <!-- </el-card> -->
+                </el-tab-pane>
+              </el-tabs>
+             
+                      </el-card>
+          <el-dialog :append-to-body="true" :visible.sync="dialog" :title="isAdd ? '投标' : '修标'" width="50%">
+                      <el-form ref="form" :model="form" :rules="rules1" label-width="80px">
+                        <el-form-item label="货物名称">
+                           <!-- <span>{{form.biddingLogisticsRemark}}</span> -->
+                           <el-tag>{{form.goodsName}}</el-tag>
+                            <!-- <el-input  v-model="form.goodsName" style="width:50%" readonly></el-input> -->
+                        </el-form-item>
+                         <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="始发车站" prop="departureStation">
+                              <el-input v-model="form.departureStation" style="width: 80%;" placeholder="请输入始发车站"></el-input>
+                            </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="目的车站" prop="destinationStation">
+                                <el-input v-model="form.destinationStation" style="width: 80%;" placeholder="请输入目的车站"></el-input>
+                              </el-form-item>
+                          </el-col>
+                         </el-row>
+                        
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="包装方式" prop="packingWay">
+                              <el-select v-model="form.packingWay" style="width: 80%;"  filterable placeholder="请选择包装方式">
+                                  <el-option
+                                    v-for="item in packingWay"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id"
+                                  />
+                                </el-select>
+                            </el-form-item>
+                           </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                           <el-form-item label="运输方式" prop="transportMode">
+                             <el-select v-model="form.transportMode" style="width: 80%;"  filterable placeholder="请选择包装方式">
+                                <el-option
+                                  v-for="item in transportMode"
+                                  :key="item.id"
+                                  :label="item.name"
+                                  :value="item.id"
+                                />
+                              </el-select>
+                           </el-form-item>
+                        </el-col>
+                        </el-row>
+
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="数量" prop="quantity">
+                              <el-input v-model="form.quantity" readonly style="width: 80%;" placeholder="数量"><template slot="append">(吨)</template></el-input>
+                           <!-- <span style="fontSize:16px" effect="plain">{{form.quantity}} (吨)</span> -->
+                            <!-- <el-input v-model="form.quantity" style="width: 80%;" placeholder="请输入数量"></el-input> -->
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="投标价格" prop="logisticsBiddingPrice">
+                              <el-input v-model="form.logisticsBiddingPrice" style="width: 80%;" placeholder="请输入金额"><template slot="append">(吨/元)</template></el-input>
+                              <!-- <el-input v-model="form.logisticsBiddingPrice" @input="onlogistiicsPrice" style="width: 80%;" placeholder="请输入金额"><template slot="append">(吨/元)</template></el-input> -->
+                              <!-- <div style="color:#909399;fontSize:15px"> * <span style="color:#909399;fontSize:13px;position: relative;top:-5px">最大价格 {{form.transportUnitPrice}} </span> </div> -->
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+
+                            <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="合计" prop="quantity">
+                              <el-input  :value="form.logisticsBiddingPrice ? (form.quantity *form.logisticsBiddingPrice).toFixed(4) : 0" readonly style="width: 80%;" placeholder="请输入金额"><template slot="append">(元)</template></el-input>
+                           <!-- <span style="fontSize:16px"  effect="plain">{{}} (吨/元)</span> -->
+                           <!-- <el-tag  style="fontSize:14px"  effect="plain">{{form.logisticsBiddingPrice=="NAN" ? (form.quantity *form.logisticsBiddingPrice).toFixed(4) : 0}} (吨/元)</el-tag> -->
+                            <!-- <el-input v-model="form.quantity" style="width: 80%;" placeholder="请输入数量"></el-input> -->
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                               <el-form-item label="上传凭证" >
+                              <el-upload
+                                  class="upload-demo"
+                                  :limit="1"
+                                  :on-preview="handlePreview"
+                                  :on-change="handleChange"
+                                  :on-remove="handleRemove"
+                                  :before-remove="beforeRemove"
+                                  :on-exceed="handleExceed"
+                                  :action="BASE_API+'/common/bidding/voucher'"
+                                  name="multipartFile"
+                                  list-type="text"
+                                  :file-list="fileList"
+                                  multiple
+                                >
+                                    <el-button class="el-icon-upload" >上传凭证</el-button>
+                                </el-upload>
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="联系电话" prop="phone">
+                            <el-input v-model="form.phone" style="width: 80%;" placeholder="请输入联系电话"></el-input>
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="备注" prop="biddingLogisticsRemark">
+                                <el-input
+                                  v-model="form.biddingLogisticsRemark"
+                                  type="textarea"
+                                  style="width: 93%;"
+                                  :autosize="{ minRows: 2, maxRows: 10}"
+                                  maxlength="500"
+                                  show-word-limit
+                                  placeholder="请输入内容"
+                                />
+                              </el-form-item>
+                          </el-col>
+                        </el-row>
+                      </el-form>
+                      <div slot="footer" class="dialog-footer">
+                        <el-button @click="dialog = false">取消</el-button>
+                        <el-button :loading="loading" type="primary" @click="doSubmit">确认</el-button>
+                      </div>
+                    </el-dialog>
+            
+                   <div slot="footer" class="paginationParam" style="paddingRight:">
+                    <!-- <el-button @click="viewDialog = false">取消</el-button> -->
+                    <el-button :loading="loading" type="primary" @click="viewDialog = false">返回</el-button>
+                  </div>
+
+                         <el-dialog :title="goodsName" width="90%" center :visible.sync="dialogTableVisible" append-to-body>
+                               <ckDialog ref="ckDialog"></ckDialog>
+                          </el-dialog>
+
+    </el-dialog>
+    </div>
+</template>
+
+<script>
+
+import {  getTenderProcessing } from '@/api/bid'
+import { Notification, MessageBox } from 'element-ui'
+
+import ckTable from './table.vue'
+import ckDialog from './dialog.vue'
+export default {
+   components:{
+    ckTable,
+    ckDialog
+  },
+  data() {
+    const checkTel = (rule, value, callback) => {
+      if (value == null) {
+        callback(new Error('请选择附件'))
+      } else {
+        callback()
+      }
+    }
+    return {
+      form: {
+      },
+      data: [{}],
+      active:0,
+      BASE_API: process.env.BASE_API,
+      dialog: false,
+      loading: false,
+      delLoading: false,
+      tableLoading:false,
+      viewDialog: false,
+      isAdd: false,
+      currentPage: 1,
+      pageSize: 10,
+      total: 0, // 总数量
+      rules1:{
+        departureStation:[
+          { required: true, message: '始发车站不为空', trigger: 'blur' },
+        ],
+         destinationStation:[
+          { required: true, message: '目的车站不为空', trigger: 'blur' },
+        ],
+         logisticsBiddingPrice:[
+          { required: true, message: '投标价格不为空', trigger: 'blur' },
+        ],
+         packingWay:[
+          { required: true, message: '包装方式不为空', trigger: 'blur' },
+        ],
+         phone:[
+          { required: true, message: '联系电话不为空', trigger: 'blur' },
+        ],
+         transportMode:[
+          { required: true, message: '运输方式不为空', trigger: 'blur' },
+        ],
+      },
+      rules: {
+
+        price: [
+          { required: true, message: '报价金额不为空', trigger: 'blur' },
+        ],
+        appendix: [
+          // { type:"array",required: true, message: '附件不为空', trigger: 'blur' },
+          { validator: checkTel, trigger: 'blur' }
+        ]
+      },
+      query: {
+        type: '',
+        value: '',
+         tenderRule:"",
+        tenderType:"",
+        startTime:"",
+        endTime:""
+      },
+      fileList: [],
+      param: {
+        current: 1,
+        size: 10
+      },
+      total1: 0,
+      Paramdata: [],
+      applyDateStart:[],
+      dialogTableData:[],
+       level:[
+        {id:1,name:"二级"},
+        {id:2,name:"三级"},
+
+      ],
+      deliveryMethod:[
+        {id:1,name:"自提"},
+        {id:2,name:"送货到厂"},
+      ],
+      packingWay:[],
+      transportMode:[
+        {id:1,name:"陆运"},
+        {id:2,name:"火车运输"},
+        {id:3,name:"船运"},
+        {id:4,name:"汽运/火车运输/船运"},
+        {id:5,name:"汽运/火车运输"},
+        {id:6,name:"汽运/船运"},
+      ],
+       activeName: 'first',
+       dialogTableVisible:false,
+       goodsName:"",
+       bidInfo:{}
+    }
+  },
+  created() {
+    // this.getDictData()
+  },
+  methods: {
+    // 投标详情 向父元素传递数据
+    costPlannedAmountChange(val){
+      console.log(val)
+ 
+      this.dialogTableVisible = true
+      setTimeout(() => {
+        this.goodsName = val.goodsName
+       this.$refs.ckDialog.priceData = val
+      this.$refs.ckDialog.getTenantList()
+        console.log(this.$refs.ckDialog)
+      }, 300);
+    },
+    // 价格投标不能大于合计
+    onlogistiicsPrice(val){
+      console.log(val)
+       if(val>this.form.transportUnitPrice){
+         this.form.logisticsBiddingPrice = this.form.transportUnitPrice
+         console.log("我是大于")
+       }
+       if(val.indexOf('.') !== -1 && val == '.'){
+         this.form.logisticsBiddingPrice =0
+       }
+       if(val== "+" || val== "-"){
+         this.form.logisticsBiddingPrice = 0
+       }
+       if(val<0){
+         this.form.logisticsBiddingPrice = 0
+       }
+    },
+    onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.param.startTime =this.applyDateStart[0]
+              this.param.endTime = this.applyDateStart[1]
+            }else{
+              this.param.startTime =""
+              this.param.endTime =""
+            }
+
+      this.getParamFexd()
+    },
+    next() {
+      console.log(this.$refs.ckTable)
+        if (this.active++ > 2) this.active = 0;
+        this.dialogTableData = this.$refs.ckTable.SelectionList
+      },
+      handleSelectionChange(row){
+        
+      },
+    // 获取详情
+    getDictData: function() {
+      this.loading = true
+        const params = new URLSearchParams()
+      params.append('current', this.currentPage)
+      params.append('size', this.pageSize)
+      params.append('tenderType', this.query.tenderType)
+      params.append('tenderTitle', this.query.value)
+      params.append('tenderRule', this.query.tenderRule)
+      params.append('startTime',this.query.startTime )
+      params.append('endTime', this.query.endTime)
+
+      getTableList(params).then(res => {
+          console.log(res)
+        // this.data = res.data.data.records
+        let data = res.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.data = data
+        this.total = res.data.data.total
+        this.loading = false
+      })
+    },
+
+    // 搜索
+    handleFind: function() {
+      this.currentPage = 1
+      this.getDictData()
+    },
+
+    // 文件移除的时候
+    handleRemove(file, fileList) {
+      this.form.voucherFile = ''
+      console.log(file, fileList, this.fileList, '移出')
+    },
+    // 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
+    handleChange(file, fileList) {
+      console.log(file, fileList, '上传')
+      if (file.response) {
+        console.log(file.response, 'file')
+        if (file.response.code == '200') {
+          this.form.voucherFile = file.response.data.filePath
+        } else {
+          Notification.error({
+            title: file.response.msg,
+            duration: 1000
+          })
+          this.fileList = []
+        }
+      }
+    },
+    // 点击文件列表中已上传的文件时的钩子
+    handlePreview(file) {
+      console.log(file, 'file1')
+      // window.location.href = file.url
+    },
+    handleExceed(files, fileList) {
+      this.$message.warning(`当前限制选择 1 个附件,本次选择了 ${files.length} 个文件`)
+    },
+    beforeRemove(file, fileList) {
+      return this.$confirm(`确定移除 ${file.name}?`)
+    },
+    // 下载
+    onLoad(row) {
+      // const params = new URLSearchParams()
+      // params.append('path', row)
+      const a = document.createElement('a')
+      // a.href= /bidding/load
+      const url = window.location.origin + process.env.BASE_API + '/bidding/load?path=' + encodeURIComponent(row)
+      a.href = url
+      a.click()
+    },
+
+    // 字典名称提交动作
+    doSubmit() {
+      this.$refs['form'].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            // 新增字典
+            console.log(this.form)
+            this.loading = true
+            getQueryAdd(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.loading = false
+              this.getDictData()
+              this.$refs['form'].resetFields()
+            }).catch(err => {
+              this.loading = false
+            })
+          } else {
+            // 更新字典
+            getQueryEdit(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.getDictData()
+            })
+          }
+        }
+      })
+    },
+    // 添加字典
+    handleAdd: function(row) {
+      this.dialog = true
+      this.isAdd = true
+      this.form = {}
+      this.fileList = []
+      this.form.tenderLogisticsId = row.logisticsBidId
+      this.form.tenderParentId = this.param.tenderParentId
+      this.form.quantity = row.goodsNumber
+      this.form.goodsName = row.goodsName
+      this.form.transportUnitPrice = row.transportUnitPrice
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+    },
+    // 编辑字典
+    handleEdit: function(row) {
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+      this.dialog = true
+      this.isAdd = false
+      this.form = row.bidding
+      this.form.priceQuotes = row.priceQuotes
+      if (this.form.appendix) {
+        let name = this.form.appendix.split('bidding/')
+        name = name.pop()
+        // let name = data.appendix.replace(/(.*\/)*([^.]+).*/ig, "$2");
+        this.fileList = [{ name: name, url: this.form.appendix }]
+      }
+    },
+    handleClick(row,val){
+      console.log(row,val)
+      if(row.name == "second"){
+       this.$refs.ckTable.tenderParentId = this.param.tenderParentId
+        this.$refs.ckTable.getTenantList()
+      }
+    },
+
+    // 所有标的搜索
+    getParamFexd(){
+      this.param.current = 1
+      this.getParam()
+    },
+    // 所有标的列表数据
+    getParam() {
+      const data = this.param
+      this.tableLoading = true
+      getTenderProcessing(data).then((res) => {
+       console.log(this.bidInfo, 'bidInfo')
+        let data = res.data.data.records
+         data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.tenderStatus == 1 || res.tenderStatus == 2){
+             res.status = res.tenderStatus 
+            console.log("我的状态是:" + res.tenderStatus)
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 3
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 5
+            console.log("当前时间大于结束时间,待处理")
+          }
+
+          return res
+        })
+        this.Paramdata = data
+        this.tableLoading = false
+        this.total1 = res.data.data.total
+      })
+    },
+
+    // 换页
+    handleCurrentChange: function(val) {
+      this.currentPage = val
+      this.getDictData()
+    },
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.getDictData()
+    },
+    handleCurrentChangeParam(val) {
+      this.param.current = val
+      this.getParam()
+    },
+    handleSizeChangeParam(val) {
+      this.param.size = val
+      this.getParam()
+    }
+  }
+}
+</script>
+<style scoped lang="scss">
+/* 去掉上传附件时候的过度效果 */
+  ::v-deep .el-upload-list__item{transition: none !important;}
+  ::v-deep .el-textarea__inner{
+  padding-bottom: 36px;
+}
+.btn_fixed{
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  padding: 15px 50px;
+  width: 100%;
+  text-align: right;
+  background: #f5f5f5;
+
+}
+.ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+.paginationParam{
+  // position: fixed;
+  // bottom: 50px;
+  bottom: 0;
+  left: 0;
+  line-height: 80px;
+  width: 100%;
+  // left: 45%;
+  // text-align: right;
+  z-index: 999;
+  background: #fff;
+}
+/deep/ .el-tabs__item{
+  font-size: 16px !important;
+  // padding: 35px  ;
+}
+.el-card {
+  border: 0px solid #fff;
+}
+.clearfix {
+    line-height: 20px;
+    font-size: 18px;
+    font-weight: 600;
+    color: #409EFF;
+}
+/deep/.el-dialog.is-fullscreen {
+
+    background-color: #f5f7f9;
+}
+.box-card{
+  margin-bottom: 20px;
+  .row-bg{
+  padding: 15px 40px 0 40px;
+  .flex_text{
+    line-height: 50px;
+    color: #8C8C8C;
+    font-size: 14px;
+    // border:1px solid red;
+    // font-weight: 600;
+  }
+  .flex_name{
+    font-size: 14px;
+    padding-left: 25px;
+    color: #575757;
+    font-weight: 550;
+  }
+}
+}
+/deep/ .el-card__body{
+  padding: 20px 0;
+}
+/deep/.el-tabs__nav-wrap::after {
+
+    background-color: #dfe4ed00;  
+}
+/deep/ .el-dialog--center .el-dialog__body {
+    text-align: initial;
+    padding: 25px 25px 0px 30px;
+}
+
+/deep/ .el-tabs--border-card{
+  // border-top:1px ;
+  border-bottom: 0px;
+
+ box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.5)
+}
+
+</style>
+

+ 69 - 294
src/views/tender/index.vue

@@ -24,7 +24,7 @@
         />
       </el-select> -->
 
-        <span style="fontSize:13px;marginLeft:20px">招标规则</span>
+        <!-- <span style="fontSize:13px;marginLeft:20px">招标规则</span>
       <el-select v-model="query.tenderRule" style="width: 200px;" @keyup.enter.native="handleFind" @clear="handleFind" size="small" clearable  value-key="areaId" filterable placeholder="请选择招标规则">
         <el-option
           v-for="item in tenderRule"
@@ -32,7 +32,7 @@
           :label="item.name"
           :value="item.id"
         />
-      </el-select>
+      </el-select> -->
 
     <span style="fontSize:13px;marginLeft:20px">创建时间</span>
             <el-date-picker
@@ -54,7 +54,7 @@
            <el-button class="filter-item" size="small" type="primary" icon="el-icon-search"  @click="handleFind">搜索</el-button>
       </div>
     <!--表格渲染-->
-    <el-table v-loading="loading" :data="data" style="width: 100%;">
+    <el-table v-loading="tableLoading" :data="data" style="width: 100%;">
       <el-table-column label="序号" fixed="left" width="60" align="center">
         <template slot-scope="scope">
           <span>{{ scope.$index + 1 }}</span>
@@ -92,13 +92,11 @@
           <el-tag v-if="scope.row.isInvalid == 2" type="danger" >已作废</el-tag>
         </template>
       </el-table-column> -->
-      <el-table-column prop="fileUrl" label="附件" align="center" width="200">
+      <!-- <el-table-column prop="fileUrl" label="附件" align="center" width="200">
         <template slot-scope="scope">
-          <!-- <el-button type="text" @click="onLoad(scope.row.appendix)">下载</el-button> -->
-          <!-- <el-link :href="'http://view.officeapps.live.com/op/view.aspx?src='+scope.row.fileUrl" type="primary" target="_target"><i class="el-icon-view"></i> 查看</el-link> -->
           <el-link :href="scope.row.fileUrl" type="primary" target="_target"><i class="el-icon-download"></i> 下载</el-link>
         </template>
-      </el-table-column>
+      </el-table-column> -->
       <el-table-column prop="startTime" label="开始时间" align="center" width="160" />
       <el-table-column prop="endTime" label="截止时间" align="center" width="160" />
       <el-table-column prop="tenderRemark" label="备注" :show-overflow-tooltip="true" align="center" />
@@ -129,273 +127,14 @@
     <!-- 投标详情 -->
       <!-- 详情 -->
     <div class="goodsNameCss">
-          <el-dialog :append-to-body="true" fullscreen :visible.sync="viewDialog" title="" center>
-                  <el-card class="box-card" shadow="nerver">
-                    <div slot="header" class="clearfix">
-                      <span class="topClass">基本信息</span>
-                    </div>
-
-                    <el-row type="flex" class="row-bg">
-                       <el-col :span="8" class="flex_text">
-                           标题 : <span class="flex_name"> {{bidInfo.tenderTitle}}</span>
-                       </el-col>
-                         <el-col :span="8" class="flex_text">
-                           状态 : <span class="flex_name"> <el-tag effect="plain" v-if="bidInfo.status ==1">进行中</el-tag>
-                                <el-tag effect="plain" v-if="bidInfo.status ==2" type="info">已结束</el-tag>
-                                <el-tag effect="plain" v-if="bidInfo.status ==3" type="danger">已作废</el-tag>
-                                <el-tag effect="plain" v-if="bidInfo.status ==4" type="warning">未开始</el-tag>
-                                </span>
-                       </el-col>
-                         <el-col :span="8" class="flex_text">
-                         招标类型 :  <span class="flex_name"><el-tag v-if="bidInfo.tenderType == 1"  >物流</el-tag>
-                                    <el-tag v-if="bidInfo.tenderType == 2" >原料</el-tag>
-                                    <el-tag v-if="bidInfo.tenderType == 3" >销售</el-tag>
-                                    <el-tag v-if="bidInfo.tenderType == 4" >加工承揽</el-tag>
-                                    </span>
-                       </el-col>
-                    </el-row>
-                     <el-row type="flex" class="row-bg">
-                       <el-col :span="8" class="flex_text">
-                         招标规则 : <span class="flex_name">    <el-tag v-if="bidInfo.tenderRule == 1" type="success" effect="plain">价低者得</el-tag>
-          <el-tag v-if="bidInfo.tenderRule == 2" effect="plain" >价高者得</el-tag></span>
-                       </el-col>
-                         <el-col :span="8" class="flex_text">
-                         开始时间 : <span class="flex_name"> {{bidInfo.startTime}} </span>
-                       </el-col>
-                         <el-col :span="8" class="flex_text">
-                         截止时间 :  <span class="flex_name">{{bidInfo.endTime}}
-                                    </span>
-                       </el-col>
-                    </el-row>
-                    <el-row type="flex" class="row-bg">
-                       <el-col :span="24" class="flex_text">
-                            备注:<span class="flex_name">{{bidInfo.tenderRemark}}</span>
-                       </el-col>
-                    </el-row>
-                  </el-card>
-                   <el-card class="box-card" shadow="nerver">
-                        <div slot="header" class="clearfix">
-                          <span class="topClass"> 所有标的</span>
-                        </div>
-                      <el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
-                        <el-tab-pane label="标的详情" name="first">
-
-                          <div class="head-container" style="margin: 30px 0 10px 0;">
-                            <span style="fontSize:13px">货物名称</span>
-                              <el-input
-                                v-model="param.goodsName"
-                                clearable
-                                placeholder="请输入货物名称"
-                                style="width: 200px;"
-                                size="small"
-                                class="filter-item"
-                                @keyup.enter.native="getParam"
-                                @clear="getParam"
-                              />
-
-                          <el-button class="filter-item" style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="getParam">搜索</el-button>
-                          <div style="height:20px"></div>
-                          <el-table center :data="Paramdata" :header-cell-style="{ background: '#f5f7fa', }" border v-loading="tableLoading" stripe style="width: 100%;">
-
-                            <el-table-column prop="goodsName" fixed="left" label="货品名称" :show-overflow-tooltip="true" align="center" />
-                            <el-table-column prop="goodsNumber"  label="数量(吨)" :show-overflow-tooltip="true" align="center" />
-                            <el-table-column prop="departureName"  label="始发地" :show-overflow-tooltip="true" align="center" />
-                            <el-table-column prop="destinationName" label="目的地" :show-overflow-tooltip="true" align="center" />
-                            <el-table-column prop="predictDistance" label="预估运输距离(公里/海里)" width="128" :show-overflow-tooltip="true" align="center" />
-                            <el-table-column prop="transportUnitPrice" label="运输单价含税价(元/吨)"  width="120" :show-overflow-tooltip="true" align="center" />
-                            <el-table-column prop="appendix" label="附件" align="center" width="100">
-                                <template slot-scope="scope">
-                                    <el-link v-if="scope.row.receiptPathUrl" :href="'http://view.officeapps.live.com/op/view.aspx?src='+scope.row.receiptPathUrl" type="primary" target="_target"><i class="el-icon-view"></i> 查看</el-link>
-                                </template>
-                              </el-table-column>
-                                <el-table-column label="状态" align="center" width="100">
-                            <template slot-scope="scope">
-                              <el-tag effect="plain" v-if="scope.row.status ==1">进行中</el-tag>
-                              <el-tag effect="plain" v-if="scope.row.status ==2" type="info">已结束</el-tag>
-                              <el-tag effect="plain" v-if="scope.row.status ==3" type="danger">已作废</el-tag>
-                              <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
-                            </template>
-                          </el-table-column>
-                            <!-- <el-table-column prop="logisticsIsTender" label="是否有人投标" :show-overflow-tooltip="true" align="center" >
-                              <template slot-scope="scope">
-                                <el-tag v-if="scope.row.logisticsIsTender == 0" type="warning">未投标</el-tag>
-                                <el-tag v-if="scope.row.logisticsIsTender == 1" type="warning">有投标</el-tag>
-                              </template>
-                            </el-table-column> -->
-                            <el-table-column prop="tenderLogisticsRule" label="中标规则" :show-overflow-tooltip="true" align="center" >
-                              <template slot-scope="scope">
-                                  <el-tag v-if="scope.row.tenderLogisticsRule == 1" type="success" effect="plain">价低者得</el-tag>
-                                  <el-tag v-if="scope.row.tenderLogisticsRule == 2" effect="plain" >价高者得</el-tag>
-                              </template>
-                            </el-table-column>
-                            <el-table-column prop="startTime" label="起始时间"  width="152" :show-overflow-tooltip="true" align="center" />
-                            <el-table-column prop="endTime" label="结束时间"  width="152" :show-overflow-tooltip="true" align="center" />
-                            <el-table-column prop="createTime" label="创建时间"  width="152" :show-overflow-tooltip="true" align="center" />
-                            <el-table-column prop="logisticsRemark" label="备注" width="162" :show-overflow-tooltip="true" align="center" />
-                            <el-table-column label="操作" width="150" align="center" fixed="right">
-                                <template slot-scope="scope">
-                                  <el-button  slot="reference" type="text" :disabled="scope.row.status !=1" icon="el-icon-plus" @click="handleAdd(scope.row)">投标</el-button>
-                                </template>
-                              </el-table-column>
-                          </el-table>
-                          <div class="pagination">
-                            <el-pagination
-                              :current-page.sync="param.current"
-                              :page-size="param.size"
-                              layout="total, sizes, prev, pager, next, jumper"
-                              :total="total1"
-                              :page-sizes="[10, 20, 30, 50]"
-                              background
-                              @size-change="handleSizeChangeParam"
-                              @current-change="handleCurrentChangeParam"
-                            />
-                          </div>
-                  <!-- <div style="height:60px"></div> -->
-                    </div>
-
-                </el-tab-pane>
-                <el-tab-pane label="投标详情" name="second">
-                   <!-- <el-card class="box-card" shadow="nerver"> -->
-                      <!-- <div slot="header" class="clearfix">
-                        <span class="topClass">投标详情</span>
-                      </div> -->
-                              <ckTable ref="ckTable" @change="costPlannedAmountChange($event)"></ckTable>
-                   <!-- </el-card> -->
-                </el-tab-pane>
-              </el-tabs>
-             
-                      </el-card>
-          <el-dialog :append-to-body="true" :visible.sync="dialog" :title="isAdd ? '投标' : '修标'" width="50%">
-                      <el-form ref="form" :model="form" :rules="rules1" label-width="80px">
-                        <el-form-item label="货物名称">
-                           <!-- <span>{{form.biddingLogisticsRemark}}</span> -->
-                           <el-tag>{{form.goodsName}}</el-tag>
-                            <!-- <el-input  v-model="form.goodsName" style="width:50%" readonly></el-input> -->
-                        </el-form-item>
-                         <el-row :gutter="20">
-                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
-                            <el-form-item label="始发车站" prop="departureStation">
-                              <el-input v-model="form.departureStation" style="width: 80%;" placeholder="请输入始发车站"></el-input>
-                            </el-form-item>
-                          </el-col>
-                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
-                             <el-form-item label="目的车站" prop="destinationStation">
-                                <el-input v-model="form.destinationStation" style="width: 80%;" placeholder="请输入目的车站"></el-input>
-                              </el-form-item>
-                          </el-col>
-                         </el-row>
-                        
-                        <el-row :gutter="20">
-                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
-                            <el-form-item label="包装方式" prop="packingWay">
-                              <el-select v-model="form.packingWay" style="width: 80%;"  filterable placeholder="请选择包装方式">
-                                  <el-option
-                                    v-for="item in packingWay"
-                                    :key="item.id"
-                                    :label="item.name"
-                                    :value="item.id"
-                                  />
-                                </el-select>
-                            </el-form-item>
-                           </el-col>
-                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
-                           <el-form-item label="运输方式" prop="transportMode">
-                             <el-select v-model="form.transportMode" style="width: 80%;"  filterable placeholder="请选择包装方式">
-                                <el-option
-                                  v-for="item in transportMode"
-                                  :key="item.id"
-                                  :label="item.name"
-                                  :value="item.id"
-                                />
-                              </el-select>
-                           </el-form-item>
-                        </el-col>
-                        </el-row>
-
-                        <el-row :gutter="20">
-                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
-                          <el-form-item label="数量" prop="quantity">
-                              <el-input v-model="form.quantity" readonly style="width: 80%;" placeholder="数量"><template slot="append">(吨)</template></el-input>
-                           <!-- <span style="fontSize:16px" effect="plain">{{form.quantity}} (吨)</span> -->
-                            <!-- <el-input v-model="form.quantity" style="width: 80%;" placeholder="请输入数量"></el-input> -->
-                          </el-form-item>
-                          </el-col>
-                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
-                            <el-form-item label="投标价格" prop="logisticsBiddingPrice">
-                              <el-input v-model="form.logisticsBiddingPrice" @input="onlogistiicsPrice" style="width: 80%;" placeholder="请输入金额"><template slot="append">(吨/元)</template></el-input>
-                              <div style="color:#909399;fontSize:15px"> * <span style="color:#909399;fontSize:13px;position: relative;top:-5px">最大价格 {{form.transportUnitPrice}} </span> </div>
-                            </el-form-item>
-                          </el-col>
-                        </el-row>
-
-                            <el-row :gutter="20">
-                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
-                          <el-form-item label="合计" prop="quantity">
-                              <el-input  :value="form.logisticsBiddingPrice ? (form.quantity *form.logisticsBiddingPrice).toFixed(4) : 0" readonly style="width: 80%;" placeholder="请输入金额"><template slot="append">(元)</template></el-input>
-                           <!-- <span style="fontSize:16px"  effect="plain">{{}} (吨/元)</span> -->
-                           <!-- <el-tag  style="fontSize:14px"  effect="plain">{{form.logisticsBiddingPrice=="NAN" ? (form.quantity *form.logisticsBiddingPrice).toFixed(4) : 0}} (吨/元)</el-tag> -->
-                            <!-- <el-input v-model="form.quantity" style="width: 80%;" placeholder="请输入数量"></el-input> -->
-                          </el-form-item>
-                          </el-col>
-                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
-                               <el-form-item label="上传凭证" >
-                              <el-upload
-                                  class="upload-demo"
-                                  :limit="1"
-                                  :on-preview="handlePreview"
-                                  :on-change="handleChange"
-                                  :on-remove="handleRemove"
-                                  :before-remove="beforeRemove"
-                                  :on-exceed="handleExceed"
-                                  :action="BASE_API+'/common/bidding/voucher'"
-                                  name="multipartFile"
-                                  list-type="text"
-                                  :file-list="fileList"
-                                  multiple
-                                >
-                                    <el-button class="el-icon-upload" >上传凭证</el-button>
-                                </el-upload>
-                            </el-form-item>
-                          </el-col>
-                        </el-row>
-
-                        <el-row :gutter="20">
-                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
-                          <el-form-item label="联系电话" prop="phone">
-                            <el-input v-model="form.phone" style="width: 80%;" placeholder="请输入联系电话"></el-input>
-                          </el-form-item>
-                          </el-col>
-                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
-                             <el-form-item label="备注" prop="biddingLogisticsRemark">
-                                <el-input
-                                  v-model="form.biddingLogisticsRemark"
-                                  type="textarea"
-                                  style="width: 93%;"
-                                  :autosize="{ minRows: 2, maxRows: 10}"
-                                  maxlength="500"
-                                  show-word-limit
-                                  placeholder="请输入内容"
-                                />
-                              </el-form-item>
-                          </el-col>
-                        </el-row>
-                      </el-form>
-                      <div slot="footer" class="dialog-footer">
-                        <el-button @click="dialog = false">取消</el-button>
-                        <el-button :loading="loading" type="primary" @click="doSubmit">确认</el-button>
-                      </div>
-                    </el-dialog>
-            
-                   <div slot="footer" class="paginationParam" style="paddingRight:">
-                    <!-- <el-button @click="viewDialog = false">取消</el-button> -->
-                    <el-button :loading="loading" type="primary" @click="viewDialog = false">返回</el-button>
-                  </div>
-
-                         <el-dialog :title="goodsName" width="90%" center :visible.sync="dialogTableVisible" append-to-body>
-                               <ckDialog ref="ckDialog"></ckDialog>
-                          </el-dialog>
-
-    </el-dialog>
+      <!-- 物流 -->
+          <ckTender ref="ckTender"></ckTender>
+      <!-- 销售 -->
+          <ckTender1 ref="ckTender1"></ckTender1>
+        <!-- 原料 -->
+          <ckTender2 ref="ckTender2"></ckTender2>
+        <!-- 生产加工 -->
+          <ckTender3 ref="ckTender3"></ckTender3>
     </div>
 
   </div>
@@ -405,13 +144,18 @@
 <script>
 import { getTableList, getQueryAdd, getQueryEdit, getQueryId } from '@/api/tender'
 import { Notification, MessageBox } from 'element-ui'
-import ckTable from './table.vue'
-import ckDialog from './dialog.vue'
+
+import ckTender from "./tender/tender.vue"
+import ckTender1 from "./tender1/tender.vue"
+import ckTender2 from "./tender2/tender.vue"
+import ckTender3 from "./tender3/tender.vue"
 
 export default {
   components:{
-    ckTable,
-    ckDialog
+    ckTender,
+    ckTender1,
+    ckTender2,
+    ckTender3,
   },
   data() {
     const checkTel = (rule, value, callback) => {
@@ -424,9 +168,10 @@ export default {
     return {
       form: {
       },
-      data: [{}],
+      data: [],
       active:0,
       BASE_API: process.env.BASE_API,
+      tableLoading:false,
       dialog: false,
       loading: false,
       delLoading: false,
@@ -445,9 +190,7 @@ export default {
          logisticsBiddingPrice:[
           { required: true, message: '投标价格不为空', trigger: 'blur' },
         ],
-         packingWay:[
-          { required: true, message: '包装方式不为空', trigger: 'blur' },
-        ],
+  
          phone:[
           { required: true, message: '联系电话不为空', trigger: 'blur' },
         ],
@@ -495,8 +238,8 @@ export default {
       ],
       transportMode:[
         {id:1,name:"陆运"},
-        {id:2,name:"汽运"},
-        {id:3,name:"火车运输"},
+        {id:2,name:"火车运输"},
+        {id:3,name:"船运"},
         {id:4,name:"汽运/火车运输/船运"},
         {id:5,name:"汽运/火车运输"},
         {id:6,name:"汽运/船运"},
@@ -738,17 +481,49 @@ export default {
       }
     },
     handleView(row) {
-      this.param.tenderParentId = row.tenderParentId
-      this.bidInfo = row
-      // this.$refs.ckTable.tenderParentId = row.tenderParentId
-      this.param.current = 1
-      this.getParam()
-      setTimeout(() => {
-        console.log(this.$refs.ckTable.tenderParentId,"1234")
-       this.$refs.ckTable.tenderParentId = row.tenderParentId
-        this.$refs.ckTable.getTenantList()
+      let tenderType = row.tenderType
+      console.log(row.tenderType,"tenderType")
+      if(tenderType == 1){
+        this.$refs.ckTender.viewDialog = true
+         setTimeout(() => {
+            this.$refs.ckTender.activeName="first"
+            this.$refs.ckTender.param.tenderParentId = row.tenderParentId
+            this.$refs.ckTender.bidInfo = row
+            this.$refs.ckTender.param.current = 1
+            this.$refs.ckTender.getParam()
+            console.log("物流")
+      }, 300);
+      }else if(tenderType == 2){
+         this.$refs.ckTender2.viewDialog = true
+         setTimeout(() => {
+            this.$refs.ckTender2.activeName="first"
+            this.$refs.ckTender2.param.tenderParentId = row.tenderParentId
+            this.$refs.ckTender2.bidInfo = row
+            this.$refs.ckTender2.param.current = 1
+            this.$refs.ckTender2.getParam()
+         }, 300);
+        console.log("原料")
+      }else if(tenderType == 3){
+        this.$refs.ckTender1.viewDialog = true
+         setTimeout(() => {
+            this.$refs.ckTender1.activeName="first"
+            this.$refs.ckTender1.param.tenderParentId = row.tenderParentId
+            this.$refs.ckTender1.bidInfo = row
+            this.$refs.ckTender1.param.current = 1
+            this.$refs.ckTender1.getParam()
       }, 300);
-      this.viewDialog = true
+        console.log("销售")
+      }else if(tenderType == 4){
+        this.$refs.ckTender3.viewDialog = true
+         setTimeout(() => {
+            this.$refs.ckTender3.activeName="first"
+            this.$refs.ckTender3.param.tenderParentId = row.tenderParentId
+            this.$refs.ckTender3.bidInfo = row
+            this.$refs.ckTender3.param.current = 1
+            this.$refs.ckTender3.getParam()
+      }, 300);
+        console.log("加工承揽")
+      }
     },
     getParam() {
       const data = this.param

+ 280 - 0
src/views/tender/tender/dialog.vue

@@ -0,0 +1,280 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <!-- <div>
+      <span style="font-size:14px">货物:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div> -->
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+
+      <el-table-column label="运输方式" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+           <template slot-scope="scope">
+                            <span v-if="scope.row.transportMode == 1">陆运</span>
+                            <!-- <span v-if="scope.row.transportMode == 2">汽运</span> -->
+                            <span v-if="scope.row.transportMode == 2">火车运输</span>
+                            <span v-if="scope.row.transportMode == 3">船运</span>
+                            <span v-if="scope.row.transportMode == 4">汽运/火车运输/船运</span>
+                            <span v-if="scope.row.transportMode == 5">汽运/火车运输</span>
+                            <span v-if="scope.row.transportMode == 6">汽运/船运</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标价格" prop="logisticsBiddingPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="quantity" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="总价" prop="logisticsTotalPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="联系电话" prop="phone" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+       <el-table-column  :show-overflow-tooltip="true" label="包装方式" width="100" align="center">
+        <template slot-scope="scope">
+            <span v-if="scope.row.packingWay == 1">散粮</span> 
+            <span v-if="scope.row.packingWay == 2">袋装</span> 
+            <span v-if="scope.row.packingWay == 3">散装</span> 
+            <span v-if="scope.row.packingWay == 4">集装箱</span> 
+        </template>
+      </el-table-column>
+
+      <el-table-column label="始发车站" prop="departureStation" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的车站" prop="destinationStation" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+       <el-table-column label="状态" align="center" width="100">
+            <template slot-scope="scope">
+            <el-tag effect="plain" v-if="scope.row.biddingStatus == 5">已投递</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==6" type="info">审核中</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==7" type="warning">已中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==8" type="danger">未中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==9" type="danger">已作废</el-tag>
+            </template>
+       </el-table-column>
+      <el-table-column label="投标时间" prop="logisticsBiddingTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="备注" prop="biddingLogisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :popper-class="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsInfo } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: {},
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: '1',
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        isShow:true
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      onshow(){
+          this.isShow = !this.isShow
+      },
+    parseTime,
+    getTenantList: function() {
+        console.log(this.priceData)
+        let tenderLogisticsId =this.priceData.logisticsBidId
+        let current =this.current
+        let size =this.size
+      getLogisticsInfo(tenderLogisticsId,size,current).then(response => {
+        console.log(response)
+        this.loading = false
+         let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 投标时间
+          let startTime = this.priceData.endTime
+
+          const date = new Date(startTime)
+          const start = date.valueOf()         //开始时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          if(res.biddingStatus < 7){
+              console.log("我不满足")
+                if(time < start){
+                    res.biddingStatus = 5
+                    console.log("当前时间小于投标时间,已投递")
+                }else if(time > start){
+                    res.biddingStatus = 6
+                    console.log("当前时间小于投标时间,审核中")
+                }
+          }
+          return res
+        })
+        console.log(data)
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = '1'
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+.pagination{
+  padding-bottom: 30px;
+}
+</style>
+

+ 408 - 0
src/views/tender/tender/table.vue

@@ -0,0 +1,408 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <div>
+      <span style="font-size:14px">货物名称:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+          <!-- <span style="fontSize:13px;marginLeft:20px">投标时间</span>
+            <el-date-picker
+              v-model="applyDateStart"
+              size="mini"
+              type="datetimerange"
+              style="width: 280px;"
+              range-separator="-"
+              clearable
+              value-format="yyyy-MM-dd HH:mm:ss"
+              :default-time="['00:00:00', '23:59:59']"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+             @change="onApplyDate"
+             @clear="onApplyDate"
+            />
+ -->
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div>
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+          <!-- <el-table-column type="expand" prop="biddingLogisticsInfoList">
+      <template slot-scope="props"> -->
+            <!-- <div  :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" v-if="isShow">
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式: 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 1">陆运</span> 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 2">汽运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 3">火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 4">船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 6">汽运/火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{props.row.biddingLogisticsInfoList[0].quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{props.row.biddingLogisticsInfoList[0].logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{props.row.biddingLogisticsInfoList[0].phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="props.row.biddingLogisticsInfoList[0].packingWay == 1">散粮</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 2">袋装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 3">散装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{props.row.biddingLogisticsInfoList[0].departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{props.row.biddingLogisticsInfoList[0].destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{props.row.biddingLogisticsInfoList[0].logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+          <!-- <div v-for="(item,index) in props.row.biddingLogisticsInfoList" :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" >
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式:
+                            <span v-if="item.transportMode == 1">陆运</span>
+                            <span v-if="item.transportMode == 2">汽运</span>
+                            <span v-if="item.transportMode == 3">火车运输</span>
+                            <span v-if="item.transportMode == 4">船运</span>
+                            <span v-if="item.transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="item.transportMode == 6">汽运/火车运输</span>
+                            <span v-if="item.transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{item.logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{item.quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{item.logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{item.phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="item.packingWay == 1">散粮</span> 
+                           <span v-if="item.packingWay == 2">袋装</span> 
+                           <span v-if="item.packingWay == 3">散装</span> 
+                           <span v-if="item.packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{item.departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{item.destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{item.logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{item.logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+            <!-- <div @click="onshow">{{isShow ?"展开" : "收起"}}</div> -->
+      <!-- </template>
+    </el-table-column> -->
+
+      <el-table-column label="货物" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="goodsNumber" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="始发地" prop="departureName" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的地" prop="destinationName" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="预估距离" prop="predictDistance" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="单价" prop="transportUnitPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="保证金" prop="deposit" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="状态" align="center" width="100">
+      <template slot-scope="scope">
+        <el-tag effect="plain" v-if="scope.row.status ==3">进行中</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==1" type="info">已结束</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==5" type="info">待处理</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==2" type="danger">已作废</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+      </template>
+    </el-table-column>
+      <el-table-column prop="description" :show-overflow-tooltip="true" label="招标规则" width="100" align="center">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.tenderLogisticsRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="scope.row.tenderLogisticsRule == 2" effect="plain" >价高者得</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标开始时间" prop="startTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标结束时间" prop="endTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标备注" prop="logisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+        <el-table-column label="操作" width="250" fixed="right" align="center">
+        <template slot-scope="scope">
+          <!-- <el-button type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == null" slot="reference" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == 0" slot="reference" type="text" icon="el-icon-edit" @click="handleEdit(scope.row)">改标</el-button> -->
+          <el-button  slot="reference" icon="el-icon-view" type="text" @click="handleView(scope.row)">查看更多</el-button>
+          <el-button  slot="reference" type="text" :disabled="scope.row.status !=3" icon="el-icon-plus" @click="handleAdd(scope.row)">投标</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :current-page="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsList } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: [],
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: 1,
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        // dialogTableVisible:false
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+    handleAdd(row){
+      this.$emit("onAdd",row)
+    },
+      handleView(row){
+          console.log("我被点击了")
+            this.$emit('change',row)
+        //   this.$parent.dialogTableVisible = true
+      },
+    parseTime,
+    getTenantList: function() {
+      this.loading = true
+      const params = new URLSearchParams()
+      params.append('tenderParentId', this.tenderParentId)
+      params.append('goodsName', this.goodsName)
+      params.append('startTime', this.startTime)
+      params.append('endTime', this.endTime)
+      params.append('current', this.current)
+      params.append('size', this.size)
+      getLogisticsList(params).then(response => {
+        console.log(response)
+        this.loading = false
+            let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.tenderStatus == 1 || res.tenderStatus == 2){
+             res.status = res.tenderStatus 
+            console.log("我的状态是:" + res.tenderStatus)
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 3
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 5
+            console.log("当前时间大于结束时间,待处理")
+          }
+
+          return res
+        })
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = 1
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+
+</style>
+

+ 791 - 0
src/views/tender/tender/tender.vue

@@ -0,0 +1,791 @@
+<template>
+    <div>
+          <el-dialog :append-to-body="true" fullscreen :visible.sync="viewDialog" title="" center>
+                  <el-card class="box-card" shadow="nerver">
+                    <div slot="header" class="clearfix">
+                      <span class="topClass">基本信息</span>
+                    </div>
+
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                           标题 : <span class="flex_name"> {{bidInfo.tenderTitle}}</span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                           状态 : <span class="flex_name"> <el-tag effect="plain" v-if="bidInfo.status ==1">进行中</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==2" type="info">已结束</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==3" type="danger">已作废</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==4" type="warning">未开始</el-tag>
+                                </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         招标类型 :  <span class="flex_name"><el-tag v-if="bidInfo.tenderType == 1"  >物流</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 2" >原料</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 3" >销售</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 4" >加工承揽</el-tag>
+                                    </span>
+                       </el-col>
+                    </el-row>
+                     <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                         招标规则 : <span class="flex_name">    <el-tag v-if="bidInfo.tenderRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="bidInfo.tenderRule == 2" effect="plain" >价高者得</el-tag></span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         开始时间 : <span class="flex_name"> {{bidInfo.startTime}} </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         截止时间 :  <span class="flex_name">{{bidInfo.endTime}}
+                                    </span>
+                       </el-col>
+                    </el-row>
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="24" class="flex_text">
+                            备注:<span class="flex_name">{{bidInfo.tenderRemark}}</span>
+                       </el-col>
+                    </el-row>
+                  </el-card>
+                   <el-card class="box-card" shadow="nerver">
+                        <div slot="header" class="clearfix">
+                          <span class="topClass"> 所有标的</span>
+                        </div>
+                      <el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
+                        <el-tab-pane label="标的详情" name="first">
+
+                          <div class="head-container" style="margin: 30px 0 10px 0;">
+                            <span style="fontSize:13px">货物名称</span>
+                              <el-input
+                                v-model="param.goodsName"
+                                clearable
+                                placeholder="请输入货物名称"
+                                style="width: 200px;"
+                                size="small"
+                                class="filter-item"
+                                @keyup.enter.native="getParamFexd"
+                                @clear="getParamFexd"
+                              />
+                  
+                          <el-button class="filter-item" style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="getParamFexd">搜索</el-button>
+                          <div style="height:20px"></div>
+                          <el-table center :data="Paramdata" :header-cell-style="{ background: '#f5f7fa', }" border v-loading="tableLoading" stripe style="width: 100%;">
+
+                            <el-table-column prop="goodsName" fixed="left" label="货品名称" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="goodsNumber"  label="数量(吨)" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="departureName"  label="始发地" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="destinationName" label="目的地" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="predictDistance" label="预估运输距离(公里/海里)" width="128" :show-overflow-tooltip="true" align="center" />
+                            <!-- <el-table-column prop="transportUnitPrice" label="运输单价含税价(元/吨)"  width="120" :show-overflow-tooltip="true" align="center" /> -->
+                            <el-table-column prop="appendix" label="附件" align="center" width="100">
+                                <template slot-scope="scope">
+                                    <el-link v-if="scope.row.receiptPathUrl" :href="'http://view.officeapps.live.com/op/view.aspx?src='+scope.row.receiptPathUrl" type="primary" target="_target"><i class="el-icon-view"></i> 查看</el-link>
+                                </template>
+                              </el-table-column>
+                                <el-table-column label="状态" align="center" width="100">
+                            <template slot-scope="scope">
+                              <el-tag effect="plain" v-if="scope.row.status ==3">进行中</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==1" type="info">已结束</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==5" type="info">待处理</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==2" type="danger">已作废</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+                            </template>
+                          </el-table-column>
+                            <!-- <el-table-column prop="logisticsIsTender" label="是否有人投标" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                <el-tag v-if="scope.row.logisticsIsTender == 0" type="warning">未投标</el-tag>
+                                <el-tag v-if="scope.row.logisticsIsTender == 1" type="warning">有投标</el-tag>
+                              </template>
+                            </el-table-column> -->
+                            <el-table-column prop="tenderLogisticsRule" label="中标规则" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.tenderLogisticsRule == 1" type="success" effect="plain">价低者得</el-tag>
+                                  <el-tag v-if="scope.row.tenderLogisticsRule == 2" effect="plain" >价高者得</el-tag>
+                              </template>
+                            </el-table-column>
+                            <el-table-column prop="startTime" label="起始时间"  width="152" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="endTime" label="结束时间"  width="152" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="createTime" label="创建时间"  width="152" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="logisticsRemark" label="备注" width="162" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column label="操作" width="150" align="center" fixed="right">
+                                <template slot-scope="scope">
+                                  <el-button  slot="reference" type="text" :disabled="scope.row.status !=3" icon="el-icon-plus" @click="handleAdd(scope.row)">投标</el-button>
+                                </template>
+                              </el-table-column>
+                          </el-table>
+                          <div class="pagination">
+                            <el-pagination
+                              :current-page.sync="param.current"
+                              :page-size="param.size"
+                              layout="total, sizes, prev, pager, next, jumper"
+                              :total="total1"
+                              :page-sizes="[10, 20, 30, 50]"
+                              background
+                              @size-change="handleSizeChangeParam"
+                              @current-change="handleCurrentChangeParam"
+                            />
+                          </div>
+                  <!-- <div style="height:60px"></div> -->
+                    </div>
+
+                </el-tab-pane>
+                <el-tab-pane label="投标详情" name="second">
+                   <!-- <el-card class="box-card" shadow="nerver"> -->
+                      <!-- <div slot="header" class="clearfix">
+                        <span class="topClass">投标详情</span>
+                      </div> -->
+                              <ckTable ref="ckTable" @change="costPlannedAmountChange($event)" @onAdd="changeAdd($event)"></ckTable>
+                   <!-- </el-card> -->
+                </el-tab-pane>
+              </el-tabs>
+             
+                      </el-card>
+          <el-dialog :append-to-body="true" :visible.sync="dialog" :title="isAdd ? '投标' : '修标'" width="50%">
+                      <el-form ref="form" :model="form" :rules="rules1" label-width="80px">
+                        <el-form-item label="货物名称">
+                           <!-- <span>{{form.biddingLogisticsRemark}}</span> -->
+                           <el-tag>{{form.goodsName}}</el-tag>
+                            <!-- <el-input  v-model="form.goodsName" style="width:50%" readonly></el-input> -->
+                        </el-form-item>
+                         <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="始发车站" prop="departureStation">
+                              <el-input v-model="form.departureStation" style="width: 80%;" placeholder="请输入始发车站"></el-input>
+                            </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="目的车站" prop="destinationStation">
+                                <el-input v-model="form.destinationStation" style="width: 80%;" placeholder="请输入目的车站"></el-input>
+                              </el-form-item>
+                          </el-col>
+                         </el-row>
+                        
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="包装方式" prop="packingWay">
+                              <el-select v-model="form.packingWay" style="width: 80%;"  filterable placeholder="请选择包装方式">
+                                  <el-option
+                                    v-for="item in packingWay"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id"
+                                  />
+                                </el-select>
+                            </el-form-item>
+                           </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                           <el-form-item label="运输方式" prop="transportMode">
+                             <el-select v-model="form.transportMode" style="width: 80%;"  filterable placeholder="请选择包装方式">
+                                <el-option
+                                  v-for="item in transportMode"
+                                  :key="item.id"
+                                  :label="item.name"
+                                  :value="item.id"
+                                />
+                              </el-select>
+                           </el-form-item>
+                        </el-col>
+                        </el-row>
+
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="数量" prop="quantity">
+                              <el-input v-model="form.quantity" readonly style="width: 80%;" placeholder="数量"><template slot="append">(吨)</template></el-input>
+                           <!-- <span style="fontSize:16px" effect="plain">{{form.quantity}} (吨)</span> -->
+                            <!-- <el-input v-model="form.quantity" style="width: 80%;" placeholder="请输入数量"></el-input> -->
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="投标价格" prop="logisticsBiddingPrice">
+                              <el-input v-model="form.logisticsBiddingPrice" style="width: 80%;" placeholder="请输入金额"><template slot="append">(吨/元)</template></el-input>
+                              <!-- <el-input v-model="form.logisticsBiddingPrice" @input="onlogistiicsPrice" style="width: 80%;" placeholder="请输入金额"><template slot="append">(吨/元)</template></el-input> -->
+                              <!-- <div style="color:#909399;fontSize:15px"> * <span style="color:#909399;fontSize:13px;position: relative;top:-5px">最大价格 {{form.transportUnitPrice}} </span> </div> -->
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+
+                            <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="合计" prop="quantity">
+                              <el-input  :value="form.logisticsBiddingPrice ? (form.quantity *form.logisticsBiddingPrice).toFixed(4) : 0" readonly style="width: 80%;" placeholder="请输入金额"><template slot="append">(元)</template></el-input>
+                           <!-- <span style="fontSize:16px"  effect="plain">{{}} (吨/元)</span> -->
+                           <!-- <el-tag  style="fontSize:14px"  effect="plain">{{form.logisticsBiddingPrice=="NAN" ? (form.quantity *form.logisticsBiddingPrice).toFixed(4) : 0}} (吨/元)</el-tag> -->
+                            <!-- <el-input v-model="form.quantity" style="width: 80%;" placeholder="请输入数量"></el-input> -->
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                               <el-form-item label="上传凭证" >
+                              <el-upload
+                                  class="upload-demo"
+                                  :limit="1"
+                                  :on-preview="handlePreview"
+                                  :on-change="handleChange"
+                                  :on-remove="handleRemove"
+                                  :before-remove="beforeRemove"
+                                  :on-exceed="handleExceed"
+                                  :action="BASE_API+'/common/bidding/voucher'"
+                                  name="multipartFile"
+                                  list-type="text"
+                                  :file-list="fileList"
+                                  multiple
+                                >
+                                    <el-button class="el-icon-upload" >上传凭证</el-button>
+                                </el-upload>
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="联系电话" prop="phone">
+                            <el-input v-model="form.phone" style="width: 80%;" placeholder="请输入联系电话"></el-input>
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="备注" prop="biddingLogisticsRemark">
+                                <el-input
+                                  v-model="form.biddingLogisticsRemark"
+                                  type="textarea"
+                                  style="width: 93%;"
+                                  :autosize="{ minRows: 2, maxRows: 10}"
+                                  maxlength="500"
+                                  show-word-limit
+                                  placeholder="请输入内容"
+                                />
+                              </el-form-item>
+                          </el-col>
+                        </el-row>
+                      </el-form>
+                      <div slot="footer" class="dialog-footer">
+                        <el-button @click="dialog = false">取消</el-button>
+                        <el-button :loading="loading" type="primary" @click="doSubmit">确认</el-button>
+                      </div>
+                    </el-dialog>
+            
+                   <div slot="footer" class="paginationParam" style="paddingRight:">
+                    <!-- <el-button @click="viewDialog = false">取消</el-button> -->
+                    <el-button  type="primary" @click="viewDialog = false">返回</el-button>
+                  </div>
+
+                         <el-dialog :title="goodsName" width="90%" center :visible.sync="dialogTableVisible" append-to-body>
+                               <ckDialog ref="ckDialog"></ckDialog>
+                          </el-dialog>
+
+    </el-dialog>
+    </div>
+</template>
+
+<script>
+
+import { getTableList, getQueryAdd, getQueryEdit, getQueryId } from '@/api/tender'
+import { Notification, MessageBox } from 'element-ui'
+
+import ckTable from './table.vue'
+import ckDialog from './dialog.vue'
+export default {
+   components:{
+    ckTable,
+    ckDialog
+  },
+  data() {
+    const checkTel = (rule, value, callback) => {
+      if (value == null) {
+        callback(new Error('请选择附件'))
+      } else {
+        callback()
+      }
+    }
+    return {
+      form: {
+      },
+      data: [{}],
+      active:0,
+      BASE_API: process.env.BASE_API,
+      tableLoading:false,
+      dialog: false,
+      loading: false,
+      delLoading: false,
+      viewDialog: false,
+      isAdd: false,
+      currentPage: 1,
+      pageSize: 10,
+      total: 0, // 总数量
+      rules1:{
+        departureStation:[
+          { required: true, message: '始发车站不为空', trigger: 'blur' },
+        ],
+         destinationStation:[
+          { required: true, message: '目的车站不为空', trigger: 'blur' },
+        ],
+         logisticsBiddingPrice:[
+          { required: true, message: '投标价格不为空', trigger: 'blur' },
+        ],
+         packingWay:[
+          { required: true, message: '包装方式不为空', trigger: 'blur' },
+        ],
+         phone:[
+          { required: true, message: '联系电话不为空', trigger: 'blur' },
+        ],
+         transportMode:[
+          { required: true, message: '运输方式不为空', trigger: 'blur' },
+        ],
+      },
+      rules: {
+
+        price: [
+          { required: true, message: '报价金额不为空', trigger: 'blur' },
+        ],
+        appendix: [
+          // { type:"array",required: true, message: '附件不为空', trigger: 'blur' },
+          { validator: checkTel, trigger: 'blur' }
+        ]
+      },
+      query: {
+        type: '',
+        value: '',
+         tenderRule:"",
+        tenderType:"",
+        startTime:"",
+        endTime:""
+      },
+      fileList: [],
+      param: {
+        current: 1,
+        size: 10
+      },
+      total1: 0,
+      Paramdata: [],
+      applyDateStart:[],
+      dialogTableData:[],
+       tenderRule:[
+        {id:1,name:"价低者得"},
+        {id:2,name:"价高者得"},
+
+      ],
+      packingWay:[
+        {id:1,name:"散粮"},
+        {id:2,name:"袋装"},
+        {id:3,name:"散装"},
+        {id:4,name:"集装箱"},
+      ],
+      transportMode:[
+        {id:1,name:"陆运"},
+        {id:2,name:"火车运输"},
+        {id:3,name:"船运"},
+        {id:4,name:"汽运/火车运输/船运"},
+        {id:5,name:"汽运/火车运输"},
+        {id:6,name:"汽运/船运"},
+      ],
+       activeName: 'first',
+       dialogTableVisible:false,
+       goodsName:"",
+       bidInfo:{}
+    }
+  },
+  created() {
+    this.getDictData()
+  },
+  methods: {
+    changeAdd(row){
+      console.log(row)
+      this.handleAdd(row)
+    },
+    // 投标详情 向父元素传递数据
+    costPlannedAmountChange(val){
+      console.log(val)
+ 
+      this.dialogTableVisible = true
+      setTimeout(() => {
+        this.goodsName = val.goodsName
+       this.$refs.ckDialog.priceData = val
+      this.$refs.ckDialog.getTenantList()
+        console.log(this.$refs.ckDialog)
+      }, 300);
+    },
+    // 价格投标不能大于合计
+    onlogistiicsPrice(val){
+      console.log(val)
+       if(val>this.form.transportUnitPrice){
+         this.form.logisticsBiddingPrice = this.form.transportUnitPrice
+         console.log("我是大于")
+       }
+       if(val.indexOf('.') !== -1 && val == '.'){
+         this.form.logisticsBiddingPrice =0
+       }
+       if(val== "+" || val== "-"){
+         this.form.logisticsBiddingPrice = 0
+       }
+       if(val<0){
+         this.form.logisticsBiddingPrice = 0
+       }
+    },
+    onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.query.startTime =this.applyDateStart[0]
+              this.query.endTime = this.applyDateStart[1]
+            }else{
+              this.query.startTime =""
+              this.query.endTime =""
+            }
+
+      this.handleFind()
+    },
+    next() {
+      console.log(this.$refs.ckTable)
+        if (this.active++ > 2) this.active = 0;
+        this.dialogTableData = this.$refs.ckTable.SelectionList
+      },
+      handleSelectionChange(row){
+        
+      },
+    // 获取详情
+    getDictData: function() {
+      this.loading = true
+        const params = new URLSearchParams()
+      params.append('current', this.currentPage)
+      params.append('size', this.pageSize)
+      params.append('tenderType', this.query.tenderType)
+      params.append('tenderTitle', this.query.value)
+      params.append('tenderRule', this.query.tenderRule)
+      params.append('startTime',this.query.startTime )
+      params.append('endTime', this.query.endTime)
+
+      getTableList(params).then(res => {
+          console.log(res)
+        // this.data = res.data.data.records
+        let data = res.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.data = data
+        this.total = res.data.data.total
+        this.loading = false
+      })
+    },
+
+    // 搜索
+    handleFind: function() {
+      this.currentPage = 1
+      this.getDictData()
+    },
+
+    // 文件移除的时候
+    handleRemove(file, fileList) {
+      this.form.voucherFile = ''
+      console.log(file, fileList, this.fileList, '移出')
+    },
+    // 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
+    handleChange(file, fileList) {
+      console.log(file, fileList, '上传')
+      if (file.response) {
+        console.log(file.response, 'file')
+        if (file.response.code == '200') {
+          this.form.voucherFile = file.response.data.filePath
+        } else {
+          Notification.error({
+            title: file.response.msg,
+            duration: 1000
+          })
+          this.fileList = []
+        }
+      }
+    },
+    // 点击文件列表中已上传的文件时的钩子
+    handlePreview(file) {
+      console.log(file, 'file1')
+      // window.location.href = file.url
+    },
+    handleExceed(files, fileList) {
+      this.$message.warning(`当前限制选择 1 个附件,本次选择了 ${files.length} 个文件`)
+    },
+    beforeRemove(file, fileList) {
+      return this.$confirm(`确定移除 ${file.name}?`)
+    },
+    // 下载
+    onLoad(row) {
+      // const params = new URLSearchParams()
+      // params.append('path', row)
+      const a = document.createElement('a')
+      // a.href= /bidding/load
+      const url = window.location.origin + process.env.BASE_API + '/bidding/load?path=' + encodeURIComponent(row)
+      a.href = url
+      a.click()
+    },
+
+    // 字典名称提交动作
+    doSubmit() {
+      this.$refs['form'].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            // 新增字典
+            console.log(this.form)
+            this.loading = true
+            getQueryAdd(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.loading = false
+              this.getDictData()
+              this.$refs['form'].resetFields()
+            }).catch(err => {
+              this.loading = false
+            })
+          } else {
+            // 更新字典
+            getQueryEdit(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.getDictData()
+            })
+          }
+        }
+      })
+    },
+    // 添加字典
+    handleAdd: function(row) {
+      this.dialog = true
+      this.isAdd = true
+      this.form = {}
+      this.fileList = []
+      this.form.tenderLogisticsId = row.logisticsBidId
+      this.form.tenderParentId = this.param.tenderParentId
+      this.form.quantity = row.goodsNumber
+      this.form.goodsName = row.goodsName
+      this.form.transportUnitPrice = row.transportUnitPrice
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+    },
+    // 编辑字典
+    handleEdit: function(row) {
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+      this.dialog = true
+      this.isAdd = false
+      this.form = row.bidding
+      this.form.priceQuotes = row.priceQuotes
+      if (this.form.appendix) {
+        let name = this.form.appendix.split('bidding/')
+        name = name.pop()
+        // let name = data.appendix.replace(/(.*\/)*([^.]+).*/ig, "$2");
+        this.fileList = [{ name: name, url: this.form.appendix }]
+      }
+    },
+    handleClick(row,val){
+      console.log(row,val)
+      if(row.name == "second"){
+       this.$refs.ckTable.tenderParentId = this.param.tenderParentId
+        this.$refs.ckTable.getTenantList()
+      }
+    },
+    handleView(row) {
+      let tenderType = row.tenderType
+      if(tenderType == 1){
+        this.$refs.ckTender.viewDialog = true
+         setTimeout(() => {
+            this.$refs.ckTender.activeName="first"
+            this.$refs.ckTender.param.tenderParentId = row.tenderParentId
+            this.$refs.ckTender.bidInfo = row
+            this.$refs.ckTender.param.current = 1
+            this.$refs.ckTender.getParam()
+            console.log("物流")
+      }, 300);
+      }else if(tenderType == 3){
+        this.saleViewDialog = true
+        console.log("销售")
+      }
+    },
+    getParamFexd(){
+      this.param.current = 1
+      this.getParam()
+    },
+    getParam() {
+      const data = this.param
+      this.tableLoading = true
+      getQueryId(data).then((res) => {
+       console.log(res.data.data.records, '')
+        let data = res.data.data.records
+         data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.tenderStatus == 1 || res.tenderStatus == 2){
+             res.status = res.tenderStatus 
+            console.log("我的状态是:" + res.tenderStatus)
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 3
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 5
+            console.log("当前时间大于结束时间,待处理")
+          }
+
+          return res
+        })
+        this.Paramdata = data
+        this.tableLoading = false
+        this.total1 = res.data.data.total
+      })
+    },
+
+    // 换页
+    handleCurrentChange: function(val) {
+      this.currentPage = val
+      this.getDictData()
+    },
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.getDictData()
+    },
+    handleCurrentChangeParam(val) {
+      this.param.current = val
+      this.getParam()
+    },
+    handleSizeChangeParam(val) {
+      this.param.size = val
+      this.getParam()
+    }
+  }
+}
+</script>
+<style scoped lang="scss">
+/* 去掉上传附件时候的过度效果 */
+  ::v-deep .el-upload-list__item{transition: none !important;}
+  ::v-deep .el-textarea__inner{
+  padding-bottom: 36px;
+}
+.btn_fixed{
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  padding: 15px 50px;
+  width: 100%;
+  text-align: right;
+  background: #f5f5f5;
+
+}
+.ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+.paginationParam{
+  // position: fixed;
+  // bottom: 50px;
+  bottom: 0;
+  left: 0;
+  line-height: 80px;
+  width: 100%;
+  // left: 45%;
+  // text-align: right;
+  z-index: 999;
+  background: #fff;
+}
+/deep/ .el-tabs__item{
+  font-size: 16px !important;
+  // padding: 35px  ;
+}
+.el-card {
+  border: 0px solid #fff;
+}
+.clearfix {
+    line-height: 20px;
+    font-size: 18px;
+    font-weight: 600;
+    color: #409EFF;
+}
+/deep/.el-dialog.is-fullscreen {
+
+    background-color: #f5f7f9;
+}
+.box-card{
+  margin-bottom: 20px;
+  .row-bg{
+  padding: 15px 40px 0 40px;
+  .flex_text{
+    line-height: 50px;
+    color: #8C8C8C;
+    font-size: 14px;
+    // border:1px solid red;
+    // font-weight: 600;
+  }
+  .flex_name{
+    font-size: 14px;
+    padding-left: 25px;
+    color: #575757;
+    font-weight: 550;
+  }
+}
+}
+/deep/ .el-card__body{
+  padding: 20px 0;
+}
+/deep/.el-tabs__nav-wrap::after {
+
+    background-color: #dfe4ed00;  
+}
+/deep/ .el-dialog--center .el-dialog__body {
+    text-align: initial;
+    padding: 25px 25px 0px 30px;
+}
+
+/deep/ .el-tabs--border-card{
+  // border-top:1px ;
+  border-bottom: 0px;
+
+ box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.5)
+}
+</style>
+

+ 277 - 0
src/views/tender/tender1/dialog.vue

@@ -0,0 +1,277 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <!-- <div>
+      <span style="font-size:14px">货物:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div> -->
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+
+      <el-table-column label="运输方式" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+           <template slot-scope="scope">
+                            <span v-if="scope.row.transportMode == 1">陆运</span>
+                            <!-- <span v-if="scope.row.transportMode == 2">汽运</span> -->
+                            <span v-if="scope.row.transportMode == 2">火车运输</span>
+                            <span v-if="scope.row.transportMode == 3">船运</span>
+                            <span v-if="scope.row.transportMode == 4">汽运/火车运输/船运</span>
+                            <span v-if="scope.row.transportMode == 5">汽运/火车运输</span>
+                            <span v-if="scope.row.transportMode == 6">汽运/船运</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标价格" prop="logisticsBiddingPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="quantity" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="总价" prop="logisticsTotalPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="联系电话" prop="phone" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+       <el-table-column  :show-overflow-tooltip="true" label="包装方式" width="100" align="center">
+        <template slot-scope="scope">
+            <span v-if="scope.row.packingWay == 1">散粮</span> 
+            <span v-if="scope.row.packingWay == 2">袋装</span> 
+            <span v-if="scope.row.packingWay == 3">散装</span> 
+            <span v-if="scope.row.packingWay == 4">集装箱</span> 
+        </template>
+      </el-table-column>
+
+      <el-table-column label="始发车站" prop="departureStation" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的车站" prop="destinationStation" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+       <el-table-column label="状态" align="center" width="100">
+            <template slot-scope="scope">
+            <el-tag effect="plain" v-if="scope.row.biddingStatus == 5">已投递</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==6" type="info">审核中</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==7" type="warning">已中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==8" type="danger">未中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==9" type="danger">已作废</el-tag>
+            </template>
+       </el-table-column>
+      <el-table-column label="投标时间" prop="logisticsBiddingTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="备注" prop="biddingLogisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :popper-class="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsInfo } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: {},
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: '1',
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        isShow:true
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      onshow(){
+          this.isShow = !this.isShow
+      },
+    parseTime,
+    getTenantList: function() {
+        console.log(this.priceData)
+        let tenderLogisticsId =this.priceData.logisticsBidId
+        let current =this.current
+        let size =this.size
+      getLogisticsInfo(tenderLogisticsId,size,current).then(response => {
+        console.log(response)
+        this.loading = false
+         let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 投标时间
+          let startTime = this.priceData.endTime
+
+          const date = new Date(startTime)
+          const start = date.valueOf()         //开始时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          if(res.biddingStatus < 7){
+              console.log("我不满足")
+                if(time < start){
+                    res.biddingStatus = 5
+                    console.log("当前时间小于投标时间,已投递")
+                }else if(time > start){
+                    res.biddingStatus = 6
+                    console.log("当前时间小于投标时间,审核中")
+                }
+          }
+          return res
+        })
+        console.log(data)
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = '1'
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+</style>
+

+ 404 - 0
src/views/tender/tender1/table.vue

@@ -0,0 +1,404 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <div>
+      <span style="font-size:14px">货物名称:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+          <!-- <span style="fontSize:13px;marginLeft:20px">投标时间</span>
+            <el-date-picker
+              v-model="applyDateStart"
+              size="mini"
+              type="datetimerange"
+              style="width: 280px;"
+              range-separator="-"
+              clearable
+              value-format="yyyy-MM-dd HH:mm:ss"
+              :default-time="['00:00:00', '23:59:59']"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+             @change="onApplyDate"
+             @clear="onApplyDate"
+            />
+ -->
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div>
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+          <!-- <el-table-column type="expand" prop="biddingLogisticsInfoList">
+      <template slot-scope="props"> -->
+            <!-- <div  :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" v-if="isShow">
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式: 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 1">陆运</span> 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 2">汽运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 3">火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 4">船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 6">汽运/火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{props.row.biddingLogisticsInfoList[0].quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{props.row.biddingLogisticsInfoList[0].logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{props.row.biddingLogisticsInfoList[0].phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="props.row.biddingLogisticsInfoList[0].packingWay == 1">散粮</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 2">袋装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 3">散装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{props.row.biddingLogisticsInfoList[0].departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{props.row.biddingLogisticsInfoList[0].destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{props.row.biddingLogisticsInfoList[0].logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+          <!-- <div v-for="(item,index) in props.row.biddingLogisticsInfoList" :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" >
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式:
+                            <span v-if="item.transportMode == 1">陆运</span>
+                            <span v-if="item.transportMode == 2">汽运</span>
+                            <span v-if="item.transportMode == 3">火车运输</span>
+                            <span v-if="item.transportMode == 4">船运</span>
+                            <span v-if="item.transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="item.transportMode == 6">汽运/火车运输</span>
+                            <span v-if="item.transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{item.logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{item.quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{item.logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{item.phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="item.packingWay == 1">散粮</span> 
+                           <span v-if="item.packingWay == 2">袋装</span> 
+                           <span v-if="item.packingWay == 3">散装</span> 
+                           <span v-if="item.packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{item.departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{item.destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{item.logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{item.logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+            <!-- <div @click="onshow">{{isShow ?"展开" : "收起"}}</div> -->
+      <!-- </template>
+    </el-table-column> -->
+
+      <el-table-column label="货物" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="goodsNumber" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="始发地" prop="departureName" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的地" prop="destinationName" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="预估距离" prop="predictDistance" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="单价" prop="transportUnitPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="保证金" prop="deposit" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+        <el-table-column label="状态" align="center" width="100">
+      <template slot-scope="scope">
+        <el-tag effect="plain" v-if="scope.row.status ==1">进行中</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==2" type="info">已结束</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==3" type="danger">已作废</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+      </template>
+    </el-table-column>
+      <el-table-column prop="description" :show-overflow-tooltip="true" label="招标规则" width="100" align="center">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.tenderLogisticsRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="scope.row.tenderLogisticsRule == 2" effect="plain" >价高者得</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标开始时间" prop="startTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标结束时间" prop="endTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标备注" prop="logisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+        <el-table-column label="操作" width="150" fixed="right" align="center">
+        <template slot-scope="scope">
+          <!-- <el-button type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == null" slot="reference" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == 0" slot="reference" type="text" icon="el-icon-edit" @click="handleEdit(scope.row)">改标</el-button> -->
+          <el-button  slot="reference" type="text" :disabled="scope.row.status !=1" icon="el-icon-plus" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button  slot="reference" icon="el-icon-view" type="text" @click="handleView(scope.row)">查看更多</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :popper-class="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsList } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: [],
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: '1',
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        // dialogTableVisible:false
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      handleView(row){
+          console.log("我被点击了")
+            this.$emit('change',row)
+        //   this.$parent.dialogTableVisible = true
+      },
+    parseTime,
+    getTenantList: function() {
+      this.loading = true
+      const params = new URLSearchParams()
+      params.append('tenderParentId', this.tenderParentId)
+      params.append('goodsName', this.goodsName)
+      params.append('startTime', this.startTime)
+      params.append('endTime', this.endTime)
+      params.append('current', this.current)
+      params.append('size', this.size)
+      getLogisticsList(params).then(response => {
+        console.log(response)
+        this.loading = false
+          let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = '1'
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+
+</style>
+

+ 890 - 0
src/views/tender/tender1/tender.vue

@@ -0,0 +1,890 @@
+<template>
+    <div>
+          <el-dialog :append-to-body="true" fullscreen :visible.sync="viewDialog" title="" center>
+                  <el-card class="box-card" shadow="nerver">
+                    <div slot="header" class="clearfix">
+                      <span class="topClass">基本信息</span>
+                    </div>
+
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                           标题 : <span class="flex_name"> {{bidInfo.tenderTitle}}</span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                           状态 : <span class="flex_name"> <el-tag effect="plain" v-if="bidInfo.status ==1">进行中</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==2" type="info">已结束</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==3" type="danger">已作废</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==4" type="warning">未开始</el-tag>
+                                </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         招标类型 :  <span class="flex_name"><el-tag v-if="bidInfo.tenderType == 1"  >物流</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 2" >原料</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 3" >销售</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 4" >加工承揽</el-tag>
+                                    </span>
+                       </el-col>
+                    </el-row>
+                     <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                         招标规则 : <span class="flex_name">    <el-tag v-if="bidInfo.tenderRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="bidInfo.tenderRule == 2" effect="plain" >价高者得</el-tag></span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         开始时间 : <span class="flex_name"> {{bidInfo.startTime}} </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         截止时间 :  <span class="flex_name">{{bidInfo.endTime}}
+                                    </span>
+                       </el-col>
+                    </el-row>
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="24" class="flex_text">
+                            备注:<span class="flex_name">{{bidInfo.tenderRemark}}</span>
+                       </el-col>
+                    </el-row>
+                  </el-card>
+                   <el-card class="box-card" shadow="nerver">
+                        <div slot="header" class="clearfix">
+                          <span class="topClass"> 所有标的</span>
+                        </div>
+                      <el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
+                        <el-tab-pane label="标的详情" name="first">
+
+                          <div class="head-container" style="margin: 30px 0 10px 0;">
+                            <span style="fontSize:13px">产品名称</span>
+                              <el-input
+                                v-model="param.productName"
+                                clearable
+                                placeholder="请输入产品名称"
+                                style="width: 200px;"
+                                size="small"
+                                class="filter-item"
+                                @keyup.enter.native="getParamFexd"
+                                @clear="getParamFexd"
+                              />
+                            <span style="fontSize:13px;marginLeft:20px">编码</span>
+                              <el-input
+                                v-model="param.productEncode"
+                                clearable
+                                placeholder="请输入编码"
+                                style="width: 200px;"
+                                size="small"
+                                class="filter-item"
+                                @keyup.enter.native="getParamFexd"
+                                @clear="getParamFexd"
+                              />
+                            <!-- <span style="fontSize:13px;marginLeft:20px">加工地点</span>
+                              <el-input
+                                v-model="param.processingLocation"
+                                clearable
+                                placeholder="请输入加工地点"
+                                style="width: 200px;"
+                                size="small"
+                                class="filter-item"
+                                @keyup.enter.native="getParamFexd"
+                                @clear="getParamFexd"
+                              /> -->
+                            <span style="fontSize:13px;marginLeft:20px">发标时间</span>
+                              <el-date-picker
+                                v-model="applyDateStart"
+                                size="small"
+                                type="datetimerange"
+                                style="width: 400px;"
+                                range-separator="-"
+                                clearable
+                                value-format="yyyy-MM-dd HH:mm:ss"
+                                :default-time="['00:00:00', '23:59:59']"
+                                start-placeholder="开始日期"
+                                end-placeholder="结束日期"
+                              @change="onApplyDate"
+                              @clear="onApplyDate"
+                              />
+                              <div style="text-align: right;margin-right:40px">
+                                   <el-button class="filter-item" style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="getParamFexd">搜索</el-button>
+                              </div>
+                          <div style="height:20px"></div>
+                          <el-table center :data="Paramdata" :header-cell-style="{ background: '#f5f7fa', }" border v-loading="tableLoading" stripe style="width: 100%;">
+
+                            <el-table-column prop="tenderCode" width="150" fixed="left" label="标的编号" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="productName" fixed="left" label="产品名称" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="productEncode" width="150" label="产品内部编码" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="processingLocation"   label="加工地点(所在加工厂) " :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="number"  label="数量(吨)" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="lowestPrice"  width="90" label="最低价(元/吨)" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="highestPrice" width="90" label="最高价(元/吨)" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="biddingStartPrice" width="100" label="投标起价(元)" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="deposit" width="100" label="履约保证金" :show-overflow-tooltip="true" align="center" />
+                           <el-table-column label="状态" align="center" width="100">
+                            <template slot-scope="scope">
+                             <el-tag effect="plain" v-if="scope.row.status ==3">进行中</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==1" type="info">已结束</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==5" type="info">待处理</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==2" type="danger">已作废</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+                            </template>
+                          </el-table-column>
+                          <el-table-column prop="tenderSaleRule" width="100" label="中标规则" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.tenderSaleRule == 1" type="success" effect="plain">价低者得</el-tag>
+                                  <el-tag v-if="scope.row.tenderSaleRule == 2" effect="plain" >价高者得</el-tag>
+                              </template>
+                            </el-table-column>
+                            <el-table-column prop="startTime" width="152" label="起始时间" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="endTime" width="152" label="结束时间" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="createTime" label="创建时间"  width="152" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="saleRemark" label="备注" width="162" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column label="操作" width="150" align="center" fixed="right">
+                                <template slot-scope="scope">
+                                  <el-button  slot="reference" type="text" :disabled="scope.row.status !=3" icon="el-icon-plus" @click="handleAdd(scope.row)">投标</el-button>
+                                </template>
+                              </el-table-column>
+                          </el-table>
+                          <div class="pagination">
+                            <el-pagination
+                              :current-page.sync="param.current"
+                              :page-size="param.size"
+                              layout="total, sizes, prev, pager, next, jumper"
+                              :total="total1"
+                              :page-sizes="[10, 20, 30, 50]"
+                              background
+                              @size-change="handleSizeChangeParam"
+                              @current-change="handleCurrentChangeParam"
+                            />
+                          </div>
+                  <!-- <div style="height:60px"></div> -->
+                    </div>
+
+                          </el-tab-pane>
+                          <el-tab-pane label="投标详情" name="second">
+                            <!-- <el-card class="box-card" shadow="nerver"> -->
+                                <!-- <div slot="header" class="clearfix">
+                                  <span class="topClass">投标详情</span>
+                                </div> -->
+                                        <ckTable ref="ckTable" @change="costPlannedAmountChange($event)"></ckTable>
+                            <!-- </el-card> -->
+                          </el-tab-pane>
+                        </el-tabs>
+                      </el-card>
+
+          <el-dialog :append-to-body="true" :close-on-click-modal="false" :visible.sync="dialog" :title="isAdd ? '投标' : '修标'" width="50%">
+                      <el-form ref="form" :model="form" :rules="rules1" label-width="80px">
+
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="产品名称">
+                              <!-- <span>{{form.biddingLogisticsRemark}}</span> -->
+                              <el-tag>{{form.goodsName}}</el-tag>
+                                <!-- <el-input  v-model="form.goodsName" style="width:50%" readonly></el-input> -->
+                            </el-form-item>
+                              </el-col>
+                              <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                                  <el-form-item label="产品编码">
+                                    <el-tag>{{form.tenderCode}}</el-tag>
+                                  </el-form-item>
+                              </el-col>
+                        </el-row>
+
+                           <!-- <el-form-item label="数量" prop="quantity">
+                              <el-input v-model="form.quantity" readonly style="width: 70%;"  placeholder="数量"><template slot="append">(吨)</template></el-input>
+                          </el-form-item>
+
+                          <el-form-item label="合计" prop="quantity">
+                              <el-input  :value="form.biddingPrice ? (form.quantity *form.biddingPrice).toFixed(4) : 0" readonly style="width: 70%;" placeholder="请输入金额"><template slot="append">(元)</template></el-input>
+
+                          </el-form-item>
+
+                          <el-form-item label="投标价格" prop="biddingPrice">
+                            <div  class="mo-input--number">
+                              <el-input-number style="width:100%" v-model="form.biddingPrice"  step-strictly controls-position="right" :step="form.biddingStartPrice" :min="form.lowestPrice"  :max="form.highestPrice"></el-input-number>
+                               <div class="define-append">(吨/元)</div>
+                             </div>
+
+                              <div style="color:#909399;fontSize:15px"> * <span style="color:#909399;fontSize:13px;position: relative;top:-5px">价格范围:{{form.lowestPrice}} ~ {{form.highestPrice}}(元),起价:{{form.biddingStartPrice}}(元) </span> </div>
+
+                            </el-form-item>
+                            <el-form-item label="上传凭证" >
+                              <el-upload
+                                  class="upload-demo"
+                                  :limit="1"
+                                  :on-preview="handlePreview"
+                                  :on-change="handleChange"
+                                  :on-remove="handleRemove"
+                                  :before-remove="beforeRemove"
+                                  :on-exceed="handleExceed"
+                                  :action="BASE_API+'/common/bidding/voucher'"
+                                  name="multipartFile"
+                                  list-type="text"
+                                  :file-list="fileList"
+                                  multiple
+                                >
+                                    <el-button class="el-icon-upload" >上传凭证</el-button>
+                                </el-upload>
+                            </el-form-item>
+
+           
+                         <el-form-item label="联系电话" prop="phone">
+                            <el-input v-model="form.phone" style="width: 73%;" placeholder="请输入联系电话"></el-input>
+                          </el-form-item>
+                          <el-form-item label="备注" prop="biddingLogisticsRemark">
+                                <el-input
+                                  v-model="form.remark"
+                                  type="textarea"
+                                  style="width: 73%;"
+                                  :autosize="{ minRows: 2, maxRows: 10}"
+                                  maxlength="500"
+                                  show-word-limit
+                                  placeholder="请输入内容"
+                                />
+                              </el-form-item> -->
+
+                            
+                       <el-row :gutter="20" style="margin-top:20px">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="数量" prop="quantity">
+                              <el-input v-model="form.quantity" readonly style="width: 80%;" placeholder="数量"><template slot="append">(吨)</template></el-input>
+                     
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="投标价格" prop="biddingPrice">
+                             <div  class="mo-input--number">
+                              <el-input-number style="width:100%" v-model="form.biddingPrice"  step-strictly controls-position="right" :step="form.biddingStartPrice" :min="form.lowestPrice"  :max="form.highestPrice"></el-input-number>
+                               <div class="define-append">(吨/元)</div>
+                             </div>
+                              <div style="color:#909399;fontSize:15px"> * <span style="color:#909399;fontSize:13px;position: relative;top:-5px">价格范围:{{form.lowestPrice}} ~ {{form.highestPrice}}(元),起价:{{form.biddingStartPrice}}(元) </span> </div>
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+                              
+                               <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="合计" prop="quantity">
+                              <el-input  :value="form.biddingPrice ? (form.quantity *form.biddingPrice).toFixed(4) : 0" readonly style="width: 70%;" placeholder="请输入金额"><template slot="append">(元)</template></el-input>
+                         
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                               <el-form-item label="上传凭证" prop="voucherFile" class="is-required">
+                              <el-upload
+                                  class="upload-demo"
+                                  :limit="1"
+                                  :on-preview="handlePreview"
+                                  :on-change="handleChange"
+                                  :on-remove="handleRemove"
+                                  :before-remove="beforeRemove"
+                                  :on-exceed="handleExceed"
+                                  :action="BASE_API+'/common/bidding/voucher'"
+                                  name="multipartFile"
+                                  list-type="text"
+                                  :file-list="fileList"
+                                  multiple
+                                >
+                                    <el-button class="el-icon-upload" >上传凭证</el-button>
+                                </el-upload>
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+
+                        <el-row :gutter="20" style="margin-top:20px">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="联系电话" >
+                            <el-input v-model="form.phone" style="width: 80%;" placeholder="请输入联系电话"></el-input>
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="备注" prop="biddingLogisticsRemark">
+                                <el-input
+                                  v-model="form.remark"
+                                  type="textarea"
+                                  style="width: 93%;"
+                                  :autosize="{ minRows: 2, maxRows: 10}"
+                                  maxlength="500"
+                                  show-word-limit
+                                  placeholder="请输入内容"
+                                />
+                              </el-form-item>
+                          </el-col>
+                        </el-row>
+                      </el-form>
+                      <div slot="footer" class="dialog-footer">
+                        <el-button @click="dialog = false">取消</el-button>
+                        <el-button :loading="loading" type="primary" @click="doSubmit">确认</el-button>
+                      </div>
+                    </el-dialog>
+            
+                   <div slot="footer" class="paginationParam" style="paddingRight:">
+                    <!-- <el-button @click="viewDialog = false">取消</el-button> -->
+                    <el-button :loading="loading" type="primary" @click="viewDialog = false">返回</el-button>
+                  </div>
+
+                         <el-dialog :title="goodsName" width="90%" center :visible.sync="dialogTableVisible" append-to-body>
+                               <ckDialog ref="ckDialog"></ckDialog>
+                          </el-dialog>
+
+    </el-dialog>
+    </div>
+</template>
+
+<script>
+
+import { getTableList, getSaleAdd, getQueryEdit, getSaleId } from '@/api/tender'
+import { Notification, MessageBox } from 'element-ui'
+
+import ckTable from './table.vue'
+import ckDialog from './dialog.vue'
+export default {
+   components:{
+    ckTable,
+    ckDialog
+  },
+  data() {
+    const checkTel = (rule, value, callback) => {
+      if (value == null) {
+        callback(new Error('请选择附件'))
+      } else {
+        callback()
+      }
+    }
+     const checkTel1 = (rule, value, callback) => {
+      console.log(this.form.voucherFile)
+      console.log(value, 'value')
+      if (this.form.voucherFile == null || this.form.voucherFile == '') {
+        callback(new Error('请选择凭证'))
+        console.log('没过')
+      } else {
+        callback()
+        console.log('过')
+      }
+    }
+    return {
+      form: {
+        voucherFile:""
+      },
+      data: [{}],
+      active:0,
+      BASE_API: process.env.BASE_API,
+      dialog: false,
+      loading: false,
+      delLoading: false,
+      tableLoading:false,
+      viewDialog: false,
+      isAdd: false,
+      currentPage: 1,
+      pageSize: 10,
+      total: 0, // 总数量
+      rules1:{
+        departureStation:[
+          { required: true, message: '始发车站不为空', trigger: 'blur' },
+        ],
+         destinationStation:[
+          { required: true, message: '目的车站不为空', trigger: 'blur' },
+        ],
+         biddingPrice:[
+          { required: true, message: '投标价格不为空', trigger: 'blur' },
+        ],
+         packingWay:[
+          { required: true, message: '包装方式不为空', trigger: 'blur' },
+        ],
+         phone:[
+          { required: true, message: '联系电话不为空', trigger: 'blur' },
+        ],
+         transportMode:[
+          { required: true, message: '运输方式不为空', trigger: 'blur' },
+        ],
+         voucherFile: [
+          { validator: checkTel1, trigger: 'change' }
+        ]
+      },
+      rules: {
+
+        price: [
+          { required: true, message: '报价金额不为空', trigger: 'blur' },
+        ],
+        appendix: [
+          // { type:"array",required: true, message: '附件不为空', trigger: 'blur' },
+          { validator: checkTel, trigger: 'blur' }
+        ]
+      },
+      query: {
+        type: '',
+        value: '',
+         tenderRule:"",
+        tenderType:"",
+        startTime:"",
+        endTime:""
+      },
+      fileList: [],
+      param: {
+        current: 1,
+        size: 10
+      },
+      total1: 0,
+      Paramdata: [],
+      applyDateStart:[],
+      dialogTableData:[],
+       tenderRule:[
+        {id:1,name:"价低者得"},
+        {id:2,name:"价高者得"},
+
+      ],
+      packingWay:[
+        {id:1,name:"散粮"},
+        {id:2,name:"袋装"},
+        {id:3,name:"散装"},
+        {id:4,name:"集装箱"},
+      ],
+      transportMode:[
+        {id:1,name:"陆运"},
+        {id:2,name:"火车运输"},
+        {id:3,name:"船运"},
+        {id:4,name:"汽运/火车运输/船运"},
+        {id:5,name:"汽运/火车运输"},
+        {id:6,name:"汽运/船运"},
+      ],
+       activeName: 'first',
+       dialogTableVisible:false,
+       goodsName:"",
+       bidInfo:{}
+    }
+  },
+  created() {
+    // this.getDictData()
+  },
+  methods: {
+    // 投标详情 向父元素传递数据
+    costPlannedAmountChange(val){
+      console.log(val)
+ 
+      this.dialogTableVisible = true
+      setTimeout(() => {
+        this.goodsName = val.goodsName
+       this.$refs.ckDialog.priceData = val
+      this.$refs.ckDialog.getTenantList()
+        console.log(this.$refs.ckDialog)
+      }, 300);
+    },
+    // 价格投标不能大于合计
+    onlogistiicsPrice(val){
+      console.log(val)
+       if(val>this.form.transportUnitPrice){
+         this.form.logisticsBiddingPrice = this.form.transportUnitPrice
+         console.log("我是大于")
+       }
+       if(val.indexOf('.') !== -1 && val == '.'){
+         this.form.logisticsBiddingPrice =0
+       }
+       if(val== "+" || val== "-"){
+         this.form.logisticsBiddingPrice = 0
+       }
+       if(val<0){
+         this.form.logisticsBiddingPrice = 0
+       }
+    },
+    onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.param.startTime =this.applyDateStart[0]
+              this.param.endTime = this.applyDateStart[1]
+            }else{
+              this.param.startTime =""
+              this.param.endTime =""
+            }
+
+      this.getParamFexd()
+    },
+    next() {
+      console.log(this.$refs.ckTable)
+        if (this.active++ > 2) this.active = 0;
+        this.dialogTableData = this.$refs.ckTable.SelectionList
+      },
+      handleSelectionChange(row){
+        
+      },
+    // 获取详情
+    getDictData: function() {
+      this.loading = true
+        const params = new URLSearchParams()
+      params.append('current', this.currentPage)
+      params.append('size', this.pageSize)
+      params.append('tenderType', this.query.tenderType)
+      params.append('tenderTitle', this.query.value)
+      params.append('tenderRule', this.query.tenderRule)
+      params.append('startTime',this.query.startTime )
+      params.append('endTime', this.query.endTime)
+
+      getTableList(params).then(res => {
+          console.log(res)
+        // this.data = res.data.data.records
+        let data = res.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.data = data
+        this.total = res.data.data.total
+        this.loading = false
+      })
+    },
+
+    // 搜索
+    handleFind: function() {
+      this.currentPage = 1
+      this.getDictData()
+    },
+
+    // 文件移除的时候
+    handleRemove(file, fileList) {
+      this.form.voucherFile = ''
+      console.log(file, fileList, this.fileList, '移出')
+    },
+    // 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
+    handleChange(file, fileList) {
+      console.log(file, fileList, '上传')
+      if (file.response) {
+        console.log(file.response, 'file')
+        if (file.response.code == '200') {
+          this.form.voucherFile = file.response.data.filePath
+        } else {
+          Notification.error({
+            title: file.response.msg,
+            duration: 1000
+          })
+          this.fileList = []
+        }
+      }
+    },
+    // 点击文件列表中已上传的文件时的钩子
+    handlePreview(file) {
+      console.log(file, 'file1')
+      // window.location.href = file.url
+    },
+    handleExceed(files, fileList) {
+      this.$message.warning(`当前限制选择 1 个附件,本次选择了 ${files.length} 个文件`)
+    },
+    beforeRemove(file, fileList) {
+      return this.$confirm(`确定移除 ${file.name}?`)
+    },
+    // 下载
+    onLoad(row) {
+      // const params = new URLSearchParams()
+      // params.append('path', row)
+      const a = document.createElement('a')
+      // a.href= /bidding/load
+      const url = window.location.origin + process.env.BASE_API + '/bidding/load?path=' + encodeURIComponent(row)
+      a.href = url
+      a.click()
+    },
+
+    // 字典名称提交动作
+    doSubmit() {
+      this.$refs['form'].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            // 新增字典
+            console.log(this.form)
+            this.loading = true
+            getSaleAdd(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.loading = false
+              // this.getDictData()
+              this.$refs['form'].resetFields()
+            }).catch(err => {
+              this.loading = false
+            })
+          } else {
+            // 更新字典
+            getQueryEdit(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.getDictData()
+            })
+          }
+        }
+      })
+    },
+    // 添加字典
+    handleAdd: function(row) {
+      this.dialog = true
+      this.isAdd = true
+      this.form = {}
+      this.fileList = []
+      this.form.tenderSaleId = row.tenderSaleId
+      this.form.tenderParentId = this.param.tenderParentId
+      this.form.quantity = row.number
+      this.form.goodsName = row.productName
+      this.form.tenderCode = row.tenderCode
+      // this.form.biddingPrice = row.lowestPrice
+      this.$set(this.form, "biddingPrice", row.lowestPrice)
+      this.form.biddingStartPrice = row.biddingStartPrice
+      this.form.lowestPrice = row.lowestPrice
+      this.form.highestPrice = row.highestPrice
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+    },
+    // 编辑字典
+    handleEdit: function(row) {
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+      this.dialog = true
+      this.isAdd = false
+      this.form = row.bidding
+      this.form.priceQuotes = row.priceQuotes
+      if (this.form.appendix) {
+        let name = this.form.appendix.split('bidding/')
+        name = name.pop()
+        // let name = data.appendix.replace(/(.*\/)*([^.]+).*/ig, "$2");
+        this.fileList = [{ name: name, url: this.form.appendix }]
+      }
+    },
+    handleClick(row,val){
+      console.log(row,val)
+      if(row.name == "second"){
+       this.$refs.ckTable.tenderParentId = this.param.tenderParentId
+        this.$refs.ckTable.getTenantList()
+      }
+    },
+    handleView(row) {
+      let tenderType = row.tenderType
+      if(tenderType == 1){
+        this.$refs.ckTender.viewDialog = true
+         setTimeout(() => {
+            this.$refs.ckTender.activeName="first"
+            this.$refs.ckTender.param.tenderParentId = row.tenderParentId
+            this.$refs.ckTender.bidInfo = row
+            this.$refs.ckTender.param.current = 1
+            this.$refs.ckTender.getParam()
+            console.log("物流")
+      }, 300);
+      }else if(tenderType == 3){
+        this.saleViewDialog = true
+        console.log("销售")
+      }
+    },
+    // 所有标的搜索
+    getParamFexd(){
+      this.param.current = 1
+      this.getParam()
+    },
+    // 所有标的列表数据
+    getParam() {
+      const data = this.param
+      this.tableLoading = true
+      getSaleId(data).then((res) => {
+       console.log(res.data.data.records, '')
+        let data = res.data.data.records
+         data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.tenderStatus == 1 || res.tenderStatus == 2){
+             res.status = res.tenderStatus 
+            console.log("我的状态是:" + res.tenderStatus)
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 3
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 5
+            console.log("当前时间大于结束时间,待处理")
+          }
+
+          return res
+        })
+        this.Paramdata = data
+        this.tableLoading = false
+        this.total1 = res.data.data.total
+      })
+    },
+
+    // 换页
+    handleCurrentChange: function(val) {
+      this.currentPage = val
+      this.getDictData()
+    },
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.getDictData()
+    },
+    handleCurrentChangeParam(val) {
+      this.param.current = val
+      this.getParam()
+    },
+    handleSizeChangeParam(val) {
+      this.param.size = val
+      this.getParam()
+    }
+  }
+}
+</script>
+<style scoped lang="scss">
+/* 去掉上传附件时候的过度效果 */
+  ::v-deep .el-upload-list__item{transition: none !important;}
+  ::v-deep .el-textarea__inner{
+  padding-bottom: 36px;
+}
+.btn_fixed{
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  padding: 15px 50px;
+  width: 100%;
+  text-align: right;
+  background: #f5f5f5;
+
+}
+.ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+.paginationParam{
+  // position: fixed;
+  // bottom: 50px;
+  bottom: 0;
+  left: 0;
+  line-height: 80px;
+  width: 100%;
+  // left: 45%;
+  // text-align: right;
+  z-index: 999;
+  background: #fff;
+}
+/deep/ .el-tabs__item{
+  font-size: 16px !important;
+  // padding: 35px  ;
+}
+.el-card {
+  border: 0px solid #fff;
+}
+.clearfix {
+    line-height: 20px;
+    font-size: 18px;
+    font-weight: 600;
+    color: #409EFF;
+}
+/deep/.el-dialog.is-fullscreen {
+
+    background-color: #f5f7f9;
+}
+.box-card{
+  margin-bottom: 20px;
+  .row-bg{
+  padding: 15px 40px 0 40px;
+  .flex_text{
+    line-height: 50px;
+    color: #8C8C8C;
+    font-size: 14px;
+    // border:1px solid red;
+    // font-weight: 600;
+  }
+  .flex_name{
+    font-size: 14px;
+    padding-left: 25px;
+    color: #575757;
+    font-weight: 550;
+  }
+}
+}
+/deep/ .el-card__body{
+  padding: 20px 0;
+}
+/deep/.el-tabs__nav-wrap::after {
+
+    background-color: #dfe4ed00;  
+}
+/deep/ .el-dialog--center .el-dialog__body {
+    text-align: initial;
+    padding: 25px 25px 0px 30px;
+}
+/deep/ .el-tabs--border-card{
+  // border-top:1px ;
+  border-bottom: 0px;
+
+ box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.5)
+}
+
+.mo-input--number {
+    border: 1px solid #DCDFE6;
+    width: 70%;
+    display: flex;
+    border-radius: 4px;
+    .el-input-number--mini{
+      flex: 1;
+    }
+    ::v-deep .el-input__inner{
+      border: none!important;
+    }
+  }
+
+
+.define-append{
+   background-color: #F5F7FA;
+    color: #909399;
+    vertical-align: middle;
+    display: table-cell;
+    position: relative;
+    border-left: 1px solid #DCDFE6;
+    border-radius: 4px;
+    padding: 0 20px;
+    // width: 1px;
+    white-space: nowrap;
+  }
+
+</style>
+

+ 277 - 0
src/views/tender/tender2/dialog.vue

@@ -0,0 +1,277 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <!-- <div>
+      <span style="font-size:14px">货物:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div> -->
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+
+      <el-table-column label="运输方式" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+           <template slot-scope="scope">
+                            <span v-if="scope.row.transportMode == 1">陆运</span>
+                            <!-- <span v-if="scope.row.transportMode == 2">汽运</span> -->
+                            <span v-if="scope.row.transportMode == 2">火车运输</span>
+                            <span v-if="scope.row.transportMode == 3">船运</span>
+                            <span v-if="scope.row.transportMode == 4">汽运/火车运输/船运</span>
+                            <span v-if="scope.row.transportMode == 5">汽运/火车运输</span>
+                            <span v-if="scope.row.transportMode == 6">汽运/船运</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标价格" prop="logisticsBiddingPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="quantity" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="总价" prop="logisticsTotalPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="联系电话" prop="phone" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+       <el-table-column  :show-overflow-tooltip="true" label="包装方式" width="100" align="center">
+        <template slot-scope="scope">
+            <span v-if="scope.row.packingWay == 1">散粮</span> 
+            <span v-if="scope.row.packingWay == 2">袋装</span> 
+            <span v-if="scope.row.packingWay == 3">散装</span> 
+            <span v-if="scope.row.packingWay == 4">集装箱</span> 
+        </template>
+      </el-table-column>
+
+      <el-table-column label="始发车站" prop="departureStation" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的车站" prop="destinationStation" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+       <el-table-column label="状态" align="center" width="100">
+            <template slot-scope="scope">
+            <el-tag effect="plain" v-if="scope.row.biddingStatus == 5">已投递</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==6" type="info">审核中</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==7" type="warning">已中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==8" type="danger">未中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==9" type="danger">已作废</el-tag>
+            </template>
+       </el-table-column>
+      <el-table-column label="投标时间" prop="logisticsBiddingTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="备注" prop="biddingLogisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :popper-class="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsInfo } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: {},
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: '1',
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        isShow:true
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      onshow(){
+          this.isShow = !this.isShow
+      },
+    parseTime,
+    getTenantList: function() {
+        console.log(this.priceData)
+        let tenderLogisticsId =this.priceData.logisticsBidId
+        let current =this.current
+        let size =this.size
+      getLogisticsInfo(tenderLogisticsId,size,current).then(response => {
+        console.log(response)
+        this.loading = false
+         let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 投标时间
+          let startTime = this.priceData.endTime
+
+          const date = new Date(startTime)
+          const start = date.valueOf()         //开始时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          if(res.biddingStatus < 7){
+              console.log("我不满足")
+                if(time < start){
+                    res.biddingStatus = 5
+                    console.log("当前时间小于投标时间,已投递")
+                }else if(time > start){
+                    res.biddingStatus = 6
+                    console.log("当前时间小于投标时间,审核中")
+                }
+          }
+          return res
+        })
+        console.log(data)
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = '1'
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+</style>
+

+ 404 - 0
src/views/tender/tender2/table.vue

@@ -0,0 +1,404 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <div>
+      <span style="font-size:14px">货物名称:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+          <!-- <span style="fontSize:13px;marginLeft:20px">投标时间</span>
+            <el-date-picker
+              v-model="applyDateStart"
+              size="mini"
+              type="datetimerange"
+              style="width: 280px;"
+              range-separator="-"
+              clearable
+              value-format="yyyy-MM-dd HH:mm:ss"
+              :default-time="['00:00:00', '23:59:59']"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+             @change="onApplyDate"
+             @clear="onApplyDate"
+            />
+ -->
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div>
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+          <!-- <el-table-column type="expand" prop="biddingLogisticsInfoList">
+      <template slot-scope="props"> -->
+            <!-- <div  :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" v-if="isShow">
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式: 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 1">陆运</span> 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 2">汽运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 3">火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 4">船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 6">汽运/火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{props.row.biddingLogisticsInfoList[0].quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{props.row.biddingLogisticsInfoList[0].logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{props.row.biddingLogisticsInfoList[0].phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="props.row.biddingLogisticsInfoList[0].packingWay == 1">散粮</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 2">袋装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 3">散装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{props.row.biddingLogisticsInfoList[0].departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{props.row.biddingLogisticsInfoList[0].destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{props.row.biddingLogisticsInfoList[0].logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+          <!-- <div v-for="(item,index) in props.row.biddingLogisticsInfoList" :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" >
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式:
+                            <span v-if="item.transportMode == 1">陆运</span>
+                            <span v-if="item.transportMode == 2">汽运</span>
+                            <span v-if="item.transportMode == 3">火车运输</span>
+                            <span v-if="item.transportMode == 4">船运</span>
+                            <span v-if="item.transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="item.transportMode == 6">汽运/火车运输</span>
+                            <span v-if="item.transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{item.logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{item.quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{item.logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{item.phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="item.packingWay == 1">散粮</span> 
+                           <span v-if="item.packingWay == 2">袋装</span> 
+                           <span v-if="item.packingWay == 3">散装</span> 
+                           <span v-if="item.packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{item.departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{item.destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{item.logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{item.logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+            <!-- <div @click="onshow">{{isShow ?"展开" : "收起"}}</div> -->
+      <!-- </template>
+    </el-table-column> -->
+
+      <el-table-column label="货物" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="goodsNumber" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="始发地" prop="departureName" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的地" prop="destinationName" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="预估距离" prop="predictDistance" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="单价" prop="transportUnitPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="保证金" prop="deposit" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+        <el-table-column label="状态" align="center" width="100">
+      <template slot-scope="scope">
+        <el-tag effect="plain" v-if="scope.row.status ==1">进行中</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==2" type="info">已结束</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==3" type="danger">已作废</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+      </template>
+    </el-table-column>
+      <el-table-column prop="description" :show-overflow-tooltip="true" label="招标规则" width="100" align="center">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.tenderLogisticsRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="scope.row.tenderLogisticsRule == 2" effect="plain" >价高者得</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标开始时间" prop="startTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标结束时间" prop="endTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标备注" prop="logisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+        <el-table-column label="操作" width="150" fixed="right" align="center">
+        <template slot-scope="scope">
+          <!-- <el-button type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == null" slot="reference" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == 0" slot="reference" type="text" icon="el-icon-edit" @click="handleEdit(scope.row)">改标</el-button> -->
+          <el-button  slot="reference" type="text" :disabled="scope.row.status !=1" icon="el-icon-plus" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button  slot="reference" icon="el-icon-view" type="text" @click="handleView(scope.row)">查看更多</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :popper-class="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsList } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: [],
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: '1',
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        // dialogTableVisible:false
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      handleView(row){
+          console.log("我被点击了")
+            this.$emit('change',row)
+        //   this.$parent.dialogTableVisible = true
+      },
+    parseTime,
+    getTenantList: function() {
+      this.loading = true
+      const params = new URLSearchParams()
+      params.append('tenderParentId', this.tenderParentId)
+      params.append('goodsName', this.goodsName)
+      params.append('startTime', this.startTime)
+      params.append('endTime', this.endTime)
+      params.append('current', this.current)
+      params.append('size', this.size)
+      getLogisticsList(params).then(response => {
+        console.log(response)
+        this.loading = false
+          let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = '1'
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+
+</style>
+

+ 857 - 0
src/views/tender/tender2/tender.vue

@@ -0,0 +1,857 @@
+<template>
+    <div>
+          <el-dialog :append-to-body="true" fullscreen :visible.sync="viewDialog" title="" center>
+                  <el-card class="box-card" shadow="nerver">
+                    <div slot="header" class="clearfix">
+                      <span class="topClass">基本信息</span>
+                    </div>
+
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                           标题 : <span class="flex_name"> {{bidInfo.tenderTitle}}</span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                           状态 : <span class="flex_name"> <el-tag effect="plain" v-if="bidInfo.status ==1">进行中</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==2" type="info">已结束</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==3" type="danger">已作废</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==4" type="warning">未开始</el-tag>
+                                </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         招标类型 :  <span class="flex_name"><el-tag v-if="bidInfo.tenderType == 1"  >物流</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 2" >原料</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 3" >销售</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 4" >加工承揽</el-tag>
+                                    </span>
+                       </el-col>
+                    </el-row>
+                     <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                         招标规则 : <span class="flex_name">    <el-tag v-if="bidInfo.tenderRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="bidInfo.tenderRule == 2" effect="plain" >价高者得</el-tag></span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         开始时间 : <span class="flex_name"> {{bidInfo.startTime}} </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         截止时间 :  <span class="flex_name">{{bidInfo.endTime}}
+                                    </span>
+                       </el-col>
+                    </el-row>
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="24" class="flex_text">
+                            备注:<span class="flex_name">{{bidInfo.tenderRemark}}</span>
+                       </el-col>
+                    </el-row>
+                  </el-card>
+                   <el-card class="box-card" shadow="nerver">
+                        <div slot="header" class="clearfix">
+                          <span class="topClass"> 所有标的</span>
+                        </div>
+                      <el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
+                        <el-tab-pane label="标的详情" name="first">
+
+                          <div class="head-container" style="margin: 30px 0 10px 0;">
+                            <span style="fontSize:13px">品种</span>
+                              <el-input
+                                v-model="param.breeds"
+                                clearable
+                                placeholder="请输入产品名称"
+                                style="width: 200px;"
+                                size="small"
+                                class="filter-item"
+                                @keyup.enter.native="getParamFexd"
+                                @clear="getParamFexd"
+                              />
+                            <span style="fontSize:13px;marginLeft:20px">交付方式</span>
+                               <el-select v-model="param.deliveryMethod" style="width:200px;" size="small"  @keyup.enter.native="getParamFexd" @clear="getParamFexd" clearable filterable placeholder="请选择交付方式">
+                                  <el-option
+                                    v-for="item in deliveryMethod"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id"
+                                  />
+                                </el-select>
+                            <span style="fontSize:13px;marginLeft:20px">等级</span>
+                              <el-select v-model="param.level" size="small" style="width: 200px;"  @keyup.enter.native="getParamFexd" @clear="getParamFexd" clearable filterable placeholder="请选择等级">
+                                  <el-option
+                                    v-for="item in level"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id"
+                                  />
+                                </el-select>
+                            <span style="fontSize:13px;marginLeft:20px">发标时间</span>
+                              <el-date-picker
+                                v-model="applyDateStart"
+                                size="small"
+                                type="datetimerange"
+                                style="width: 400px;"
+                                range-separator="-"
+                                clearable
+                                value-format="yyyy-MM-dd HH:mm:ss"
+                                :default-time="['00:00:00', '23:59:59']"
+                                start-placeholder="开始日期"
+                                end-placeholder="结束日期"
+                              @change="onApplyDate"
+                              @clear="onApplyDate"
+                              />
+                              <div style="text-align: right;margin-right:40px">
+                                   <el-button class="filter-item" style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="getParamFexd">搜索</el-button>
+                              </div>
+                          <div style="height:20px"></div>
+                          <el-table center :data="Paramdata" :header-cell-style="{ background: '#f5f7fa', }" border v-loading="tableLoading" stripe style="width: 100%;">
+
+                            <!-- <el-table-column prop="rawTenderId" width="150" fixed="left" label="标的编号" :show-overflow-tooltip="true" align="center" /> -->
+                            <el-table-column prop="tenderRawCode" width="150" label="标的编码" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="breeds"   label="品种" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="number"  label="数量(吨)" :show-overflow-tooltip="true" align="center" />
+                            <!-- <el-table-column prop="unitPrice" width="100" label="单价(元/吨)" :show-overflow-tooltip="true" align="center" /> -->
+                              <el-table-column prop="deliveryMethod" width="100" label="交付方式" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.deliveryMethod == 1" type="success" effect="plain">自提</el-tag>
+                                  <el-tag v-if="scope.row.deliveryMethod == 2" effect="plain" >送货到厂</el-tag>
+                              </template>
+                            </el-table-column>
+                              <el-table-column prop="deliveryMethod" label="等级" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.level == 5" >二级</el-tag>
+                                  <el-tag v-if="scope.row.level == 6" >三级</el-tag>
+                              </template>
+                            </el-table-column>
+                             <el-table-column prop="appendix" label="回执" align="center" width="100">
+                                <template slot-scope="scope">
+                                    <el-link v-if="scope.row.receiptPathUrl" :href="'http://view.officeapps.live.com/op/view.aspx?src='+scope.row.receiptPathUrl" type="primary" target="_target"><i class="el-icon-view"></i> 查看</el-link>
+                                </template>
+                              </el-table-column>
+
+                           <el-table-column label="状态" align="center" width="100">
+                            <template slot-scope="scope">
+                             <el-tag effect="plain" v-if="scope.row.status ==3">进行中</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==1" type="info">已结束</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==5" type="info">待处理</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==2" type="danger">已作废</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+                            </template>
+                          </el-table-column>
+                          <el-table-column prop="tenderLogisticsRule" label="中标规则" width="100" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.rule == 1" type="success" effect="plain">价低者得</el-tag>
+                                  <el-tag v-if="scope.row.rule == 2" effect="plain" >价高者得</el-tag>
+                              </template>
+                            </el-table-column>
+                            <el-table-column prop="startTime" width="152" label="起始时间" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="endTime" width="152" label="结束时间" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="createTime" label="创建时间"  width="152" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="remark" label="备注" width="162" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column label="操作" width="150" align="center" fixed="right">
+                                <template slot-scope="scope">
+                                  <el-button  slot="reference" type="text" :disabled="scope.row.status !=3" icon="el-icon-plus" @click="handleAdd(scope.row)">投标</el-button>
+                                </template>
+                              </el-table-column>
+                          </el-table>
+                          <div class="pagination">
+                            <el-pagination
+                              :current-page.sync="param.current"
+                              :page-size="param.size"
+                              layout="total, sizes, prev, pager, next, jumper"
+                              :total="total1"
+                              :page-sizes="[10, 20, 30, 50]"
+                              background
+                              @size-change="handleSizeChangeParam"
+                              @current-change="handleCurrentChangeParam"
+                            />
+                          </div>
+                  <!-- <div style="height:60px"></div> -->
+                    </div>
+
+                </el-tab-pane>
+                <el-tab-pane label="投标详情" name="second">
+                   <!-- <el-card class="box-card" shadow="nerver"> -->
+                      <!-- <div slot="header" class="clearfix">
+                        <span class="topClass">投标详情</span>
+                      </div> -->
+                              <ckTable ref="ckTable" @change="costPlannedAmountChange($event)"></ckTable>
+                   <!-- </el-card> -->
+                </el-tab-pane>
+              </el-tabs>
+             
+                      </el-card>
+          <el-dialog :append-to-body="true" :visible.sync="dialog" :title="isAdd ? '投标' : '修标'" width="50%">
+                      <el-form ref="form" :model="form" :rules="rules1" label-width="80px">
+                       <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="品种">
+                              <el-tag>{{form.breeds}}</el-tag>
+                            </el-form-item>
+                              </el-col>
+                              <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                                  <el-form-item label="产品编码">
+                                    <el-tag>{{form.tenderRawCode}}</el-tag>
+                                  </el-form-item>
+                              </el-col>
+                        </el-row>
+
+
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="数量" prop="quantity">
+                              <el-input v-model="form.quantity" readonly style="width: 80%;" placeholder="数量"><template slot="append">(吨)</template></el-input>
+                           <!-- <span style="fontSize:16px" effect="plain">{{form.quantity}} (吨)</span> -->
+                            <!-- <el-input v-model="form.quantity" style="width: 80%;" placeholder="请输入数量"></el-input> -->
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="投标价格" prop="biddingPrice">
+                              <el-input v-model="form.biddingPrice" style="width: 80%;" placeholder="请输入金额"><template slot="append">(吨/元)</template></el-input>
+                              <!-- <el-input v-model="form.logisticsBiddingPrice" @input="onlogistiicsPrice" style="width: 80%;" placeholder="请输入金额"><template slot="append">(吨/元)</template></el-input> -->
+                              <!-- <div style="color:#909399;fontSize:15px"> * <span style="color:#909399;fontSize:13px;position: relative;top:-5px">最大价格 {{form.transportUnitPrice}} </span> </div> -->
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+
+                            <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="合计" prop="quantity">
+                              <el-input  :value="form.biddingPrice ? (form.quantity *form.biddingPrice).toFixed(4) : 0" readonly style="width: 80%;" placeholder="请输入金额"><template slot="append">(元)</template></el-input>
+                           <!-- <span style="fontSize:16px"  effect="plain">{{}} (吨/元)</span> -->
+                           <!-- <el-tag  style="fontSize:14px"  effect="plain">{{form.logisticsBiddingPrice=="NAN" ? (form.quantity *form.logisticsBiddingPrice).toFixed(4) : 0}} (吨/元)</el-tag> -->
+                            <!-- <el-input v-model="form.quantity" style="width: 80%;" placeholder="请输入数量"></el-input> -->
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                               <el-form-item label="价格条款" prop="priceProvision">
+                              <el-select v-model="form.priceProvision" style="width: 80%;"  filterable placeholder="请选择价格条款">
+                                  <el-option
+                                    v-for="item in priceProvision"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id"
+                                  />
+                                </el-select>
+                            </el-form-item>
+                               <!-- <el-form-item label="上传凭证" >
+                              <el-upload
+                                  class="upload-demo"
+                                  :limit="1"
+                                  :on-preview="handlePreview"
+                                  :on-change="handleChange"
+                                  :on-remove="handleRemove"
+                                  :before-remove="beforeRemove"
+                                  :on-exceed="handleExceed"
+                                  :action="BASE_API+'/common/bidding/voucher'"
+                                  name="multipartFile"
+                                  list-type="text"
+                                  :file-list="fileList"
+                                  multiple
+                                >
+                                    <el-button class="el-icon-upload" >上传凭证</el-button>
+                                </el-upload>
+                            </el-form-item> -->
+                          </el-col>
+                        </el-row>
+
+                        
+                         <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="生产日期" prop="dateManufacture">
+                              <el-date-picker
+                                  style="width: 80%;"
+                                   value-format="yyyy-MM-dd"
+                                  v-model="form.dateManufacture"
+                                  type="date"
+                                  placeholder="选择日期">
+                                </el-date-picker>
+                            </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="交货日期" prop="deliveryDate">
+                               <el-date-picker
+                                  v-model="deliveryDate"
+                                  :clearable="false"
+                                  type="daterange"
+                                  style="width: 80%;"
+                                  range-separator="-"
+                                  value-format="yyyy-MM-dd"
+                                  start-placeholder="开始日期"
+                                  end-placeholder="结束日期"
+                                @change="ondeliveryDate"
+                                />
+                              </el-form-item>
+                          </el-col>
+                         </el-row>
+
+
+
+                        
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                         
+                           </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                           <el-form-item label="运输方式" prop="transportMode">
+                             <el-select v-model="form.transportMode" style="width: 80%;"  filterable placeholder="请选择包装方式">
+                                <el-option
+                                  v-for="item in transportMode"
+                                  :key="item.id"
+                                  :label="item.name"
+                                  :value="item.id"
+                                />
+                              </el-select>
+                           </el-form-item>
+                        </el-col>
+                        </el-row>
+
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="联系电话" prop="phone">
+                            <el-input v-model="form.phone" style="width: 80%;" placeholder="请输入联系电话"></el-input>
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="备注" prop="biddingLogisticsRemark">
+                                <el-input
+                                  v-model="form.biddingLogisticsRemark"
+                                  type="textarea"
+                                  style="width: 93%;"
+                                  :autosize="{ minRows: 2, maxRows: 10}"
+                                  maxlength="500"
+                                  show-word-limit
+                                  placeholder="请输入内容"
+                                />
+                              </el-form-item>
+                          </el-col>
+                        </el-row>
+                      </el-form>
+                      <div slot="footer" class="dialog-footer">
+                        <el-button @click="dialog = false">取消</el-button>
+                        <el-button :loading="loading" type="primary" @click="doSubmit">确认</el-button>
+                      </div>
+                    </el-dialog>
+            
+                   <div slot="footer" class="paginationParam" style="paddingRight:">
+                    <!-- <el-button @click="viewDialog = false">取消</el-button> -->
+                    <el-button :loading="loading" type="primary" @click="viewDialog = false">返回</el-button>
+                  </div>
+
+                         <el-dialog :title="goodsName" width="90%" center :visible.sync="dialogTableVisible" append-to-body>
+                               <ckDialog ref="ckDialog"></ckDialog>
+                          </el-dialog>
+
+    </el-dialog>
+    </div>
+</template>
+
+<script>
+
+import {  getTenderRaw,getRawAdd } from '@/api/tender'
+import { Notification, MessageBox } from 'element-ui'
+
+import ckTable from './table.vue'
+import ckDialog from './dialog.vue'
+export default {
+   components:{
+    ckTable,
+    ckDialog
+  },
+  data() {
+    const checkTel = (rule, value, callback) => {
+      if (value == null) {
+        callback(new Error('请选择附件'))
+      } else {
+        callback()
+      }
+    }
+    return {
+      form: {
+      },
+      data: [{}],
+      active:0,
+      deliveryDate:[],
+      BASE_API: process.env.BASE_API,
+      dialog: false,
+      loading: false,
+      delLoading: false,
+      tableLoading:false,
+      viewDialog: false,
+      isAdd: false,
+      currentPage: 1,
+      pageSize: 10,
+      total: 0, // 总数量
+      rules1:{
+        departureStation:[
+          { required: true, message: '始发车站不为空', trigger: 'blur' },
+        ],
+         destinationStation:[
+          { required: true, message: '目的车站不为空', trigger: 'blur' },
+        ],
+         biddingPrice:[
+          { required: true, message: '投标价格不为空', trigger: 'blur' },
+        ],
+         packingWay:[
+          { required: true, message: '包装方式不为空', trigger: 'blur' },
+        ],
+         phone:[
+          { required: true, message: '联系电话不为空', trigger: 'blur' },
+        ],
+         transportMode:[
+          { required: true, message: '运输方式不为空', trigger: 'blur' },
+        ],
+      },
+      rules: {
+
+        price: [
+          { required: true, message: '报价金额不为空', trigger: 'blur' },
+        ],
+        appendix: [
+          // { type:"array",required: true, message: '附件不为空', trigger: 'blur' },
+          { validator: checkTel, trigger: 'blur' }
+        ]
+      },
+      query: {
+        type: '',
+        value: '',
+         tenderRule:"",
+        tenderType:"",
+        startTime:"",
+        endTime:""
+      },
+      fileList: [],
+      param: {
+        current: 1,
+        size: 10
+      },
+      total1: 0,
+      Paramdata: [],
+      applyDateStart:[],
+      dialogTableData:[],
+       level:[
+        {id:5,name:"二级"},
+        {id:6,name:"三级"},
+
+      ],
+      deliveryMethod:[
+        {id:1,name:"自提"},
+        {id:2,name:"送货到厂"},
+      ],
+      packingWay:[],
+      transportMode:[
+        {id:1,name:"陆运"},
+        {id:2,name:"火车运输"},
+        {id:3,name:"船运"},
+        {id:4,name:"汽运/火车运输/船运"},
+        {id:5,name:"汽运/火车运输"},
+        {id:6,name:"汽运/船运"},
+      ],
+      priceProvision:[
+        {id:1,name:"港口平仓价"},
+        {id:2,name:"到厂价"},
+        {id:3,name:"自提价"},
+      ],
+       activeName: 'first',
+       dialogTableVisible:false,
+       goodsName:"",
+       bidInfo:{}
+    }
+  },
+  created() {
+    // this.getDictData()
+  },
+  methods: {
+    // 投标详情 向父元素传递数据
+    costPlannedAmountChange(val){
+      console.log(val)
+ 
+      this.dialogTableVisible = true
+      setTimeout(() => {
+        this.goodsName = val.goodsName
+       this.$refs.ckDialog.priceData = val
+      this.$refs.ckDialog.getTenantList()
+        console.log(this.$refs.ckDialog)
+      }, 300);
+    },
+    // 价格投标不能大于合计
+    onlogistiicsPrice(val){
+      console.log(val)
+       if(val>this.form.transportUnitPrice){
+         this.form.logisticsBiddingPrice = this.form.transportUnitPrice
+         console.log("我是大于")
+       }
+       if(val.indexOf('.') !== -1 && val == '.'){
+         this.form.logisticsBiddingPrice =0
+       }
+       if(val== "+" || val== "-"){
+         this.form.logisticsBiddingPrice = 0
+       }
+       if(val<0){
+         this.form.logisticsBiddingPrice = 0
+       }
+    },
+    ondeliveryDate(){
+      console.log(this.deliveryDate)
+      this.form.deliveryStartTime = this.deliveryDate[0]
+      this.form.deliveryEndTime = this.deliveryDate[1]
+    },
+    onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.param.startTime =this.applyDateStart[0]
+              this.param.endTime = this.applyDateStart[1]
+            }else{
+              this.param.startTime =""
+              this.param.endTime =""
+            }
+
+      this.getParamFexd()
+    },
+    next() {
+      console.log(this.$refs.ckTable)
+        if (this.active++ > 2) this.active = 0;
+        this.dialogTableData = this.$refs.ckTable.SelectionList
+      },
+      handleSelectionChange(row){
+        
+      },
+    // 获取详情
+    getDictData: function() {
+      this.loading = true
+        const params = new URLSearchParams()
+      params.append('current', this.currentPage)
+      params.append('size', this.pageSize)
+      params.append('tenderType', this.query.tenderType)
+      params.append('tenderTitle', this.query.value)
+      params.append('tenderRule', this.query.tenderRule)
+      params.append('startTime',this.query.startTime )
+      params.append('endTime', this.query.endTime)
+
+      getTableList(params).then(res => {
+          console.log(res)
+        // this.data = res.data.data.records
+        let data = res.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.data = data
+        this.total = res.data.data.total
+        this.loading = false
+      })
+    },
+
+    // 搜索
+    handleFind: function() {
+      this.currentPage = 1
+      this.getDictData()
+    },
+
+    // 文件移除的时候
+    handleRemove(file, fileList) {
+      this.form.voucherFile = ''
+      console.log(file, fileList, this.fileList, '移出')
+    },
+    // 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
+    handleChange(file, fileList) {
+      console.log(file, fileList, '上传')
+      if (file.response) {
+        console.log(file.response, 'file')
+        if (file.response.code == '200') {
+          this.form.voucherFile = file.response.data.filePath
+        } else {
+          Notification.error({
+            title: file.response.msg,
+            duration: 1000
+          })
+          this.fileList = []
+        }
+      }
+    },
+    // 点击文件列表中已上传的文件时的钩子
+    handlePreview(file) {
+      console.log(file, 'file1')
+      // window.location.href = file.url
+    },
+    handleExceed(files, fileList) {
+      this.$message.warning(`当前限制选择 1 个附件,本次选择了 ${files.length} 个文件`)
+    },
+    beforeRemove(file, fileList) {
+      return this.$confirm(`确定移除 ${file.name}?`)
+    },
+    // 下载
+    onLoad(row) {
+      // const params = new URLSearchParams()
+      // params.append('path', row)
+      const a = document.createElement('a')
+      // a.href= /bidding/load
+      const url = window.location.origin + process.env.BASE_API + '/bidding/load?path=' + encodeURIComponent(row)
+      a.href = url
+      a.click()
+    },
+
+    // 字典名称提交动作
+    doSubmit() {
+      this.$refs['form'].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            // 新增字典
+            console.log(this.form)
+            this.loading = true
+            getRawAdd(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.loading = false
+              this.getDictData()
+              this.$refs['form'].resetFields()
+            }).catch(err => {
+              this.loading = false
+            })
+          } else {
+            // 更新字典
+            getQueryEdit(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.getDictData()
+            })
+          }
+        }
+      })
+    },
+    // 添加字典
+    handleAdd: function(row) {
+      this.dialog = true
+      this.isAdd = true
+      this.form = {}
+      this.fileList = []
+      this.form.breeds = row.breeds
+      this.form.tenderRawCode = row.tenderRawCode
+      this.form.rawTenderId = row.rawTenderId
+      this.form.tenderParentId = this.param.tenderParentId
+      this.form.quantity = row.number
+
+      // this.form.goodsName = row.goodsName
+      // this.form.transportUnitPrice = row.transportUnitPrice
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+    },
+    // 编辑字典
+    handleEdit: function(row) {
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+      this.dialog = true
+      this.isAdd = false
+      this.form = row.bidding
+      this.form.priceQuotes = row.priceQuotes
+      if (this.form.appendix) {
+        let name = this.form.appendix.split('bidding/')
+        name = name.pop()
+        // let name = data.appendix.replace(/(.*\/)*([^.]+).*/ig, "$2");
+        this.fileList = [{ name: name, url: this.form.appendix }]
+      }
+    },
+    handleClick(row,val){
+      console.log(row,val)
+      if(row.name == "second"){
+       this.$refs.ckTable.tenderParentId = this.param.tenderParentId
+        this.$refs.ckTable.getTenantList()
+      }
+    },
+
+    // 所有标的搜索
+    getParamFexd(){
+      this.param.current = 1
+      this.getParam()
+    },
+    // 所有标的列表数据
+    getParam() {
+      const data = this.param
+      this.tableLoading = true
+      getTenderRaw(data).then((res) => {
+       console.log(this.bidInfo, 'bidInfo')
+        let data = res.data.data.records
+         data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.tenderStatus == 1 || res.tenderStatus == 2){
+             res.status = res.tenderStatus 
+            console.log("我的状态是:" + res.tenderStatus)
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 3
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 5
+            console.log("当前时间大于结束时间,待处理")
+          }
+
+          return res
+        })
+        this.Paramdata = data
+        this.tableLoading = false
+        this.total1 = res.data.data.total
+      })
+    },
+
+    // 换页
+    handleCurrentChange: function(val) {
+      this.currentPage = val
+      this.getDictData()
+    },
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.getDictData()
+    },
+    handleCurrentChangeParam(val) {
+      this.param.current = val
+      this.getParam()
+    },
+    handleSizeChangeParam(val) {
+      this.param.size = val
+      this.getParam()
+    }
+  }
+}
+</script>
+<style scoped lang="scss">
+/* 去掉上传附件时候的过度效果 */
+  ::v-deep .el-upload-list__item{transition: none !important;}
+  ::v-deep .el-textarea__inner{
+  padding-bottom: 36px;
+}
+.btn_fixed{
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  padding: 15px 50px;
+  width: 100%;
+  text-align: right;
+  background: #f5f5f5;
+
+}
+.ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+.paginationParam{
+  // position: fixed;
+  // bottom: 50px;
+  bottom: 0;
+  left: 0;
+  line-height: 80px;
+  width: 100%;
+  // left: 45%;
+  // text-align: right;
+  z-index: 999;
+  background: #fff;
+}
+/deep/ .el-tabs__item{
+  font-size: 16px !important;
+  // padding: 35px  ;
+}
+.el-card {
+  border: 0px solid #fff;
+}
+.clearfix {
+    line-height: 20px;
+    font-size: 18px;
+    font-weight: 600;
+    color: #409EFF;
+}
+/deep/.el-dialog.is-fullscreen {
+
+    background-color: #f5f7f9;
+}
+.box-card{
+  margin-bottom: 20px;
+  .row-bg{
+  padding: 15px 40px 0 40px;
+  .flex_text{
+    line-height: 50px;
+    color: #8C8C8C;
+    font-size: 14px;
+    // border:1px solid red;
+    // font-weight: 600;
+  }
+  .flex_name{
+    font-size: 14px;
+    padding-left: 25px;
+    color: #575757;
+    font-weight: 550;
+  }
+}
+}
+/deep/ .el-card__body{
+  padding: 20px 0;
+}
+/deep/.el-tabs__nav-wrap::after {
+
+    background-color: #dfe4ed00;  
+}
+/deep/ .el-dialog--center .el-dialog__body {
+    text-align: initial;
+    padding: 25px 25px 0px 30px;
+}
+
+/deep/ .el-tabs--border-card{
+  // border-top:1px ;
+  border-bottom: 0px;
+
+ box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.5)
+}
+
+</style>
+

+ 277 - 0
src/views/tender/tender3/dialog.vue

@@ -0,0 +1,277 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <!-- <div>
+      <span style="font-size:14px">货物:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div> -->
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+
+      <el-table-column label="运输方式" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+           <template slot-scope="scope">
+                            <span v-if="scope.row.transportMode == 1">陆运</span>
+                            <!-- <span v-if="scope.row.transportMode == 2">汽运</span> -->
+                            <span v-if="scope.row.transportMode == 2">火车运输</span>
+                            <span v-if="scope.row.transportMode == 3">船运</span>
+                            <span v-if="scope.row.transportMode == 4">汽运/火车运输/船运</span>
+                            <span v-if="scope.row.transportMode == 5">汽运/火车运输</span>
+                            <span v-if="scope.row.transportMode == 6">汽运/船运</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标价格" prop="logisticsBiddingPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="quantity" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="总价" prop="logisticsTotalPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="联系电话" prop="phone" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+       <el-table-column  :show-overflow-tooltip="true" label="包装方式" width="100" align="center">
+        <template slot-scope="scope">
+            <span v-if="scope.row.packingWay == 1">散粮</span> 
+            <span v-if="scope.row.packingWay == 2">袋装</span> 
+            <span v-if="scope.row.packingWay == 3">散装</span> 
+            <span v-if="scope.row.packingWay == 4">集装箱</span> 
+        </template>
+      </el-table-column>
+
+      <el-table-column label="始发车站" prop="departureStation" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的车站" prop="destinationStation" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+       <el-table-column label="状态" align="center" width="100">
+            <template slot-scope="scope">
+            <el-tag effect="plain" v-if="scope.row.biddingStatus == 5">已投递</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==6" type="info">审核中</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==7" type="warning">已中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==8" type="danger">未中标</el-tag>
+            <el-tag effect="plain" v-if="scope.row.biddingStatus ==9" type="danger">已作废</el-tag>
+            </template>
+       </el-table-column>
+      <el-table-column label="投标时间" prop="logisticsBiddingTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="备注" prop="biddingLogisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :popper-class="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsInfo } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: {},
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: '1',
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        isShow:true
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      onshow(){
+          this.isShow = !this.isShow
+      },
+    parseTime,
+    getTenantList: function() {
+        console.log(this.priceData)
+        let tenderLogisticsId =this.priceData.logisticsBidId
+        let current =this.current
+        let size =this.size
+      getLogisticsInfo(tenderLogisticsId,size,current).then(response => {
+        console.log(response)
+        this.loading = false
+         let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 投标时间
+          let startTime = this.priceData.endTime
+
+          const date = new Date(startTime)
+          const start = date.valueOf()         //开始时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          if(res.biddingStatus < 7){
+              console.log("我不满足")
+                if(time < start){
+                    res.biddingStatus = 5
+                    console.log("当前时间小于投标时间,已投递")
+                }else if(time > start){
+                    res.biddingStatus = 6
+                    console.log("当前时间小于投标时间,审核中")
+                }
+          }
+          return res
+        })
+        console.log(data)
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = '1'
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+</style>
+

+ 404 - 0
src/views/tender/tender3/table.vue

@@ -0,0 +1,404 @@
+<template>
+  <div class="" style="margin: 30px 0 10px 0;">
+    <!-- 查询和其他操作 -->
+    <div>
+      <span style="font-size:14px">货物名称:</span>
+      <el-input
+        v-model="goodsName"
+        clearable
+        placeholder="请输入货物"
+        style="width: 200px;margin-bottom:20px"
+        size="small"
+         @keyup.enter.native="handleFind"
+         @clear="handleFind"
+        class="filter-item"
+      />
+          <!-- <span style="fontSize:13px;marginLeft:20px">投标时间</span>
+            <el-date-picker
+              v-model="applyDateStart"
+              size="mini"
+              type="datetimerange"
+              style="width: 280px;"
+              range-separator="-"
+              clearable
+              value-format="yyyy-MM-dd HH:mm:ss"
+              :default-time="['00:00:00', '23:59:59']"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+             @change="onApplyDate"
+             @clear="onApplyDate"
+            />
+ -->
+
+
+      <el-button style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="handleFind">查询
+      </el-button>
+    </div>
+
+    <el-table  ref="multipleTable" v-loading="loading" :data="tableData"  :header-cell-style="{ background: '#f5f7fa', }" style="width: 100%" border  >
+          <!-- <el-table-column type="expand" prop="biddingLogisticsInfoList">
+      <template slot-scope="props"> -->
+            <!-- <div  :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" v-if="isShow">
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式: 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 1">陆运</span> 
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 2">汽运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 3">火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 4">船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 6">汽运/火车运输</span>
+                            <span v-if="props.row.biddingLogisticsInfoList[0].transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{props.row.biddingLogisticsInfoList[0].quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{props.row.biddingLogisticsInfoList[0].logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{props.row.biddingLogisticsInfoList[0].phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="props.row.biddingLogisticsInfoList[0].packingWay == 1">散粮</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 2">袋装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 3">散装</span> 
+                           <span v-if="props.row.biddingLogisticsInfoList[0].packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{props.row.biddingLogisticsInfoList[0].departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{props.row.biddingLogisticsInfoList[0].destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="props.row.biddingLogisticsInfoList[0].logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{props.row.biddingLogisticsInfoList[0].logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{props.row.biddingLogisticsInfoList[0].logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+          <!-- <div v-for="(item,index) in props.row.biddingLogisticsInfoList" :key="index" style="background:rgb(245, 247, 250);padding:15px;margin:10px 0" >
+                <el-row type="flex" class="row-bg">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light" >运输方式:
+                            <span v-if="item.transportMode == 1">陆运</span>
+                            <span v-if="item.transportMode == 2">汽运</span>
+                            <span v-if="item.transportMode == 3">火车运输</span>
+                            <span v-if="item.transportMode == 4">船运</span>
+                            <span v-if="item.transportMode == 5">汽运/火车运输/船运</span>
+                            <span v-if="item.transportMode == 6">汽运/火车运输</span>
+                            <span v-if="item.transportMode == 7">汽运/船运</span>
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标价格:{{item.logisticsBiddingPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">数量:{{item.quantity}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">总价:{{item.logisticsTotalPrice}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">联系电话:{{item.phone}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">包装方式:
+                           <span  v-if="item.packingWay == 1">散粮</span> 
+                           <span v-if="item.packingWay == 2">袋装</span> 
+                           <span v-if="item.packingWay == 3">散装</span> 
+                           <span v-if="item.packingWay == 4">集装箱</span> 
+                        </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">始发车站:{{item.departureStation}}</div></el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">目的车站:{{item.destinationStation}}</div></el-col>
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light"> 状态:
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 5">已投递</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 6">审核中</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 7">已中标</el-tag>
+                                 <el-tag  v-if="item.logisticsBiddingStatus == 8">未中标</el-tag>
+                         </div>
+                    </el-col>
+                    <el-col :span="6"><div class="grid-content bg-purple">投标时间:{{item.logisticsBiddingTime}}</div></el-col>
+                </el-row>
+                <el-row type="flex" class="row-bg" style="margin-top:15px">
+                    <el-col :span="6">
+                        <div class="grid-content bg-purple-light">备注:
+                            {{item.logisticsRemark}}
+                        </div>
+                    </el-col>
+                </el-row>
+          </div> -->
+            <!-- <div @click="onshow">{{isShow ?"展开" : "收起"}}</div> -->
+      <!-- </template>
+    </el-table-column> -->
+
+      <el-table-column label="货物" prop="goodsName"   align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="数量(吨)" prop="goodsNumber" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+
+      <el-table-column label="始发地" prop="departureName" width="190" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="目的地" prop="destinationName" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="预估距离" prop="predictDistance" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="单价" prop="transportUnitPrice" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="保证金" prop="deposit" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+        <el-table-column label="状态" align="center" width="100">
+      <template slot-scope="scope">
+        <el-tag effect="plain" v-if="scope.row.status ==1">进行中</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==2" type="info">已结束</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==3" type="danger">已作废</el-tag>
+        <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+      </template>
+    </el-table-column>
+      <el-table-column prop="description" :show-overflow-tooltip="true" label="招标规则" width="100" align="center">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.tenderLogisticsRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="scope.row.tenderLogisticsRule == 2" effect="plain" >价高者得</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="投标开始时间" prop="startTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标结束时间" prop="endTime" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+      <el-table-column label="投标备注" prop="logisticsRemark" width="150" align="center" :show-overflow-tooltip="true">
+      </el-table-column>
+        <el-table-column label="操作" width="150" fixed="right" align="center">
+        <template slot-scope="scope">
+          <!-- <el-button type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == null" slot="reference" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == 0" slot="reference" type="text" icon="el-icon-edit" @click="handleEdit(scope.row)">改标</el-button> -->
+          <el-button  slot="reference" type="text" :disabled="scope.row.status !=1" icon="el-icon-plus" @click="handleAdd(scope.row)">投标</el-button>
+          <el-button  slot="reference" icon="el-icon-view" type="text" @click="handleView(scope.row)">查看更多</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!--分页-->
+    <div class="pagination">
+      <el-pagination
+        :popper-class="current"
+        :page-sizes="[1,10, 20, 30, 50]"
+        :page-size="size"
+        layout="total, sizes, prev, pager, next, jumper"
+        background
+        :total="total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+
+    </div>
+
+
+
+
+  </div>
+</template>
+
+<script>
+import { Listarea } from '@/api/dataForm'
+import { parseTime } from '@/utils/index'
+import { getLogisticsList } from '@/api/tender'
+
+export default {
+  data() {
+    return {
+    //   size: 'small',
+      tableData: [],
+      priceData: [],
+      SelectionList:[],
+      goodsName: '',
+      tenderParentId: '',
+      applyDateStart:[],
+      customerType: [
+        { id: 1, name: '有限责任公司(自然人独资)' },
+        { id: 2, name: '有限责任公司(自然人投资或控股)' },
+        { id: 3, name: '股份有限公司' },
+        { id: 4, name: '有限合伙企业' },
+        { id: 5, name: '外商独资公司' },
+        { id: 6, name: '个人独资企业' },
+        { id: 7, name: '国有独资公司' },
+        { id: 8, name: '其他' }
+
+      ],
+      areaList: [],
+      query: {
+        goodsName: '',
+        tenderParentId:""
+      },
+      formLabelWidth: '90px',
+      isEditForm: false,
+      current: '1',
+      size: 10,
+      total: 0, // 总数量
+      dataForm: {
+      },
+
+      loading: false,
+      dialogVisible: false,
+      batchVisible:false,
+       BASE_API: process.env.BASE_API,
+       fileList: [],
+      roles:[],
+      startTime:"",
+      endTime:"",
+        // dialogTableVisible:false
+    }
+  },
+  created() {
+    // this.getTenantList()
+    console.log('res')
+  },
+  methods: {
+      handleView(row){
+          console.log("我被点击了")
+            this.$emit('change',row)
+        //   this.$parent.dialogTableVisible = true
+      },
+    parseTime,
+    getTenantList: function() {
+      this.loading = true
+      const params = new URLSearchParams()
+      params.append('tenderParentId', this.tenderParentId)
+      params.append('goodsName', this.goodsName)
+      params.append('startTime', this.startTime)
+      params.append('endTime', this.endTime)
+      params.append('current', this.current)
+      params.append('size', this.size)
+      getLogisticsList(params).then(response => {
+        console.log(response)
+        this.loading = false
+          let data = response.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.tableData = data
+        console.log('1' + response.data.data.records)
+        this.total = response.data.data.total
+      })
+    },
+   onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.startTime =this.applyDateStart[0]
+              this.endTime = this.applyDateStart[1]
+            }else{
+              this.startTime =""
+              this.endTime =""
+            }
+
+      this.getTenantList()
+    },
+
+    handleFind: function() {
+      this.current = '1'
+      this.getTenantList()
+    },
+    handleSizeChange: function(val) {
+      this.size = val
+      this.getTenantList()
+    },
+    // 换页
+    handleCurrentChange: function(val) {
+      const page = val.toString()
+      this.current = page
+      this.getTenantList()
+    },
+    // 查看
+    // lookRecord:function(row){
+    //     this.lookCord=row
+    //     this.dialogVisible = true
+    //     console.log(row)
+    // },
+   handleOneChange(row,i){
+       console.log(row,i)
+       this.$refs.multipleTable.toggleRowSelection(row);
+   },
+    handleSelectionChange(row){
+        console.log(row)
+        this.SelectionList = row
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss" >
+    .ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+   .el-dropdown-link {
+    cursor: pointer;
+    color: #1282f3;
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+  .el-scrollbar__wrap {
+   overflow-y: hidden;
+}
+
+.el-card {
+  border: 0px solid #fff;
+  .topClass{
+    font-weight: 600;
+    font-size: 17px;
+  }
+}
+.el-icon-document{
+  font-size: 70px;
+  color:#409EFF;
+  line-height: 130px;
+}
+/deep/.el-card__body {
+  padding: 20px 10px 0 10px !important;
+}
+/deep/ .el-table__expanded-cell[class*=cell]{
+    padding: 0;
+}
+
+</style>
+

+ 835 - 0
src/views/tender/tender3/tender.vue

@@ -0,0 +1,835 @@
+<template>
+    <div>
+          <el-dialog :append-to-body="true" fullscreen :visible.sync="viewDialog" title="" center>
+                  <el-card class="box-card" shadow="nerver">
+                    <div slot="header" class="clearfix">
+                      <span class="topClass">基本信息</span>
+                    </div>
+
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                           标题 : <span class="flex_name"> {{bidInfo.tenderTitle}}</span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                           状态 : <span class="flex_name"> <el-tag effect="plain" v-if="bidInfo.status ==1">进行中</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==2" type="info">已结束</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==3" type="danger">已作废</el-tag>
+                                <el-tag effect="plain" v-if="bidInfo.status ==4" type="warning">未开始</el-tag>
+                                </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         招标类型 :  <span class="flex_name"><el-tag v-if="bidInfo.tenderType == 1"  >物流</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 2" >原料</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 3" >销售</el-tag>
+                                    <el-tag v-if="bidInfo.tenderType == 4" >加工承揽</el-tag>
+                                    </span>
+                       </el-col>
+                    </el-row>
+                     <el-row type="flex" class="row-bg">
+                       <el-col :span="8" class="flex_text">
+                         招标规则 : <span class="flex_name">    <el-tag v-if="bidInfo.tenderRule == 1" type="success" effect="plain">价低者得</el-tag>
+          <el-tag v-if="bidInfo.tenderRule == 2" effect="plain" >价高者得</el-tag></span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         开始时间 : <span class="flex_name"> {{bidInfo.startTime}} </span>
+                       </el-col>
+                         <el-col :span="8" class="flex_text">
+                         截止时间 :  <span class="flex_name">{{bidInfo.endTime}}
+                                    </span>
+                       </el-col>
+                    </el-row>
+                    <el-row type="flex" class="row-bg">
+                       <el-col :span="24" class="flex_text">
+                            备注:<span class="flex_name">{{bidInfo.tenderRemark}}</span>
+                       </el-col>
+                    </el-row>
+                  </el-card>
+                   <el-card class="box-card" shadow="nerver">
+                        <div slot="header" class="clearfix">
+                          <span class="topClass"> 所有标的</span>
+                        </div>
+                      <el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
+                        <el-tab-pane label="标的详情" name="first">
+
+                          <div class="head-container" style="margin: 30px 0 10px 0;">
+                            <span style="fontSize:13px">品种</span>
+                              <el-input
+                                v-model="param.breeds"
+                                clearable
+                                placeholder="请输入产品名称"
+                                style="width: 200px;"
+                                size="small"
+                                class="filter-item"
+                                @keyup.enter.native="getParamFexd"
+                                @clear="getParamFexd"
+                              />
+                            <span style="fontSize:13px">产地</span>
+                              <el-input
+                                v-model="param.comesFrom"
+                                clearable
+                                placeholder="请输入产品名称"
+                                style="width: 200px;"
+                                size="small"
+                                class="filter-item"
+                                @keyup.enter.native="getParamFexd"
+                                @clear="getParamFexd"
+                              />
+                            <!-- <span style="fontSize:13px;marginLeft:20px">交付方式</span>
+                               <el-select v-model="param.deliveryMethod" style="width:200px;" size="small"  @keyup.enter.native="getParamFexd" @clear="getParamFexd" clearable filterable placeholder="请选择交付方式">
+                                  <el-option
+                                    v-for="item in deliveryMethod"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id"
+                                  />
+                                </el-select>
+                            <span style="fontSize:13px;marginLeft:20px">等级</span>
+                              <el-select v-model="param.level" size="small" style="width: 200px;"  @keyup.enter.native="getParamFexd" @clear="getParamFexd" clearable filterable placeholder="请选择等级">
+                                  <el-option
+                                    v-for="item in level"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id"
+                                  />
+                                </el-select> -->
+                            <span style="fontSize:13px;marginLeft:20px">发标时间</span>
+                              <el-date-picker
+                                v-model="applyDateStart"
+                                size="small"
+                                type="datetimerange"
+                                style="width: 400px;"
+                                range-separator="-"
+                                clearable
+                                value-format="yyyy-MM-dd HH:mm:ss"
+                                :default-time="['00:00:00', '23:59:59']"
+                                start-placeholder="开始日期"
+                                end-placeholder="结束日期"
+                              @change="onApplyDate"
+                              @clear="onApplyDate"
+                              />
+                              <div style="text-align: right;margin-right:40px">
+                                   <el-button class="filter-item" style=" width:90px;  " size="small" type="primary" icon="el-icon-search" @click="getParamFexd">搜索</el-button>
+                              </div>
+                          <div style="height:20px"></div>
+                          <el-table center :data="Paramdata" :header-cell-style="{ background: '#f5f7fa', }" border v-loading="tableLoading" stripe style="width: 100%;">
+
+                            <!-- <el-table-column prop="rawTenderId" width="150" fixed="left" label="标的编号" :show-overflow-tooltip="true" align="center" /> -->
+                            <el-table-column prop="processingCode" width="150" label="标的编码" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="trustBuyLocation"   label="委托收购库点" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="concreteStorageLocation"  width="120"  label="实际存储库点" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="warehouseNumber"   label="仓号" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="comesFrom"   label="产地" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="produceAge"  width="120" label="生产年限" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="breeds"   label="品种" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="level"   label="等级" :show-overflow-tooltip="true" align="center" />
+                             <el-table-column prop="appendix" label="回执" align="center" width="100">
+                                <template slot-scope="scope">
+                                    <el-link v-if="scope.row.receiptPathUrl" :href="'http://view.officeapps.live.com/op/view.aspx?src='+scope.row.receiptPathUrl" type="primary" target="_target"><i class="el-icon-view"></i> 查看</el-link>
+                                </template>
+                              </el-table-column>
+
+                           <el-table-column label="状态" align="center" width="100">
+                            <template slot-scope="scope">
+                             <el-tag effect="plain" v-if="scope.row.status ==3">进行中</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==1" type="info">已结束</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==5" type="info">待处理</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==2" type="danger">已作废</el-tag>
+                              <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
+                            </template>
+                          </el-table-column>
+
+                          <!-- <el-table-column prop="processingIsTender" label="是否有人投标" width="100" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.processingIsTender == 0" type="success" effect="plain">是</el-tag>
+                                  <el-tag v-if="scope.row.processingIsTender == 1" effect="plain" >否</el-tag>
+                              </template>
+                            </el-table-column> -->
+                          <el-table-column prop="tenderLogisticsRule" label="中标规则" width="100" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.rule == 1" type="success" effect="plain">价低者得</el-tag>
+                                  <el-tag v-if="scope.row.rule == 2" effect="plain" >价高者得</el-tag>
+                              </template>
+                            </el-table-column>
+                            <el-table-column prop="quantity"  label="数量(吨)" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="nearFutureWater"  label="近期水分%" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="nearFutureImpurity"  label="近期杂质%" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="riceRatio"  label="整精米率%" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="normalLeavingCapacity"  label="承储库日正常出库能力" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="deliveryMethod" label="常用出库方式" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.retrievalWay == 1" >铁路</el-tag>
+                                  <el-tag v-if="scope.row.retrievalWay == 2" >公路</el-tag>
+                                  <el-tag v-if="scope.row.retrievalWay == 3" >水路</el-tag>
+                              </template>
+                            </el-table-column>
+                            <el-table-column prop="leavingCapacityForty" width="100" label="是否具备40吨以上大型运输车辆装车计量能力" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="specialRailwayLine" width="100" label="有无铁路专用线" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="storageFoggy" width="100" label="是否露天储存" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="distanceStation" width="100" label="距最近车站码头距离km" :show-overflow-tooltip="true" align="center" />
+                             <el-table-column prop="deliveryMethod" label="储粮形态" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.storageForm == 1" >包装</el-tag>
+                                  <el-tag v-if="scope.row.storageForm == 2" >散装</el-tag>
+                              </template>
+                            </el-table-column>
+                            <el-table-column prop="sampleLookTime" label="看样日期" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="ifSoothSaveConfirmSample"  label="是否由实际存储库点确认看样单" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="unitPrice" width="100" label="单价(元/吨)" :show-overflow-tooltip="true" align="center" />
+                              <el-table-column prop="deliveryMethod" width="100" label="交付方式" :show-overflow-tooltip="true" align="center" >
+                              <template slot-scope="scope">
+                                  <el-tag v-if="scope.row.deliveryMethod == 1" type="success" effect="plain">自提</el-tag>
+                                  <el-tag v-if="scope.row.deliveryMethod == 2" effect="plain" >送货到厂</el-tag>
+                              </template>
+                            </el-table-column>
+
+                            <el-table-column prop="startTime" width="152" label="起始时间" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="endTime" width="152" label="结束时间" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="createTime" label="创建时间"  width="152" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column prop="remark" label="备注" width="162" :show-overflow-tooltip="true" align="center" />
+                            <el-table-column label="操作" width="150" align="center" fixed="right">
+                                <template slot-scope="scope">
+                                  <el-button  slot="reference" type="text" :disabled="scope.row.status !=3" icon="el-icon-plus" @click="handleAdd(scope.row)">投标</el-button>
+                                </template>
+                              </el-table-column>
+                          </el-table>
+                          <div class="pagination">
+                            <el-pagination
+                              :current-page.sync="param.current"
+                              :page-size="param.size"
+                              layout="total, sizes, prev, pager, next, jumper"
+                              :total="total1"
+                              :page-sizes="[10, 20, 30, 50]"
+                              background
+                              @size-change="handleSizeChangeParam"
+                              @current-change="handleCurrentChangeParam"
+                            />
+                          </div>
+                  <!-- <div style="height:60px"></div> -->
+                    </div>
+
+                </el-tab-pane>
+                <el-tab-pane label="投标详情" name="second">
+                   <!-- <el-card class="box-card" shadow="nerver"> -->
+                      <!-- <div slot="header" class="clearfix">
+                        <span class="topClass">投标详情</span>
+                      </div> -->
+                              <ckTable ref="ckTable" @change="costPlannedAmountChange($event)"></ckTable>
+                   <!-- </el-card> -->
+                </el-tab-pane>
+              </el-tabs>
+             
+                      </el-card>
+          <el-dialog :append-to-body="true" :visible.sync="dialog" :title="isAdd ? '投标' : '修标'" width="50%">
+                      <el-form ref="form" :model="form" :rules="rules1" label-width="95px">
+                          <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="品种">
+                                <el-tag>{{form.breeds}}</el-tag>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="标的编码">
+                                <el-tag>{{form.processingCode}}</el-tag>
+                              </el-form-item>
+                          </el-col>
+                         </el-row>
+                       
+                        
+                         <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                            <el-form-item label="产地">
+                              <el-input v-model="form.comesFrom" readonly style="width: 80%;" placeholder=""></el-input>
+                            </el-form-item>
+                          </el-col>
+
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="数量" >
+                                <el-input v-model="form.quantity" readonly style="width: 80%;" placeholder=""></el-input>
+                              </el-form-item>
+                          </el-col>
+                         </el-row>
+
+
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                           <el-form-item label="加工费" prop="processFee">
+                              <el-input v-model="form.processFee" style="width: 80%;" @blur="(form.processFee <= 0) ? form.processFee='' : form.processFee" placeholder="请输入加工费"><template slot="append">(元)</template></el-input>
+                            </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                           <el-form-item label="租赁费" prop="rentalFee">
+                              <el-input v-model="form.rentalFee" style="width: 80%;"  @blur="(form.rentalFee <= 0) ? form.rentalFee='' : form.rentalFee" placeholder="请输入租赁费"><template slot="append">(元)</template></el-input>
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+
+                            <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="出库辅助费" prop="storageAssistFee">
+                            <el-input v-model="form.storageAssistFee" style="width: 80%;"  placeholder="请输入租赁费"><template slot="append">(元)</template></el-input>
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                               <el-form-item label="上传凭证" >
+                              <el-upload
+                                  class="upload-demo"
+                                  :limit="1"
+                                  :on-preview="handlePreview"
+                                  :on-change="handleChange"
+                                  :on-remove="handleRemove"
+                                  :before-remove="beforeRemove"
+                                  :on-exceed="handleExceed"
+                                  :action="BASE_API+'/common/bidding/voucher'"
+                                  name="multipartFile"
+                                  list-type="text"
+                                  :file-list="fileList"
+                                  multiple
+                                >
+                                    <el-button class="el-icon-upload" >上传凭证</el-button>
+                                </el-upload>
+                            </el-form-item>
+                          </el-col>
+                        </el-row>
+
+                        <el-row :gutter="20">
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                          <el-form-item label="联系电话" >
+                            <el-input v-model="form.phone" style="width: 80%;" placeholder="请输入联系电话"></el-input>
+                          </el-form-item>
+                          </el-col>
+                          <el-col :span="6" :xs="24" :sm="12" :md="12" :lg="12">
+                             <el-form-item label="备注" prop="biddingLogisticsRemark">
+                                <el-input
+                                  v-model="form.remark"
+                                  type="textarea"
+                                  style="width: 93%;"
+                                  :autosize="{ minRows: 2, maxRows: 10}"
+                                  maxlength="500"
+                                  show-word-limit
+                                  placeholder="请输入内容"
+                                />
+                              </el-form-item>
+                          </el-col>
+                        </el-row>
+                      </el-form>
+                      <div slot="footer" class="dialog-footer">
+                        <el-button @click="dialog = false">取消</el-button>
+                        <el-button :loading="loading" type="primary" @click="doSubmit">确认</el-button>
+                      </div>
+                    </el-dialog>
+            
+                   <div slot="footer" class="paginationParam" style="paddingRight:">
+                    <!-- <el-button @click="viewDialog = false">取消</el-button> -->
+                    <el-button :loading="loading" type="primary" @click="viewDialog = false">返回</el-button>
+                  </div>
+
+                         <el-dialog :title="goodsName" width="90%" center :visible.sync="dialogTableVisible" append-to-body>
+                               <ckDialog ref="ckDialog"></ckDialog>
+                          </el-dialog>
+
+    </el-dialog>
+    </div>
+</template>
+
+<script>
+
+import {  getTenderProcessing,getBiddingAdd } from '@/api/tender'
+import { Notification, MessageBox } from 'element-ui'
+
+import ckTable from './table.vue'
+import ckDialog from './dialog.vue'
+export default {
+   components:{
+    ckTable,
+    ckDialog
+  },
+  data() {
+    const checkTel = (rule, value, callback) => {
+      if (value == null) {
+        callback(new Error('请选择附件'))
+      } else {
+        callback()
+      }
+    }
+    return {
+      form: {
+      },
+      data: [{}],
+      active:0,
+      BASE_API: process.env.BASE_API,
+      dialog: false,
+      loading: false,
+      delLoading: false,
+      tableLoading:false,
+      viewDialog: false,
+      isAdd: false,
+      currentPage: 1,
+      pageSize: 10,
+      total: 0, // 总数量
+      rules1:{
+        processFee:[
+          { required: true, message: '加工费不能为空', trigger: 'blur' },
+        ],
+         rentalFee:[
+          { required: true, message: '租赁费不为空', trigger: 'blur' },
+        ],
+         storageAssistFee:[
+          { required: true, message: '出库辅助费不为空', trigger: 'blur' },
+        ],
+         packingWay:[
+          { required: true, message: '包装方式不为空', trigger: 'blur' },
+        ],
+         phone:[
+          { required: true, message: '联系电话不为空', trigger: 'blur' },
+        ],
+         transportMode:[
+          { required: true, message: '运输方式不为空', trigger: 'blur' },
+        ],
+      },
+      rules: {
+
+        price: [
+          { required: true, message: '报价金额不为空', trigger: 'blur' },
+        ],
+        appendix: [
+          // { type:"array",required: true, message: '附件不为空', trigger: 'blur' },
+          { validator: checkTel, trigger: 'blur' }
+        ]
+      },
+      query: {
+        type: '',
+        value: '',
+         tenderRule:"",
+        tenderType:"",
+        startTime:"",
+        endTime:""
+      },
+      fileList: [],
+      param: {
+        current: 1,
+        size: 10
+      },
+      total1: 0,
+      Paramdata: [],
+      applyDateStart:[],
+      dialogTableData:[],
+       level:[
+        {id:1,name:"二级"},
+        {id:2,name:"三级"},
+
+      ],
+      deliveryMethod:[
+        {id:1,name:"自提"},
+        {id:2,name:"送货到厂"},
+      ],
+      packingWay:[],
+      transportMode:[
+        {id:1,name:"陆运"},
+        {id:2,name:"火车运输"},
+        {id:3,name:"船运"},
+        {id:4,name:"汽运/火车运输/船运"},
+        {id:5,name:"汽运/火车运输"},
+        {id:6,name:"汽运/船运"},
+      ],
+       activeName: 'first',
+       dialogTableVisible:false,
+       goodsName:"",
+       bidInfo:{}
+    }
+  },
+  created() {
+    // this.getDictData()
+  },
+  methods: {
+    // 投标详情 向父元素传递数据
+    costPlannedAmountChange(val){
+      console.log(val)
+ 
+      this.dialogTableVisible = true
+      setTimeout(() => {
+        this.goodsName = val.goodsName
+       this.$refs.ckDialog.priceData = val
+      this.$refs.ckDialog.getTenantList()
+        console.log(this.$refs.ckDialog)
+      }, 300);
+    },
+    // 价格投标不能大于合计
+    onlogistiicsPrice(val){
+      console.log(val)
+       if(val>this.form.transportUnitPrice){
+         this.form.logisticsBiddingPrice = this.form.transportUnitPrice
+         console.log("我是大于")
+       }
+       if(val.indexOf('.') !== -1 && val == '.'){
+         this.form.logisticsBiddingPrice =0
+       }
+       if(val== "+" || val== "-"){
+         this.form.logisticsBiddingPrice = 0
+       }
+       if(val<0){
+         this.form.logisticsBiddingPrice = 0
+       }
+    },
+    onApplyDate(){
+      let startTime
+      let endTime
+            if(this.applyDateStart != null){
+              this.param.startTime =this.applyDateStart[0]
+              this.param.endTime = this.applyDateStart[1]
+            }else{
+              this.param.startTime =""
+              this.param.endTime =""
+            }
+
+      this.getParamFexd()
+    },
+    next() {
+      console.log(this.$refs.ckTable)
+        if (this.active++ > 2) this.active = 0;
+        this.dialogTableData = this.$refs.ckTable.SelectionList
+      },
+      handleSelectionChange(row){
+        
+      },
+    // 获取详情
+    getDictData: function() {
+      this.loading = true
+        const params = new URLSearchParams()
+      params.append('current', this.currentPage)
+      params.append('size', this.pageSize)
+      params.append('tenderType', this.query.tenderType)
+      params.append('tenderTitle', this.query.value)
+      params.append('tenderRule', this.query.tenderRule)
+      params.append('startTime',this.query.startTime )
+      params.append('endTime', this.query.endTime)
+
+      getTableList(params).then(res => {
+          console.log(res)
+        // this.data = res.data.data.records
+        let data = res.data.data.records
+        console.log(new Date().valueOf(),"当前时间")
+        data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.isInvalid == 2){
+             res.status = 3
+            console.log("作废了")
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 1
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 2
+            console.log("当前时间大于结束时间,已结束")
+          }
+
+          return res
+        })
+        this.data = data
+        this.total = res.data.data.total
+        this.loading = false
+      })
+    },
+
+    // 搜索
+    handleFind: function() {
+      this.currentPage = 1
+      this.getDictData()
+    },
+
+    // 文件移除的时候
+    handleRemove(file, fileList) {
+      this.form.voucherFile = ''
+      console.log(file, fileList, this.fileList, '移出')
+    },
+    // 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
+    handleChange(file, fileList) {
+      console.log(file, fileList, '上传')
+      if (file.response) {
+        console.log(file.response, 'file')
+        if (file.response.code == '200') {
+          this.form.voucherFile = file.response.data.filePath
+        } else {
+          Notification.error({
+            title: file.response.msg,
+            duration: 1000
+          })
+          this.fileList = []
+        }
+      }
+    },
+    // 点击文件列表中已上传的文件时的钩子
+    handlePreview(file) {
+      console.log(file, 'file1')
+      // window.location.href = file.url
+    },
+    handleExceed(files, fileList) {
+      this.$message.warning(`当前限制选择 1 个附件,本次选择了 ${files.length} 个文件`)
+    },
+    beforeRemove(file, fileList) {
+      return this.$confirm(`确定移除 ${file.name}?`)
+    },
+    // 下载
+    onLoad(row) {
+      // const params = new URLSearchParams()
+      // params.append('path', row)
+      const a = document.createElement('a')
+      // a.href= /bidding/load
+      const url = window.location.origin + process.env.BASE_API + '/bidding/load?path=' + encodeURIComponent(row)
+      a.href = url
+      a.click()
+    },
+
+    // 字典名称提交动作
+    doSubmit() {
+      this.$refs['form'].validate((valid) => {
+        if (valid) {
+          if (this.isAdd) {
+            // 新增字典
+            console.log(this.form)
+            this.loading = true
+            getBiddingAdd(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.loading = false
+              this.getDictData()
+              this.$refs['form'].resetFields()
+            }).catch(err => {
+              this.loading = false
+            })
+          } else {
+            // 更新字典
+            getQueryEdit(this.form).then((res) => {
+              if (res.data.code === 200) {
+                this.$message({ message: '操作成功', type: 'success' })
+              } else {
+                this.$message({ message: res.data.msg, type: 'error' })
+              }
+              this.dialog = false
+              this.getDictData()
+            })
+          }
+        }
+      })
+    },
+    // 添加字典
+    handleAdd: function(row) {
+      this.dialog = true
+      this.isAdd = true
+      this.form = {}
+      this.fileList = []
+      this.form.breeds = row.breeds
+      this.form.comesFrom = row.comesFrom
+      this.form.level = row.level
+      this.form.tenderParentId = this.param.tenderParentId
+      this.form.tenderProcessingId = row.tenderProcessingId
+      this.form.processingCode = row.processingCode
+      this.form.quantity = row.quantity
+      // 出库辅助费默认为0
+      this.$set(this.form, "storageAssistFee", "0")
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+    },
+    // 编辑字典
+    handleEdit: function(row) {
+      if (this.$refs['form']) {
+        this.$refs['form'].resetFields()
+      }
+      this.dialog = true
+      this.isAdd = false
+      this.form = row.bidding
+      this.form.priceQuotes = row.priceQuotes
+      if (this.form.appendix) {
+        let name = this.form.appendix.split('bidding/')
+        name = name.pop()
+        // let name = data.appendix.replace(/(.*\/)*([^.]+).*/ig, "$2");
+        this.fileList = [{ name: name, url: this.form.appendix }]
+      }
+    },
+    handleClick(row,val){
+      console.log(row,val)
+      if(row.name == "second"){
+       this.$refs.ckTable.tenderParentId = this.param.tenderParentId
+        this.$refs.ckTable.getTenantList()
+      }
+    },
+
+    // 所有标的搜索
+    getParamFexd(){
+      this.param.current = 1
+      this.getParam()
+    },
+    // 所有标的列表数据
+    getParam() {
+      const data = this.param
+      this.tableLoading = true
+      getTenderProcessing(data).then((res) => {
+       console.log(this.bidInfo, 'bidInfo')
+        let data = res.data.data.records
+         data.map((res)=>{
+          // 开始时间
+          let startTime = res.startTime
+          // 结束时间
+          let endTime = res.endTime
+
+          const date = new Date(startTime)
+          const modify = new Date(endTime)
+
+          const start = date.valueOf()         //开始时间
+          const end = modify.valueOf()        //结束时间
+          const time = new Date().valueOf()   //当前时间
+          console.log(start,"start")
+          console.log(end,"end")
+         if(res.tenderStatus == 1 || res.tenderStatus == 2){
+             res.status = res.tenderStatus 
+            console.log("我的状态是:" + res.tenderStatus)
+          }else if(time < start){
+            res.status = 4
+            console.log("当前时间小于开始时间,未开始")
+          }else if(time > start && time < end){
+            res.status = 3
+            console.log("当前时间大于开始时间并且小于结束时间,进行中")
+          }else if(time > end){
+            res.status = 5
+            console.log("当前时间大于结束时间,待处理")
+          }
+
+          return res
+        })
+        this.Paramdata = data
+        this.tableLoading = false
+        this.total1 = res.data.data.total
+      })
+    },
+
+    // 换页
+    handleCurrentChange: function(val) {
+      this.currentPage = val
+      this.getDictData()
+    },
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.getDictData()
+    },
+    handleCurrentChangeParam(val) {
+      this.param.current = val
+      this.getParam()
+    },
+    handleSizeChangeParam(val) {
+      this.param.size = val
+      this.getParam()
+    }
+  }
+}
+</script>
+<style scoped lang="scss">
+/* 去掉上传附件时候的过度效果 */
+  ::v-deep .el-upload-list__item{transition: none !important;}
+  ::v-deep .el-textarea__inner{
+  padding-bottom: 36px;
+}
+.btn_fixed{
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  padding: 15px 50px;
+  width: 100%;
+  text-align: right;
+  background: #f5f5f5;
+
+}
+.ckTable{
+        width: 100%;
+        border: #eee;
+        text-align: center;
+        tr,td{
+        border: 0.5px solid#dfe6ec;
+        line-height: 23px;
+        }
+    }
+.paginationParam{
+  // position: fixed;
+  // bottom: 50px;
+  bottom: 0;
+  left: 0;
+  line-height: 80px;
+  width: 100%;
+  // left: 45%;
+  // text-align: right;
+  z-index: 999;
+  background: #fff;
+}
+/deep/ .el-tabs__item{
+  font-size: 16px !important;
+  // padding: 35px  ;
+}
+.el-card {
+  border: 0px solid #fff;
+}
+.clearfix {
+    line-height: 20px;
+    font-size: 18px;
+    font-weight: 600;
+    color: #409EFF;
+}
+/deep/.el-dialog.is-fullscreen {
+
+    background-color: #f5f7f9;
+}
+.box-card{
+  margin-bottom: 20px;
+  .row-bg{
+  padding: 15px 40px 0 40px;
+  .flex_text{
+    line-height: 50px;
+    color: #8C8C8C;
+    font-size: 14px;
+    // border:1px solid red;
+    // font-weight: 600;
+  }
+  .flex_name{
+    font-size: 14px;
+    padding-left: 25px;
+    color: #575757;
+    font-weight: 550;
+  }
+}
+}
+/deep/ .el-card__body{
+  padding: 20px 0;
+}
+/deep/.el-tabs__nav-wrap::after {
+
+    background-color: #dfe4ed00;  
+}
+/deep/ .el-dialog--center .el-dialog__body {
+    text-align: initial;
+    padding: 25px 25px 0px 30px;
+}
+
+/deep/ .el-tabs--border-card{
+  // border-top:1px ;
+  border-bottom: 0px;
+
+ box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.5)
+}
+</style>
+