<!--
  @description:招标-招标公告-新版招标公告
  @Modifier: 张慢慢
  @routerPath: /bidding/projectDrive/bulletin/tenderBulletin-detail
  @date: 2021/5/21-09:16
-->
<template>
  <div>
    <div class="main mb10">
      <table class="tableData">
<!--        <tr>
          <td>
            公告标题
          </td>
          <td colspan="3">
            {{ formData.title }}
          </td>
        </tr>-->
        <!-- <tr>
          <td>
            标段划分情况
          </td>
          <td colspan="3">
            isPack===01 分包
            <span v-if="tenderBase.isPack==='01'">本项目有{{ formData.projectPackageNum }}个标段（包）</span>
            <span v-else>本项未划分标段（包）</span>
          </td>
        </tr> -->
        <!--标段划分情况-->
        <!-- <tr v-if="tenderBase.isPack==='01'">
          <td>
            本次招标标段
          </td>
          <td colspan="3">
            {{ filterDictText(publishMethodList,formData.bulletinPublishMethod) }}
          </td>
        </tr> -->
        <!--
          选择标段（包）
          按标段发布时展示 bulletinPublishMethod==='01'
        -->
        <tr v-if="formData.bulletinPublishMethod==='01'">
          <td>
            标段包
          </td>
          <td colspan="3">
            <!--已选中的标包列表-->
            <el-tag
              v-for="(pack, index) in seletPackList"
              :key="index"
              size="medium"
              type="info"
            >
              【{{ pack.packNo }}】{{ pack.packName }}
            </el-tag>
          </td>
        </tr>

        <!--标书获取时间-->
        <tr>
          <!--项目资金-->
          <td>
            项目资金（元）
          </td>
          <td>
            {{ formData.projectMoney }}
          </td>
          <td>
            {{ dict.tenderDocumentReceiveTimeLabel }}
          </td>
          <td>
            {{ $Moment(formData.tenderDocumentReceiveStartTime).format(momentDateTime) }}
            至
            {{ $Moment(formData.tenderDocumentReceiveEndTime).format(momentDateTime) }}
            <span style="padding-left: 10px;">共
              <span v-if="tenderDocumentReceiveDays===''" style="padding-left: 16px" />
              <span style="padding: 0 4px">{{ tenderDocumentReceiveDays }}</span>天
            </span>
          </td>
        </tr>
        <tr>
          <!--是否需要报名-->
          <!-- biddingbulletinIsShowNeedSingup 00不显示 01显示 根据配置判断是否需要显示 是否需要报名字段 -->
          <template v-if="biddingbulletinIsShowNeedSingup === '01'">
            <td>
              是否需要报名
            </td>
            <td>
              {{ filterDictText(isNeedSignupList,formData.isNeedSignup) }}
            </td>
          </template>
          <!--报名时间-->
          <!--
            * 1、先判断 biddingbulletinIsShowNeedSingup 01显示 || biddingbulletinIsNeedSingup 01显示
            * 2、再根据项目判断非依法需要显示 其它条件不显示(isLegalTender 00非依法必招) isNeedSignup 00不需要 01需要
          -->
          <template v-if="biddingbulletinIsShowNeedSingup === '01' || biddingbulletinIsNeedSingup === '01'">
            <td v-if="legalLimitData.isLegalTender === '00' && formData.isNeedSignup === '01'">
              报名时间
            </td>
            <td v-if="legalLimitData.isLegalTender === '00' && formData.isNeedSignup === '01'">
              {{ $Moment(formData.signupStartTime).format(momentDateTime) }}
              至
              {{ $Moment(formData.signupEndTime).format(momentDateTime) }}
              <span style="padding-left: 10px;">共
                <span v-if="signupDays===''" style="padding-left: 16px" />
                <span style="padding: 0 4px">{{ signupDays }}</span>天
              </span>
            </td>
          </template>
        </tr>
        <tr>
          <td>
            接收答疑截止时间
          </td>
          <td colspan="">
            {{ $Moment(formData.acceptAnsweringQuestionsEndTime).format(momentDateTime) }}
          </td>
          <td>
            {{ dict.submitEndTimeLabel }}
          </td>
          <td colspan="">
            {{ $Moment(formData.submitEndTime).format(momentDateTime) }}
          </td>
        </tr>
        <tr>
          <!--标书解密方式-->
          <td>
            {{ dict.bidDocumentDecryptionMethodLabel }}
          </td>
          <td>
            {{ filterDictText(decryptionMethodList,formData.bidDocumentDecryptionMethod) }}
          </td>
          <!--开标方式-->
          <!--tenderBase.stageType 00资审 01后审-->
          <td>
            <span v-if="tenderBase.stageType==='01'">开标方式</span>
          </td>
          <td>
            <span v-if="tenderBase.stageType==='01'">{{ filterDictText(openingMethodList,formData.isTwoBidOpening) }}</span>
          </td>
        </tr>
        <tr v-if="formData.isTwoBidOpening==='00' || tenderBase.stageType === '00'">
          <td>
            {{ dict.kbsj }}
          </td>
          <td>
            {{ $Moment(formData.openBidStartTime).format(momentDateTime) }}
          </td>
          <td />
          <td />
        </tr>
        <tr v-if="formData.isTwoBidOpening==='01'">
          <td>
            第一阶段投标规则
          </td>
          <td>
            {{ filterDictText(isSubmitBidPriceList,formData.isSubmitBidPrice) }}
          </td>
          <td>
            <!--商务技术开标时间-->
            商务技术开标时间
          </td>
          <td>
            {{ $Moment(formData.technicalOpenBidStartTime).format(momentDateTime) }}
          </td>
        </tr>
