Commit 34a25056 authored by 张冬's avatar 张冬

联调修改

parent 7355e38f
...@@ -180,16 +180,112 @@ export function noticeAbortive(id) { ...@@ -180,16 +180,112 @@ export function noticeAbortive(id) {
// }) // })
// } // }
// 2.1.4
//开标大厅
// 开标一览表
export function openInfo(projectId) {
return request({
url: `open-bid/openInfo/${projectId}`,
method: 'get',
})
}
//签到解密简略
export function signdetail(projectId) {
return request({
url: `/open-bid/sign/${projectId}`,
method: 'get',
})
}
// 开标按钮上三个信息(投标人数,缴纳保证金人数,签到人数)
export function startInfo(projectId) {
return request({
url: `open-bid/startInfo/${projectId}`,
method: 'get',
})
}
//获取开标大厅的时间信息
export function timeInfo(projectId) {
return request({
url: `open-bid/timeInfo/${projectId}`,
method: 'get',
})
}
// 立即开标
export function startbid(projectId) {
return request({
url: `open-bid/start/${projectId}`,
method: 'put',
})
}
// 流标
export function openbidFailed(data) {
return request({
url: "open-bid/bidFailed",
method: 'post',
data:data
})
}
// 查看流标信息
export function bidFaileddetail(projectId) {
return request({
url: `open-bid/bidFailed/detail/${projectId}`,
method: 'get',
})
}
// 2.1.5 // 2.1.5
// 评标管理:变更公告列表
export function accessoryupload(data) {
return request({
url: "tender-evaluate/accessory/upload",
method: 'post',
data:data
})
}
// 评标管理:变更公告列表
export function changeNoticelist(projectId) {
return request({
url: `tender-evaluate/changeNotice/list/${projectId}`,
method: 'get',
})
}
//投标文件
export function bidFilelist(projectId) {
return request({
url: `tender-evaluate/bidFile/list/${projectId}`,
method: 'get',
})
}
// 评标附件
export function accessorydownload(projectId) {
return request({
url: `tender-evaluate/accessory/download/${projectId}`,
method: 'get',
})
}
// 流标 // 流标
export function bidFailed(data) { export function bidFailed(data) {
return request({ return request({
url: "tender-evaluate/bidFailed", url: "tender-evaluate/bidFailed",
method: 'put', method: 'post',
data:data data:data
}) })
} }
//项目经理中的评标结算按钮
export function bidend(projectId) {
return request({
url: `/tender-evaluate/end/${projectId}`,
method: 'put',
})
}
// 查看投标公司评审信息 // 查看投标公司评审信息
export function CompanyEvaluatec(projectId) { export function CompanyEvaluatec(projectId) {
...@@ -325,6 +421,34 @@ export function bidsetting(data) { ...@@ -325,6 +421,34 @@ export function bidsetting(data) {
data:data data:data
}) })
} }
//中标候选人公示提交
export function createcadidate(data) {
return request({
url: "/tender-notice/create-cadidate",
method: 'post',
data:data
})
}
//中标公告提交
export function createwin(data) {
return request({
url: "tender-notice/create-win",
method: 'post',
data:data
})
}
// 标书费提交 // 标书费提交
export function operationAduit(data) { export function operationAduit(data) {
...@@ -336,11 +460,12 @@ export function operationAduit(data) { ...@@ -336,11 +460,12 @@ export function operationAduit(data) {
} }
// 2.1.4
//开标大厅
// export function onlineCount() { // 招标文件下载
// return request({ export function bidBookDownload(projectId) {
// url: "/onlineCount", return request({
// method: 'get', url: `tender-evaluate/bidBook-download/${projectId}`,
// }) method: 'get',
// } })
\ No newline at end of file }
...@@ -23,6 +23,15 @@ export function evidenceDetail(params) { ...@@ -23,6 +23,15 @@ export function evidenceDetail(params) {
params:params params:params
}) })
} }
// 签署合同
export function signContract(projectId) {
return request({
url: `tender-payment/sign-contract/${projectId}`,
method: 'put',
})
}
...@@ -22,6 +22,7 @@ a { ...@@ -22,6 +22,7 @@ a {
.content-box { .content-box {
min-width: 1000px;
position: absolute; position: absolute;
left: 250px; left: 250px;
right: 0; right: 0;
......
...@@ -201,7 +201,7 @@ img { ...@@ -201,7 +201,7 @@ img {
.tips{ .tips{
color:#FF0000 color:#FF0000
} }
.el-input { .message .el-input {
width: 250px!important; width: 250px!important;
......
...@@ -81,7 +81,7 @@ export default { ...@@ -81,7 +81,7 @@ export default {
{ {
icon: 'el-icon-lx-home', icon: 'el-icon-lx-home',
index: '/purchaser/buyOut/buyoutList', index: '/purchaser/buyOut/buyoutList',
title: '平台交货列表', title: '应收账款买断列表',
} }
] ]
}, },
......
...@@ -155,6 +155,7 @@ export default { ...@@ -155,6 +155,7 @@ export default {
} }
}, },
created() { created() {
console.log("分页")
if (this.checklist.length > 0) { if (this.checklist.length > 0) {
const obj = {} const obj = {}
this.checklist.forEach((item) => { this.checklist.forEach((item) => {
......
...@@ -6,12 +6,7 @@ ...@@ -6,12 +6,7 @@
<script> <script>
export default { export default {
props: { props: ["remainTime"],
remainTime: {
type: Number,
default: 1200000
}
},
data() { data() {
return { return {
hour: '', hour: '',
...@@ -31,7 +26,18 @@ export default { ...@@ -31,7 +26,18 @@ export default {
return this.formatNum(this.second) return this.formatNum(this.second)
} }
}, },
watch:{
remainTime(newValue, oldValue) {
console.log("监听")
this.checkTime()
return newValue;
}
},
mounted() { mounted() {
this.checkTime()
},
methods: {
checkTime(){
if (this.remainTime > 0) { if (this.remainTime > 0) {
this.hour = Math.floor((this.remainTime / 3600) % 24) this.hour = Math.floor((this.remainTime / 3600) % 24)
this.minute = Math.floor((this.remainTime / 60) % 60) this.minute = Math.floor((this.remainTime / 60) % 60)
...@@ -39,7 +45,6 @@ export default { ...@@ -39,7 +45,6 @@ export default {
this.countDowm() this.countDowm()
} }
}, },
methods: {
countDowm() { countDowm() {
var self = this var self = this
clearInterval(this.promiseTimer) clearInterval(this.promiseTimer)
......
...@@ -4,31 +4,27 @@ ...@@ -4,31 +4,27 @@
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<div class="message"> <div class="message">
<div class="flex-between" style="width: 50%;"> <div class="flex-between" style="width: 50%;">
<div>招标文件:<span>下载招标文件</span></div> <div>招标文件:<span @click="download(bidDetail.fileUrl)">{{bidDetail.fileName}}</span></div>
<div>开标信息:<span>开标一览表</span></div> <div>开标信息:<span>开标一览表</span></div>
</div> </div>
<div class="flex upload"> <div class="flex upload">
<div>变更信息:</div> <div>变更信息:</div>
<ul class="title"> <ul class="title">
<li class="flex"> <li class="flex" v-for="(item,index) in changeList" :key="index">
<div>公告标题.pdf</div> <router-link :to="{path: '/purchaser/bid/bidStage/changeList/see', query: {id: item.noticeId }}">{{item.title}}</router-link>
<button>下载</button>
</li>
<li class="flex">
<div>公告标题.pdf</div>
<button>下载</button>
</li> </li>
</ul> </ul>
</div> </div>
<!-- 投标文件 --> <!-- 投标文件 -->
<div> <div>
<div>投标文件:</div> <div>投标文件:</div>
<dataTable :table-data="bids" :columns="bidTitle" :is-pageobj="false" :is-index="true"> <dataTable :table-data="bids" :columns="bidTitle" :is-index="true">
<el-table-column slot="operate" label="文件" align="center" fixed="right"> <el-table-column slot="operate" label="文件" align="center" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<ul class="flex file"> <div class="flex file">
<li v-for="(file,index) in scope.row.files" :key="index">{{ file }}下载</li> <div @click="down(scope.row.fileUrl)">{{scope.row.fileName}}</div>
</ul> <div v-for="(file,index) in scope.row.fileList" :key="index" @click="down(file.fileUrl)">{{ file.fileName }}</div>
</div>
</template> </template>
</el-table-column> </el-table-column>
</dataTable> </dataTable>
...@@ -37,9 +33,9 @@ ...@@ -37,9 +33,9 @@
<div style="margin-top:100px"> <div style="margin-top:100px">
<div class="flex-between"> <div class="flex-between">
<h5>评审信息</h5> <h5>评审信息</h5>
<el-button type="primary" size="small">澄清质询查看</el-button> <el-button type="primary" size="small" @click='jump'>澄清质询查看</el-button>
</div> </div>
<dataTable :table-data="review" :columns="reviewTitle" :is-pageobj="false" :is-index="true"> <dataTable :table-data="review" :columns="reviewTitle" :is-index="true">
<el-table-column slot="operate" label="资格审查" align="center" fixed="right"> <el-table-column slot="operate" label="资格审查" align="center" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.qualifi==0">通过</div> <div v-if="scope.row.qualifi==0">通过</div>
...@@ -69,22 +65,23 @@ ...@@ -69,22 +65,23 @@
<!-- 排名信息 --> <!-- 排名信息 -->
<div> <div>
<h5>排名信息</h5> <h5>排名信息</h5>
<dataTable :table-data="rank" :columns="rankTitle" :is-pageobj="false" :is-index="true"> <dataTable :table-data="rank" :columns="rankTitle" :is-index="true">
</dataTable> </dataTable>
</div> </div>
<div class="flex"> <div class="flex">
<div>评标附件:</div> <div>评标附件:</div>
<ul class="upload"> <ul class="upload">
<li class="flex"> <li class="flex" v-for="(item,index) in downloadList" :key="index">
<div>评价附件.pdf</div> <div>{{item.fileName}}</div>
<button>下载</button> <button @click="down(item.fileUrl)">下载</button>
</li> </li>
</ul> </ul>
</div> </div>
<div class="button"> <div class="button">
<el-button>返回</el-button> <el-button @click="back">返回</el-button>
<el-button @click="fail">流标</el-button> <el-button @click="fail">流标</el-button>
<el-button type="primary">评标结束</el-button> <el-button type="primary" @click="end">评标结束</el-button>
</div> </div>
</div> </div>
</div> </div>
...@@ -92,34 +89,46 @@ ...@@ -92,34 +89,46 @@
</template> </template>
<script> <script>
import dataTable from '@components/dataTable.vue' import {
import dataBreadcrumb from '@components/dataBreadcrumb.vue' bidend,
export default { CompanyEvaluatec,
companyRank,
bidBookDownload,
changeNoticelist,
bidFilelist,
accessorydownload
} from '@api/purchaser/bid'
import dataTable from '@components/nopageTable.vue'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
export default {
components: { components: {
dataTable, dataTable,
dataBreadcrumb dataBreadcrumb
}, },
data() { data() {
return { return {
downloadList:[],
changeList:[],
bidDetail: "",
rankTitle: [{ rankTitle: [{
label: '投标人名称', label: '投标人名称',
prop: 'name' prop: 'companyName'
}, },
{ {
label: '投标价(元)', label: '投标价(元)',
prop: 'bidPrice' prop: 'price'
}, },
{ {
label: '商务评分', label: '商务评分',
prop: 'businessScore' prop: 'commercialGrade'
}, },
{ {
label: '技术评分', label: '技术评分',
prop: 'technicalScore' prop: 'skillGrade'
}, },
{ {
label: '价格得分', label: '价格评分',
prop: 'priceScore' prop: 'priceGrade'
}, },
{ {
label: '评标价(元)', label: '评标价(元)',
...@@ -132,81 +141,153 @@ export default { ...@@ -132,81 +141,153 @@ export default {
{ {
label: '最终得分', label: '最终得分',
prop: 'finalScore' prop: 'finalScore'
} },
{
], slot: 'operate'
rank: [{
name: '上海腾讯',
bidPrice: '490000',
businessScore: '30',
technicalScore: '4.8',
priceScore: '18.8',
evaluationPrice: '490000',
rank: '1',
finalScore: '53.6'
} }
], ],
rank: [],
bidTitle: [{ bidTitle: [{
label: '投标人', label: '投标人',
prop: 'name' prop: 'companyName'
}, },
{ {
slot: 'operate' slot: 'operate'
} }
], ],
bids: [{ bids: [],
name: '上海致远有限公司',
files: ['313121.zip', '546465.zip']
}],
breads: ['招标管理', '招标项目管理', '工作台'], breads: ['招标管理', '招标项目管理', '工作台'],
review: [{ review: [],
name: '上海腾讯',
qualifi: '1',
accord: '1',
fail: '1',
conclusion: '1'
},
{
name: '上海腾讯',
qualifi: '0',
accord: '0',
fail: '0',
conclusion: '0'
}
],
reviewTitle: [{ reviewTitle: [{
label: '投标人名称', label: '投标人名称',
prop: 'name' prop: 'companyName'
}, },
{ {
slot: 'operate' slot: 'operate'
} }
], // 操作列 ], // 操作列
}
},
methods: {
down(url){
window.open(url)
},
jump() {
this.$router.push('/purchaser/bid/bidEvaluation/review/clear')
},
// 查看评标附件
async getaccessorydownload(){
let projectId = localStorage.getItem("projectId");
const{data,code}=await accessorydownload(projectId)
if(code===200){
this.downloadList=data
}
},
pageObj: { // 查看投标文件
size: 10, async getbidFilelist(){
total: 1, let projectId = localStorage.getItem("projectId");
currentPage: 1, const{data,code}=await bidFilelist(projectId)
sizes: [100, 200, 300], if(code===200){
func: (currentPage) => { this.bids=data
this.pageTurning(currentPage)
} }
},
// 查看变更信息
async getchangeNoticelist(){
let projectId = localStorage.getItem("projectId");
const{data,code}=await changeNoticelist(projectId)
if(code===200){
this.changeList=data;
} }
},
// 查投标公司评审信息
async getCompanyEvaluatec() {
try {
let projectId = localStorage.getItem("projectId");
const {
data,
code
} = await CompanyEvaluatec(projectId)
if (code === 200) {
this.review = data
}
} catch (e) {
console.log(e)
} }
}, },
methods: { // 查看投标公司排名信息
async getcompanyRank() {
try {
let projectId = localStorage.getItem("projectId");
const {
data,
code
} = await companyRank(projectId)
if (code === 200) {
this.rank = data
}
} catch (e) {
console.log(e)
}
},
async getbidBookDownload() {
try {
let projectId = localStorage.getItem("projectId")
const {
data,
code
} = await bidBookDownload(projectId)
if (code === 200) {
this.bidDetail = data
}
} catch (e) {
console.log(e)
}
},
async end() {
// 二次确认
this.$confirm('确定要流标吗?', '提示', {
type: 'warning'
})
.then(async () => {
let projectId = localStorage.getItem("projectId")
const {
msg,
code
} = await bidend(projectId)
this.$message({
message: msg,
type: 'success',
duration: 1500
})
})
.catch(() => {})
},
back() {
this.$router.go(-1)
},
examine() { examine() {
this.$router.push('/admin/bid/bidingDetail') this.$router.push('/admin/bid/bidingDetail')
}, },
fail() { fail() {
this.$router.push('/purchaser/bid/bidEvaluation/projectManager/fail') this.$router.push('/purchaser/bid/bidEvaluation/projectManager/fail')
} }
},
created() {
this.getaccessorydownload();
this.getbidFilelist();
this.getchangeNoticelist();
this.getcompanyRank()
this.getCompanyEvaluatec()
this.getbidBookDownload();
},
} }
}
</script> </script>
<style scoped> <style scoped>
.file>li { .file>div {
margin-right: 10px; margin-right: 10px;
color: #113DEE color: #113DEE
} }
...@@ -236,12 +317,14 @@ export default { ...@@ -236,12 +317,14 @@ export default {
height: 20px; height: 20px;
margin-left: 10px; margin-left: 10px;
} }
h5 { h5 {
font-weight: bold; font-weight: bold;
margin-bottom: 20px; margin-bottom: 20px;
} }
.button{
width:280px; .button {
margin:80px auto 30px width: 280px;
margin: 80px auto 30px
} }
</style> </style>
...@@ -13,11 +13,11 @@ ...@@ -13,11 +13,11 @@
</div> </div>
<div class="flex"> <div class="flex">
<div class="adjustment"> 评价报告</div> <div class="adjustment"> 评价报告</div>
<Upload :limit="1" :max="100" tip="最多上传一个文件,每个文件不超过100M。"></Upload> <Upload :limit="1" :max="100" tip="最多上传一个文件,每个文件不超过100M。" @input="getfile"></Upload>
</div> </div>
<div class="flex"> <div class="flex">
<div class="adjustment ">评标报告扫描件</div> <div class="adjustment ">评标报告扫描件</div>
<Upload :limit="1" :max="100" tip="最多上传5个文件,每个文件不超过100M。"></Upload> <Upload :limit="1" :max="100" tip="最多上传5个文件,每个文件不超过100M。" @input="getfile1"></Upload>
</div> </div>
<div class="flex-center" style="margin:100px 0"> <div class="flex-center" style="margin:100px 0">
<el-button>取消</el-button> <el-button>取消</el-button>
...@@ -40,17 +40,38 @@ export default { ...@@ -40,17 +40,38 @@ export default {
}, },
data() { data() {
return { return {
breads: ['招标管理', '招标项目管理', '工作台'] breads: ['招标管理', '招标项目管理', '工作台'],
file:[],
file1:[]
} }
}, },
methods: { methods: {
//
getfile(val){
this.file=val
},
getfile1(val){
this.file1=val
},
// 提交
async submitData() { async submitData() {
try { try {
let message={} let message={}
let filePOList=[];
let file=this.file;
let file1=this.file1;
for(let item of file){
item.type=1
};
for(let item1 of file1){
item1.type=2
};
filePOList=file.concat(file1)
message.filePOList=filePOList;
message.projectId=localStorage.getItem("projectId") message.projectId=localStorage.getItem("projectId")
const { const {
data, code,
code msg
} = await bidFailed(message) } = await bidFailed(message)
if(code==200){ if(code==200){
this.$message({ this.$message({
...@@ -80,4 +101,8 @@ export default { ...@@ -80,4 +101,8 @@ export default {
.message>div{ .message>div{
margin-bottom: 20px; margin-bottom: 20px;
} }
.adjustment{
width: 120px;
text-align: center;
}
</style> </style>
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
code code
} = await bidsupplyList(projectId) } = await bidsupplyList(projectId)
if (code === 200) { if (code === 200) {
// this.CompanyIds = data this.CompanyIds = data
} }
} catch (e) { } catch (e) {
console.log(e) console.log(e)
......
...@@ -94,7 +94,7 @@ export default { ...@@ -94,7 +94,7 @@ export default {
} }
}, },
back(){ back(){
this.$route.go(-1) this.$router.go(-1)
}, },
handleSee(row){ handleSee(row){
let id=row.pid; let id=row.pid;
......
...@@ -4,19 +4,14 @@ ...@@ -4,19 +4,14 @@
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<div class="message"> <div class="message">
<div class="flex-between" style="width: 50%;"> <div class="flex-between" style="width: 50%;">
<div>招标文件:<span>下载招标文件</span></div> <div>招标文件:<span @click="download(bidDetail.fileUrl)">{{bidDetail.fileName}}</span></div>
<div>开标信息:<span>开标一览表</span></div> <div>开标信息:<span>开标一览表</span></div>
</div> </div>
<div class="flex upload"> <div class="flex upload">
<div>变更信息:</div> <div>变更信息:</div>
<ul class="title"> <ul class="title">
<li class="flex"> <li class="flex" v-for="(item,index) in changeList" :key="index">
<div>公告标题.pdf</div> <router-link :to="{path: '/purchaser/bid/bidStage/changeList/see', query: {id: item.noticeId }}">{{item.title}}</router-link>
<button>下载</button>
</li>
<li class="flex">
<div>公告标题.pdf</div>
<button>下载</button>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -26,9 +21,10 @@ ...@@ -26,9 +21,10 @@
<dataTable :table-data="bids" :columns="bidTitle" :is-index="true"> <dataTable :table-data="bids" :columns="bidTitle" :is-index="true">
<el-table-column slot="operate" label="文件" align="center" fixed="right"> <el-table-column slot="operate" label="文件" align="center" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<ul class="flex file"> <div class="flex file">
<li v-for="(file,index) in scope.row.files" :key="index">{{ file }}下载</li> <div @click="down(scope.row.fileUrl)">{{scope.row.fileName}}</div>
</ul> <div v-for="(file,index) in scope.row.fileList" :key="index" @click="down(file.fileUrl)">{{ file.fileName }}</div>
</div>
</template> </template>
</el-table-column> </el-table-column>
</dataTable> </dataTable>
...@@ -91,17 +87,11 @@ ...@@ -91,17 +87,11 @@
</div> </div>
<div class="flex"> <div class="flex">
<div>评标附件:</div> <div>评标附件:</div>
<ul class="upload"> <singleUpload :limit="5" :max="100" tip="最多上传5份,每份不超过100M." @input="getfile"></singleUpload>
<li class="flex">
<div>评价附件.pdf</div>
<button>下载</button>
</li>
</ul>
</div> </div>
<div class="button"> <div class="button">
<el-button>返回</el-button> <el-button @click="back">返回</el-button>
<el-button @click="fail">流标</el-button> <el-button type="primary" @click="complete">完成</el-button>
<el-button type="primary">评标结束</el-button>
</div> </div>
</div> </div>
</div> </div>
...@@ -133,22 +123,22 @@ ...@@ -133,22 +123,22 @@
<!-- 编辑公司排名--> <!-- 编辑公司排名-->
<el-dialog title="编辑" :visible.sync="isRank"> <el-dialog title="编辑" :visible.sync="isRank">
<el-form :model="rankForm"> <el-form :model="rankForm">
<el-form-item label="投标价" > <el-form-item label="投标价">
<el-input v-model="rankForm.price" ></el-input> <el-input v-model="rankForm.price"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="商务评分" > <el-form-item label="商务评分">
<el-input v-model="rankForm.commercialGrade" ></el-input> <el-input v-model="rankForm.commercialGrade"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="技术评分" > <el-form-item label="技术评分">
<el-input v-model="rankForm.skillGrade" ></el-input> <el-input v-model="rankForm.skillGrade"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="价格评分"> <el-form-item label="价格评分">
<el-input v-model="rankForm.priceGrade" ></el-input> <el-input v-model="rankForm.priceGrade"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="评标价 " > <el-form-item label="评标价 ">
<el-input v-model="rankForm.evaluationPrice" ></el-input> <el-input v-model="rankForm.evaluationPrice"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否中标候选人" > <el-form-item label="是否中标候选人">
<el-radio v-model="rankForm.winPerson" :label="true"></el-radio> <el-radio v-model="rankForm.winPerson" :label="true"></el-radio>
<el-radio v-model="rankForm.winPerson" :label="false"></el-radio> <el-radio v-model="rankForm.winPerson" :label="false"></el-radio>
</el-form-item> </el-form-item>
...@@ -162,21 +152,32 @@ ...@@ -162,21 +152,32 @@
</template> </template>
<script> <script>
import { import {
companyRank, companyRank,
CompanyEvaluatec, CompanyEvaluatec,
saveCompanyEvaluate, saveCompanyEvaluate,
saveCompanyRank saveCompanyRank,
} from '@api/purchaser/bid' bidBookDownload,
import dataTable from '@components/nopageTable.vue' changeNoticelist,
import dataBreadcrumb from '@components/dataBreadcrumb.vue' bidFilelist,
export default { accessoryupload
} from '@api/purchaser/bid'
import dataTable from '@components/nopageTable.vue'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import singleUpload from '@components/Upload/Upload.vue'
export default {
components: { components: {
dataTable, dataTable,
dataBreadcrumb dataBreadcrumb,
singleUpload
}, },
data() { data() {
return { return {
file: [],
downloadList: [],
changeList: [],
bidDetail: "",
evaluateForm: { evaluateForm: {
qualification: '', qualification: '',
conformity: '', conformity: '',
...@@ -186,9 +187,9 @@ export default { ...@@ -186,9 +187,9 @@ export default {
evaluateIdx: '', evaluateIdx: '',
isEvaluate: false, isEvaluate: false,
rankForm: { rankForm: {
price:"", price: "",
}, },
rankIdx:"", rankIdx: "",
isRank: false, isRank: false,
projectId: 2, projectId: 2,
rankTitle: [{ rankTitle: [{
...@@ -230,16 +231,13 @@ export default { ...@@ -230,16 +231,13 @@ export default {
rank: [], rank: [],
bidTitle: [{ bidTitle: [{
label: '投标人', label: '投标人',
prop: 'name' prop: 'companyName'
}, },
{ {
slot: 'operate' slot: 'operate'
} }
], ],
bids: [{ bids: [],
name: '上海致远有限公司',
files: ['313121.zip', '546465.zip']
}],
breads: ['招标管理', '招标项目管理', '工作台'], breads: ['招标管理', '招标项目管理', '工作台'],
review: [], review: [],
reviewTitle: [{ reviewTitle: [{
...@@ -255,8 +253,82 @@ export default { ...@@ -255,8 +253,82 @@ export default {
created() { created() {
this.getcompanyRank() this.getcompanyRank()
this.getCompanyEvaluatec() this.getCompanyEvaluatec()
this.getbidFilelist();
this.getchangeNoticelist();
this.getbidBookDownload();
}, },
methods: { methods: {
getfile(val) {
this.file = val
},
// 完成按钮
async complete() {
try {
let message = {}
message.projectId = localStorage.getItem("projectId")
message.fileList = this.file
const {
msg,
code
} = await accessoryupload(message)
if (code === 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
})
setTimeout(() => {
this.$router.go(-1)
}, 1500)
}
} catch (e) {
console.log(e)
}
},
back() {
this.$router.go(-1)
},
down(url) {
window.open(url)
},
async getbidBookDownload() {
try {
let projectId = localStorage.getItem("projectId")
const {
data,
code
} = await bidBookDownload(projectId)
if (code === 200) {
this.bidDetail = data
}
} catch (e) {
console.log(e)
}
},
// 查看投标文件
async getbidFilelist() {
let projectId = localStorage.getItem("projectId");
const {
data,
code
} = await bidFilelist(projectId)
if (code === 200) {
this.bids = data
}
},
// 查看变更信息
async getchangeNoticelist() {
let projectId = localStorage.getItem("projectId");
const {
data,
code
} = await changeNoticelist(projectId)
if (code === 200) {
this.changeList = data;
}
},
// 排名信息编辑 // 排名信息编辑
Edit(row, index) { Edit(row, index) {
this.rankForm = Object.assign({}, row) this.rankForm = Object.assign({}, row)
...@@ -268,7 +340,8 @@ export default { ...@@ -268,7 +340,8 @@ export default {
async editCompanyRank() { async editCompanyRank() {
try { try {
const { const {
code, msg code,
msg
} = await saveCompanyRank(this.form) } = await saveCompanyRank(this.form)
if (code === 200) { if (code === 200) {
this.$message.success(msg) this.$message.success(msg)
...@@ -289,7 +362,8 @@ export default { ...@@ -289,7 +362,8 @@ export default {
async editCompanyEvaluate() { async editCompanyEvaluate() {
try { try {
const { const {
code, msg code,
msg
} = await saveCompanyEvaluate(this.form) } = await saveCompanyEvaluate(this.form)
if (code === 200) { if (code === 200) {
this.$message.success(msg) this.$message.success(msg)
...@@ -300,10 +374,6 @@ export default { ...@@ -300,10 +374,6 @@ export default {
console.log(e) console.log(e)
} }
}, },
fail() {
this.$router.push('/purchaser/bid/bidEvaluation/projectManager/fail')
},
// 查投标公司评审信息 // 查投标公司评审信息
async getCompanyEvaluatec() { async getCompanyEvaluatec() {
try { try {
...@@ -322,7 +392,7 @@ export default { ...@@ -322,7 +392,7 @@ export default {
// 查看投标公司排名信息 // 查看投标公司排名信息
async getcompanyRank() { async getcompanyRank() {
try { try {
let projectId=localStorage.getItem("projectId"); let projectId = localStorage.getItem("projectId");
const { const {
data, data,
code code
...@@ -336,7 +406,7 @@ export default { ...@@ -336,7 +406,7 @@ export default {
} }
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
......
...@@ -169,8 +169,15 @@ ...@@ -169,8 +169,15 @@
code, code,
msg msg
} = await bidderEarnestpayment(message) } = await bidderEarnestpayment(message)
if (code === 2000) { if (code === 200) {
this.$success.success(msg) this.$message({
message: msg,
type: 'success',
duration:1500
})
setTimeout(()=>{
this.$router.go(-1)
},1500)
} }
} }
} catch (e) { } catch (e) {
......
...@@ -111,14 +111,14 @@ export default { ...@@ -111,14 +111,14 @@ export default {
msg msg
} = await createChange(this.ruleForm) } = await createChange(this.ruleForm)
if (code === 200) { if (code === 200) {
// this.$message({ this.$message({
// message: msg, message: msg,
// type: 'success', type: 'success',
// duration:1500 duration:1500
// }) })
// setTimeout(()=>{ setTimeout(()=>{
// this.$router.go(-1) this.$router.go(-1)
// },1500) },1500)
} }
} }
} catch (err) { } catch (err) {
......
...@@ -13,25 +13,17 @@ ...@@ -13,25 +13,17 @@
<div>项目分类:货物</div> <div>项目分类:货物</div>
<div class="flex"> <div class="flex">
<div class="adjustment">上传附件:</div> <div class="adjustment">上传附件:</div>
<singleUpload tips="支持上传1个附件,不超过20M"></singleUpload> <singleUpload :limit="1" tip="支持上传1个附件,不超过20M" @input="getfile"></singleUpload>
</div> </div>
</div> </div>
</div> </div>
<div class="form"> <div class="form">
<h3>确定中标人</h3> <h3>确定中标人</h3>
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" :is-index="true"> <el-radio-group v-model="companyId">
<el-table-column slot="operate" label="是否中标" align="center" fixed="right" width="200"> <el-radio :label="item.companyId" v-for="(item,index) in tableData" :key="index">{{item.companyName}}</el-radio>
<template slot-scope="scope"> </el-radio-group>
<el-checkbox v-model="scope.row.isBid" @change="check(scope.$index)"></el-checkbox>
</template>
</el-table-column>
</dataTable>
<h3 style="margin-top:30px">说明</h3> <h3 style="margin-top:30px">说明</h3>
<el-input <el-input :rows="3" v-model="content" type="textarea" placeholder="请输入内容">
:rows="3"
v-model="content"
type="textarea"
placeholder="请输入内容">
</el-input> </el-input>
</div> </div>
<div class="button flex-center"> <div class="button flex-center">
...@@ -45,13 +37,16 @@ ...@@ -45,13 +37,16 @@
</template> </template>
<script> <script>
import {candidate,winnerSave} from '@api/purchaser/bid' import {
candidate,
winnerSave
} from '@api/purchaser/bid'
import dataTable from '@components/nopageTable.vue' import dataTable from '@components/nopageTable.vue'
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import changeNav from '@components/changeNav.vue' import changeNav from '@components/changeNav.vue'
import singleUpload from '@components/Upload/singleUpload.vue' import singleUpload from '@components/Upload/Upload.vue'
export default { export default {
components: { components: {
dataBreadcrumb, dataBreadcrumb,
changeNav, changeNav,
...@@ -60,7 +55,9 @@ export default { ...@@ -60,7 +55,9 @@ export default {
}, },
data() { data() {
return { return {
projectId:2, file:"",
companyId:"",
projectId: 2,
content: '', content: '',
navs: ['确认中标人'], navs: ['确认中标人'],
breads: ['招标管理', '招标项目管理', '工作台'], breads: ['招标管理', '招标项目管理', '工作台'],
...@@ -84,32 +81,35 @@ export default { ...@@ -84,32 +81,35 @@ export default {
] // ] //
} }
}, },
created(){ created() {
this.getcandidate() this.getcandidate()
}, },
methods: { methods: {
back(){ getfile(val){
this.file=val
},
back() {
this.$router.go(-1) this.$router.go(-1)
}, },
examine() { examine() {
this.$router.push('/admin/bid/bidingDetail') this.$router.push('/admin/bid/bidingDetail')
}, },
check(index){ check(index) {
console.log(index); console.log(index);
}, },
// 获取中标人列表 // 获取中标人列表
async getcandidate() { async getcandidate() {
try { try {
let projectId=localStorage.getItem("projectId"); let projectId = localStorage.getItem("projectId");
const { const {
data, data,
code code
} = await candidate(projectId) } = await candidate(projectId)
if (code===200) { if (code === 200) {
for(let item of data){ for (let item of data) {
item.companyName="杭州光海科技有限公司" item.companyName = "杭州光海科技有限公司"
item.contacts="松江" item.contacts = "松江"
item.phone="77581633272" item.phone = "77581633272"
} }
this.tableData = data this.tableData = data
} }
...@@ -119,30 +119,32 @@ export default { ...@@ -119,30 +119,32 @@ export default {
}, },
// 提交中标人 // 提交中标人
async submitData() { async submitData() {
try {
let data={};
data.projectId=localStorage.getItem("projectId")
data.companyId=this.companyId
data.remark=this.remark;
data.fileList=this.file;
const {
msg,
code
} = await winnerSave(data)
if (code === 200) {
this.$message({ this.$message({
message: "提交完成", message: "提交完成",
type: 'success', type: 'success',
duration:1500 duration: 1500
}) })
setTimeout(()=>{ setTimeout(() => {
this.$router.go(-1) this.$router.go(-1)
},1500) }, 1500)
// try { }
// let data={} } catch (e) {
// data.projectId=localStorage.getItem("projectId"); console.log(e)
// const { }
// msg, }
// code
// } = await winnerSave()
// if (code === 200) {
// this.$message.success(msg);
// }
// } catch (e) {
// console.log(e)
// }
} }
} }
}
</script> </script>
<style scoped> <style scoped>
...@@ -153,11 +155,13 @@ export default { ...@@ -153,11 +155,13 @@ export default {
.message>div { .message>div {
margin-bottom: 20px; margin-bottom: 20px;
} }
.form>h3{
.form>h3 {
font-weight: bold; font-weight: bold;
margin-bottom: 30px; margin-bottom: 30px;
} }
.button{
.button {
width: 100%; width: 100%;
height: 50px; height: 50px;
......
...@@ -38,16 +38,14 @@ ...@@ -38,16 +38,14 @@
<el-form-item label="公告标题" prop="title"> <el-form-item label="公告标题" prop="title">
<el-input v-model="ruleForm.title"></el-input> <el-input v-model="ruleForm.title"></el-input>
</el-form-item> </el-form-item>
</el-form>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
<el-form-item label="公告内容" prop="content"> <el-form-item label="公告内容" prop="content">
<quill-editor ref="text" v-model="form.content" :options="editorOption" class="myQuillEditor" /> <quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" />
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="button flex-center"> <div class="bottomButton flex-center">
<el-button>返回</el-button> <el-button>返回</el-button>
<el-button type="primary">完成</el-button> <el-button type="primary" @click="submitData">提交审批</el-button>
</div> </div>
</div> </div>
<el-dialog :visible.sync="dialogFormVisible" title="收货地址" width="30%"> <el-dialog :visible.sync="dialogFormVisible" title="收货地址" width="30%">
...@@ -65,6 +63,9 @@ ...@@ -65,6 +63,9 @@
</template> </template>
<script> <script>
import {
createwin
} from '@api/purchaser/bid'
import { import {
quillEditor quillEditor
} from 'vue-quill-editor' } from 'vue-quill-editor'
...@@ -83,6 +84,8 @@ ...@@ -83,6 +84,8 @@
}, },
data() { data() {
return { return {
editorOption: {},
file: [],
ruleForm: { ruleForm: {
title: '', title: '',
content: '' content: ''
...@@ -125,9 +128,38 @@ ...@@ -125,9 +128,38 @@
} }
}, },
methods: { methods: {
getfile(val) {
this.file = val
},
edit(row) { edit(row) {
this.dialogFormVisible = true this.dialogFormVisible = true
this.form = row this.form = row
},
async submitData() {
try {
const valid = await this.$refs['ruleForm'].validate()
if (valid) {
let ruleForm = this.ruleForm;
ruleForm.projectId = localStorage.getItem("projectId")
ruleForm.accessoryPOList = this.file
const {
code,
msg
} = await createwin(ruleForm)
if (code === 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
})
setTimeout(() => {
this.$router.go(-1)
}, 1500)
}
}
} catch (e) {
console.log(e)
}
} }
} }
......
...@@ -3,7 +3,9 @@ ...@@ -3,7 +3,9 @@
<div class="content-head"> <div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>发布中标候选人公示</h3> <h3>发布中标候选人公示</h3>
<h5>发布中标候选人公示</h5> </div> <div class="content"> <h5>发布中标候选人公示</h5>
</div>
<div class="content">
<div class="message"> <div class="message">
<div class="flex-between"> <div class="flex-between">
<div>项目编号:3456789567222</div> <div>项目编号:3456789567222</div>
...@@ -12,60 +14,49 @@ ...@@ -12,60 +14,49 @@
<div class="flex-between"> <div class="flex-between">
<div class="flex"> <div class="flex">
<div class="adjustment">上传附件:</div> <div class="adjustment">上传附件:</div>
<singleUpload tips="支持上传1个附件,不超过20M"></singleUpload> <singleUpload :limit="1" tip="支持上传1个附件,不超过20M" @input="getfile" :max="20"></singleUpload>
</div> </div>
<div>发布媒体:捷安采官网</div> <div>发布媒体:捷安采官网</div>
</div> </div>
<div class="flex-item"> <div class="flex-item">
<div style="width: 50px;">备注:</div> <div style="width: 50px;">备注:</div>
<el-input :rows="4" v-model="remark" type="remark" placeholder="请输入备注"> <el-input :rows="4" v-model="remark" type="textarea" placeholder="请输入备注">
</el-input> </el-input>
</div> </div>
</div> </div>
<div class="form"> <div class="form">
<h3 style="margin-top:30px">中标候选人公示内容</h3> <h3 style="margin-top:30px">中标候选人公示内容</h3>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"> <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
<el-form-item label="公告标题" prop="title"> <el-form-item label="公告标题" prop="title">
<el-input v-model="ruleForm.title"></el-input> <el-input v-model="ruleForm.title"></el-input>
</el-form-item> </el-form-item>
</el-form>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
<el-form-item label="公告内容" prop="content"> <el-form-item label="公告内容" prop="content">
<quill-editor ref="text" v-model="form.content" :options="editorOption" class="myQuillEditor" /> <quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" />
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="bottomButton flex-center"> <div class="bottomButton flex-center">
<el-button>返回</el-button> <el-button>返回</el-button>
<el-button type="primary">提交审批</el-button> <el-button type="primary" @click="submitData">提交审批</el-button>
</div> </div>
</div> </div>
<el-dialog :visible.sync="dialogFormVisible" title="收货地址" width="30%">
<el-form :model="form">
<el-form-item label-width="120px" label="输入中标价">
<el-input v-model="form.price" type="number" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<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>
<script> <script>
import { import {
createcadidate
} from '@api/purchaser/bid'
import {
quillEditor quillEditor
} from 'vue-quill-editor' } from 'vue-quill-editor'
import 'quill/dist/quill.core.css' import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css' import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css' import 'quill/dist/quill.bubble.css'
import dataTable from '@components/dataTable.vue' import dataTable from '@components/dataTable.vue'
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import singleUpload from '@components/Upload/singleUpload.vue' import singleUpload from '@components/Upload/Upload.vue'
export default { export default {
components: { components: {
dataTable, dataTable,
dataBreadcrumb, dataBreadcrumb,
...@@ -74,6 +65,8 @@ export default { ...@@ -74,6 +65,8 @@ export default {
}, },
data() { data() {
return { return {
editorOption: {},
file: [],
ruleForm: { ruleForm: {
title: '', title: '',
content: '' content: ''
...@@ -93,21 +86,44 @@ export default { ...@@ -93,21 +86,44 @@ export default {
form: { form: {
price: '' price: ''
}, },
dialogFormVisible: false,
remark: '', remark: '',
breads: ['招标管理', '招标项目管理', '工作台'] breads: ['招标管理', '招标项目管理', '工作台']
} }
}, },
methods: { methods: {
edit(row) { getfile(val) {
this.dialogFormVisible = true this.file = val
this.form = row },
async submitData() {
try {
const valid = await this.$refs['ruleForm'].validate()
if (valid) {
let ruleForm = this.ruleForm;
ruleForm.projectId = localStorage.getItem("projectId")
ruleForm.accessoryPOList = this.file
const {
code,
msg
} = await createcadidate(ruleForm)
if (code === 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
})
setTimeout(() => {
this.$router.go(-1)
}, 1500)
}
}
} catch (e) {
console.log(e)
}
} }
} }
} }
</script> </script>
...@@ -130,4 +146,3 @@ export default { ...@@ -130,4 +146,3 @@ export default {
margin-top: 50px; margin-top: 50px;
} }
</style> </style>
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<div class="message"> <div class="message">
<div class="flex-between" style="width: 50%;"> <div class="flex-between" style="width: 50%;">
<div>招标文件:<span>下载招标文件</span></div> <div>招标文件:<span @click="download(bidDetail.fileUrl)">{{bidDetail.fileName}}</span></div>
<div>开标信息:<span>开标一览表</span></div> <div>开标信息:<span>开标一览表</span></div>
</div> </div>
<div class="flex upload"> <div class="flex upload">
...@@ -81,11 +81,11 @@ ...@@ -81,11 +81,11 @@
</li> </li>
</ul> </ul>
</div> </div>
<div class="button"> <!-- <div class="button">
<el-button @click="back">返回</el-button> <el-button @click="back">返回</el-button>
<el-button @click="fail">流标</el-button> <el-button @click="fail">流标</el-button>
<el-button type="primary">评标结束</el-button> <el-button type="primary">评标结束</el-button>
</div> </div> -->
</div> </div>
</div> </div>
</div> </div>
...@@ -95,6 +95,7 @@ ...@@ -95,6 +95,7 @@
import { import {
companyRank, companyRank,
CompanyEvaluatec, CompanyEvaluatec,
bidBookDownload
} from '@api/purchaser/bid' } from '@api/purchaser/bid'
import dataTable from '@components/nopageTable.vue' import dataTable from '@components/nopageTable.vue'
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue'
...@@ -105,6 +106,7 @@ export default { ...@@ -105,6 +106,7 @@ export default {
}, },
data() { data() {
return { return {
bidDetail:"",
projectId:2, projectId:2,
rankTitle: [{ rankTitle: [{
label: '投标人名称', label: '投标人名称',
...@@ -170,8 +172,12 @@ export default { ...@@ -170,8 +172,12 @@ export default {
created() { created() {
this.getcompanyRank() this.getcompanyRank()
this.getCompanyEvaluatec() this.getCompanyEvaluatec()
this.getbidBookDownload();
}, },
methods: { methods: {
download(url){
window.open(url)
},
back(){ back(){
this.$router.go(-1) this.$router.go(-1)
}, },
...@@ -214,7 +220,23 @@ export default { ...@@ -214,7 +220,23 @@ export default {
} catch (e) { } catch (e) {
console.log(e) console.log(e)
} }
},
// 查看招标文件
async getbidBookDownload() {
try {
let projectId=localStorage.getItem("projectId")
const {
data,
code
} = await bidBookDownload(projectId)
if (code === 200) {
this.bidDetail=data
}
} catch (e) {
console.log(e)
} }
},
//
} }
} }
</script> </script>
......
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
<div>日期:{{ date }}</div> <div>日期:{{ date }}</div>
<div>中标金额:100.00元</div> <div>中标金额:100.00元</div>
</div> </div>
<div class="flex-between"> <div>
<div class="flex"> <div class="flex" style="margin-bottom:50px">
<div >上传附件:</div> <div >上传附件:</div>
<singleUpload :limit='1' tip="支持上传一个pdf格式文件,大小不超过100M。" accept='.pdf'></singleUpload> <singleUpload :limit='1' tip="支持上传一个pdf格式文件,大小不超过100M。" accept='.pdf' @input="getfile"></singleUpload>
</div> </div>
<div> <div>
<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">
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
</div> </div>
</div> </div>
<div class="flex-center button"> <div class="flex-center button">
<el-button>取消</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>
...@@ -50,8 +50,9 @@ export default { ...@@ -50,8 +50,9 @@ export default {
}, },
data() { data() {
return { return {
resultId:"",
ruleForm: { ruleForm: {
code: '' number: ''
}, },
rules: { rules: {
number: [{ number: [{
...@@ -67,14 +68,25 @@ export default { ...@@ -67,14 +68,25 @@ export default {
created() { created() {
let date=getTime(); let date=getTime();
this.date=date.substring(0,9) this.date=date.substring(0,9)
this.resultId=this.$route.query.id;
}, },
methods: { methods: {
back(){
this.$router.go(-1)
},
getfile(val){
this.ruleForm.fileList=val
},
//提交表单 //提交表单
async submitData() { async submitData() {
try { try {
const valid = await this.$refs['ruleForm'].validate() const valid = await this.$refs['ruleForm'].validate()
if (valid) { if (valid) {
const { code,msg } = await editSentBook(); let ruleForm=this.ruleForm;
ruleForm.resultId=this.resultId
ruleForm.projectId=localStorage.getItem("projectId")
ruleForm.companyId=localStorage.getItem("companyId")
const { code,msg } = await editSentBook(ruleForm);
if (code === 2000) { if (code === 2000) {
this.$success.success(msg) this.$success.success(msg)
} }
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</el-table-column> </el-table-column>
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="150"> <el-table-column slot="operate" label="操作" align="center" fixed="right" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="edit(scope.row)">通知书编辑</el-button> <el-button type="text" size="small" @click="edit(scope.row.id)">通知书编辑</el-button>
</template> </template>
</el-table-column> </el-table-column>
</dataTable> </dataTable>
...@@ -66,8 +66,8 @@ export default { ...@@ -66,8 +66,8 @@ export default {
this.getsentBookList(); this.getsentBookList();
}, },
methods: { methods: {
edit() { edit(id) {
this.$router.push('/purchaser/bid/bidSure/winBid/edit') this.$router.push(`/purchaser/bid/bidSure/winBid/edit?id=${id}`)
}, },
back() { back() {
this.$router.go(-1) this.$router.go(-1)
......
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
<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>
</el-form-item> </el-form-item>
</div> </div>
<div class="flex-between" style="width:60%"> <div class="flex-between" style="width:60%">
......
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
</el-form-item> </el-form-item>
<el-form-item label="公告内容" prop="content"> <el-form-item label="公告内容" prop="content">
<quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" /> <quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" />
</el-form-item></el-form> </el-form-item>
</el-form>
</div> </div>
</div> </div>
<div class="bottomButton"> <div class="bottomButton">
......
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
checklist: [{ checklist: [{
title: '供应商', title: '供应商',
type: 'input', type: 'input',
model: 'tenderCompanyName' model: 'bidCompanyName'
}, { }, {
title: '状态', title: '状态',
type: 'select', type: 'select',
......
...@@ -25,14 +25,14 @@ ...@@ -25,14 +25,14 @@
</div> </div>
<div class="bottomButton"> <div class="bottomButton">
<el-button @click="back">取消</el-button> <el-button @click="back">取消</el-button>
<el-button type="primary">提交</el-button> <el-button type="primary" @click="submitData">提交</el-button>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import dataBreadcrumb from '@components/dataBreadcrumb.vue' import dataBreadcrumb from '@components/dataBreadcrumb.vue'
export default { export default {
components: { components: {
dataBreadcrumb dataBreadcrumb
}, },
...@@ -54,25 +54,51 @@ export default { ...@@ -54,25 +54,51 @@ export default {
this.$message.success('撤销成功') this.$message.success('撤销成功')
}) })
.catch(() => {}) .catch(() => {})
},
async submitData() {
try {
let projectId = localStorage.getItem("projectId")
const {
msg,
code
} = await signContract(projectId)
if (code == 200) {
this.$message({
message: msg,
type: 'success',
duration: 1500
})
setTimeout(() => {
this.$router.go(-1)
}, 1500)
}
} catch (e) {
console.log(e)
} }
} }
} }
}
</script> </script>
<style scoped> <style scoped>
.contractContent{ .contractContent {
width: 100%; width: 100%;
height: 500px; height: 500px;
border:1px solid #000000; border: 1px solid #000000;
margin-top: 30px; margin-top: 30px;
} }
.button{
.button {
margin-top: 30px; margin-top: 30px;
height: 50px; height: 50px;
width: 100%; width: 100%;
} }
ul>li>div{
ul>li>div {
margin-right: 10px; margin-right: 10px;
} }
</style> </style>
...@@ -33,10 +33,7 @@ ...@@ -33,10 +33,7 @@
<div>单位所在地</div> <div>单位所在地</div>
<div>{{detail.location}}</div> <div>{{detail.location}}</div>
</li> </li>
<li>
<div>行业类型</div>
<div>{{detail.businessScope}}</div>
</li>
<li> <li>
<div>注册资本(万元)</div> <div>注册资本(万元)</div>
<div>{{detail.registeredCapital}}</div> <div>{{detail.registeredCapital}}</div>
...@@ -59,9 +56,13 @@ ...@@ -59,9 +56,13 @@
</li> </li>
</ul> </ul>
<div class="detail-item"> <div class="detail-item">
<div>*经营范围</div> <div>经营范围</div>
<div>一般项目:技术服务,技术开发</div> <div>一般项目:技术服务,技术开发</div>
</div> </div>
<div class="detail-item">
<div>行业类型</div>
<div>{{detail.businessScope}}</div>
</div>
</div> </div>
<div class="operation"> <div class="operation">
<el-button @click="back">返回</el-button> <el-button @click="back">返回</el-button>
......
...@@ -37,12 +37,12 @@ service.interceptors.response.use( ...@@ -37,12 +37,12 @@ service.interceptors.response.use(
} }
}, },
error => { error => {
if(error.response.status == 500){ if(error.response.status == 401){
Message.error("登陆失效,请重新登录!") Message.error("登陆失效,请重新登录!")
// localStorage.removeItem('token'); // localStorage.removeItem('token');
// setTimeout(function () { // setTimeout(function () {
// // location.href = 'http://192.168.200.201:8081/'; // // location.href = 'http://192.168.200.201:8081/';
// location.href = 'http://localhost:3000/'; // 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