Commit e280408e authored by 张冬's avatar 张冬

更新

parent a3dc5d02
...@@ -456,7 +456,13 @@ export function createwin(data) { ...@@ -456,7 +456,13 @@ export function createwin(data) {
}) })
} }
// 中标人列表
export function winPersonInfo(projectId) {
return request({
url: `/tender-decide/winPersonInfo/${projectId}`,
method: 'get'
})
}
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div > <div >
<h1>{{projectName}}在线询价公告</h1> <h1>{{projectName}}在线询价公告</h1>
<div class="flex-center"> <div class="flex-center">
<h6 style="margin-right:60px;margin-top:30px">询价所在地:{{detail.area}}</h6> <h6 style="margin-right:60px;margin-top:30px" v-if="detail.area">询价所在地:{{detail.area}}</h6>
<h6 style="margin-buttom:60px;margin-top:30px">日期:{{detail.createTime}}</h6> <h6 style="margin-buttom:60px;margin-top:30px">日期:{{detail.createTime}}</h6>
</div> </div>
<div class="form"> <div class="form">
......
...@@ -66,6 +66,11 @@ ...@@ -66,6 +66,11 @@
<div> <div>
<h5>排名信息</h5> <h5>排名信息</h5>
<dataTable :table-data="rank" :columns="rankTitle" :is-index="true"> <dataTable :table-data="rank" :columns="rankTitle" :is-index="true">
<el-table-column slot="operate" label="排名" align="center" fixed="right">
<template slot-scope="scope">
<div>{{scope.$index+1}}</div>
</template>
</el-table-column>
</dataTable> </dataTable>
</div> </div>
...@@ -134,10 +139,6 @@ ...@@ -134,10 +139,6 @@
label: '评标价(元)', label: '评标价(元)',
prop: 'evaluationPrice' prop: 'evaluationPrice'
}, },
{
label: '排名',
prop: 'rank'
},
{ {
label: '最终得分', label: '最终得分',
prop: 'finalScore' prop: 'finalScore'
...@@ -175,6 +176,13 @@ ...@@ -175,6 +176,13 @@
jump() { jump() {
this.$router.push('/purchaser/bid/bidEvaluation/review/clear') this.$router.push('/purchaser/bid/bidEvaluation/review/clear')
}, },
compare(property) {
return function(a, b) {
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
}
},
// 查看评标附件 // 查看评标附件
async getaccessorydownload(){ async getaccessorydownload(){
let projectId = localStorage.getItem("projectId"); let projectId = localStorage.getItem("projectId");
...@@ -183,7 +191,6 @@ ...@@ -183,7 +191,6 @@
this.downloadList=data this.downloadList=data
} }
}, },
// 查看投标文件 // 查看投标文件
async getbidFilelist(){ async getbidFilelist(){
let projectId = localStorage.getItem("projectId"); let projectId = localStorage.getItem("projectId");
...@@ -209,6 +216,7 @@ ...@@ -209,6 +216,7 @@
code code
} = await CompanyEvaluatec(projectId) } = await CompanyEvaluatec(projectId)
if (code === 200) { if (code === 200) {
this.review = data this.review = data
} }
} catch (e) { } catch (e) {
...@@ -225,8 +233,9 @@ ...@@ -225,8 +233,9 @@
code code
} = await companyRank(projectId) } = await companyRank(projectId)
if (code === 200) { if (code === 200) {
console.log(data,"...............");
this.rank = data let data1=data.sort(this.compare('finalScore'))
this.rank = data1
} }
} catch (e) { } catch (e) {
console.log(e) console.log(e)
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
</div> </div>
<div class="content"> <div class="content">
<div class="flex-arround"> <div class="flex-arround">
<div>项目编号:ZBXM234567894567</div> <div>项目编号:{{projectCode}}</div>
<div>项目名称:大楼翻新</div> <div>项目名称:{{projectName}}</div>
</div> </div>
<div class="form"> <div class="form">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="160px" class="demo-ruleForm"> <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="160px" class="demo-ruleForm">
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="选择投标人" prop="CompanyId"> <el-form-item label="选择投标人" prop="CompanyId">
<el-radio v-model="ruleForm.CompanyId" v-for="(item,index) in CompanyIds" :label="item.id">{{item.name}}</el-radio> <el-radio v-model="ruleForm.CompanyId" v-for="(item,index) in CompanyIds" :label="item.companyId">{{item.companyName}}</el-radio>
</el-form-item> </el-form-item>
<el-form-item label="澄清质询问题内容" prop="content"> <el-form-item label="澄清质询问题内容" prop="content">
<el-input v-model.trim="ruleForm.content" :rows="2" type="textarea" maxlength="300"></el-input> <el-input v-model.trim="ruleForm.content" :rows="2" type="textarea" maxlength="300"></el-input>
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
</el-form> </el-form>
</div> </div>
<div class="button"> <div class="button">
<el-button>取消</el-button> <el-button @click="back">取消</el-button>
<el-button type="primary" @click="submit">提交</el-button> <el-button type="primary" @click="submit">提交</el-button>
</div> </div>
</div> </div>
...@@ -55,15 +55,12 @@ ...@@ -55,15 +55,12 @@
}, },
data() { data() {
return { return {
CompanyIds:[{ fileUrl:"",
id:1, fileName:"",
name:"投标人1" projectCode: "",
}, projectName: "",
{ CompanyIds: [],
id:2, projectId: "",
name:"投标人2"
}],
projectId: 2,
breads: ['招标管理', '招标项目管理', '工作台'], breads: ['招标管理', '招标项目管理', '工作台'],
ruleForm: { ruleForm: {
title: '', title: '',
...@@ -107,30 +104,50 @@ ...@@ -107,30 +104,50 @@
getfile(val) { getfile(val) {
this.file = val this.file = val
}, },
back(){
this.$router.go(-1)
},
//提交表单 //提交表单
async submit() { async submit() {
try { try {
const valid = await this.$refs['ruleForm'].validate() const valid = await this.$refs['ruleForm'].validate()
if (valid) { if (valid) {
let ruleForm = this.ruleForm;
let file=this.file;
if(file.length>0){
ruleForm.fileUrl = file[0].fileUrl
ruleForm.fileName = file[0].fileName
}
ruleForm.projectId = localStorage.getItem("projectId");
console.log(ruleForm)
const { const {
code, code,
msg msg
} = await addQuestion(); } = await addQuestion(ruleForm);
if (code === 200) { if (code == 200) {
this.$success.success(msg); this.$message({
message: msg,
type: 'success',
duration: 1500
})
setTimeout(() => {
this.$router.go(-1)
}, 1500)
} else {
this.$message.error(msg)
} }
} }
} catch (e) {} } catch (e) {}
}, },
async getbidsupplyList() { async getbidsupplyList() {
try { try {
let projectId=localStorage.getItem("projectId"); let projectId = localStorage.getItem("projectId");
const { const {
data, data,
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)
...@@ -138,7 +155,9 @@ ...@@ -138,7 +155,9 @@
} }
}, },
created() { created() {
this.getbidsupplyList() this.getbidsupplyList()
this.projectCode = localStorage.getItem("projectCode")
this.projectCode = localStorage.getItem("projectName")
} }
} }
</script> </script>
......
<template> <template>
<div> <div>
<div class="content"> <div class="content">
<div class="absolut">
<el-button @click="add">新增问题</el-button>
</div>
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<changeNav :navs="navs"></changeNav> <changeNav :navs="navs"></changeNav>
<div class="flex-between" style="width: 80%;margin:30px auto 20px"> <div class="flex-between" style="width: 80%;margin:30px auto 20px">
...@@ -52,7 +55,7 @@ export default { ...@@ -52,7 +55,7 @@ export default {
}, },
{ {
label: '提出人', label: '提出人',
prop: 'askPerson' prop: 'createBy'
}, },
{ {
label: '提出时间', label: '提出时间',
...@@ -88,8 +91,11 @@ export default { ...@@ -88,8 +91,11 @@ export default {
if (code === 200) { if (code === 200) {
for(let item of data){ for(let item of data){
item.updateTime=getTime1(item.updateTime) item.updateTime=getTime1(item.updateTime)
item.state="已回复" if(item.replyId){
item.askPerson='球刀' item.state="已回复"
}else{
item.state="未回复"
}
} }
this.tableData = data this.tableData = data
} }
...@@ -103,12 +109,20 @@ export default { ...@@ -103,12 +109,20 @@ export default {
handleSee(row){ handleSee(row){
let id=row.pid; let id=row.pid;
this.$router.push({path:`/purchaser/bid/bidEvaluation/review/see?id=${id}`}) this.$router.push({path:`/purchaser/bid/bidEvaluation/review/see?id=${id}`})
},
add(){
this.$router.push("/purchaser/bid/bidEvaluation/review/add")
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
.absolut{
position: absolute;
right: 30px;
top: 70px;
}
.button{ .button{
width: 100%; width: 100%;
height: 300px; height: 300px;
......
...@@ -83,9 +83,9 @@ ...@@ -83,9 +83,9 @@
</template> </template>
</el-table-column> </el-table-column>
<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.commercialGrade">{{(scope.row.commercialGrade+scope.row.skillGrade+scope.row.priceGrade)}}</div> <div v-if="scope.row.commercialGrade">{{(scope.row.finalScore).toFixed(2)}}</div>
</template> </template>
</el-table-column> </el-table-column>
<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">
...@@ -133,17 +133,17 @@ ...@@ -133,17 +133,17 @@
<el-dialog title="编辑" :visible.sync="isRank" width="40%"> <el-dialog title="编辑" :visible.sync="isRank" width="40%">
<el-form :model="rankForm"> <el-form :model="rankForm">
<el-form-item label="商务评分"> <el-form-item label="商务评分">
<el-input-number v-model="rankForm.commercialGrade" :min="0" :controls="false" :precision="2" placeholder="输入"></el-input-number> <el-input-number v-model="rankForm.commercialGrade" :min="0" :controls="false" :precision="2" placeholder="输入"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="技术评分"> <el-form-item label="技术评分">
<el-input-number v-model="rankForm.skillGrade" :min="0" :controls="false" :precision="2" placeholder="输入"></el-input-number> <el-input-number v-model="rankForm.skillGrade" :min="0" :controls="false" :precision="2" placeholder="输入"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="价格评分"> <el-form-item label="价格评分">
<el-input-number v-model="rankForm.priceGrade" :min="0" :controls="false" :precision="2" placeholder="输入"></el-input-number> <el-input-number v-model="rankForm.priceGrade" :min="0" :controls="false" :precision="2" placeholder="输入"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="评标价 "> <el-form-item label="评标价 ">
<el-input-number v-model="rankForm.evaluationPrice" :min="0" :controls="false" :precision="2" placeholder="输入"></el-input-number> <el-input-number v-model="rankForm.evaluationPrice" :min="0" :controls="false" :precision="2" placeholder="输入"></el-input-number>
</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>
...@@ -289,6 +289,8 @@ ...@@ -289,6 +289,8 @@
this.$router.go(-1) this.$router.go(-1)
}, 1500) }, 1500)
}else{
this.$message.error(msg)
} }
} catch (e) { } catch (e) {
console.log(e) console.log(e)
...@@ -354,8 +356,9 @@ ...@@ -354,8 +356,9 @@
if (code === 200) { if (code === 200) {
this.$message.success(msg) this.$message.success(msg)
this.isRank = false this.isRank = false
this.rankForm.finalScore=this.rankForm.commercialGrade+this.rankForm.skillGrade+this.rankForm.priceGrade
this.$set(this.rank, this.RankIdx, this.rankForm) this.$set(this.rank, this.RankIdx, this.rankForm)
this.rank.sort(this.compare('finalScore')) this.rank.sort(this.compare('finalScore'))
} }
} catch (e) { } catch (e) {
console.log(e) console.log(e)
......
...@@ -7,47 +7,50 @@ ...@@ -7,47 +7,50 @@
</div> </div>
<div class="content"> <div class="content">
<div class="message"> <div class="message">
<h4>澄清问题</h4> <div class='message-item'>
<div class="flex-between"> <h4>澄清问题</h4>
<div>澄清质询标题:{{replyDetail.title}}</div> <div class="flex-between">
<div>澄清质询类型:{{replyDetail.type}}</div> <div>澄清质询标题:{{replyDetail.title}}</div>
<div>澄清质询类型:{{replyDetail.type}}</div>
</div>
<div class="flex-between">
<div>问题发布时间:{{replyDetail.createTime}}</div>
<div>澄清回复截止时间:{{replyDetail.cutOffTime}}</div>
</div>
<div>澄清问题内容:{{replyDetail.content}}</div>
<div class="flex-item">
<div>澄清问题文件:</div>
<ul class="upload">
<li class="flex-item">
<span>{{replyDetail.fileName}}</span>
<el-button size="mini" @click='download(replyDetail.fileUrl)'>下载</el-button>
</li>
</ul>
</div>
</div> </div>
<div class="flex-between"> <div v-if="replystate" class="message-item">
<div>问题发布时间:</div> <h4>回复问题</h4>
<div>澄清回复截止时间:{{replyDetail.cutOffTime}}</div> <div class="flex">
</div> <div>投标人:</div>
<div>澄清问题内容:{{replyDetail.content}}</div> <div>{{questionDetail.createBy}}</div>
<div class="flex"> </div>
<div>澄清问题文件:</div> <div class="flex">
<ul class="upload"> <div>回复内容:</div>
<li> <div>{{questionDetail.replyContent}}</div>
<span>{{replyDetail.fileName}}</span> </div>
<el-button size="mini" @click='download(replyDetail.fileUrl)'>下载</el-button> <div class="flex-item">
</li> <div>回复附件:</div>
</ul> <ul class="upload">
</div> <li class="flex-item">
<h4>回复问题</h4> <div>澄清问题文件.doc</div>
<div class="flex"> <el-button size="mini" @click="download(questionDetail.fileUrl)">下载</el-button>
<div>投标人:</div> </li>
<div>阿里巴巴</div> </ul>
</div> </div>
<div class="flex">
<div>回复内容:</div>
<div>{{questionDetail.replyContent}}</div>
</div>
<div class="flex">
<div>回复附件:</div>
<ul class="upload">
<li class="flex">
<div>澄清问题文件.doc</div>
<el-button size="mini" @click="download(questionDetail.fileUrl)">下载</el-button>
</li>
</ul>
</div> </div>
</div> </div>
<div class="button"> <div class="button">
<el-button>取消</el-button> <el-button @click="back">取消</el-button>
<el-button type="primary">提交</el-button>
</div> </div>
</div> </div>
</div> </div>
...@@ -62,6 +65,7 @@ ...@@ -62,6 +65,7 @@
}, },
data() { data() {
return { return {
replystate:true,
questionDetail:'', questionDetail:'',
replyDetail:'', replyDetail:'',
breads: ["招标管理", "招标项目管理", "工作台"] breads: ["招标管理", "招标项目管理", "工作台"]
...@@ -76,6 +80,9 @@ ...@@ -76,6 +80,9 @@
download(url){ download(url){
window.open(url) window.open(url)
}, },
back(){
this.$router.go(-1)
},
// 查看问题详情 // 查看问题详情
async getquestionDetail(id) { async getquestionDetail(id) {
try { try {
...@@ -84,10 +91,7 @@ ...@@ -84,10 +91,7 @@
code code
} = await expertquestionDetail(id) } = await expertquestionDetail(id)
if (code === 200) { if (code === 200) {
console.log(data)
this.replyDetail=data; this.replyDetail=data;
} }
} catch (e) { } catch (e) {
console.log(e) console.log(e)
...@@ -101,8 +105,11 @@ ...@@ -101,8 +105,11 @@
code code
} = await expertreplyDetail(id) } = await expertreplyDetail(id)
if (code === 200) { if (code === 200) {
this.questionDetail=data[0]; if(data.length==0){
this.replystate=false
}else{
this.questionDetail=data[0];
}
} }
} catch (e) { } catch (e) {
console.log(e) console.log(e)
...@@ -124,13 +131,13 @@ ...@@ -124,13 +131,13 @@
width: 60%; width: 60%;
} }
.message>h4 { .message-item>h4 {
margin-bottom: 30px; margin-bottom: 30px;
font-weight: bold; font-weight: bold;
} }
.message>div { .message-item>div {
margin-bottom: 30px; margin-bottom: 30px;
} }
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
</div> </div>
<!-- 在线对话 --> <!-- 在线对话 -->
<div class="dialogue" style="margin-top: 30px;" v-show="dialogue"> <div class="dialogue" style="margin-top: 30px;" v-show="dialogue">
<ul class="dialogueList"> <ul class="dialogueList" id="chatContainer">
<li v-for="(item,index) in dialogueList" :key="index" :class="myId==item.userId?'flex-left':'flex-right'"> <li v-for="(item,index) in dialogueList" :key="index" :class="myId==item.userId?'flex-left':'flex-right'">
<div> <div>
<div class="flex-item"> <div class="flex-item">
...@@ -416,7 +416,7 @@ ...@@ -416,7 +416,7 @@
const { const {
data, data,
code code
} = await (projectId) } = await openInfo(projectId)
if (code == 200) { if (code == 200) {
for (let item of data) { for (let item of data) {
if (item.isSign) { if (item.isSign) {
...@@ -501,8 +501,8 @@ ...@@ -501,8 +501,8 @@
createWebSocket() { createWebSocket() {
let token=localStorage.getItem("token") let token=localStorage.getItem("token")
let projectId = localStorage.getItem("projectId") let projectId = localStorage.getItem("projectId")
// this.websocket = new WebSocket('ws://192.168.3.35:8085/webSocket/' + projectId +"/"+token ) this.websocket = new WebSocket('ws://192.168.3.35:8085/webSocket/' + projectId +"/"+token )
this.websocket = new WebSocket('ws://60.205.251.80:8085/webSocket/' + projectId +"/"+token ) // this.websocket = new WebSocket('ws://60.205.251.80:8085/webSocket/' + projectId +"/"+token )
// 连接成功时 // 连接成功时
this.websocket.onopen = () => {} this.websocket.onopen = () => {}
this.websocket.onmessage = event => { this.websocket.onmessage = event => {
...@@ -532,6 +532,18 @@ ...@@ -532,6 +532,18 @@
this.websocket.send(content) this.websocket.send(content)
} }
}, },
// watch: {
// chatlog() {
// console.log("chatlog change");
// this.$nextTick(() => {
// var container = this.$el.querySelector("#chatContainer");
// console.log(container);
// container.scrollTop = container.scrollHeight;
// })
// // document.getElementById('chatContainer').scrollTop = document.getElementById('chatContainer').scrollHeight+150;
// }
// },
destroyed() { destroyed() {
//清除定时器 //清除定时器
clearInterval(this.timer); clearInterval(this.timer);
...@@ -559,7 +571,7 @@ ...@@ -559,7 +571,7 @@
border: 1px solid #DCDFE6; border: 1px solid #DCDFE6;
width: 400px; width: 400px;
height: 300px; height: 300px;
overflow: auto; /* overflow: auto; */
} }
.hal { .hal {
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<div> <div>
<el-form-item label="开标人" prop="bidOpener"> <el-form-item label="开标人" prop="bidOpener">
<el-select v-model="ruleForm.bidOpener" placeholder="请选择" style="width: 250px;"> <el-select v-model="ruleForm.bidOpener" placeholder="请选择" style="width: 250px;">
<el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id"> <el-option v-for="item in bidOpeners" :key="item.id" :label="item.name" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -73,6 +73,7 @@ export default { ...@@ -73,6 +73,7 @@ export default {
data() { data() {
return { return {
options: [], options: [],
bidOpeners:[],
ruleForm: { ruleForm: {
decodeTime: '', decodeTime: '',
signatureTime: '', signatureTime: '',
...@@ -133,7 +134,7 @@ export default { ...@@ -133,7 +134,7 @@ export default {
code code
} = await mamager(projectId) } = await mamager(projectId)
if (code === 200) { if (code === 200) {
this.ruleForm.bidOpener=data this.bidOpeners=data
} }
}, },
//提交表单 //提交表单
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<changeNav :navs="navs"></changeNav> <changeNav :navs="navs"></changeNav>
<div class="message flex-between"> <div class="message flex-between">
<div>项目编号:ZBXM567896789089</div> <div>项目编号:{{projectCode}}</div>
<div>项目名称:育才小学翻新</div> <div>项目名称:{{projectName}}</div>
</div> </div>
<dataTable :table-data="tableData" :columns="columns"> <dataTable :table-data="tableData" :columns="columns">
</dataTable> </dataTable>
...@@ -28,9 +28,11 @@ export default { ...@@ -28,9 +28,11 @@ export default {
}, },
data() { data() {
return { return {
projectCode:"",
projectName:"",
projectId: 2, projectId: 2,
breads: ['招投管理', '招标项目管理 ', '工作台'], breads: ['招投管理', '招标项目管理 ', '工作台'],
navs: ['标信息查看'], navs: ['标信息查看'],
tableData: [], tableData: [],
columns: [{ columns: [{
label: '单位名称', label: '单位名称',
...@@ -72,6 +74,8 @@ export default { ...@@ -72,6 +74,8 @@ export default {
}, },
created() { created() {
this.getreviewInfomation() this.getreviewInfomation()
this.projectCode=localStorage.getItem("projectCode")
this.projectName=localStorage.getItem("projectName")
}, },
methods: { methods: {
examine() { examine() {
......
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<div class="content "> <div class="content ">
<div class="message flex-colunm"> <div class="message flex-colunm">
<div class="flex-between"> <div class="flex-between">
<div>项目编号:456789567895678</div> <div>项目编号:{{projectCode}}</div>
<div>项目名称:测试4567896789</div> <div>项目名称:{{projectName}}</div>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<div>日期:{{ date }}</div> <div>日期:{{ date }}</div>
...@@ -48,6 +48,8 @@ export default { ...@@ -48,6 +48,8 @@ export default {
}, },
data() { data() {
return { return {
projectCode:"",
projectName:"",
ruleForm: { ruleForm: {
code: '' code: ''
}, },
...@@ -63,6 +65,8 @@ export default { ...@@ -63,6 +65,8 @@ export default {
} }
}, },
created() { created() {
this.projectCode=localStorage.getItem("projectCode")
this.projectName=localStorage.getItem("projectName")
this.addDate() this.addDate()
}, },
methods: { methods: {
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
<changeNav :navs="navs"></changeNav> <changeNav :navs="navs"></changeNav>
<div class="message"> <div class="message">
<div class="flex-between" style="margin-bottom: 20px;"> <div class="flex-between" style="margin-bottom: 20px;">
<div>项目编号:456789567895678</div> <div>项目编号:{{projectCode}}</div>
<div>项目名称:测试4567896789</div> <div>项目名称:{{projectName}}</div>
</div> </div>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="150px" class="demo-ruleForm"> <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="150px" class="demo-ruleForm">
<div class="flex-between"> <div class="flex-between">
...@@ -91,6 +91,8 @@ export default { ...@@ -91,6 +91,8 @@ export default {
}, },
data() { data() {
return { return {
projectCode:"",
projectName:"",
navs: ['合同管理'], navs: ['合同管理'],
breads: ['招投标管理', '中标公告列表'], breads: ['招投标管理', '中标公告列表'],
ruleForm: { ruleForm: {
...@@ -153,6 +155,10 @@ export default { ...@@ -153,6 +155,10 @@ export default {
console.log(e) console.log(e)
} }
} }
},
created() {
this.projectCode = localStorage.getItem("projectCode");
this.projectName = localStorage.getItem("projectName");
} }
} }
</script> </script>
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
<div> <div>
<div class="message"> <div class="message">
<div class="flex-between"> <div class="flex-between">
<div>项目编号:3456789567222</div> <div>项目编号:{{projectCode}}</div>
<div style="margin-right: 100px;">项目名称:测试4567890</div> <div style="margin-right: 100px;">项目名称:{{projectName}}</div>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<div>项目分类:货物</div> <div>项目分类:货物</div>
...@@ -55,7 +55,9 @@ ...@@ -55,7 +55,9 @@
}, },
data() { data() {
return { return {
file:"", projectCode:"",
projectName:"",
file:[],
companyId:"", companyId:"",
projectId: 2, projectId: 2,
content: '', content: '',
...@@ -82,7 +84,9 @@ ...@@ -82,7 +84,9 @@
} }
}, },
created() { created() {
this.getcandidate() this.getcandidate();
this.projectCode=localStorage.getItem("projectCode")
this.projectName=localStorage.getItem("projectName")
}, },
methods: { methods: {
getfile(val){ getfile(val){
...@@ -106,11 +110,6 @@ ...@@ -106,11 +110,6 @@
code code
} = await candidate(projectId) } = await candidate(projectId)
if (code === 200) { if (code === 200) {
for (let item of data) {
item.companyName = "杭州光海科技有限公司"
item.contacts = "松江"
item.phone = "77581633272"
}
this.tableData = data this.tableData = data
} }
} catch (e) { } catch (e) {
......
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<div class="content"> <div class="content">
<div class="message"> <div class="message">
<div class="flex-between"> <div class="flex-between">
<div>项目编号:3456789567222</div> <div>项目编号:{{projectCode}}</div>
<div>项目名称:测试4567890</div> <div>项目名称:{{projectName}}</div>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<div class="flex"> <div class="flex">
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
<script> <script>
import { import {
createwin createwin,winPersonInfo
} from '@api/purchaser/bid' } from '@api/purchaser/bid'
import { import {
quillEditor quillEditor
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
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/nopageTable.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/singleUpload.vue'
export default { export default {
...@@ -84,6 +84,8 @@ ...@@ -84,6 +84,8 @@
}, },
data() { data() {
return { return {
projectCode:"",
projectName:"",
editorOption: {}, editorOption: {},
file: [], file: [],
ruleForm: { ruleForm: {
...@@ -109,10 +111,7 @@ ...@@ -109,10 +111,7 @@
remark: '', remark: '',
breads: ['招标管理', '招标项目管理', '工作台'], breads: ['招标管理', '招标项目管理', '工作台'],
tableData: [{ tableData: [],
bidPerson: '杭州市西湖区古荡湾',
price: '100.00'
}],
columns: [{ columns: [{
label: '中标人', label: '中标人',
prop: 'bidPerson' prop: 'bidPerson'
...@@ -135,6 +134,19 @@ ...@@ -135,6 +134,19 @@
this.dialogFormVisible = true this.dialogFormVisible = true
this.form = row this.form = row
}, },
// 中标人列表
async getwinPersonInfo() {
try {
let projectId=localStorage.getItem("projectId")
const {
data,
code
} = await winPersonInfo(projectId)
this.tableData=data
} catch (e) {
console.log(e)
}
},
async submitData() { async submitData() {
try { try {
const valid = await this.$refs['ruleForm'].validate() const valid = await this.$refs['ruleForm'].validate()
...@@ -161,8 +173,12 @@ ...@@ -161,8 +173,12 @@
console.log(e) console.log(e)
} }
} }
} },
created() {
this.projectCode=localStorage.getItem("projectCode")
this.projectName=localStorage.getItem("projectName")
this.getwinPersonInfo();
}
} }
</script> </script>
......
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<div class="content"> <div class="content">
<div class="message"> <div class="message">
<div class="flex-between"> <div class="flex-between">
<div>项目编号:3456789567222</div> <div>项目编号:{{projectCode}}</div>
<div>项目名称:测试4567890</div> <div>项目名称:{{projectName}}</div>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<div class="flex"> <div class="flex">
...@@ -65,6 +65,8 @@ ...@@ -65,6 +65,8 @@
}, },
data() { data() {
return { return {
projectCode:"",
projectName:"",
editorOption: {}, editorOption: {},
file: [], file: [],
ruleForm: { ruleForm: {
...@@ -121,8 +123,11 @@ ...@@ -121,8 +123,11 @@
console.log(e) console.log(e)
} }
} }
} },
created() {
this.projectCode=localStorage.getItem("projectCode")
this.projectName=localStorage.getItem("projectName")
}
} }
</script> </script>
......
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<div class="content "> <div class="content ">
<div class="message flex-colunm"> <div class="message flex-colunm">
<div class="flex-between"> <div class="flex-between">
<div>项目编号:456789567895678</div> <div>项目编号:{{projectCode}}</div>
<div>项目名称:测试4567896789</div> <div>项目名称:{{projectName}}</div>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<div>日期:{{ date }}</div> <div>日期:{{ date }}</div>
...@@ -50,6 +50,8 @@ export default { ...@@ -50,6 +50,8 @@ export default {
}, },
data() { data() {
return { return {
projectCode:"",
projectName:"",
resultId:"", resultId:"",
ruleForm: { ruleForm: {
number: '' number: ''
...@@ -69,6 +71,8 @@ export default { ...@@ -69,6 +71,8 @@ export default {
let date=getTime(); let date=getTime();
this.date=date.substring(0,9) this.date=date.substring(0,9)
this.resultId=this.$route.query.id; this.resultId=this.$route.query.id;
this.projectCode=localStorage.getItem("projectCode")
this.projectName=localStorage.getItem("projectName")
}, },
methods: { methods: {
back(){ back(){
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
</div> </div>
<!-- 在线对话 --> <!-- 在线对话 -->
<div class="dialogue" style="margin-top: 30px;" v-show="dialogue"> <div class="dialogue" style="margin-top: 30px;" v-show="dialogue">
<ul class="dialogueList"> <ul class="dialogueList" id="chatContainer">
<li v-for="(item,index) in dialogueList" :key="index" :class="myId==item.userId?'flex-left':'flex-right'"> <li v-for="(item,index) in dialogueList" :key="index" :class="myId==item.userId?'flex-left':'flex-right'">
<div> <div>
<div class="flex-item"> <div class="flex-item">
...@@ -192,6 +192,13 @@ ...@@ -192,6 +192,13 @@
myId:"" myId:""
} }
}, },
watch: {
chatlog() {
var container = this.$el.querySelector("#chatContainer");
console.log(container);
container.scrollTop = container.scrollHeight;
}
},
mounted() { mounted() {
this.add() this.add()
}, },
...@@ -218,8 +225,8 @@ ...@@ -218,8 +225,8 @@
createWebSocket() { createWebSocket() {
let token=localStorage.getItem("token") let token=localStorage.getItem("token")
let projectId = localStorage.getItem("projectId") let projectId = localStorage.getItem("projectId")
// this.websocket = new WebSocket('ws://192.168.3.35:8085/webSocket/' + projectId +"/"+token ) this.websocket = new WebSocket('ws://192.168.3.35:8085/webSocket/' + projectId +"/"+token )
this.websocket = new WebSocket('ws://60.205.251.80:8085/webSocket/' + projectId +"/"+token ) // this.websocket = new WebSocket('ws://60.205.251.80:8085/webSocket/' + projectId +"/"+token )
// 连接成功时 // 连接成功时
this.websocket.onopen = () => {} this.websocket.onopen = () => {}
this.websocket.onmessage = event => { this.websocket.onmessage = event => {
...@@ -347,6 +354,14 @@ ...@@ -347,6 +354,14 @@
</script> </script>
<style scoped> <style scoped>
.flex-left{
display: flex;
justify-content: flex-start;
}
.flex-right{
display: flex;
justify-content: flex-end;
}
.hal { .hal {
position: relative; position: relative;
} }
...@@ -360,7 +375,7 @@ ...@@ -360,7 +375,7 @@
.dialogue>.dialogueList { .dialogue>.dialogueList {
box-sizing: border-box; box-sizing: border-box;
padding: 20px; padding: 20px;
overflow: auto /* overflow: auto */
} }
.dialogueList>li { .dialogueList>li {
...@@ -446,6 +461,6 @@ ...@@ -446,6 +461,6 @@
border: 1px solid #DCDFE6; border: 1px solid #DCDFE6;
width: 400px; width: 400px;
height: 300px; height: 300px;
overflow: auto; /* overflow: auto; */
} }
</style> </style>
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
<changeNav :navs="navs"></changeNav> <changeNav :navs="navs"></changeNav>
<div class="message flex-colunm"> <div class="message flex-colunm">
<div> <div>
<div>项目编号:456789567895678</div> <div>项目编号:{{projectCode}}</div>
<div>项目名称:测试4567896789</div> <div>项目名称:{{projectName}}</div>
</div> </div>
<div> <div>
<div>日期:2018-12-12</div> <div>日期:2018-12-12</div>
...@@ -41,6 +41,8 @@ export default { ...@@ -41,6 +41,8 @@ export default {
}, },
data() { data() {
return { return {
projectCode:"",
projectName:"",
breads: ['投标管理 ', '我参加的项目', '工作台'], breads: ['投标管理 ', '我参加的项目', '工作台'],
navs: ['中标通知书'], navs: ['中标通知书'],
projectCode:"", projectCode:"",
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
<div class="message"> <div class="message">
<el-form ref="form" :model="form" :rules="rules" label-width="160px" class="demo-ruleForm"> <el-form ref="form" :model="form" :rules="rules" label-width="160px" class="demo-ruleForm">
<div class="flex-between"> <div class="flex-between">
<div>项目编号:456789567895678</div> <div>项目编号:{{projectCode}}</div>
<div>项目名称:测试4567896789</div> <div>项目名称:{{projectName}}</div>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<el-form-item label="合同名称:" prop="name"> <el-form-item label="合同名称:" prop="name">
...@@ -84,6 +84,8 @@ ...@@ -84,6 +84,8 @@
}, },
data() { data() {
return { return {
projectCode:"",
projectName:"",
breads: ['投标管理 ', '我参加的项目', '工作台'], breads: ['投标管理 ', '我参加的项目', '工作台'],
navs: ['合同管理'], navs: ['合同管理'],
form: { form: {
......
...@@ -42,7 +42,7 @@ export default { ...@@ -42,7 +42,7 @@ export default {
model: 'projectName' model: 'projectName'
} }
], ],
breads: ['标管理', '在线报名'], breads: ['标管理', '在线报名'],
columns: [{ columns: [{
label: '项目编号', label: '项目编号',
prop: 'code' prop: 'code'
......
...@@ -5,6 +5,7 @@ import { Message, MessageBox } from 'element-ui' ...@@ -5,6 +5,7 @@ import { Message, MessageBox } from 'element-ui'
// 创建axios实例 // 创建axios实例
const service = axios.create({ const service = axios.create({
// baseURL: 'http://hsz.free.qydev.com/apis',
baseURL: 'http://60.205.251.80:8082/apis', baseURL: 'http://60.205.251.80:8082/apis',
// baseURL: 'http://192.168.3.35:8085/apis', // baseURL: 'http://192.168.3.35:8085/apis',
timeout: 35000 // 请求超时时间 timeout: 35000 // 请求超时时间
...@@ -38,14 +39,14 @@ service.interceptors.response.use( ...@@ -38,14 +39,14 @@ service.interceptors.response.use(
}, },
error => { error => {
console.log(error.response.status) console.log(error.response.status)
if(error.response.status == 401){ // if(error.response.status == 401){
Message.error("登陆失效,请重新登录!") // Message.error("登陆失效,请重新登录!")
localStorage.removeItem('token'); // localStorage.removeItem('token');
setTimeout(function () { // setTimeout(function () {
location.href = 'http://60.205.251.80:8081/login/user/'; // location.href = 'http://60.205.251.80:8081/login/user/';
// location.href = 'http://localhost:3000/login/user/'; // // location.href = 'http://localhost:3000/login/user/';
}, 2000); // }, 2000);
} // }
} }
) )
export default service export default service
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