Commit d499e43a authored by 张冬's avatar 张冬

联调

parent 8a4c55f9
...@@ -95,3 +95,12 @@ export function userphone(id) { ...@@ -95,3 +95,12 @@ export function userphone(id) {
method: 'get' method: 'get'
}) })
} }
// 精简反参的公告列表
export function simpleList(params) {
return request({
url:"notice/simple/list",
method: 'get',
params:params
})
}
\ No newline at end of file
...@@ -126,20 +126,34 @@ export function affirm(data) { ...@@ -126,20 +126,34 @@ export function affirm(data) {
data:data data:data
}) })
} }
// 查看澄清 // 查看澄清详情
export function clarifies(noticeId) { export function clarifiesDetail(noticeId) {
return request({ return request({
url: `bidder-clarifies/clarifies/${noticeId}`, url: `bidder-clarifies/clarifies/detail/${noticeId}`,
method: 'get',
})
}
// 查看问题详情
export function questionDetail(questionId) {
return request({
url: `bidder-clarifies/question/detail/${questionId}`,
method: 'get', method: 'get',
}) })
} }
//查看某个澄清的 投标方列表 //查看某个澄清的 投标方列表
export function bidClarifies(params) { // export function bidClarifies(params) {
return request({ // return request({
url: '/clarifies/bid-clarifies/list', // url: '/clarifies/bid-clarifies/list',
// method: 'get',
// params: params
// })
// }
//.........--------------
// 变更公告查看
export function changeNoticelist(projectId) {
return request({
url: `bidder/project/changeNotice/list/${projectId}`,
method: 'get', method: 'get',
params: params
}) })
} }
...@@ -119,7 +119,8 @@ img { ...@@ -119,7 +119,8 @@ img {
.content { .content {
background: #fff; background: #fff;
padding: 20px 30px padding: 20px 30px;
position: relative;
} }
.othercontent { .othercontent {
......
...@@ -55,101 +55,10 @@ export default { ...@@ -55,101 +55,10 @@ export default {
data() { data() {
return { return {
collapse: false, collapse: false,
items: [
{
icon: 'el-icon-lx-home',
index: '/purchaser/Home',
title: '首页'
},
{
icon: 'el-icon-lx-home',
index:"2",
title: '招标管理',
subs:[
{
icon: 'el-icon-lx-home',
index: '/purchaser/bid/administrationList',
title: '招标项目管理',
}
]
},
{
icon: 'el-icon-lx-cascades',
title: '应收账款买断管理',
index:'3',
subs:[
{
icon: 'el-icon-lx-home',
index: '/purchaser/buyOut/buyoutList',
title: '应收账款买断列表',
}
]
},
{
icon: 'el-icon-lx-cascades',
title: '供应商管理',
index:'4',
subs:[
{
icon: 'el-icon-lx-home',
index: '/purchaser/supply/allSupplyList',
title: '供应商列表',
},
{
icon: 'el-icon-lx-home',
index: '/purchaser/supply/mySupplyList',
title: '我的供应商',
}
]
},
{
icon: 'el-icon-lx-copy',
title: '组织管理',
index:'5',
subs:[
{
icon: 'el-icon-lx-home',
index: '/purchaser/organization/informationSee',
title: '单位信息',
},
{
icon: 'el-icon-lx-home',
index: '/purchaser/organization/memberManagement',
title: '成员管理',
},
{
icon: 'el-icon-lx-home',
index: '/purchaser/organization/jurisdictionList',
title: '角色管理',
}
]
},
{
icon: 'el-icon-lx-redpacket_fill',
title: '系统管理',
index:'6',
subs:[
{
icon: 'el-icon-lx-home',
index: '/purchaser/organization/jurisdictionList',
title: 'CA绑定与解除',
},
{
icon: 'el-icon-lx-home',
index: '/purchaser/system/logList',
title: '日志列表',
},
]
}
],
//供应商
// items: [ // items: [
// { // {
// icon: 'el-icon-lx-home', // icon: 'el-icon-lx-home',
// index: '/supply/Home', // index: '/purchaser/Home',
// title: '首页' // title: '首页'
// }, // },
// { // {
...@@ -159,13 +68,8 @@ export default { ...@@ -159,13 +68,8 @@ export default {
// subs:[ // subs:[
// { // {
// icon: 'el-icon-lx-home', // icon: 'el-icon-lx-home',
// index: '/supply/bid/signupOnline', // index: '/purchaser/bid/administrationList',
// title: '在线报名', // title: '招标项目管理',
// },
// {
// icon: 'el-icon-lx-home',
// index: '/supply/bid/joinProject/projectList',
// title: '我参与的项目',
// } // }
// ] // ]
// }, // },
...@@ -176,11 +80,29 @@ export default { ...@@ -176,11 +80,29 @@ export default {
// subs:[ // subs:[
// { // {
// icon: 'el-icon-lx-home', // icon: 'el-icon-lx-home',
// index: '/supply/buyOut/buyoutList', // index: '/purchaser/buyOut/buyoutList',
// title: '应收账款买断列表', // title: '应收账款买断列表',
// } // }
// ] // ]
// }, // },
// {
// icon: 'el-icon-lx-cascades',
// title: '供应商管理',
// index:'4',
// subs:[
// {
// icon: 'el-icon-lx-home',
// index: '/purchaser/supply/allSupplyList',
// title: '供应商列表',
// },
// {
// icon: 'el-icon-lx-home',
// index: '/purchaser/supply/mySupplyList',
// title: '我的供应商',
// }
// ]
// },
// { // {
// icon: 'el-icon-lx-copy', // icon: 'el-icon-lx-copy',
// title: '组织管理', // title: '组织管理',
...@@ -188,17 +110,17 @@ export default { ...@@ -188,17 +110,17 @@ export default {
// subs:[ // subs:[
// { // {
// icon: 'el-icon-lx-home', // icon: 'el-icon-lx-home',
// index: '/supply/organization/informationSee', // index: '/purchaser/organization/informationSee',
// title: '单位信息', // title: '单位信息',
// }, // },
// { // {
// icon: 'el-icon-lx-home', // icon: 'el-icon-lx-home',
// index: '/supply/organization/memberManagement', // index: '/purchaser/organization/memberManagement',
// title: '成员管理', // title: '成员管理',
// }, // },
// { // {
// icon: 'el-icon-lx-home', // icon: 'el-icon-lx-home',
// index: '/supply/organization/jurisdictionList', // index: '/purchaser/organization/jurisdictionList',
// title: '角色管理', // title: '角色管理',
// } // }
// ] // ]
...@@ -210,29 +132,107 @@ export default { ...@@ -210,29 +132,107 @@ export default {
// subs:[ // subs:[
// { // {
// icon: 'el-icon-lx-home', // icon: 'el-icon-lx-home',
// index: '/supply/organization/jurisdictionList', // index: '/purchaser/organization/jurisdictionList',
// title: 'CA绑定与解除', // title: 'CA绑定与解除',
// }, // },
// { // {
// icon: 'el-icon-lx-home', // icon: 'el-icon-lx-home',
// index: '/supply/system/logList', // index: '/purchaser/system/logList',
// title: '日志列表', // title: '日志列表',
// }, // },
// ] // ]
// },
// {
// icon: 'el-icon-lx-cascades',
// title: '制作投标文件',
// index:'4',
// subs:[
// {
// icon: 'el-icon-lx-home',
// index: '/supply/markBid/markBid',
// title: '制作投标文件',
// } // }
// ] // ],
// },
// ]
//供应商
items: [
{
icon: 'el-icon-lx-home',
index: '/supply/Home',
title: '首页'
},
{
icon: 'el-icon-lx-home',
index:"2",
title: '招标管理',
subs:[
{
icon: 'el-icon-lx-home',
index: '/supply/bid/signupOnline',
title: '在线报名',
},
{
icon: 'el-icon-lx-home',
index: '/supply/bid/joinProject/projectList',
title: '我参与的项目',
}
]
},
{
icon: 'el-icon-lx-cascades',
title: '应收账款买断管理',
index:'3',
subs:[
{
icon: 'el-icon-lx-home',
index: '/supply/buyOut/buyoutList',
title: '应收账款买断列表',
}
]
},
{
icon: 'el-icon-lx-copy',
title: '组织管理',
index:'5',
subs:[
{
icon: 'el-icon-lx-home',
index: '/supply/organization/informationSee',
title: '单位信息',
},
{
icon: 'el-icon-lx-home',
index: '/supply/organization/memberManagement',
title: '成员管理',
},
{
icon: 'el-icon-lx-home',
index: '/supply/organization/jurisdictionList',
title: '角色管理',
}
]
},
{
icon: 'el-icon-lx-redpacket_fill',
title: '系统管理',
index:'6',
subs:[
{
icon: 'el-icon-lx-home',
index: '/supply/organization/jurisdictionList',
title: 'CA绑定与解除',
},
{
icon: 'el-icon-lx-home',
index: '/supply/system/logList',
title: '日志列表',
},
]
},
{
icon: 'el-icon-lx-cascades',
title: '制作投标文件',
index:'4',
subs:[
{
icon: 'el-icon-lx-home',
index: '/supply/markBid/markBid',
title: '制作投标文件',
}
]
},
]
}; };
}, },
computed: { computed: {
......
...@@ -14,8 +14,9 @@ ...@@ -14,8 +14,9 @@
</el-form-item> </el-form-item>
<el-form-item label="上传附件" v-if="ruleForm.accessoryVOList"> <el-form-item label="上传附件" v-if="ruleForm.accessoryVOList">
<ul> <ul>
<li v-for="(item,index) in ruleForm.accessoryVOList" :key="index"> <li v-for="(item,index) in ruleForm.accessoryVOList" :key="index" class="flex">
<div @click="open(item.accessoryUrl)">{{item.fileName}}</div> <div style="margin-right: 10px;">{{item.fileName}}</div>
<el-button size="mini" @click="down(item.accessoryUrl)">下载</el-button>
</li> </li>
</ul> </ul>
......
...@@ -78,29 +78,22 @@ export default { ...@@ -78,29 +78,22 @@ export default {
handleSee(id) { handleSee(id) {
this.$router.push(`/purchaser/bid/bidStage/failList/see?id=${id}`) this.$router.push(`/purchaser/bid/bidStage/failList/see?id=${id}`)
}, },
// async getabortiveList() { async getabortiveList() {
// try { try {
// let projectId=localStorage.getItem("projectId"); let message={};
// const { message.projectId=localStorage.getItem("projectId");
// data, message.type="ABORTIVE"
// code const {
// } = await abortiveList(projectId) data,
// if (code === 200) { code
// for (let item of data) { } = await simpleList(message)
// if (item.auditStatus === 0) { if (code === 200) {
// item.Status = '未审核' this.tableData = data
// } else if (item.auditStatus === 1) { }
// item.Status = '审核通过' } catch (e) {
// } else { console.log(e)
// item.Status = '未通过' }
// } }
// }
// this.tableData = data
// }
// } catch (e) {
// console.log(e)
// }
// }
} }
} }
</script> </script>
......
...@@ -2,12 +2,10 @@ ...@@ -2,12 +2,10 @@
<div> <div>
<div class="content"> <div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<el-button class="absolute" type="primary" @click="release">发布变更公告</el-button> <dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" >
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" :table-top="60">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100"> <el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.state=='待修改'" type="text" size="small" @click="handleModify(scope.row)">修改</el-button> <el-button type="text" size="small" @click="handleSee(scope.row.noticeId)">查看</el-button>
<el-button v-else type="text" size="small" @click="handleSee(scope.row)">查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
</dataTable> </dataTable>
...@@ -16,19 +14,19 @@ ...@@ -16,19 +14,19 @@
</template> </template>
<script> <script>
import { import {
changeList changeNoticelist
} from '@api/purchaser/bid' } from '@api/supply/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import dataTable from '@components/nopageTable.vue' import dataTable from '@components/nopageTable.vue'
export default { export default {
components: { components: {
dataTable, dataTable,
dataBreadcrumb dataBreadcrumb
}, },
data() { data() {
return { return {
projectId: 2, projectId: "",
breads: ['招标管理 ', '招标项目管理', '工作台'], breads: ['招标管理 ', '招标项目管理', '工作台'],
tableData: [], tableData: [],
columns: [{ columns: [{
...@@ -36,18 +34,11 @@ export default { ...@@ -36,18 +34,11 @@ export default {
prop: 'title' prop: 'title'
}, },
{ {
label: '创建时间', label: '发布时间',
prop: 'createTime', prop: 'updateTime',
sortable: true sortable: true
}, },
{
label: '状态',
prop: 'auditStatus'
},
{
label: '备注',
prop: 'remark'
},
{ {
slot: 'operate' slot: 'operate'
} }
...@@ -58,50 +49,36 @@ export default { ...@@ -58,50 +49,36 @@ export default {
this.getchangeList() this.getchangeList()
}, },
methods: { methods: {
handleModify() { // handleModify() {
this.$router.push({ // this.$router.push({
path: '/purchaser/bid/bidStage/changeList/changeNotice', // path: '/purchaser/bid/bidStage/changeList/changeNotice',
query: { // query: {
type: 'modify' // type: 'modify'
} // }
}) // })
}, // },
release() { // release() {
this.$router.push({ // this.$router.push({
path: '/purchaser/bid/bidStage/changeList/changeNotice', // path: '/purchaser/bid/bidStage/changeList/changeNotice',
query: { // query: {
type: 'release' // type: 'release'
} // }
}) // })
}, // },
handleSee() { handleSee(id) {
this.$router.push('/purchaser/bid/bidStage/changeList/see') this.$router.push(`/supply/bid/joinProject/bidStage/changeList/see?id=${id}`)
}, },
async getchangeList() { async getchangeList() {
try { let projectId = localStorage.getItem("projectId");
let projectId=localStorage.getItem("projectId"); console.log(projectId)
const { const {
data, data,
code code
} = await changeList(projectId) } = await changeNoticelist(projectId)
if (code === 200) {
for (let item of data) {
if (item.auditStatus === 0) {
item.auditStatus = '未审核'
} else if (item.auditStatus === 1) {
item.auditStatus = '审核通过'
} else {
item.auditStatus = '未通过'
}
}
this.tableData = data this.tableData = data
} }
} catch (e) {
console.log(e)
}
} }
} }
}
</script> </script>
<style scoped> <style scoped>
......
<!-- <template>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>查看变更公告</h3>
<h5>查看变更公告</h5>
</div>
<div class="content">
<div class="describe">变更公告</div>
<div class="form">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm">
<el-form-item label="公告标题" prop="title">
<div>公告标题</div>
</el-form-item>
<el-form-item label="上传附件" prop="file">
</el-form-item>
<el-form-item label="公告内容" prop="content">
<div>公告内容</div>
</el-form-item>
</el-form>
<div class="button">
<el-button @click="cancle">返回</el-button>
</div>
</div>
</div>
</div>
</template>
<script>
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import multiUpload from '@components/Upload/multiUpload.vue'
import {
quillEditor
} from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
export default {
components: {
dataBreadcrumb,
multiUpload,
quillEditor
},
data() {
return {
editorOption: {},
breads: ['投标管理 ', '我参加的项目', '工作台'],
ruleForm: {
title: '',
content: ''
},
rules: {
title: [{
required: true,
message: '请输入',
trigger: 'blue'
}],
release: [{
required: true,
message: '请输入',
trigger: 'blue'
}
],
file: [{
required: true,
message: '请输入',
trigger: 'blue'
}],
content: [{
required: true,
message: '请输入',
trigger: 'blue'
}]
}
}
},
methods: {
cancle() {
this.$router.go(-1)
}
}
}
</script>
<style scoped>
.content {
padding: 0;
padding-bottom: 100px;
}
.button{
width: 200px;
margin:150px auto 0
}
</style> -->
<template> <template>
<div> <div>
...@@ -108,13 +11,18 @@ export default { ...@@ -108,13 +11,18 @@ export default {
<div class="form"> <div class="form">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm"> <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm">
<el-form-item label="公告标题" prop="title"> <el-form-item label="公告标题" prop="title">
<div>公告标题</div> <div>{{ruleForm.title}}</div>
</el-form-item> </el-form-item>
<el-form-item label="上传附件" prop="file"> <el-form-item label="公告附件" v-if="ruleForm.accessoryVOList.length>0">
<!-- <multiUpload tips="支持扩展名:.rar .zip .doc .docx .pdf .jpg..."></multiUpload> --> <ul>
<li v-for="item in ruleForm.accessoryVOList" :key="item.id" class="flex-item">
<div style="margin-right: 10px;">{{item.fileName}}</div>
<el-button size="mini" @click="down(item.accessoryUrl)">下载</el-button>
</li>
</ul>
</el-form-item> </el-form-item>
<el-form-item label="公告内容" prop="content"> <el-form-item label="公告内容" prop="content">
<div>公告内容</div> <div v-html="ruleForm.content"></div>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="button"> <div class="button">
...@@ -151,6 +59,9 @@ export default { ...@@ -151,6 +59,9 @@ export default {
this.changeDetail(1) this.changeDetail(1)
}, },
methods: { methods: {
down(url){
window.open(url)
},
cancle() { cancle() {
this.$router.go(-1) this.$router.go(-1)
}, },
...@@ -161,7 +72,7 @@ export default { ...@@ -161,7 +72,7 @@ export default {
code code
} = await noticeChange(id) } = await noticeChange(id)
if (code === 200) { if (code === 200) {
this.detail = data this.ruleForm = data
} }
} catch (e) { } catch (e) {
console.log(e) console.log(e)
......
...@@ -10,13 +10,8 @@ ...@@ -10,13 +10,8 @@
<dataTable :columns="columns" :page-obj="pageObj" url="bidder-clarifies/list"> <dataTable :columns="columns" :page-obj="pageObj" url="bidder-clarifies/list">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100"> <el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.clarifiesType==0"> <el-button v-if="scope.row.operaion=='待确认'" type="text" size="small" @click="confirm(scope.row)">确认</el-button>
<el-button type="text" size="small" @click="handleSee(scope.row)">查看</el-button> <el-button v-else type="text" size="small" @click="handleSee(scope.row)">查看</el-button>
</div>
<div v-else>
<el-button v-if="scope.row.noticeId" type="text" size="small" @click="handleSee(scope.row)">查看</el-button>
<el-button v-else type="text" size="small" @click="handleReply(scope.row)">回复</el-button>
</div>
</template> </template>
</el-table-column> </el-table-column>
</dataTable> </dataTable>
...@@ -25,13 +20,8 @@ ...@@ -25,13 +20,8 @@
<dataTable :columns="columns" :page-obj="pageObj1" url="bidder-clarifies/list"> <dataTable :columns="columns" :page-obj="pageObj1" url="bidder-clarifies/list">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100"> <el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.clarifiesType==0"> <el-button v-if="scope.row.operaion=='待确认'" type="text" size="small" @click="confirm(scope.row)">确认</el-button>
<el-button type="text" size="small" @click="handleSee(scope.row)">查看</el-button> <el-button v-else type="text" size="small" @click="handleSee1(scope.row)">查看</el-button>
</div>
<div v-else>
<el-button v-if="scope.row.noticeId" type="text" size="small" @click="handleSee(scope.row)">查看</el-button>
<el-button v-else type="text" size="small" @click="handleReply(scope.row)">回复</el-button>
</div>
</template> </template>
</el-table-column> </el-table-column>
</dataTable> </dataTable>
...@@ -82,9 +72,17 @@ ...@@ -82,9 +72,17 @@
prop: 'createTime', prop: 'createTime',
sortable: true sortable: true
}, },
{
label: '状态',
prop: 'operaion'
},
{ {
label: '提出人', label: '提出人',
prop: 'createBy' prop: 'tenderCompanyName'
},
{
label: '回复人',
prop: 'bidCompanyName'
}, },
{ {
slot: 'operate' slot: 'operate'
...@@ -118,16 +116,35 @@ ...@@ -118,16 +116,35 @@
getIndex(value){ getIndex(value){
this.idx=value this.idx=value
}, },
handleSee(id) { // 问题查看
handleSee(row) {
this.$router.push({ this.$router.push({
path: '/supply/bid/joinProject/bidStage/clearManagement/see', path: '/supply/bid/joinProject/bidStage/clearManagement/see',
query: id query: {
questionId:row.questionId,
type:"question"
}
}) })
}, },
confirm(id) { // 公开查看
handleSee1(row) {
this.$router.push({
path: '/supply/bid/joinProject/bidStage/clearManagement/see',
query: {
noticeId:row.noticeId,
type:"notice"
}
})
},
// 确定
confirm(row) {
this.$router.push({ this.$router.push({
path: '/supply/bid/joinProject/bidStage/clearManagement/confirm', path: '/supply/bid/joinProject/bidStage/clearManagement/confirm',
query: id query: {
noticeId:row.noticeId,
bidCompanyName:row.bidCompanyName,
title:row.title
}
}) })
}, },
out() { out() {
...@@ -142,6 +159,6 @@ ...@@ -142,6 +159,6 @@
.absolute { .absolute {
position: absolute; position: absolute;
right: 50px; right: 50px;
top: 80px top: 65px
} }
</style> </style>
...@@ -7,9 +7,12 @@ ...@@ -7,9 +7,12 @@
</div> </div>
<div class="content flex-center"> <div class="content flex-center">
<div> <div>
<h3>这里显示招标方单位名称:</h3> <h3>{{bidCompanyName}}</h3>
<h5>我单位已收到贵公司发出的项目【这里是参与的项目名称】澄清标题为【这里是招标方发出澄清的标题】的澄清文件,特此回执</h5> <h5>我单位已收到贵公司发出的项目{{projectName}}澄清标题为{{title}}的澄清文件,特此回执</h5>
<h4>*回执文件</h4> <div class="flex">
<h4 class='adjustment'>*回执文件</h4>
<singleUpload :limit="5" accept=".jpg,.jpeg,.gif,.png,.bmp" :max="10" tip="请下载澄清回执模板后,打印、盖章,再上传扫描件,单个文件不能超过10M,文件个数不得超过5个,文件格式为图片。" @input="getfile"></singleUpload>
</div>
<div class="flex-center" style="margin-top:100px"> <div class="flex-center" style="margin-top:100px">
<el-button @click="back">返回</el-button> <el-button @click="back">返回</el-button>
</div> </div>
...@@ -22,12 +25,17 @@ ...@@ -22,12 +25,17 @@
<script> <script>
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import singleUpload from '@components/Upload/Upload.vue'
export default { export default {
components: { components: {
dataBreadcrumb dataBreadcrumb,
singleUpload
}, },
data() { data() {
return { return {
title:"",
projectName:"",
bidCompanyName:"",
breads: ['招标管理', '招标项目管理', '工作台'], breads: ['招标管理', '招标项目管理', '工作台'],
} }
...@@ -36,8 +44,16 @@ export default { ...@@ -36,8 +44,16 @@ export default {
back() { back() {
this.$router.go(-1) this.$router.go(-1)
}, },
getfile(){
}
}, },
created() {
this.bidCompanyName=this.$route.query.bidCompanyName;
this.projectName=localStorage.getItem("projectName");
this.title=this.$route.query.title;
this.noticeId=this.$route.query.noticeId
}
} }
</script> </script>
......
...@@ -2,44 +2,74 @@ ...@@ -2,44 +2,74 @@
<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" v-if="clarifies">
<div class="describe">澄清公告信息</div> <div class="describe">澄清公告信息</div>
<div class="clear-message"> <div class="clear-message">
<div class="flex-item clear-item"> <div class="flex-item clear-item">
<div>澄清公告标题:</div> <div>澄清公告标题:</div>
<div>文本标签文本标签文本标签文本标签文本标签文本标签文本标签文本标签文本标签文本标签</div> <div>{{clarifies.title}}</div>
</div> </div>
<div class="flex-item clear-item"> <div class="flex-item clear-item">
<div>公告发布媒体:</div> <div>公告发布媒体:</div>
<div>捷安采官网招投标专区</div> <div>捷安采官网招投标专区</div>
</div> </div>
<div class="flex-item clear-item"> <div class="flex-item clear-item" v-if="clarifieslist.length>0">
<div>澄清文件:</div> <div>澄清文件:</div>
<ul> <ul>
<li> <li v-for="item in clarifies.clarifieslist" :key="item.id">
<span>111.pdf</span> <span>{{item.fileName}}</span>
<el-button>下载</el-button> <el-button @click="down(item.accessoryUrl)">下载</el-button>
</li> </li>
</ul> </ul>
</div>
<div class="flex clear-item">
<div>澄清内容:</div>
<div v-html="clarifies.content" style="width:80%;"></div>
</div>
</div>
<div class="button">
<el-button @click="cancle">返回</el-button>
</div>
</div>
<!-- 问题详情 -->
<div class="content" v-if="question">
<div class="describe">问题信息</div>
<div class="clear-message">
<div class="flex-item clear-item">
<div>问题标题:</div>
<div>{{question.title}}</div>
</div> </div>
<div class="flex-item clear-item"> <div class="flex-item clear-item">
<div>公告内容:</div> <div>公告发布媒体:</div>
<div>公告内容</div> <div>捷安采官网招投标专区</div>
</div>
<div class="flex-item clear-item" v-if='questionlist.length>0'>
<div>问题文件:</div>
<ul>
<li v-for="item in questionlist" :key="item.id">
<span>{{item.fileName}}</span>
<el-button @click="down(item.accessoryUrl)">下载</el-button>
</li>
</ul>
</div>
<div class="flex clear-item">
<div>问题内容:</div>
<div v-html="question.content" style="width:80%;"></div>
</div> </div>
</div> </div>
<div class="button"> <div class="button">
<el-button @click="cancle">返回</el-button> <el-button @click="cancle">返回</el-button>
<el-button type="primary">确认</el-button>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { clarifies} from '@api/supply/bid' import { clarifiesDetail,questionDetail} from '@api/supply/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import multiUpload from '@components/Upload/multiUpload.vue' import multiUpload from '@components/Upload/multiUpload.vue'
import dataTable from '@components/nopageTable.vue' import dataTable from '@components/nopageTable.vue'
...@@ -51,28 +81,55 @@ export default { ...@@ -51,28 +81,55 @@ export default {
}, },
data() { data() {
return { return {
detail:"", question:"",
clarifies:"",
breads: ['投标管理', '我参与的项目', '工作台'], breads: ['投标管理', '我参与的项目', '工作台'],
ruleForm: { ruleForm: {
title: '',
content:"" content:""
}, },
} }
}, },
methods: { methods: {
down(url){
window.open(url)
},
cancle() { cancle() {
this.$router.go(-1) this.$router.go(-1)
}, },
async clarifies() { // 澄清公告详情
async getclarifiesDetail(id) {
const { const {
data, data,
code code
} = await clarifies(1) } = await clarifiesDetail(id)
this.detail=data this.clarifies=data.noticeClarifiesDO
this.clarifieslist=data.noticeClarifiesDO
this.question=data.clarifiesDO
this.questionlist=data.clarifiesAccessoryList
},
// 问题详情
async getquestionDetail(id) {
const {
data,
code
} = await questionDetail(id)
this.clarifies=data.noticeClarifiesDO
this.clarifieslist=data.noticeClarifiesDO
this.question=data.clarifiesDO
this.questionlist=data.clarifiesAccessoryList
} }
}, },
created() { created() {
this.clarifies() let type=this.$route.query.type;
let id='';
if(type=="question"){
id=this.$route.query.questionId
this.getquestionDetail(id)
}else{
id=this.$route.query.noticeId
this.getclarifiesDetail(id)
}
} }
} }
</script> </script>
...@@ -95,7 +152,7 @@ export default { ...@@ -95,7 +152,7 @@ export default {
.clear-message { .clear-message {
margin-left: 70px; margin-left: 70px;
width: 350px /* width: 350px */
} }
.clear-message>div>span { .clear-message>div>span {
...@@ -108,13 +165,14 @@ export default { ...@@ -108,13 +165,14 @@ export default {
margin: 20px 0 20px 20px margin: 20px 0 20px 20px
} }
.clear-item>div:last-child { /* .clear-item>div:last-child {
width: 200px; width: 200px;
} }
*/
.clear-item>div:first-child { .clear-item>div:first-child {
margin-right: 30px; margin-right: 30px;
} }
.clear-message>div { .clear-message>div {
......
<!-- <template>
<div >
<div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" >
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope">
<el-button v-if="scope.row.state=='待修改'" type="text" size="small" @click="handleModify(scope.row)">修改</el-button>
<el-button v-else type="text" size="small" @click="handleSee(scope.row)">查看</el-button>
</template>
</el-table-column>
</dataTable>
</div>
</div>
</template>
<script>
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import dataTable from '@components/dataTable.vue'
export default {
name: 'bidingList',
components: {
dataTable,
dataBreadcrumb
},
data() {
return {
breads: ['投标管理 ', '我参加的项目', '工作台'],
tableData: [{
name: '涿州市鼓楼大街(范阳路至永济路段)及周边区域街巷改造工程监理',
person: '腾讯4',
data: '2017-10-01 12:00',
state: '待审核',
remark: '错别字'
}, {
name: '涿州市鼓楼大街(范阳路至永济路段)及周边区域街巷改造工程监理',
person: '腾讯3',
data: '2017-10-01 13:00',
state: '待审核',
remark: '错别字'
}, {
name: '涿州市鼓楼大街(范阳路至永济路段)及周边区域街巷改造工程监理',
person: '腾讯2',
data: '2017-10-01 14:00',
state: '待修改',
remark: '错别字'
}, {
name: '涿州市鼓楼大街(范阳路至永济路段)及周边区域街巷改造工程监理',
person: '腾讯1',
data: '2017-10-01 15:00',
state: '待审核',
remark: '已发布'
}],
columns: [{
label: '公告名称',
prop: 'name',
width: 500
},
{
label: '发布时间',
prop: 'data',
sortable: true
},
{
slot: 'operate'
}
], // 操作列
pageObj: {
size: 10,
total: 1,
currentPage: 1,
sizes: [100, 200, 300],
func: (currentPage) => {
this.pageTurning(currentPage)
}
}
}
},
methods: {
handleModify() {
this.$router.push({
path: '/purchaser/bid/bidStage/failList/failNotice',
query: { type: 'modify' }
}
)
},
release() {
this.$router.push({
path: '/purchaser/bid/bidStage/failList/failNotice',
query: { type: 'release' }
}
)
},
handleSee() {
this.$router.push('/purchaser/bid/bidStage/failList/see')
}
}
}
</script>
<style scoped>
.absolute{
position: absolute;
top:65px
}
</style> -->
<template> <template>
<div> <div>
<div class="content"> <div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<el-button class="absolute" type="primary" @click="release">发布流标公告</el-button> <dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" >
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" :table-top="60">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100"> <el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.state=='待修改'" type="text" size="small" @click="handleModify(scope.row)">修改</el-button> <el-button type="text" size="small" @click="handleSee(scope.row.noticeId)">查看</el-button>
<el-button v-else type="text" size="small" @click="handleSee(scope.row)">查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
</dataTable> </dataTable>
...@@ -126,8 +15,8 @@ export default { ...@@ -126,8 +15,8 @@ export default {
<script> <script>
import { import {
abortiveList simpleList
} from '@api/purchaser/bid' } from '@api/common/list'
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import dataTable from '@components/nopageTable.vue' import dataTable from '@components/nopageTable.vue'
export default { export default {
...@@ -143,22 +32,13 @@ export default { ...@@ -143,22 +32,13 @@ export default {
tableData: [], tableData: [],
columns: [{ columns: [{
label: '公告名称', label: '公告名称',
prop: 'name', prop: 'title',
width: 500
}, },
{ {
label: '创建时间', label: '创建时间',
prop: 'data', prop: 'updateTime',
sortable: true sortable: true
}, },
{
label: '状态',
prop: 'state'
},
{
label: '备注',
prop: 'remark'
},
{ {
slot: 'operate' slot: 'operate'
} }
...@@ -170,42 +50,19 @@ export default { ...@@ -170,42 +50,19 @@ export default {
this.getabortiveList() this.getabortiveList()
}, },
methods: { methods: {
handleModify() { handleSee(id) {
this.$router.push({ this.$router.push(`/supply/bid/joinProject/bidStage/failList/see?id=${id}`)
path: '/purchaser/bid/bidStage/failList/failNotice',
query: {
type: 'modify'
}
})
},
release() {
this.$router.push({
path: '/purchaser/bid/bidStage/failList/failNotice',
query: {
type: 'release'
}
})
},
handleSee() {
this.$router.push('/purchaser/bid/bidStage/failList/see')
}, },
async getabortiveList() { async getabortiveList() {
try { try {
let projectId=localStorage.getItem("projectId"); let message={};
message.projectId=localStorage.getItem("projectId");
message.type="ABORTIVE"
const { const {
data, data,
code code
} = await abortiveList(projectId) } = await simpleList(message)
if (code === 200) { if (code === 200) {
for (let item of data) {
if (item.auditStatus === 0) {
item.auditStatus = '未审核'
} else if (item.auditStatus === 1) {
item.auditStatus = '审核通过'
} else {
item.auditStatus = '未通过'
}
}
this.tableData = data this.tableData = data
} }
} catch (e) { } catch (e) {
......
<!-- <template> <template>
<div> <div>
<div class="content-head"> <div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
...@@ -6,16 +6,22 @@ ...@@ -6,16 +6,22 @@
<h5>查看流标公告</h5> <h5>查看流标公告</h5>
</div> </div>
<div class="content"> <div class="content">
<div class="describe">流标公告</div> <div class="describe">变更公告</div>
<div class="form"> <div class="form">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm"> <el-form ref="ruleForm" :model="ruleForm" label-width="120px" class="demo-ruleForm">
<el-form-item label="公告标题" prop="title"> <el-form-item label="公告标题">
<div>公告标题</div> <div>{{ruleForm.title}}</div>
</el-form-item> </el-form-item>
<el-form-item label="上传附件" prop="file"> <el-form-item label="上传附件" v-if="ruleForm.accessoryVOList">
<ul>
<li v-for="(item,index) in ruleForm.accessoryVOList" :key="index" class="flex">
<div style="margin-right: 10px;">{{item.fileName}}</div>
<el-button size="mini" @click="down(item.accessoryUrl)">下载</el-button>
</li>
</ul>
</el-form-item> </el-form-item>
<el-form-item label="公告内容" prop="content"> <el-form-item label="公告内容">
<div>公告内容</div> <div v-html="ruleForm.content"></div>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="button"> <div class="button">
...@@ -27,121 +33,15 @@ ...@@ -27,121 +33,15 @@
</template> </template>
<script> <script>
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import multiUpload from '@components/Upload/multiUpload.vue'
import {
quillEditor
} from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
export default {
components: {
dataBreadcrumb,
multiUpload,
quillEditor
},
data() {
return {
editorOption: {},
breads: ['投标管理 ', '我参加的项目', '工作台'],
ruleForm: {
title: '',
content: ''
},
rules: {
title: [{
required: true,
message: '请输入',
trigger: 'blue'
}],
release: [{
required: true,
message: '请输入',
trigger: 'blue'
}
],
file: [{
required: true,
message: '请输入',
trigger: 'blue'
}],
content: [{
required: true,
message: '请输入',
trigger: 'blue'
}]
}
}
},
methods: {
cancle() {
this.$router.go(-1)
}
}
}
</script>
<style scoped>
.content {
padding: 0;
padding-bottom: 100px;
}
.button{
width: 200px;
margin:150px auto 0
}
</style>
-->
<template>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>查看流标公告</h3>
<h5>查看流标公告</h5>
</div>
<div class="content">
<div class="describe">流标公告</div>
<div class="form">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm">
<el-form-item label="公告标题" prop="title">
<div>公告标题</div>
</el-form-item>
<el-form-item label="上传附件" prop="file">
<!-- <multiUpload tips="支持扩展名:.rar .zip .doc .docx .pdf .jpg..."></multiUpload> -->
</el-form-item>
<el-form-item label="公告内容" prop="content">
<div>公告内容</div>
</el-form-item>
</el-form>
<div class="button">
<el-button @click="cancle">返回</el-button>
</div>
</div>
</div>
</div>
</template>
<script>
import { import {
noticeAbortive noticeAbortive
} from '@api/purchaser/bid' } from '@api/purchaser/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import multiUpload from '@components/Upload/multiUpload.vue' import multiUpload from '@components/Upload/multiUpload.vue'
import {
quillEditor
} from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
export default { export default {
components: { components: {
dataBreadcrumb, dataBreadcrumb,
multiUpload, multiUpload,
quillEditor
}, },
data() { data() {
return { return {
...@@ -176,7 +76,8 @@ export default { ...@@ -176,7 +76,8 @@ export default {
} }
}, },
created() { created() {
this.changeDetail(1) let id = this.$route.query.id;
this.abortiveDetail(id)
}, },
methods: { methods: {
cancle() { cancle() {
...@@ -189,7 +90,7 @@ export default { ...@@ -189,7 +90,7 @@ export default {
code code
} = await noticeAbortive(id) } = await noticeAbortive(id)
if (code === 200) { if (code === 200) {
this.detail = data this.ruleForm = data
} }
} catch (e) { } catch (e) {
console.log(e) console.log(e)
...@@ -198,10 +99,10 @@ export default { ...@@ -198,10 +99,10 @@ export default {
} }
} }
</script> </script>
<style scoped> <style scoped>
.content { .content {
padding: 0; padding: 0;
padding-bottom: 100px; padding-bottom: 100px;
...@@ -211,4 +112,4 @@ export default { ...@@ -211,4 +112,4 @@ export default {
width: 200px; width: 200px;
margin: 150px auto 0 margin: 150px auto 0
} }
</style> </style>
\ No newline at end of file
...@@ -47,6 +47,10 @@ export default { ...@@ -47,6 +47,10 @@ export default {
{ {
title: '招标', title: '招标',
modulars:[ modulars:[
{
label:"查看询价公告",
url:"/supply/bid/joinProject/bidStage/projectInformation"
},
{ {
label:"查看询价公告", label:"查看询价公告",
url:"/supply/bid/signupOnline/seePrice" url:"/supply/bid/signupOnline/seePrice"
......
...@@ -5,8 +5,8 @@ import { Message, MessageBox } from 'element-ui' ...@@ -5,8 +5,8 @@ import { Message, MessageBox } from 'element-ui'
// 创建axios实例 // 创建axios实例
const service = axios.create({ const service = axios.create({
baseURL: 'http://192.168.200.201:8082/apis', // baseURL: 'http://192.168.200.201:8082/apis',
// baseURL: 'http://192.168.3.35:8085/apis', baseURL: 'http://192.168.3.35:8085/apis',
timeout: 35000 // 请求超时时间 timeout: 35000 // 请求超时时间
}) })
...@@ -41,8 +41,8 @@ service.interceptors.response.use( ...@@ -41,8 +41,8 @@ service.interceptors.response.use(
Message.error("登陆失效,请重新登录!") Message.error("登陆失效,请重新登录!")
localStorage.removeItem('token'); localStorage.removeItem('token');
setTimeout(function () { setTimeout(function () {
location.href = 'http://192.168.200.201:8081/login/user/'; // location.href = 'http://192.168.200.201:8081/login/user/';
// location.href = 'http://localhost:3000/login/user/'; location.href = 'http://localhost:3000/login/user/';
}, 2000); }, 2000);
} }
} }
......
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