<!--        <tr>
          <td>
            &lt;!&ndash;标书获取方式&ndash;&gt;
            {{ dict.tenderDocumentReceiveMethodLabel }}
          </td>
          <td>
            {{ filterDictText(receiveMethodList,formData.tenderDocumentReceiveMethod) }}
          </td>
          <td>
            <span v-show="formData.tenderDocumentReceiveMethod === '00'">支付方式</span>
          </td>
          <td>
            <span v-show="formData.tenderDocumentReceiveMethod === '00'">{{ filterDictText(paytypeList,formData.payModeCode) }}</span>
          </td>
        </tr>-->
        <tr>
          <td style="border-bottom:none">
            {{ dict.tenderDocumentSaleMethodLabel }}
          </td>
          <td>
            {{ filterDictText(documentMethodList,formData.tenderDocumentSaleMethod) }}
            <span v-if="formData.tenderDocumentSaleMethod==='01'">{{ formData.documentPrice }}</span>
          </td>
          <td>
            发布媒介
          </td>
          <td>
            {{ filterDictText(mediaPartnersList,formData.mediaPartners) }}
          </td>
        </tr>
        <!--保证金收取方式 资审不展示-->
        <tr v-if="tenderBase.bulletinType==='01'">
          <td>
            保证金收取方式
          </td>
          <td>
            {{ filterDictText(bailPriceModeList,formData.bailCollectMode) }}
          </td>
          <td>
            保证金设置
          </td>
          <td>
            {{ filterDictText(bailPriceMethodList,formData.receiveBailPriceMethod) }}
            <span v-if="formData.receiveBailPriceMethod==='01'">{{ formData.bailPrice }}</span>
          </td>
        </tr>
        <tr>
          <template v-if="formData.tenderDocumentSaleMethod==='00'">
            <td>
              标书费列表
            </td>
            <td>
              <el-button type="primary" @click="lookTableList('01')">
                查看标书费
              </el-button>
            </td>
          </template>
          <template v-if="formData.receiveBailPriceMethod==='00'">
            <td>
              保证金列表
            </td>
            <td>
              <el-button type="primary" @click="lookTableList('02')">
                查看保证金
              </el-button>
            </td>
          </template>
        </tr>
        <tr v-if="isShowPdf">
          <td>
            招标公告
          </td>
          <td colspan="3">
            <el-button type="primary" @click="viewPdf">
              查看公告
            </el-button>
          </td>
        </tr>
        <!-- <p>标书费列表</p> -->
        <!-- <tr style="width: 100%">
          <td colspan="4" style="background: #fff;border: none;padding: 0">
            <div v-if="formData.tenderDocumentSaleMethod==='00'" class="form_item_table">
              <el-table :data="formData.tenderDocumentPriceInfoDto">
                <el-table-column type="index" label="序号" width="60" align="center" />
                <el-table-column header-align="center" width="200px" label="标段编号" prop="packNo" align="center" />
                <el-table-column header-align="center" label="标段名称" prop="packName" />
                <el-table-column header-align="center" width="220px" prop="documentPrice" :label="dict.documentPriceTitle">
                  <template slot-scope="scope">
                    {{ scope.row.documentPrice }}
                  </template>
                </el-table-column>
              </el-table>
            </div>
          </td>
        </tr>

        <p>保证金列表</p>
        <tr v-if="tenderBase.bulletinType==='01'" style="width: 100%">
          <td colspan="4" style="background: #fff;border-left: none;border-right: none;padding: 0">
            <div v-if="formData.receiveBailPriceMethod==='00'" class="form_item_table table_method">
              <el-table :data="formData.tenderBailPriceInfoDto">
                <el-table-column type="index" label="序号" width="60" align="center" />
                <el-table-column header-align="center" width="200px" label="标段编号" prop="packNo" align="center" />
                <el-table-column header-align="center" label="标段名称" prop="packName" />
                <el-table-column header-align="center" width="220px" label="保证金（元）" prop="bailPrice">
                  <template slot-scope="scope">
                    {{ scope.row.bailPrice }}
                  </template>
                </el-table-column>
              </el-table>
            </div>
          </td>
        </tr> -->
      </table>
    </div>
    <!-- pdf展示附件 -->
    <!-- <bulletinPdfDetail /> -->
    <!-- 标书费保证金列表 -->
    <newTenderBulltinListDialog ref="newTenderBulltinList" />
  </div>
