Commit 03af227d authored by 张冬's avatar 张冬

报价状态和查看和列表查询报价

parent 4d606b1c
...@@ -368,4 +368,13 @@ export function earnestEdit(data) { ...@@ -368,4 +368,13 @@ export function earnestEdit(data) {
method: 'post', method: 'post',
data:data data:data
}) })
}
// 新增接口
export function isOffer(projectId) {
return request({
url: `bidder-apply/isOffer/${projectId}`,
method: 'get',
})
} }
\ No newline at end of file
<template> <template>
<div class="noticeDetail"> <div class="noticeDetail">
<div v-if="state"> <div v-if="state">
<div class="info_mes"> <div class="info_mes">
<p> <p>项目名称:{{ projectdetail.projectName }}</p>
项目名称:{{projectdetail.projectName}} <p>项目 项目编号:{{ projectdetail.projectCode }}</p>
</p> <p>发布日期:{{ detail.createTime }}</p>
<p> </div>
项目 项目编号:{{projectdetail.projectCode}} <h1>{{ detail.title }}</h1>
</p> <div v-html="detail.content"></div>
<p > <div class="content_list">
发布日期:{{detail.createTime}} <div class="flex-item">
</p> <div>附件下载:</div>
</div> <ul v-if="detail.accessoryVOList">
<h1>{{detail.title}}</h1> <li v-for="item in detail.accessoryVOList" :key="item.id">
<div v-html="detail.content"></div> <a :href="item.accessoryUrl">{{ item.fileName }}</a>
<div class="content_list"> </li>
<div class="flex-item"> </ul>
<div>附件下载:</div> <ul v-else>
<ul v-if="detail.accessoryVOList"> 无附件
<li v-for="item in detail.accessoryVOList" :key="item.id"> </ul>
<a :href="item.accessoryUrl">{{item.fileName}}</a> </div>
</li> </div>
</ul> <slot></slot>
<ul v-else> </div>
无附件 <div v-else class="no-notice">{{msg}}</div>
</ul> </div>
</div>
</div>
<slot></slot>
</div>
<div v-else class="no-notice">
未找到该公告详情
</div>
</div>
</template> </template>
<script> <script>
import { import { biddingProjectId, projectDetail } from '@api/common/list';
biddingProjectId,projectDetail export default {
} from '@api/common/list' data() {
export default { return {
data() { msg: '',
return { projectdetail: '',
projectdetail:"", detail: '',
detail: "", state: true
state:true };
} },
}, methods: {
methods: { // 获取详情
// 获取详情 async getbiddingProjectId() {
async getbiddingProjectId() { let projectId = localStorage.getItem('projectId');
let projectId = localStorage.getItem("projectId") const { data, code } = await biddingProjectId(projectId);
const { if (code == 200) {
data, this.detail = data;
code } else if (code == 500) {
} = await biddingProjectId(projectId) this.state = false;
if(code==200){ this.msg = msg;
this.detail = data }
}else if(code==500){ },
this.state=false async getprojectDetail() {
} let projectId = localStorage.getItem('projectId');
}, const { data, code } = await projectDetail(projectId);
async getprojectDetail() { if (code == 200) {
let projectId = localStorage.getItem("projectId") this.projectdetail = data;
const { }
data, }
code },
} = await projectDetail(projectId) created() {
if(code==200){ this.getbiddingProjectId();
this.projectdetail = data this.getprojectDetail();
} }
}, };
},
created() {
this.getbiddingProjectId()
this.getprojectDetail();
}
}
</script> </script>
<style scoped> <style scoped>
.no-notice{ .no-notice {
margin-top: 30px; margin-top: 30px;
text-align: center; text-align: center;
margin-bottom: 30px; margin-bottom: 30px;
} }
.info_mes { .info_mes {
margin-bottom: 40px; margin-bottom: 40px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
.noticeDetail h1 { .noticeDetail h1 {
text-align: center; text-align: center;
margin-bottom: 30px; margin-bottom: 30px;
} }
.content_list{ .content_list {
margin-top:30px margin-top: 30px;
} }
</style> </style>
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
<slot></slot> <slot></slot>
</div> </div>
<div v-if="!state" class="no-notice"> <div v-if="!state" class="no-notice">
未找到该公告详情 {{msg}}
</div> </div>
</div> </div>
</template> </template>
...@@ -90,6 +90,7 @@ ...@@ -90,6 +90,7 @@
}, },
data() { data() {
return { return {
msg:"",
state:true, state:true,
tableData:[], tableData:[],
projectName:"", projectName:"",
...@@ -137,7 +138,8 @@ ...@@ -137,7 +138,8 @@
let projectId = localStorage.getItem("projectId") let projectId = localStorage.getItem("projectId")
const { const {
data, data,
code code,
msg
} = await enquiryProjectId(projectId) } = await enquiryProjectId(projectId)
if(code==200){ if(code==200){
data.endTime=getTime1(data.endTime) data.endTime=getTime1(data.endTime)
...@@ -146,6 +148,7 @@ ...@@ -146,6 +148,7 @@
this.detail = data this.detail = data
}else if(code==500){ }else if(code==500){
this.state=false this.state=false
this.msg=msg
} }
}, },
}, },
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
<div> <div>
<div class="content-head"> <div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>招标结果通知书辑</h3> <h3>招标结果通知书</h3>
<h5>招标结果通知书辑</h5> <h5>招标结果通知书</h5>
</div> </div>
<div class="content "> <div class="content ">
<div class="message flex-colunm"> <div class="message flex-colunm">
...@@ -138,7 +138,7 @@ ...@@ -138,7 +138,7 @@
.message>div { .message>div {
margin-bottom: 30px; margin-bottom: 30px;
width: 50%; width: 60%;
} }
.message>.button { .message>.button {
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</dataTable> </dataTable>
<div class="button flex-center"> <div class="button flex-center">
<el-button @click="back">返回</el-button> <el-button @click="back">返回</el-button>
<el-button type="primary" @click="submitData">提交审核</el-button> <el-button type="primary" @click="submitData">提交</el-button>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<citySelect @sendprovinceId="getprovinceId" @sendcityId="getcityId" @senddistrictId="getdistrictId"></citySelect> <citySelect @sendprovinceId="getprovinceId" @sendcityId="getcityId" @senddistrictId="getdistrictId"></citySelect>
</el-form-item> </el-form-item>
<el-form-item label="项目优先级" prop="priority" > <el-form-item label="项目优先级" prop="priority" >
<el-radio-group v-model="ruleForm.priority"> <el-radio-group v-model="ruleForm.priority">
<el-radio :label="0">普通</el-radio> <el-radio :label="0">普通</el-radio>
<el-radio :label="1">紧急</el-radio> <el-radio :label="1">紧急</el-radio>
</el-radio-group> </el-radio-group>
...@@ -140,7 +140,18 @@ export default { ...@@ -140,7 +140,18 @@ export default {
singleUpload singleUpload
}, },
data() { data() {
// 测试省份
let islocal = (rule, value, callback) => {
if (!this.ruleForm.provinceId) {
callback(new Error('请选择省份'))
} else if (!this.ruleForm.cityId) {
callback(new Error('请选择市'))
} else if (!this.ruleForm.districtId) {
callback(new Error('请选择区'))
} else {
callback()
}
}
let checkfacsimile = async (rule, value, callback) => { let checkfacsimile = async (rule, value, callback) => {
const reg = /^(?:\d{3,4}-)?\d{7,8}(?:-\d{1,6})?$/ const reg = /^(?:\d{3,4}-)?\d{7,8}(?:-\d{1,6})?$/
if (reg.test(value)) { if (reg.test(value)) {
...@@ -207,6 +218,11 @@ export default { ...@@ -207,6 +218,11 @@ export default {
}, },
rules: { rules: {
address: [{
required: true,
validator: islocal,
trigger: 'change'
}],
budget: [{ budget: [{
required: true, required: true,
message: '请输入', message: '请输入',
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<div>招标结果通知书编号:11111</div> <div>招标结果通知书编号:11111</div>
</div> </div>
<div v-if="state"> <div v-if="state">
<div class="flex-between"> <div class="flex">
<div style="margin-right: 20px;">附件:中标通知书.pdf</div> <div style="margin-right: 20px;">附件:中标通知书.pdf</div>
<el-button size="mini">下载</el-button> <el-button size="mini">下载</el-button>
</div> </div>
......
...@@ -4,9 +4,9 @@ ...@@ -4,9 +4,9 @@
<div> <div>
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<noticeDetail> <noticeDetail>
<slot> <!-- <slot>
<div @click="jump" class="jump">项目报价</div> <div @click="jump" class="jump">项目报价</div>
</slot> </slot> -->
</noticeDetail> </noticeDetail>
</div> </div>
<div class="centerButton" v-if='bidType==0'> <div class="centerButton" v-if='bidType==0'>
...@@ -48,9 +48,7 @@ ...@@ -48,9 +48,7 @@
} }
}, },
methods: { methods: {
jump() {
this.$router.push("/supply/bid/signupOnline/seePrice")
},
signup(row) { signup(row) {
this.$router.push("/supply/bid/signupOnline/SignUp") this.$router.push("/supply/bid/signupOnline/SignUp")
}, },
......
...@@ -36,11 +36,11 @@ ...@@ -36,11 +36,11 @@
</div> </div>
</div> </div>
<el-dialog :visible.sync="dialogFormVisible"> <el-dialog :visible.sync="dialogFormVisible">
<div class="flex"> <div class="flex-item">
<i class="el-icon-warning"></i> <i class="el-icon-warning"></i>
<h3>请勾选是否买断账期</h3> <h3>请勾选是否买断账期</h3>
</div> </div>
<p>买断账期服务是平台提供的优化供应商现金流的服务,选择此服务的供应商仅需支付服务费即可凭借应收账款凭证及在平台的中标数据获得金融公司提供的资产抵押服务,不中标,该服务不生效。详情咨询客服:400-123-123</p> <p>买断账期服务是平台提供的优化供应商现金流的服务,选择此服务的供应商仅需支付服务费即可凭借应收账款凭证及在平台的中标数据获得金融公司提供的资产抵押服务,不中标,该服务不生效。详情咨询客服:13810057696</p>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogFormVisible = false">确 定</el-button> <el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
</div> </div>
...@@ -157,10 +157,10 @@ ...@@ -157,10 +157,10 @@
</script> </script>
<style scoped> <style scoped>
h3 { /* h3 {
margin-top: 20px; margin-top: 20px;
margin-left: 20px; margin-left: 20px;
} } */
h5 { h5 {
margin-top: 20px; margin-top: 20px;
......
<template> <template>
<div> <div>
<div class="content"> <div class="content">
<dataTable :columns="columns" :page-obj="pageObj" :breads="breads" :checklist="checklist" url="/bidder/project/list"> <dataTable :columns="columns" :page-obj="pageObj" :breads="breads" :checklist="checklist" url="/bidder/project/list">
<el-table-column slot="opration" align="center" label="状态" flexd="right" width="200px"> <el-table-column slot="opration" align="center" label="状态" flexd="right" width="200px">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{totalMarks(scope.row.status)}}</div> <div>{{ totalMarks(scope.row.status) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column slot="opration" align="center" label="快捷操作" flexd="right" width="200px"> <el-table-column slot="opration" align="center" label="快捷操作" flexd="right" width="300px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="handlesee(scope.row)">查看招标公告 <el-button type="text" size="small" @click="handlesee(scope.row)">查看招标公告 </el-button>
</el-button> <el-button type="text" size="small" @click="jump(scope.row)">查看询价公告 </el-button>
<el-button type="text" size="small" @click="signup(scope.row)">报名 <el-button type="text" size="small" @click="signup(scope.row)">报名 </el-button>
</el-button> </template>
</template> </el-table-column>
</el-table-column> </dataTable>
</dataTable> </div>
</div> </div>
</div>
</template> </template>
<script> <script>
import {projectStatusList} from '@api/common/list' import { projectStatusList } from '@api/common/list';
import dataTable from '@components/dataTable.vue' import dataTable from '@components/dataTable.vue';
export default { export default {
components: { components: {
dataTable dataTable
},
data() {
return {
pageObj: {
size: 10,
currentPage: 1,
func: (currentPage) => {
this.pageTurning(currentPage)
}
},
checklist: [{
title: '项目名称',
type: 'input',
model: 'projectName'
}
],
breads: ['招标管理', '在线报名'],
columns: [{
label: '项目编号',
prop: 'code'
},
{
label: '项目名称',
prop: 'name'
},
{
label: '标书结束时间',
prop: 'endTime'
},
{
slot: 'opration'
}],
}
},
created() {
this.getprojectStatusList();
},
methods: {
totalMarks: function (status) {
let value=this.map.get(status)
return value
},
// 获取状态
async getprojectStatusList(){
const data = await projectStatusList()
this.map = new Map();
for(let item of data){
this.map.set(item.id,item.name)
}
},
handlesee(row) {
this.$router.push("/supply/bid/signupOnline/seeAnnouncement")
// this.$router.push(`/supply/bid/signupOnline/seeAnnouncement?id=${row.projectId}`)
localStorage.setItem("projectId",row.projectId)
}, },
signup(row){ data() {
this.$router.push("/supply/bid/signupOnline/SignUp") return {
// this.$router.push(`/supply/bid/signupOnline/SignUp?id=${row.projectId}`) pageObj: {
localStorage.setItem("projectId",row.projectId) size: 10,
} currentPage: 1,
} func: (currentPage) => {
} this.pageTurning(currentPage);
}
},
checklist: [
{
title: '项目名称',
type: 'input',
model: 'projectName'
}
],
breads: ['招标管理', '在线报名'],
columns: [
{
label: '项目编号',
prop: 'code'
},
{
label: '项目名称',
prop: 'name'
},
{
label: '标书结束时间',
prop: 'endTime'
},
{
slot: 'opration'
}
]
};
},
created() {
this.getprojectStatusList();
},
methods: {
jump(row) {
this.$router.push('/supply/bid/signupOnline/seePrice');
localStorage.setItem('projectId', row.projectId);
},
totalMarks: function (status) {
let value = this.map.get(status);
return value;
},
// 获取状态
async getprojectStatusList() {
const data = await projectStatusList();
this.map = new Map();
for (let item of data) {
this.map.set(item.id, item.name);
}
},
handlesee(row) {
this.$router.push('/supply/bid/signupOnline/seeAnnouncement');
// this.$router.push(`/supply/bid/signupOnline/seeAnnouncement?id=${row.projectId}`)
localStorage.setItem('projectId', row.projectId);
},
signup(row) {
this.$router.push('/supply/bid/signupOnline/SignUp');
// this.$router.push(`/supply/bid/signupOnline/SignUp?id=${row.projectId}`)
localStorage.setItem('projectId', row.projectId);
}
}
};
</script> </script>
<style scoped> <style scoped>
.home > .user {
.home>.user{
box-sizing: border-box; box-sizing: border-box;
padding-top: 20px; padding-top: 20px;
padding-left: 20px; padding-left: 20px;
background: #fff; background: #fff;
} }
.name{ .name {
font-size: 20px; font-size: 20px;
margin-left:20px; margin-left: 20px;
} }
</style> </style>
\ No newline at end of file
This diff is collapsed.
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 to comment