Commit f35e9be1 authored by 张冬's avatar 张冬

询价公告和招标公告编辑和发布合

parent ea22c7eb
...@@ -564,6 +564,14 @@ export function createcadidate(data) { ...@@ -564,6 +564,14 @@ export function createcadidate(data) {
data:data data:data
}) })
} }
//中标候选人公示编辑
export function editcadidate(data) {
return request({
url: "tender-notice/edit-cadidate",
method: 'post',
data:data
})
}
//中标公告提交 //中标公告提交
export function createwin(data) { export function createwin(data) {
......
...@@ -288,9 +288,9 @@ export function noticeWin(projectId) { ...@@ -288,9 +288,9 @@ export function noticeWin(projectId) {
}) })
} }
// 中标候选人公示查看 // 中标候选人公示查看
export function publicitydetail(projectId) { export function cadidate(projectId) {
return request({ return request({
url: `bidder-decide/publicity/Detail/${projectId}`, url: `notice/cadidate?projectId=${projectId}`,
method: 'get', method: 'get',
}) })
} }
......
...@@ -181,17 +181,18 @@ export default { ...@@ -181,17 +181,18 @@ export default {
this.total = total this.total = total
} }
}, },
async list(pageObj) { // async list(pageObj) {
let url = this.url // let url = this.url
const { code, data } = await getList(pageObj, url) // const { code, data } = await getList(pageObj, url)
if (code === 200) { // if (code === 200) {
for(let item of data){ // for(let item of data){
item.createTime=getTime1(item.createTime) // item.createTime=getTime1(item.createTime)
item.endTime=getTime1(item.endTime) // item.endTime=getTime1(item.endTime)
} // }
this.tableData = data // this.tableData = data
} // this.total = total
}, // }
// },
handleSizeChange(val) { handleSizeChange(val) {
let pageObj = this.pageObj let pageObj = this.pageObj
pageObj.size = val pageObj.size = val
...@@ -206,10 +207,11 @@ export default { ...@@ -206,10 +207,11 @@ export default {
}, },
// 查询 // 查询
query() { query() {
let message=this.objInput; let message=this.objInput;
Object.assign(message,this.pageObj) this.pageObj.currentPage=1
console.log(message) Object.assign(message,this.pageObj)
this.list(message) this.pageObj=message
this.getauditList()
}, },
// check选择id // check选择id
handleSelectionChange(val) { handleSelectionChange(val) {
...@@ -218,6 +220,8 @@ export default { ...@@ -218,6 +220,8 @@ export default {
// 重置 // 重置
rest(data) { rest(data) {
this.$refs[data].resetFields() this.$refs[data].resetFields()
this.pageObj.currentPage=1
this.pageObj.size=10
this.getauditList(this.pageObj); this.getauditList(this.pageObj);
}, },
handlerelease() { handlerelease() {
......
...@@ -417,35 +417,7 @@ export default { ...@@ -417,35 +417,7 @@ export default {
cancel() { cancel() {
this.$router.go(-1); this.$router.go(-1);
}, },
//提交表单
async submit() {
try {
const valid = await this.$refs['ruleForm'].validate();
const valid1 = await this.$refs['ruleForm1'].validate();
const valid2 = await this.$refs['ruleForm2'].validate();
console.log(valid);
if (valid && valid1 && valid2) {
let ruleForm = this.ruleForm;
ruleForm.projectId = localStorage.getItem('projectId');
console.log('通过');
const { code, msg } = await editEnquiry(ruleForm);
if (code == 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
});
setTimeout(() => {
this.$router.go(-1);
}, 1500);
} else {
this.$message.error(msg);
}
}
} catch (err) {
console.log(err);
}
},
// 获取列表 // 获取列表
async getcommoditylist() { async getcommoditylist() {
let projectId = localStorage.getItem('projectId'); let projectId = localStorage.getItem('projectId');
......
<template> <template>
<div> <div>
<div v-if="auditStatus == 0||auditStatus == 1"> <div class="content-head">
<div class="content-head"> <breadCrumb :breads="breads"></breadCrumb>
<breadCrumb :breads="breads"></breadCrumb> <h3>查看询价公告</h3>
<h3>查看询价公告</h3> <h5>查看询价公告</h5>
<h5>查看询价公告</h5> </div>
</div> <div class="content">
<div class="content"> <priceDetail>
<priceDetail @getstate="getstate"> <slot>
<slot> <h3>参与报价供应商情况</h3>
<h3>参与报价供应商情况</h3> <dataTable :table-data="Bidderlist" :columns="offerBiddercolumns" :is-index="true">
<dataTable :table-data="Bidderlist" :columns="offerBiddercolumns" :is-index="true"> <el-table-column slot="operate" label="操作" align="center" fixed="right" width="200">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="200"> <template slot-scope="scope">
<template slot-scope="scope"> <el-button type="text" size="small" @click="see(scope.row.companyId)">查看报价明细</el-button>
<el-button type="text" size="small" @click="see(scope.row.companyId)">查看报价明细</el-button> </template>
</template> </el-table-column>
</el-table-column> </dataTable>
</dataTable> </slot>
</slot> </priceDetail>
</priceDetail> <div class="centerButton">
<div class="centerButton"> <el-button type="primary" @click="back">返回</el-button>
<el-button type="primary" @click="back">返回</el-button>
</div>
</div> </div>
<el-dialog title="报价明细" :visible.sync="dialogFormVisible">
<dataTable :table-data="tableData" :columns="columns"></dataTable>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
</div>
</el-dialog>
</div> </div>
<el-dialog title="报价明细" :visible.sync="dialogFormVisible">
<editInquiryAnnouncement v-if="auditStatus == 2"></editInquiryAnnouncement> <dataTable :table-data="tableData" :columns="columns"></dataTable>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
...@@ -111,10 +107,6 @@ export default { ...@@ -111,10 +107,6 @@ export default {
}; };
}, },
methods: { methods: {
getstate(val) {
this.auditStatus = val;
console.log(val)
},
back() { back() {
this.$router.go(-1); this.$router.go(-1);
}, },
......
<template> <template>
<div class="info"> <div class="info">
<div class="content"> <div class="content">
<editTenderAnnouncement v-if="auditStatus == 2"></editTenderAnnouncement> <div class="title_info">
<div v-if="auditStatus == 0||auditStatus == 1"> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<div class="title_info"> </div>
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <div class="info_box">
</div> <noticeDetail @getstate="getstate"></noticeDetail>
<div class="info_box"> <el-row>
<noticeDetail @getstate="getstate"></noticeDetail> <el-button @click="back">返回</el-button>
<el-row> </el-row>
<el-button @click="back">返回</el-button>
</el-row>
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -33,9 +30,6 @@ export default { ...@@ -33,9 +30,6 @@ export default {
}; };
}, },
methods: { methods: {
getstate(val) {
this.auditStatus = val;
},
back() { back() {
this.$router.go(-1); this.$router.go(-1);
} }
......
<template> <template>
<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 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">
<el-input v-model.trim="ruleForm.title" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="上传附件">
<singleUpload tip="支持扩展名:.rar .zip .doc .docx .pdf .jpg..." @input="getfile"></singleUpload>
</el-form-item>
<el-form-item label="投标邀请书内容" prop="content">
<!-- <el-button style="margin-bottom: 30px;">插入邀请投标单位名称</el-button> -->
<quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" />
</el-form-item>
</el-form>
</div>
</div>
<div class="bottomButton">
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="submit1" v-if="type == 1">编辑</el-button>
<el-button type="primary" @click="submit" v-else>提交审核</el-button>
</div>
</div> </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">
<el-input v-model.trim="ruleForm.title" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="上传附件">
<singleUpload tip="支持扩展名:.rar .zip .doc .docx .pdf .jpg..." @input="getfile"></singleUpload>
</el-form-item>
<el-form-item label="投标邀请书内容" prop="content">
<!-- <el-button style="margin-bottom: 30px;">插入邀请投标单位名称</el-button> -->
<quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" />
</el-form-item>
</el-form>
</div>
</div>
<div class="bottomButton">
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="submit">提交审核</el-button>
</div>
</div>
</template> </template>
<script> <script>
import { import { biddingProjectId } from '@api/common/list';
inviteMessage import { inviteMessage } from '@api/purchaser/bid';
} from '@api/purchaser/bid' import { quillEditor } from 'vue-quill-editor';
import { import 'quill/dist/quill.core.css';
quillEditor import 'quill/dist/quill.snow.css';
} from 'vue-quill-editor' import 'quill/dist/quill.bubble.css';
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue';
import singleUpload from '@components/Upload/Upload.vue' import singleUpload from '@components/Upload/Upload.vue';
export default { export default {
components: { components: {
dataBreadcrumb, dataBreadcrumb,
singleUpload, singleUpload,
quillEditor quillEditor
}, },
data() { data() {
return { return {
editorOption: {}, type: '',
breads: ['招标管理', '招标项目管理', '工作台'], editorOption: {},
ruleForm: { breads: ['招标管理', '招标项目管理', '工作台'],
title: '', ruleForm: {
content: '' title: '',
}, content: '',
rules: { accessoryPOList: []
title: [{ },
required: true, rules: {
message: '请填写', title: [
trigger: 'blur' {
}], required: true,
content: [{ message: '请填写',
required: true, trigger: 'blur'
message: '请填写', }
trigger: 'blur' ],
}] content: [
} {
} required: true,
}, message: '请填写',
methods: { trigger: 'blur'
cancel() { }
this.$router.go(-1) ]
}
};
}, },
getfile(val) { created() {
console.log(val) let type = this.$route.query.type;
for (let item of val) { this.type = type;
item.accessoryUrl = item.fileUrl if (type == 1) {
} this.getbiddingProjectId();
this.accessoryPOList = val }
}, },
//提交表单 methods: {
async submit() { cancel() {
let ruleForm = this.ruleForm this.$router.go(-1);
ruleForm.projectId = '1' },
ruleForm.accessoryPOList = this.accessoryPOList getfile(val) {
try { for (let item of val) {
const valid = await this.$refs['ruleForm'].validate() item.accessoryUrl = item.fileUrl;
if (valid) { }
const { this.ruleForm.accessoryPOList = val;
code, },
msg async getbiddingProjectId() {
} = await inviteMessage(this.ruleForm) let projectId = localStorage.getItem('projectId');
if (code === 200) { const { data, code, msg } = await biddingProjectId(projectId);
this.$message({ if (code == 200) {
message: msg, for (let item of data.accessoryVOList) {
type: 'success' item.url = item.accessoryUrl;
}) item.name = item.fileName;
this.$router.go(-1) }
}else{ this.ruleForm = data;
this.$message.error(msg) }
} },
//提交表单
async submit() {
let ruleForm = this.ruleForm;
ruleForm.projectId = localStorage.getItem('projectId');
try {
const valid = await this.$refs['ruleForm'].validate();
if (valid) {
const { code, msg } = await inviteMessage(this.ruleForm);
if (code === 200) {
this.$message({
message: msg,
type: 'success'
});
this.$router.go(-1);
} else {
this.$message.error(msg);
}
}
} catch (err) {
console.log(err);
}
},
//提交表单
async submit1() {
let ruleForm = this.ruleForm;
ruleForm.projectId = localStorage.getItem('projectId');
ruleForm.accessoryPOList = this.accessoryPOList;
try {
const valid = await this.$refs['ruleForm'].validate();
if (valid) {
const { code, msg } = await editBidding(this.ruleForm);
if (code === 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
});
setTimeout(() => {
this.$router.go(-1);
}, 1500);
} else if (code == 500) {
this.$message.error(msg);
}
}
} catch (err) {
console.log(err);
}
} }
} catch (err) {
console.log(err)
}
} }
} };
}
</script> </script>
<style scoped> <style scoped>
.ql-editor { .ql-editor {
height: 400px; height: 400px;
} }
.bottomButton { .bottomButton {
margin-top: 20px; margin-top: 20px;
} }
.form { .form {
padding-bottom: 80px; padding-bottom: 80px;
} }
</style> </style>
This diff is collapsed.
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
</li> </li>
<li> <li>
<div>注册角色</div> <div>注册角色</div>
<div>11</div> <div>{{detail.type=="1"?"采购商":"供应商"}}</div>
</li> </li>
<li> <li>
<div>法人姓名</div> <div>法人姓名</div>
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
</li> </li>
<li> <li>
<div>法人电话</div> <div>法人电话</div>
<div>11</div> <div>{{detail.legalPersonPhone}}</div>
</li> </li>
<li> <li>
<div>统一社会信用代码</div> <div>统一社会信用代码</div>
...@@ -47,15 +47,15 @@ ...@@ -47,15 +47,15 @@
</li> </li>
<li> <li>
<div>开户银行名称</div> <div>开户银行名称</div>
<div>222</div> <div>{{detail.bankName}}</div>
</li> </li>
<li> <li>
<div>结算账户</div> <div>结算账户</div>
<div>222</div> <div>{{detail.bankAccount}}</div>
</li> </li>
<li> <li>
<div>结算账户名</div> <div>结算账户名</div>
<div>222</div> <div>{{detail.bankName}}</div>
</li> </li>
<li> <li>
<div>注册资本(万元)</div> <div>注册资本(万元)</div>
......
<template>
<div>
<div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<div class="message">
<div class="flex-between">
<div>项目编号: {{ projectCode }}</div>
<div>项目名称:{{ projectName }}</div>
</div>
<div>
<div>开标一览表:</div>
<dataTable :tableData="tableData" :columns="nopagecolumns" :margin-top="0" :margin-bottom="0"> </dataTable>
</div>
</div>
<changeNav :navs="navs" @getIndex="getIndex"></changeNav>
<!-- 开标大厅消息 -->
<div v-show="changeIndex == 0">
<dataTable :table-data="behaviorList" :columns="behavior" :is-pageobj="false" :is-index="true">
<el-table-column slot="operate" label="消息内容" align="center">
<template slot-scope="scope">
<div class="flex content">
<div>{{ scope.row.time }}</div>
<div>{{ scope.row.role }}</div>
<div>{{ scope.row.name }}</div>
<div>{{ scope.row.behavior }}</div>
</div>
</template>
</el-table-column>
</dataTable>
</div>
<!-- 对话消息 -->
<div v-show="changeIndex == 1">
<dataTable :table-data="chatList" :columns="chat" :is-pageobj="false" :is-index="true"> </dataTable>
</div>
<div class="centerButton">
<el-button @click="back">返回</el-button>
</div>
</div>
</div>
</template>
<script>
import { messageRecord, openInfo } from '@api/purchaser/bid';
import dataTable from '@components/nopageTable.vue';
import dataBreadcrumb from '@components/dataBreadcrumb.vue';
import changeNav from '@components/changeNav.vue';
export default {
components: {
dataTable,
dataBreadcrumb,
changeNav
},
data() {
return {
nopagecolumns: [
{
label: '投标人名称',
prop: 'companyName'
},
{
label: '投标报价(元)',
prop: 'price'
},
{
label: '是否签名',
prop: 'isSign'
}
], //
changeIndex: '0',
navs: ['开标大厅消息', '对话消息'],
breads: ['招标管理', '招标项目管理', '工作台'],
behaviorList: [],
behavior: [
{
slot: 'operate'
}
], // 操作列
chat: [
{
label: '发送人',
prop: 'name'
},
{
label: '发送时间',
prop: 'time'
},
{
label: '发送内容',
prop: 'chatContent'
}
],
chatList: [],
pageObj: {
size: 10,
total: 1,
currentPage: 1,
sizes: [100, 200, 300],
func: (currentPage) => {
this.pageTurning(currentPage);
}
},
projectCode: '',
projectName: '',
tableData: []
};
},
methods: {
back() {
this.$router.go(-1);
},
examine() {
this.$router.push('/admin/bid/bidingDetail');
},
getIndex(val) {
this.changeIndex = val;
},
async getmessageRecord() {
let projectId = localStorage.getItem('projectId');
const { data, code } = await messageRecord(projectId);
this.behaviorList = data.behaviorList;
this.chatList = data.chatList;
},
async getopenInfo() {
try {
let projectId = localStorage.getItem('projectId');
const { data, code } = await openInfo(projectId);
if (code == 200) {
for (let item of data) {
if (item.isSign) {
item.isSign = '是';
} else {
item.isSign = '否';
}
}
this.tableData = data;
}
} catch (e) {
console.log(e);
}
}
},
created() {
this.projectCode = localStorage.getItem('projectCode');
this.projectName = localStorage.getItem('projectName');
this.getmessageRecord();
this.getopenInfo();
}
};
</script>
<style scoped>
.content > div {
margin-right: 10px;
}
.upload > button {
border: 1px solid #000000;
background: #fff;
width: 50px;
height: 20px;
margin-left: 10px;
}
.message > div {
margin-bottom: 10px;
}
.message {
margin: 30px 0 30px 50px;
}
</style>
...@@ -140,7 +140,7 @@ export default { ...@@ -140,7 +140,7 @@ export default {
}; };
return { return {
isdisabled: true, isdisabled: true,
title: '看', title: '看',
state: '', state: '',
breads: ['招标管理', '招标项目管理', '工作台'], breads: ['招标管理', '招标项目管理', '工作台'],
ruleForm: {}, ruleForm: {},
......
...@@ -172,7 +172,7 @@ export default { ...@@ -172,7 +172,7 @@ export default {
}; };
return { return {
isdisabled: true, isdisabled: true,
title: '看', title: '看',
state: '', state: '',
breads: ['招标管理', '招标项目管理', '工作台'], breads: ['招标管理', '招标项目管理', '工作台'],
ruleForm: {}, ruleForm: {},
......
<template> <template>
<div> <div>
<div class="content"> <div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<changeNav :navs="navs"></changeNav> <changeNav :navs="navs"></changeNav>
<div class="message flex-colunm"> <div class="message">
<div> <div>
<div>项目编号:{{projectCode}}</div> <div>项目编号:{{ projectCode }}</div>
<div>项目名称:{{projectName}}</div> <div>项目名称:{{ projectName }}</div>
</div>
<div>
<div>日期:{{ detail.winDate }}</div>
<div>中标金额:{{ detail.money }}</div>
</div>
<div>
<div class="flex-item">
<div style="margin-right: 20px">附件:</div>
<ul v-if="detail.fileList">
<li v-for="(item, i) in detail.fileList" :key="i">
<a :href="item.fileUrl">{{ item.fileName }}</a>
</li>
</ul>
<div v-else></div>
</div>
<div>中标通知书编号:{{ detail.number }}</div>
</div>
<div class="flex-colunm notice">
<h1>您已中标,请及时与平台签署应收账款买断合同。</h1>
<h3>咨询电话:400-4567457</h3>
<el-button type="primary">查看详情</el-button>
</div>
<div class="centerButton">
<el-button @click="back">返回</el-button>
</div>
</div>
</div> </div>
<div>
<div>日期:{{detail.winDate}}</div>
<div>中标金额:{{detail.money}}</div>
</div>
<div>
<div class="flex-item">
<div style="margin-right: 20px;">附件:中标通知书.pdf</div>
<el-button size="mini">下载</el-button>
</div>
<div>中标通知书编号:{{detail.number}}</div>
</div>
<div class="flex-colunm notice">
<h1>您已中标,请及时与平台签署应收账款买断合同。</h1>
<h3>咨询电话:400-4567457</h3>
<el-button type="primary">查看详情</el-button>
</div>
<el-button @click="back">返回</el-button>
</div>
</div> </div>
</div>
</template> </template>
<script> <script>
import { winBookdetail} from '@api/supply/bid' import { winBookdetail } from '@api/supply/bid';
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue';
import changeNav from '@components/changeNav.vue' import changeNav from '@components/changeNav.vue';
export default { export default {
components: { components: {
dataBreadcrumb, dataBreadcrumb,
changeNav changeNav
},
data() {
return {
projectCode:"",
projectName:"",
breads: ['投标管理 ', '我参加的项目', '工作台'],
navs: ['中标通知书'],
projectCode:"",
projectName:"",
detail:""
}
},
methods: {
back(){
this.$router.go(-1)
}, },
async getwinBookdetail() { data() {
let projectId=localStorage.getItem("projectId") return {
const { projectCode: '',
data, projectName: '',
code breads: ['投标管理 ', '我参加的项目', '工作台'],
} = await winBookdetail(projectId) navs: ['中标通知书'],
if(code==200){ projectCode: '',
this.detail=data projectName: '',
} detail: ''
} };
}, },
created() { methods: {
this.projectCode=localStorage.getItem("projectCode") open(url) {
this.projectName=localStorage.getItem("projectName") window.open(url);
this.getwinBookdetail() },
} back() {
this.$router.go(-1);
} },
async getwinBookdetail() {
let projectId = localStorage.getItem('projectId');
const { data, code } = await winBookdetail(projectId);
if (code == 200) {
this.detail = data;
}
}
},
created() {
this.projectCode = localStorage.getItem('projectCode');
this.projectName = localStorage.getItem('projectName');
this.getwinBookdetail();
}
};
</script> </script>
<style scoped> <style scoped>
.content>h1{ .content > h1 {
text-align: center; text-align: center;
margin-top:20px; margin-top: 20px;
margin-bottom:40px; margin-bottom: 40px;
font-weight: bold; font-weight: bold;
} }
.content>.img{ .content > .img {
width: 600px; width: 600px;
margin:0 auto margin: 0 auto;
} }
.enclosure{ .enclosure {
margin: 20px 0; margin: 20px 0;
} }
.message>div{ .message {
display:flex; width: 60%;
margin-bottom: 30px; margin: 0 auto;
} }
.message>div>div:first-child{ .message > .centerButton{
margin-right:300px; justify-content: center;
} }
.notice{ .message > div {
width: 80%; display: flex;
border:1px solid #000 justify-content: space-between;
} margin-bottom: 30px;
.notice{ }
margin-top: 200px; /* .message > div > div:first-child {
margin-bottom: 30px; margin-right: 300px;
padding: 20px 0; } */
} .notice {
.notice>h3{ width: 80%;
margin: 20px 0; border: 1px solid #000;
} }
.notice {
margin: 200px auto 30px;
padding: 20px 0;
}
.notice > h3 {
margin: 20px 0;
}
</style> </style>
<template> <template>
<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 class="content">
<div class="flex-arround" style="margin-bottom:50px">
<div>项目编号:{{ projectCode }}</div>
<div>项目名称:{{ projectName }}</div>
<div>发布时间:{{ detail.createTime }}</div>
</div>
<div v-if="state">
<div v-html=" detail.content "></div>
<div class="enclosure flex-item">
<div style="margin-right: 30px">相关附件</div>
<div v-if="detail.accessoryDOList">
<ul>
<li v-for="(item, i) in detail.accessoryDOList" :key="i">
<a href="item.accessoryUrl">{{ item.fileName }}</a>
</li>
</ul>
</div>
<div v-else></div>
</div>
</div>
<div v-else>{{ msg }}</div>
<div class="centerButton">
<el-button @click="back">返回</el-button>
</div>
</div>
</div> </div>
<div class="content">
<div class="flex-arround">
<div>项目编号:{{projectCode}}</div>
<div>项目名称:{{projectName}}</div>
<div>发布时间:2020-08-08 18:12</div>
</div>
<h1>一级标题</h1>
<div class="img">
<img src="@static/images/content.png" alt="">
</div>
<div class="enclosure">相关附件:34567890-678.pdf</div>
<div class="centerButton">
<el-button @click="back">返回</el-button>
</div>
</div>
</div>
</template> </template>
<script> <script>
import { publicitydetail} from '@api/supply/bid' import { cadidate } from '@api/supply/bid';
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue';
export default { export default {
components: { components: {
dataBreadcrumb, dataBreadcrumb
}, },
data() { data() {
return { return {
breads: ['投标管理 ', '我参加的项目', '工作台'], breads: ['投标管理 ', '我参加的项目', '工作台'],
projectCode:"", projectCode: '',
projectName:"" projectName: '',
detail: '',
msg: '',
state: true
};
},
methods: {
back() {
this.$router.go(-1);
},
async getcadidate() {
let projectId = localStorage.getItem('projectId');
const { data, code, msg } = await cadidate(projectId);
if (code == 200) {
this.detail = data;
} else {
this.msg = msg;
this.state = false;
}
}
},
created() {
this.projectCode = localStorage.getItem('projectCode');
this.projectName = localStorage.getItem('projectName');
this.getcadidate();
} }
}, };
methods: {
back(){
this.$router.go(-1)
},
async getpublicitydetail() {
let projectId=localStorage.getItem("projectId")
const {
data,
code
} = await publicitydetail(projectId)
}
},
created() {
this.projectCode=localStorage.getItem("projectCode")
this.projectName=localStorage.getItem("projectName")
this.getpublicitydetail()
}
}
</script> </script>
<style scoped> <style scoped>
.content>h1{ .content > h1 {
text-align: center; text-align: center;
margin-top:20px; margin-top: 20px;
margin-bottom:40px; margin-bottom: 40px;
font-weight: bold; font-weight: bold;
} }
.content>.img{ .content > .img {
width: 600px; width: 600px;
margin:0 auto margin: 0 auto;
} }
.enclosure{ .enclosure {
margin: 20px 0; margin: 20px 0;
} }
</style> </style>
...@@ -721,6 +721,11 @@ export default new Router({ ...@@ -721,6 +721,11 @@ export default new Router({
show: true, show: true,
component: () => import('../pages/supply/bid/joinProject/bidEvaluation/evaluationList.vue') component: () => import('../pages/supply/bid/joinProject/bidEvaluation/evaluationList.vue')
}, },
{
path: '/supply/bid/joinProject/bidEvaluation/hallInformation',
show: true,
component: () => import('../pages/supply/bid/joinProject/bidEvaluation/hallInformation.vue')
},
{ {
path: '/supply/bid/joinProject/bidEvaluation/reply', path: '/supply/bid/joinProject/bidEvaluation/reply',
show: true, show: true,
......
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