</template>
<script>
/* api*/
import {
  queryBaseTenderBulletinSimpleInfo // 获取招标公告信息（简易版）
} from '@/api/bidding/bidBulletin'
import { getSystemConfigValueByConfigType } from '@/api/common/systemConfigCenter'
/* 混合开发方法-参数字段*/
import { tenderBulletinInitGroupMixin } from './../mixins/tenderBulletinInitGroupMixin'// 字典信息
import { newTenderBulletinInitGroupMixin } from './../mixins/newTenderBulletinInitGroupMixin' // 简易版招标获取字典信息
import { tenderStageTimeRule } from './../mixins/tenderStageTimeRule'// 招标公告时间规则
import { openInfoDecryptMethodConfig } from '../mixins/openInfoDecryptMethodConfig' // 解密方式配置
import { filterDictText } from '@/assets/js/utils'
import { commonMxin } from '@/mixins/commonMxin'
/* 组件*/
import bulletinPdfDetail from './../tenderBulletin/bulletinPdf-detail' // 招标公告/资审公告pdf展示
import newTenderBulltinListDialog from './tenderBulletinList-dialog' // 标书费、保证金列表
export default {
  name: 'TenderBulletinDetail',
  components: {
    bulletinPdfDetail,
    newTenderBulltinListDialog
  },
  mixins: [tenderBulletinInitGroupMixin, newTenderBulletinInitGroupMixin, tenderStageTimeRule, openInfoDecryptMethodConfig, commonMxin],
  props: {
    isShowPdf: {
      type: Boolean,
      default: true
    }
  },
  data() {
    return {
      confirmLoading: false, // 暂存Loding
      /* 字典信息-start */
      bidTypeList: [], // 招标方式
      /* 字典信息-end */
      tenderBase: this.$store.getters.tenderBase, // 项目信息
      tenderId: this.$route.query.id, // 项目Id
      bulletinId: this.$route.query.bulletinId, // 公告Id
      tenderDocumentReceiveDays: '', // 标书获取开始时间-标书获取截止时间时间差 天数
      signupDays: '', // 报名开始时间-报名截止时间差 天数
      payModeList: [], // 支付方式信息
      settlementConfigVoList: [], // 中金卡号数据
      cardNumberShowsStatus: '', // 中金卡号显示状态 01：显示  00 不显示
      formData: {
        title: '', // 公告标题
        projectPackageNum: '', // 项目标段数量
        bulletinPublishMethod: '', // 本次招标标段  00:按项目发布 01:按标段发布
        bulletinPublishMethodChange: '', // 本次招标标段是否可以修改 01 可以修改 00 不可以修改
        projectMoney: '', // 项目资金
        tenderDocumentReceiveTime: [], // 标书获取时间 =》前端展示，不需要传给后端
        tenderDocumentReceiveStartTime: '', // 标书获取开始时间
        tenderDocumentReceiveEndTime: '', // 标书获取截止时间
        acceptAnsweringQuestionsEndTime: '', // 接收答疑截止时间
        bidDocumentDecryptionMethod: '', // 标书解密方式 00 投标人解密 01 服务器集中解密
        submitEndTime: '', // 投标截止时间
        isTwoBidOpening: '', // 开标方式 00 一步开标法 01两步开标法
        isSubmitBidPrice: '', // 第一阶段投标规则 00 需要投标报价 01 不需要投标报价
        twoBidOpeningMethod: '', // 两步法开标顺序 00 先开商务技术后经济 01 先经济后商务技术
        openBidStartTime: '', // 开标时间
        technicalOpenBidStartTime: '', // 商务技术开标时间
        economicOpenBidStartTime: '', // 经济开标时间
        tenderDocumentReceiveMethod: '', // 标书获取方式 00 电子招标 01 线下招标
        payModeCode: '', // 支付方式编码信息
        accountNumber: '', // 中金卡号
        accountNumberId: '', // 中金卡号ID
        tenderDocumentSaleMethodChange: '', // 标书售卖方式 是否可以变更 01:可以变更 00:不可以变更
        tenderDocumentSaleMethod: '', // 标书金额设置 00 按标段售卖 01 按项目售卖
        documentPrice: '', // 按項目售卖金额-标书费
        tenderDocumentPriceInfoDto: [], // 物料
        mediaPartners: [], // 发布媒介 00 门户网站 01 中国公共服务平台 全选
        bailPriceMethod: '', // 保障金收取方式
        receiveBailPriceMethodChange: '', // 是否可以变更 01:可以变更 00:不可以变更
        receiveBailPriceMethod: '', // 保证金设置 00 按标段售卖 01 按项目售卖
        tenderBailPriceInfoDto: [] // 按标段售卖金额
      },
      seletPackList: [], // 获取的已选择的标段（包）
      biddingbulletinIsShowNeedSingup: '00', // 系统配置是否显示 是否需要报名 00不显示 01显示
      biddingbulletinIsNeedSingup: '00' // 是否显示报名时间 00不展示 01展示
    }
  },
  watch: {},
  created() {
    this.initDictionary()
    this.initData() // 加载数据
    this.getSystemConfigValueByConfigType() // 系统配置是否显示 是否需要报名
    this.getSystemConfigNeedSignup() // 系统配置是否显示 报名时间字段
  },
  methods: {
    filterDictText,
    // 初始化字典信息
    initDictionary() {
      this.getBulletinAllDictionariesInitInfo()// 所有字典数据
    },
    // 初始化
    initData() {
      const params = {
        bulletinId: this.bulletinId, // 公告Id
        tenderId: this.tenderId, // 项目Id
        bulletinType: this.tenderBase.bulletinType // 公告类型 21资审文件 01 招标公告
      }
      // 获取详情
      queryBaseTenderBulletinSimpleInfo(params).then((res) => {
        this.formData = res.data
        // 标书时间
        this.tenderDocumentReceiveDays = this.momentDiff('days', this.formData.tenderDocumentReceiveStartTime, this.formData.tenderDocumentReceiveEndTime)// 时间差
        // 报名时间
        this.signupDays = this.momentDiff('days', this.formData.signupStartTime, this.formData.signupEndTime)// 时间差
        this.seletPackList = this.formData.listMarkedBulletinPackage // 获取的已选择的标段（包）
        this.formData.tenderDocumentPriceInfoDto = [...this.formData.tenderDocumentPriceInfoVo]// 标书
        this.formData.tenderBailPriceInfoDto = [...this.formData.tenderBailPriceInfoVo]// 保证金
      })
    },
    /* 获取是否显示 是否需要报名字段 00不显示 01显示  */
    getSystemConfigValueByConfigType() {
      getSystemConfigValueByConfigType('BIDDINGBULLETIN_IS_SHOW_NEED_SINGUP').then((res) => {
        this.biddingbulletinIsShowNeedSingup = res.data
      })
    },
    /* 获取是否显示 报名时间字段 00不显示 01显示 */
    getSystemConfigNeedSignup() {
      getSystemConfigValueByConfigType('BIDDINGBULLETIN_IS_NEED_SIGNUP').then((res) => {
        this.biddingbulletinIsNeedSingup = res.data
      })
    },
    // 查看标书费、保证金列表
    lookTableList(type) {
      const data = {
        type: type
      }
      // 01标书费，02保证金
      if (type === '01') {
        data.list = this.formData.tenderDocumentPriceInfoDto // 标书费
      } else if (type === '02') {
        data.list = this.formData.tenderBailPriceInfoDto // 保证金
      }
      this.$refs.newTenderBulltinList.open(data)
    },
    // 查看公告
    viewPdf() {
      // 路由跳转
      const path = '/bidding/projectDrive/bulletin/makeTenderingBulletinPdf'// 路由地址
      const query = {
        ...this.$route.query
      }
      this.$router.push({ path: path,
        query: {
          ...query,
          bulletinPageType: '01' // 当前页面从哪进来的 00 驱动内新增页 01 驱动内列表页 02 驱动内直接展示详情页
        }
      })
    }
  }
}
</script>
<style lang="less" scoped>
.el-table th.gutter {
  display: table-cell !important;
}
/deep/.show-word-limit-padding{
  .el-input__inner{
    padding-right: 70px;
  }
}
/deep/.tenderDocumentReceiveTime {
  .el-input{
    width: auto;
    display:inline-block;
  }
  .defaultTimeDateTime{
    margin-left: 5px;
  }
}
.textAlign-center{
  text-align: center !important;
}
.fontBlod{
  font-weight: bold !important;
}
.bgW{
  background: #fff !important;
}
.bg-F5F7F9{
  background-color: #F5F7F9 !important;
}
/deep/.tableData{
  .el-tag {
    margin-right:10px;
  }
  .table_method{
    .el-table--border{
      border-top: none;
    }
    tr:last-child{
      td{
        border-bottom:1px solid #e0e0e0;
      }
    }

  }
  .form_item_table{
    .el-table::before{
      height: 0;
    }
  }
  .form_item_table td{
    border-right: none;
    border-top: none;
    background-color: #fff !important;
  }
  .form_item_table tr:last-child{
    td{
      border-bottom:none;
    }

  }
}
/deep/.from_table{
  .form_item_table td{
    border-right: none;
    border-top: none;
    background-clor: #fff !important;
  }
}
/deep/.tableData{
  .form_item_table th{
    border-top: none;
  }
}
/deep/.from_table{
  .form_item_table th{
    border-top: none;
  }
}
/deep/.from_table{
  .form_item_table td:first-child{
    border-left: none;
  }
}
/deep/.tableData{
  .form_item_table td:first-child{
    border-left: none;
  }
}
</style>

