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

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

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