Commit 7b7f1087 by 严立

竞价变更公告

parent b75bec94
......@@ -14566,6 +14566,11 @@
"markdown-it": "^8.4.0"
}
},
"vue-calendar-component": {
"version": "2.8.2",
"resolved": "https://registry.npm.taobao.org/vue-calendar-component/download/vue-calendar-component-2.8.2.tgz",
"integrity": "sha1-j2DAWnLIqsvdIkAW9OGpZmSr2Ko="
},
"vue-cli-plugin-style-resources-loader": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/vue-cli-plugin-style-resources-loader/-/vue-cli-plugin-style-resources-loader-0.1.4.tgz",
......
......@@ -16,6 +16,7 @@
"element-ui": "^2.13.2",
"miment": "0.0.9",
"vue": "^2.6.11",
"vue-calendar-component": "^2.8.2",
"vue-router": "^3.3.4"
},
"devDependencies": {
......
......@@ -10,9 +10,10 @@ let output = {
// 5 - 中标候选
// 6 - 招标结果
// 9 - 其他公告
// 10 - 竞价变更公告
noticeType: {
raw: ['', 1, 2, 5, 3, 4, 7, 8, 6],
mapping: ['', 2, 3, 4, 5, 6, 0, 1, 9],
raw: ['', 1, 2, 5, 3, 4, 7, 9, 8, 6],
mapping: ['', 2, 3, 4, 5, 6, 0, 10, 1, 9],
}
}
......
let output = {
// 开发路径
// base: 'http://bid-server.meiqicloud.com/',
// resources: 'http://bid-web.meiqicloud.com/',
// agentSignIn: 'http://bid-vue.meiqicloud.com/'
// 测试环境
// base: '/Api/',
// resources: 'http://bid-web.meiqicloud.com',
// agentSignIn: 'http://bid-vue.meiqicloud.com/'
base: 'http://bid-server.meiqicloud.com/', // 开发路径
// base: '/Api/', // 部署路径
resources: 'http://bid-web.meiqicloud.com',
agentSignIn: 'http://bid-vue.meiqicloud.com/'
// 正式环境
base: '/Api/',
resources: 'https://www.fjbidding.com',
agentSignIn: 'https://www.fjbidding.com/admin/'
// base: '/Api/',
// resources: 'https://www.fjbidding.com',
// agentSignIn: 'https://www.fjbidding.com/admin/'
}
output.uploadFile = output.base + 'bid/common/webupload/upload'
......
......@@ -36,6 +36,7 @@
computed: {
componentAgency: function () {
console.log('this.$store.state.componentAgency', this.$store.state.componentAgency)
return this.$store.state.componentAgency
},
},
......
......@@ -74,13 +74,14 @@
<div class="col con-c align-c">
<img v-if="componentProject.noticeType === 0" class="operate-img" src="../assets/notice-bitton.png" alt="">
<div v-if="operateText !== ''" class="operate-button">
<button v-if="progressState === 2" class="global-enable" @click="onOffer()">立即报价</button>
<button v-if="progressState === 3" class="global-disable" disabled>报价已结束</button>
<button v-if="progressState === 4" class="global-disable" disabled>报价已结束</button>
<button v-if="[2].indexOf(componentProgress.state) >= 0" class="global-enable" @click="onOffer()">立即报价</button>
<button v-if="[3, 4].indexOf(componentProgress.state) >= 0" class="global-disable" disabled>报价已结束</button>
<button v-if="[5].indexOf(componentProgress.state) >= 0" class="global-disable" disabled>报价已暂停</button>
<button v-if="[6].indexOf(componentProgress.state) >= 0" class="global-disable" disabled>报价已终止</button>
</div>
<div class="operate-tip">
<span v-if="progressState === 1">距离报价开始仅剩 <span class="global-color-red">{{operateDay}}</span><span class="global-color-red">{{operateHour}}</span> 小时</span>
<span v-if="progressState === 2 && !operateIsBuy">报价仅剩 <span class="global-color-red">{{operateDay}}</span><span class="global-color-red">{{operateHour}}</span> 小时</span>
<span v-if="[2].indexOf(componentProgress.state) >= 0 && !operateIsBuy">报价仅剩 <span class="global-color-red">{{operateDay}}</span><span class="global-color-red">{{operateHour}}</span> 小时</span>
</div>
</div>
</div>
......@@ -113,6 +114,7 @@
return this.$store.state.componentProject
},
componentProgress: function () {
console.log('this.$store.state.componentProgress', this.$store.state.componentProgress)
return this.$store.state.componentProgress
}
},
......@@ -128,7 +130,6 @@
componentProgress: {
handler: function (funcNewValue, funcOldValue) {
if (JSON.stringify(funcNewValue) !== '{}') {
console.log('mark', funcNewValue)
this.setProgressTime(funcNewValue)
this.setOperate(funcNewValue)
}
......@@ -157,7 +158,7 @@
this.progressNode = [
{
text: funcProgressData.text[0],
time: iMiment(funcProgressData.timestamp[0]).format('YYYY-MM-DD hh:mm')
time: iMiment(funcProgressData.timestamp[0]).format('YYYY-MM-DD')
},
{
text: funcProgressData.text[1],
......@@ -230,7 +231,6 @@
* @returns
*/
onDocument: function () {
console.log('onDocument')
// 公告为预览状态禁止操作
if (this.$route.query.preview) return
this.$emit('document')
......
......@@ -318,6 +318,38 @@
<span>{{componentProject.buyPhone}}</span>
</div>
</div>
<!-- 竞价变更澄清公告 -->
<div v-if="noticeType === 10" class="info">
<div class="item-text row align-c">
<span>竞价项目编号:</span>
<span>{{componentProject.projectIdentity}}</span>
</div>
<div class="item-text row align-c">
<span>竞价项目名称:</span>
<span>{{componentProject.projectName}}</span>
</div>
<div class="item-text row align-c">
<span>采购单位:</span>
<span>{{componentProject.buyCompany}}</span>
</div>
<div class="item-text row align-c">
<span>采购单位性质:</span>
<span>{{componentProject.buyCompanyType}}</span>
</div>
<div class="item-text row align-c">
<span>采购单位联系人:</span>
<span>{{componentProject.buyLiaison}}</span>
</div>
<div class="item-text row align-c">
<span>联系电话:</span>
<span>{{componentProject.buyPhone}}</span>
</div>
<div class="item-text row align-c">
<span>竞价时间:</span>
<span>{{componentProject.timeBegin + ' - ' + componentProject.timeEnd}}</span>
</div>
</div>
</div>
</template>
......
......@@ -17,6 +17,10 @@
<!-- 今日开标 -->
<div class="new-bid row con-c">
<div class="global-maxwidth row con-b">
<div class="calendar">
<span class="calendar-title">开标日历</span>
<calendar :markDate="['2020/10/13','2020/10/14']"></calendar>
</div>
<div>
<div class="row align-e">
<span class="title">今日开标</span>
......@@ -214,6 +218,7 @@
<script>
import iMiment from 'miment'
import iCalendar from 'vue-calendar-component';
import iHost from '@/common/js/host.js'
import iRequest from '@/common/js/request/request.js'
import iTime from '@/common/js/time.js'
......@@ -223,6 +228,7 @@
import iFooter from '@/components/currency-footer.vue'
export default {
components: {
calendar: iCalendar,
componentHeader: iHeader,
componentNavigation: iNavigation,
componentFooter: iFooter
......@@ -623,9 +629,119 @@
}
}
.new-bid {
position: relative;
width: 100%;
padding: 50px 0;
background: #FFFFFF;
.calendar {
position: relative;
width: 410px;
height: 386px;
margin-right: 40px;
box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.1);
border-radius: 25px;
background: #F8F8F8;
overflow: hidden;
.calendar-title {
position: absolute;
top: 10px;
left: 100px;
font-size: 20px;
font-weight: bold;
color: #2575FA;
}
.wh_content_all {
width: 410px;
margin: 0;
padding: 0 0 20px 0;
background: #f8f8f8;
.wh_top_changge {
.wh_content_li {
position: relative;
left: 50px;
font-size: 20px;
font-weight: bold;
color: #000000;
}
.wh_jiantou1,
.wh_jiantou2 {
border-color: #858585;
}
}
// 日历天数
.wh_content {
width: 372px;
margin: 0 20px;
padding: 0;
.wh_content_item {
width: 50px;
height: 50px;
margin: 0 3px 3px 0;
padding: 0;
.wh_top_tag {
width: 50px;
height: 50px;
color: #666666;
}
.wh_item_date,
.wh_chose_day {
width: 50px;
height: 50px;
border-radius: 0;
background: #FFFFFF;
font-size: 20px;
font-weight: bold;
color: #000000;
}
.wh_other_dayhide {
color: #CCCCCC;
}
.wh_isMark {
position: relative;
}
.wh_isMark::after {
position: absolute;
bottom: 4px;
content: '';
width: 10px;
height: 10px;
border-radius: 50%;
background: #D02F1E;
}
.wh_isToday {
width: 50px;
height: 50px;
border-radius: 0;
background: #2575fa;
color: #FFFFFF;
}
}
.wh_content_item:nth-child(6),
.wh_content_item:nth-child(7) {
.wh_top_tag {
color: #D02F1E;
}
}
}
}
}
.title {
> span:nth-child(1) {
margin-right: 16px;
......@@ -640,7 +756,7 @@
padding-bottom: 4px;
}
.list {
width: 944px;
width: 750px;
span:nth-child(1) {
max-width: 830px;
margin-top: 32px;
......@@ -652,7 +768,7 @@
}
}
.nothing {
width: 994px;
width: 750px;
height: 200px;
img {
height: 100px;
......@@ -660,6 +776,9 @@
}
}
.home-signin {
position: absolute;
top: 60px;
right: 0;
width: 206px;
height: 300px;
padding: 24px 0;
......
......@@ -32,10 +32,12 @@
</div>
<div class="row align-c">
<span class="global-color-green">{{item.isWin ? '成交' : ''}}</span>
<span v-if="item.projectState === 1" class="project-state">竞标中</span>
<span v-if="item.projectState === 1" class="project-state">待竞价</span>
<span v-if="item.projectState === 2" class="project-state">竞标中</span>
<span v-if="item.projectState === 3" class="project-state">已截止</span>
<span v-if="item.projectState === 4" class="project-state">已结束</span>
<span v-if="item.projectState === 5" class="project-state">已暂停</span>
<span v-if="item.projectState === 6" class="project-state">已终止</span>
</div>
</div>
<div class="project-record row con-b align-c">
......
......@@ -68,9 +68,12 @@
<div class="bid-item-top col con-b">
<div class="row con-b">
<span class="global-cursor" @click="onDetail(item)">{{item.projectName}}</span>
<span v-if="item.projectState === 1" class="global-color-yellow">待竞价</span>
<span v-if="item.projectState === 2" class="global-color-yellow">竞价中</span>
<span v-if="item.projectState === 3" class="global-color-grey">已截止</span>
<span v-if="item.projectState === 4" class="global-color-grey">已结束</span>
<span v-if="item.projectState === 5" class="global-color-grey">已暂停</span>
<span v-if="item.projectState === 6" class="global-color-grey">已终止</span>
</div>
<div class="row con-b align-c">
<span class="global-color-grey">{{item.projectNumber}}</span>
......
......@@ -20,7 +20,6 @@ let output = function (thisVue, id, type) {
// 竞价报价公告
if (type === 0) {
console.log('set quoteNotice')
funcMap = [{ text: '工作台首页', redirect: '/supplier' }, { text: '我竞价的项目', redirect: '/supplier/auction' }, { text: '竞价项目详情', redirect: null }]
funcRequestDetail = iRequest.request(iHost.base + 'bid/zBiddingProject/getApiDetail',{ 'id': id } , 'json', 'post')
......@@ -44,6 +43,7 @@ let output = function (thisVue, id, type) {
'filePrice': '', // 文件价格
'state': Number(funcResponse.state),
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日 hh:mm'), // 发布时间
'timeBegin': iMiment(funcResponse.biddingBeginTime).format('YYYY年MM月DD日 hh:mm'), // 开始时间
'timeEnd': iMiment(funcResponse.biddingEndTime).format('YYYY年MM月DD日 hh:mm'), // 结束时间
......@@ -109,6 +109,9 @@ let output = function (thisVue, id, type) {
}
funcPackage.push(funcItem)
}
console.log(funcPackage)
thisVue.$store.commit('componentContract', funcPackage)
......@@ -124,6 +127,7 @@ let output = function (thisVue, id, type) {
],
isBuy: false,
isSignIn: false,
state: funcProject.state
}
thisVue.$store.commit('componentProgress', funcProgress)
......@@ -167,7 +171,6 @@ let output = function (thisVue, id, type) {
// 招标采购公告
if (type === 2) {
console.log('set bidNotice')
funcMap = [{ text: '工作台首页', redirect: '/supplier' }, { text: '我投标的项目', redirect: '/supplier/bidding' }, { text: '投标项目详情', redirect: null }]
funcRequestDetail = iRequest.request(iHost.base + 'bid/zTenderNotice/getApiDetail', { 'id': id } , 'json', 'post')
......@@ -317,7 +320,6 @@ let output = function (thisVue, id, type) {
// 资格预审公告
if (type === 3) {
console.log('set qualificationNotice')
funcMap = [{ text: '招标公告', redirect: '/bid' }, { text: '资格预审公告', redirect: null }]
funcRequestDetail = iRequest.request(iHost.base + 'bid/zTenderNotice/getApiDetail', { 'id': id } , 'json', 'post')
......
......@@ -14,10 +14,13 @@
<!-- 项目进度 - 竞价 -->
<div v-if="[0].indexOf(noticeType) >= 0" class="info-operation">
<span v-if="projectState === 2">竞价中</span>
<span v-if="projectState === 3">已截止</span>
<span v-if="projectState === 4">已结束</span>
<button v-if="projectState === 2" @click="onQuote()">我要报价</button>
<span v-if="componentProject.state === 1">待竞价</span>
<span v-if="componentProject.state === 2">竞价中</span>
<span v-if="componentProject.state === 3">已截止</span>
<span v-if="componentProject.state === 4">已结束</span>
<span v-if="componentProject.state === 5">已暂停</span>
<span v-if="componentProject.state === 6">已终止</span>
<button v-if="componentProject.state === 2" @click="onQuote()">我要报价</button>
<el-dropdown placement="bottom-start">
<button>相关公告</button>
<el-dropdown-menu slot="dropdown">
......@@ -74,7 +77,7 @@
<el-table-column align="center">
<template slot-scope="scope">
<div class="global-cursor row">
<span v-if="!scope.row.isChild" class="global-color-blue" @click="onQueryQuoteRecord(scope.row, scope.$index)">报价记录</span>
<span v-if="!scope.row.isChild && !([5, 6].indexOf(componentProject.state) >= 0)" class="global-color-blue" @click="onQueryQuoteRecord(scope.row, scope.$index)">报价记录</span>
<span v-if="scope.row.isWin" class="is-win global-color-green">成交</span>
</div>
</template>
......@@ -130,7 +133,7 @@
</div>
<el-table :data="componentContract" key="select" stripe :header-cell-style="tableHeaderStyle" :row-class-name="setChildHide" @selection-change="selectionQuote">
<el-table-column type="selection" width="60" align="center" :selectable="onTableUnableSelection"></el-table-column>
<el-table-column type="index" label="合同包" width="120" align="center"></el-table-column>
<el-table-column prop="index" label="合同包" width="120" align="center"></el-table-column>
<el-table-column prop="object" label="标的" min-width="100"></el-table-column>
<el-table-column prop="requirement" label="参数要求" min-width="230"></el-table-column>
<el-table-column prop="quantity" label="数量" min-width="120" align="center"></el-table-column>
......@@ -400,7 +403,7 @@
this.componentContract = funcPackage
this.componentNotice = funcOther
console.log(this.componentProject)
console.log('this.componentProject', this.componentProject)
// 公告状态设置
let funcIndex = 0
......
......@@ -19,7 +19,6 @@ let output = function (thisVue, id, type, isPreview) {
// 竞价报价公告
if (type === 0) {
console.log('set quoteNotice')
funcMap = [ { text: '招标公告', redirect: '/bid' }, { text: '竞价公告', redirect: null }]
let funcParam = {
......@@ -49,7 +48,8 @@ let output = function (thisVue, id, type, isPreview) {
'filePrice': '', // 文件价格
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日 hh:mm'), // 发布时间
'state': Number(funcResponse.state),
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日'), // 发布时间
'timeBegin': iMiment(funcResponse.biddingBeginTime).format('YYYY年MM月DD日 hh:mm'), // 开始时间
'timeEnd': iMiment(funcResponse.biddingEndTime).format('YYYY年MM月DD日 hh:mm'), // 结束时间
'timeClose': '', // 截止时间
......@@ -129,6 +129,7 @@ let output = function (thisVue, id, type, isPreview) {
],
isBuy: false,
isSignIn: false,
state: funcProject.state
}
thisVue.$store.commit('componentProgress', funcProgress)
......@@ -194,7 +195,6 @@ let output = function (thisVue, id, type, isPreview) {
// 竞价结果公告
if (type === 1) {
console.log('set quoteResult')
funcMap = [ { text: '招标公告', redirect: '/bid' }, { text: '竞价结果公告', redirect: null }]
let funcParam = {
......@@ -224,7 +224,7 @@ let output = function (thisVue, id, type, isPreview) {
'filePrice': '', // 文件价格
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日 hh:mm'), // 发布时间
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日'), // 发布时间
'timeBegin': iMiment(funcResponse.biddingBeginTime).format('YYYY年MM月DD日 hh:mm'), // 开始时间
'timeEnd': iMiment(funcResponse.biddingEndTime).format('YYYY年MM月DD日 hh:mm'), // 结束时间
'timeClose': '', // 截止时间
......@@ -340,7 +340,6 @@ let output = function (thisVue, id, type, isPreview) {
// 招标采购公告
if (type === 2) {
console.log('set bidNotice')
funcMap = [ { text: '招标公告', redirect: '/bid' }, { text: '招标采购公告', redirect: null }]
let funcParam = {
......@@ -367,7 +366,7 @@ let output = function (thisVue, id, type, isPreview) {
'buyPhone': funcResponse.phone, // 采购电话
'address': funcResponse.area.replace(/\//g, '') + funcResponse.address, // 开标地点
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日 hh:mm'), // 发布时间
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日'), // 发布时间
'timeBegin': iMiment(funcResponse.receiveBeginTime).format('YYYY年MM月DD日 hh:mm'), // 开始时间
'timeEnd': iMiment(funcResponse.receiveEndTime).format('YYYY年MM月DD日 hh:mm'), // 结束时间
'timeClose': iMiment(funcResponse.applyEndTime).format('YYYY年MM月DD日 hh:mm'), // 截止时间
......@@ -501,7 +500,6 @@ let output = function (thisVue, id, type, isPreview) {
// 资格预审公告
if (type === 3) {
console.log('set qualificationNotice')
funcMap = [ { text: '招标公告', redirect: '/bid' }, { text: '资格预审公告', redirect: null }]
let funcParam = {
......@@ -528,7 +526,7 @@ let output = function (thisVue, id, type, isPreview) {
'buyPhone': funcResponse.phone, // 采购电话
'address': funcResponse.area.replace(/\//g, '') + funcResponse.address, // 开标地点
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日 hh:mm'), // 发布时间
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日'), // 发布时间
'timeBegin': iMiment(funcResponse.receiveBeginTime).format('YYYY年MM月DD日 hh:mm'), // 开始时间
'timeEnd': iMiment(funcResponse.receiveEndTime).format('YYYY年MM月DD日 hh:mm'), // 结束时间
'timeClose': iMiment(funcResponse.applyEndTime).format('YYYY年MM月DD日 hh:mm'), // 截止时间
......@@ -544,8 +542,6 @@ let output = function (thisVue, id, type, isPreview) {
}
thisVue.$store.commit('componentProject', funcProject)
let funcRawData
if (funcProject.isPackage) {
// 多个合同
......@@ -663,7 +659,6 @@ let output = function (thisVue, id, type, isPreview) {
// 变更澄清公告
if (type === 4) {
console.log('set changeNotice')
funcMap = [ { text: '招标公告', redirect: '/bid' }, { text: '变更澄清公告', redirect: null }]
let funcParam = {
......@@ -690,7 +685,7 @@ let output = function (thisVue, id, type, isPreview) {
'buyPhone': funcResponse.phone, // 采购电话
'address': '', // 开标地点
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日 hh:mm'), // 发布时间
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日'), // 发布时间
'timeBegin': '', // 开始时间
'timeEnd': '', // 结束时间
'timeClose': '', // 截止时间
......@@ -817,7 +812,6 @@ let output = function (thisVue, id, type, isPreview) {
// 中标候选公告
if (type === 5) {
console.log('set winningNotice')
funcMap = [ { text: '招标公告', redirect: '/bid' }, { text: '中标候选公告', redirect: null }]
let funcParam = {
......@@ -844,7 +838,7 @@ let output = function (thisVue, id, type, isPreview) {
'buyPhone': funcResponse.phone, // 采购电话
'address': '', // 开标地点
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日 hh:mm'), // 发布时间
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日'), // 发布时间
'timeBegin': '', // 开始时间
'timeEnd': '', // 结束时间
'timeClose': '', // 截止时间
......@@ -928,7 +922,6 @@ let output = function (thisVue, id, type, isPreview) {
// 结果公告
if (type === 6) {
console.log('set resultNotice')
funcMap = [ { text: '招标公告', redirect: '/bid' }, { text: '结果公告', redirect: null }]
let funcParam = {
......@@ -955,7 +948,7 @@ let output = function (thisVue, id, type, isPreview) {
'buyPhone': funcResponse.phone, // 采购电话
'address': '', // 开标地点
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日 hh:mm'), // 发布时间
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日'), // 发布时间
'timeBegin': '', // 开始时间
'timeEnd': '', // 结束时间
'timeClose': '', // 截止时间
......@@ -1105,7 +1098,6 @@ let output = function (thisVue, id, type, isPreview) {
// 其他公告
if (type === 9) {
console.log('set resultNotice')
funcMap = [ { text: '招标公告', redirect: '/bid' }, { text: '其他公告', redirect: null }]
let funcParam = {
......@@ -1132,7 +1124,7 @@ let output = function (thisVue, id, type, isPreview) {
'buyPhone': funcResponse.phone, // 采购电话
'address': '', // 开标地点
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日 hh:mm'), // 发布时间
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日'), // 发布时间
'timeBegin': '', // 开始时间
'timeEnd': '', // 结束时间
'timeClose': '', // 截止时间
......@@ -1204,6 +1196,200 @@ let output = function (thisVue, id, type, isPreview) {
console.log(funcError)
})
}
// 竞价变更澄清公告
if (type === 10) {
funcMap = [ { text: '招标公告', redirect: '/bid' }, { text: '竞价变更澄清公告', redirect: null }]
let funcParam = {
'id': id
}
// 预览公告独有字段
if (isPreview) funcParam.preview = 1
funcRequestDetail = iRequest.request(iHost.base + 'bid/zBiddingChangeNotice/getApiDetail', funcParam , 'json', 'post')
.then((funcResponse) => {
// 项目信息
funcProject = {
'noticeId': id,
'noticeType': type,
'noticeTitle': funcResponse.title, // 公告标题
'projectId': funcResponse.biddingProjectId, // 项目标识
'projectName': funcResponse.projectName, // 项目名称
'projectIdentity': funcResponse.projectNo, // 项目编号
'buyWay': '', // 采购方式
'buyCompany': funcResponse.company, // 采购公司
'buyCompanyType': funcResponse.companyType, // 采购公司类型
'buyLiaison': funcResponse.companyContactor, // 采购联系人
'buyPhone': funcResponse.companyContact, // 采购电话
'address': '', // 开标地点
'filePrice': '', // 文件价格
'timeRelease': iMiment(funcResponse.releaseTime).format('YYYY年MM月DD日'), // 发布时间
'timeBegin': iMiment(funcResponse.biddingBeginTime).format('YYYY年MM月DD日 hh:mm'), // 开始时间
'timeEnd': iMiment(funcResponse.biddingEndTime).format('YYYY年MM月DD日 hh:mm'), // 结束时间
'timeClose': '', // 截止时间
'timeTimestampRelease': iMiment(funcResponse.releaseTime).stamp(),
'timeTimestampBegin': iMiment(funcResponse.biddingBeginTime).stamp(),
'timeTimestampEnd': iMiment(funcResponse.biddingEndTime).stamp(),
'timeTimestampClose': 1577808000000,
'contentTitle': '公告内容',
'contentHtml': funcResponse.content,
'isOnline': false,
'isPackage': false,
'isOnline': false,
// 此处尝试性获取字段,如果字段不存在,默认为 false
'isPause': funcResponse.isPause ? funcResponse.isPause : false, // 是否暂停
'isRecover': funcResponse.isRecover ? funcResponse.isRecover : false, // 是否恢复
'isTermination': funcResponse.isTermination ? funcResponse.isTermination : false, // 是否终止
'isChangeTime': funcResponse.isChangeTime ? funcResponse.isChangeTime : false, // 是否变更竞价时间
'isChangePackage': funcResponse.isChangePackage ? funcResponse.isChangePackage : false, // 是否变更竞价标的
}
// 暂停状态
if (Object.prototype.toString.call(funcProject.isPause) !== '[object Boolean]') {
funcProject.isPause = Number(funcProject.isPause) === 0 ? false : true
}
// 恢复状态
if (Object.prototype.toString.call(funcProject.isRecover) !== '[object Boolean]') {
funcProject.isRecover = Number(funcProject.isRecover) === 0 ? false : true
}
// 终止状态
if (Object.prototype.toString.call(funcProject.isTermination) !== '[object Boolean]') {
funcProject.isTermination = Number(funcProject.isTermination) === 0 ? false : true
}
// 竞价时间
if (Object.prototype.toString.call(funcProject.isChangeTime) !== '[object Boolean]') {
funcProject.isChangeTime = Number(funcProject.isChangeTime) === 0 ? false : true
if (funcProject.isChangeTime) {
funcProject.timeBegin = iMiment(funcResponse.changeBiddingBeginTime).format('YYYY年MM月DD日 hh:mm')
funcProject.timeEnd = iMiment(funcResponse.changeBiddingEndTime).format('YYYY年MM月DD日 hh:mm')
funcProject.timeTimestampBegin = iMiment(funcResponse.changeBiddingBeginTime).stamp()
funcProject.timeTimestampEnd = iMiment(funcResponse.changeBiddingEndTime).stamp()
}
}
// 竞价内容
if (Object.prototype.toString.call(funcProject.isChangePackage) !== '[object Boolean]') {
funcProject.isChangePackage = Number(funcProject.isChangePackage) === 0 ? false : true
if (funcProject.isChangePackage) {
funcProject.isPackage = true
}
}
console.log('funcProject')
console.log(funcProject)
thisVue.$store.commit('componentProject', funcProject)
let funcRawData
if (funcProject.isPackage) {
funcRawData = funcResponse.packages
for (let i = 0, len = funcRawData.length; i < len; i++) {
let funcItem = {
'index': i + 1, // 序号
'id': funcRawData[i].biddingPackageId, // 标识
'object': funcRawData[i].name, // 标的
'budget': funcRawData[i].fixedPrice, // 预算金额
'quantity': funcRawData[i].num, // 标的数量
'requirement': funcRawData[i].requirement, // 竞价参数要求
}
if (funcRawData[i].company) {
funcItem.resultName = funcRawData[i].company
} else {
funcItem.resultName = '流标'
}
if (funcRawData[i].price && funcRawData[i].price !== 0) {
funcItem.resultPrice = funcRawData[i].price
} else {
funcItem.resultPrice = 0
}
funcPackage.push(funcItem)
}
thisVue.$store.commit('componentContract', funcPackage)
}
/*
funcProgress = {
text: ['发布时间', '竞价时间', '公布结果'],
timestamp: [
funcProject.timeTimestampRelease,
funcProject.timeTimestampBegin,
funcProject.timeTimestampEnd,
funcProject.timeTimestampClose,
],
isBuy: false,
isSignIn: false,
}
thisVue.$store.commit('componentProgress', funcProgress)
*/
if (funcResponse.agencyInfo) {
funcRawData = funcResponse.agencyInfo
funcAgency = {
'id': funcRawData.agencyInfoId,
'name': funcRawData.companyName,
'address': funcRawData.area.replace(/\//g, '') + funcRawData.address,
'phone': funcRawData.phone,
'liaison': funcRawData.contactor,
'email': funcRawData.email
}
thisVue.$store.commit('componentAgency', funcAgency)
}
funcRawData = funcResponse.file
for (let i = 0, len = funcRawData.length; i < len; i++) {
let funcItem = {
'name': funcRawData[i].name,
'url': funcRawData[i].url
}
funcFile.push(funcItem)
}
thisVue.$store.commit('componentFile', funcFile)
})
.catch((funcError) => {})
// 预览公告不查询相关公告
if (!isPreview) {
funcRequestOther = iRequest.request(iHost.base + 'bid/zBiddingNotice/getApiBiddingRelevantNotices', { 'noticeId': id, 'noticeType': 9, 'isProject': 1 }, 'json', 'post')
.then((funcResponse) => {
let funcRawData = funcResponse.list
for (let i = 0, len = funcRawData.length; i < len; i++) {
let funcItem = {
'id': funcRawData[i].id,
'type': iDictionary.noticeType.mapping[iDictionary.noticeType.raw.indexOf(Number(funcRawData[i].noticeType))],
'title': funcRawData[i].title,
}
funcOther.push(funcItem)
}
thisVue.$store.commit('componentNotice', funcOther)
})
.catch((funcError) => {})
} else {
funcRequestOther = null
}
Promise.all([ funcRequestDetail, funcRequestOther ])
.then(() => {
thisVue.noticeData(funcMap, funcProgress, funcProject, funcPackage, funcAgency, funcFile, funcOther)
})
.catch((funcError) => {
console.log(funcError)
})
}
}
export default output
\ No newline at end of file
......@@ -26,7 +26,7 @@
</div>
<!-- 项目信息 -->
<div v-if="[0, 1, 2, 3, 4, 5, 6, 7, 9].indexOf(noticeType) >= 0" class="info-item">
<div v-if="[0, 1, 2, 3, 4, 5, 6, 7, 9, 10].indexOf(noticeType) >= 0" class="info-item">
<div class="title title-decorate row align-c">
<span>项目信息</span>
</div>
......@@ -93,7 +93,7 @@
</div>
</div>
<!-- 变更信息 -->
<!-- 招标变更信息 -->
<div v-if="[4].indexOf(noticeType) >= 0" class="info-item">
<div class="title title-decorate row align-c">
<span>变更信息</span>
......@@ -118,6 +118,30 @@
</div>
</div>
<!-- 竞价变更信息 -->
<div v-if="[10].indexOf(noticeType) >= 0 && (componentProject.isChangeTime || componentProject.isChangePackage)" class="info-item">
<div class="title title-decorate row align-c">
<span>变更信息</span>
</div>
<div v-if="componentProject.isChangeTime" class="change col">
<span>{{'更改竞价时间:' + componentProject.timeBegin + ' - ' + componentProject.timeEnd}}</span>
</div>
<div v-if="componentProject.isPackage" class="change col">
<div v-if="componentContract.length > 0" class="row align-s">
<span>更改竞价标的:</span>
<el-table :data="componentContract" stripe :header-cell-style="tableHeaderStyle">
<el-table-column prop="index" label="合同包" width="160" align="center"></el-table-column>
<el-table-column prop="object" label="标的" min-width="290"></el-table-column>
<el-table-column prop="requirement" label="参数要求" min-width="180"></el-table-column>
<el-table-column prop="quantity" label="数量" min-width="180"></el-table-column>
<el-table-column prop="budget" label="限价" min-width="180"></el-table-column>
</el-table>
</div>
</div>
</div>
<!-- 具体内容 -->
<div class="info-item">
<div class="title title-decorate row align-c">
......@@ -127,7 +151,7 @@
</div>
<!-- 代理机构 -->
<div v-if="[0, 1, 2, 3, 4, 5, 6, 9].indexOf(noticeType) >= 0 && JSON.stringify(componentAgency) !== '{}'" class="info-item">
<div v-if="[0, 1, 2, 3, 4, 5, 6, 9, 10].indexOf(noticeType) >= 0 && JSON.stringify(componentAgency) !== '{}'" class="info-item">
<div class="title title-decorate row align-c">
<span>招标代理机构</span>
</div>
......@@ -135,7 +159,7 @@
</div>
<!-- 附件下载 -->
<div v-if="[0, 1, 2, 3, 4, 5, 6, 7, 9].indexOf(noticeType) >= 0" class="info-item">
<div v-if="[0, 1, 2, 3, 4, 5, 6, 7, 9, 10].indexOf(noticeType) >= 0" class="info-item">
<noticeFile></noticeFile>
</div>
......
......@@ -412,7 +412,7 @@
.progress {
position: relative;
width: 100%;
margin-bottom: 40px;
margin: 20px 0 40px 0;
.node {
flex-grow: 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment