Commit 7355e38f authored by 张冬's avatar 张冬

修改错误接口

parent 3dd8917a
......@@ -79,4 +79,10 @@ export function mamager(projectId) {
method: 'get'
})
}
// 获取用户信息
export function userInfo() {
return request({
url:"sys/user/userInfo",
method: 'get'
})
}
\ No newline at end of file
......@@ -91,7 +91,22 @@ export function confirmation(confirmId) {
}
// 新增
//
// 标书费缴纳详情
export function bidbookDetail(feeId) {
return request({
url: `tender-bidbook/detail/${feeId}`,
method: 'get',
})
}
// 投标保证金缴纳详情
// export function createChange(feeId) {
// return request({
// url: `tender-bidbook/detail/{feeId}`,
// method: 'get',
// })
// }
// 投标信息查看
export function reviewInfomation(projectId) {
return request({
......@@ -101,6 +116,14 @@ export function reviewInfomation(projectId) {
}
// 变更公告管理
// export function createChange(data) {
// return request({
// url: '/notice/list',
// method: 'post',
// data: data
// })
// }
export function changeList(projectId) {
return request({
url: `/tender-notice/changeList/${projectId}`,
......@@ -159,6 +182,15 @@ export function noticeAbortive(id) {
// 2.1.5
// 流标
export function bidFailed(data) {
return request({
url: "tender-evaluate/bidFailed",
method: 'put',
data:data
})
}
// 查看投标公司评审信息
export function CompanyEvaluatec(projectId) {
return request({
......@@ -294,3 +326,21 @@ export function bidsetting(data) {
})
}
// 标书费提交
export function operationAduit(data) {
return request({
url: "tender-bidbook/operation/aduit",
method: 'post',
data:data
})
}
// 2.1.4
//开标大厅
// export function onlineCount() {
// return request({
// url: "/onlineCount",
// method: 'get',
// })
// }
\ No newline at end of file
......@@ -33,15 +33,23 @@
</div>
<!-- 用户头像 -->
<div class="user-avator">
<img :src="user.headimg" />
{{companyName}}
</div>
<!-- 用户名下拉菜单 -->
<el-dropdown trigger="click" @command="handleCommand">
<span class="el-dropdown-link">
<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="a">退出登录</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
</div>
</template>
<script>
import { userInfo} from '@api/common/list'
import bus from '../common/bus';
export default {
data() {
......@@ -51,27 +59,48 @@ export default {
fullscreen: false,
message: 2,
user: '',
organname: ''
organname: '',
companyName:""
};
},
computed: {
},
methods: {
async getUserInfo(){
try {
const {
data,
code
} = await userInfo()
if(code==200){
console.log(data)
this.companyName=data.companyName;
localStorage.setItem("companyid",data.companyid)
let userInfo=JSON.stringify(data)
localStorage.setItem("userInfo",userInfo)
}
} catch (e) {
console.log(e)
}
},
join(){
// window.location.href="http://192.168.200.201:8081/"
window.location.href=" http://localhost:3000/"
},
// 用户名下拉菜单选择事件
handleCommand(command) {
if (command == 'loginout') {
localStorage.removeItem('user');
this.$router.push('/login');
}
},
handleCommand(command) {
localStorage.removeItem("token")
setTimeout(()=>{
window.location.href=" http://localhost:3000/"
},1000)
},
// 侧边栏折叠
collapseChage() {
this.collapse = !this.collapse;
console.log(this.collapse)
bus.$emit('collapse', this.collapse);
},
// 全屏事件
......@@ -109,7 +138,7 @@ export default {
}
},
created() {
this.getUserInfo();
}
};
</script>
......@@ -201,6 +230,7 @@ export default {
text-align: center;
border-radius: 15px;
cursor: pointer;
margin-top: 6px;
}
.btn-bell-badge {
position: absolute;
......
......@@ -158,11 +158,12 @@ export default {
async getqueryList() {
try {
let message={};
Object.assign(this.sendData,this.objInput)
let sendData=this.sendData
Object.assign(sendData,this.objInput)
const {
data,
code
} = await queryList(this.sendData,this.url)
} = await queryList(sendData,this.url)
if (code === 200) {
console.log(data);
this.tableData = data
......
......@@ -35,7 +35,7 @@
</div>
<div class="margin-left">
<div><span class="red">*</span>内容</div>
<quill-editor ref="text" v-model="form.content" :options="editorOption" class="myQuillEditor" style="width: 90%;height: 250px;" />
<quill-editor ref="text" v-model="form.content" :options="editorOption" class="myQuillEditor" />
</div>
</div>
</el-form>
......
......@@ -5,7 +5,7 @@
<el-button slot="moreButton" type="primary" style="margin-left: 50px;" @click="handlerelease">发布项目</el-button>
<el-table-column slot="operate" label="项目类型" align="center" fixed="right" width="100">
<template slot-scope="scope">
<div v-if="scope.row.type==2">公开招标</div>
<div v-if="scope.row.bidType==2">公开招标</div>
<div v-else>邀请招标</div>
</template>
</el-table-column>
......@@ -100,7 +100,10 @@ export default {
// 跳转工作台
examine(row) {
this.$router.push('/purchaser/bid/workbench')
// 存项目信息 ,项目名称,项目编号
localStorage.setItem('projectId',row.projectId);
localStorage.setItem('projectName',row.projectName);
localStorage.setItem('projectCode',row.projectCode);
},
handlerelease(){
this.$router.push('/purchaser/bid/releaseProject')
......
......@@ -12,16 +12,16 @@
<div>项目名称:大楼翻新</div>
</div>
<div class="flex">
<div class="adjustment"> <span class="tips">*</span> 评价报告</div>
<singleUpload tips="最多上传一个文件,每个文件不超过100M。"></singleUpload>
<div class="adjustment"> 评价报告</div>
<Upload :limit="1" :max="100" tip="最多上传一个文件,每个文件不超过100M。"></Upload>
</div>
<div class="flex">
<div class="adjustment ">价报告</div>
<multiUpload tips="最多上传5个文件,每个文件不超过100M。"></multiUpload>
<div class="adjustment ">标报告扫描件</div>
<Upload :limit="1" :max="100" tip="最多上传5个文件,每个文件不超过100M。"></Upload>
</div>
<div class="flex-center" style="margin:100px 0">
<el-button>取消</el-button>
<el-button type="primary" style="margin-left: 20px;">提交</el-button>
<el-button type="primary" style="margin-left: 20px;" @click="submitData">提交</el-button>
</div>
</div>
</div>
......@@ -29,15 +29,14 @@
</template>
<script>
import {bidFailed} from '@api/purchaser/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import singleUpload from '@components/Upload/singleUpload.vue'
import multiUpload from '@components/Upload/multiUpload.vue'
import Upload from '@components/Upload/Upload.vue'
export default {
name: 'bidingList',
components: {
singleUpload,
dataBreadcrumb,
multiUpload
Upload
},
data() {
return {
......@@ -45,7 +44,28 @@ export default {
}
},
methods: {
async submitData() {
try {
let message={}
message.projectId=localStorage.getItem("projectId")
const {
data,
code
} = await bidFailed(message)
if(code==200){
this.$message({
message: msg,
type: 'success',
duration:1500
})
setTimeout(()=>{
this.$router.go(-1)
},1500)
}
} catch (e) {
console.log(e)
}
}
}
}
......
......@@ -81,9 +81,11 @@ export default {
data,
code
} = await clarifyinquiryList(projectId)
if (code === 0) {
if (code === 200) {
for(let item of data){
item.updateTime=getTime1(item.updateTime)
item.state="已回复"
item.askPerson='球刀'
}
this.tableData = data
}
......
......@@ -312,7 +312,7 @@ export default {
data,
code
} = await CompanyEvaluatec(projectId)
if (code === 0) {
if (code === 200) {
this.review = data
}
} catch (e) {
......@@ -327,7 +327,7 @@ export default {
data,
code
} = await companyRank(projectId)
if (code === 0) {
if (code === 200) {
this.rank = data
}
......
......@@ -9,38 +9,38 @@
<div class="message">
<h4>澄清问题</h4>
<div class="flex-between">
<div>澄清质询标题:{{questionDetail.title}}</div>
<div>澄清质询类型:{{questionDetail.type}}</div>
<div>澄清质询标题:{{replyDetail.title}}</div>
<div>澄清质询类型:{{replyDetail.type}}</div>
</div>
<div class="flex-between">
<div>问题发布时间:</div>
<div>澄清回复截止时间:{{questionDetail.cutOffTime}}</div>
<div>澄清回复截止时间:{{replyDetail.cutOffTime}}</div>
</div>
<div>澄清问题内容:{{questionDetail.content}}</div>
<div>澄清问题内容:{{replyDetail.content}}</div>
<div class="flex">
<div>澄清问题文件:</div>
<ul class="upload">
<li>
<span>{{questionDetail.fileName}}</span>
<el-button size="mini" @click='download(questionDetail.fileUrl)'>下载</el-button>
<span>{{replyDetail.fileName}}</span>
<el-button size="mini" @click='download(replyDetail.fileUrl)'>下载</el-button>
</li>
</ul>
</div>
<h4>澄清问题</h4>
<h4>回复问题</h4>
<div class="flex">
<div>投标人:</div>
<div>阿里巴巴</div>
</div>
<div class="flex">
<div>回复内容:</div>
<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">下载</el-button>
<el-button size="mini" @click="download(questionDetail.fileUrl)">下载</el-button>
</li>
</ul>
</div>
......@@ -83,9 +83,11 @@
data,
code
} = await expertquestionDetail(id)
if (code === 0) {
console.log(data);
this.questionDetail=data;
if (code === 200) {
console.log(data)
this.replyDetail=data;
}
} catch (e) {
console.log(e)
......@@ -99,7 +101,8 @@
code
} = await expertreplyDetail(id)
if (code === 200) {
this.questionDetail=data[0];
}
} catch (e) {
console.log(e)
......
......@@ -25,10 +25,7 @@
<div class="hal-center">
<ul>
<li v-for="(item,index) in halList" :key="index" class="flex">
<div>{{ item.time }}</div>
<div>{{ item.role }}</div>
<div>{{ item.person }}</div>
<div>{{ item.behavior }}</div>
<div>{{item}}</div>
</li>
</ul>
</div>
......@@ -39,7 +36,24 @@
<el-button v-else type="info">{{ buttonWords }}</el-button>
</div>
</div>
<!-- 在线对话 -->
<div class="dialogue" style="margin-top: 30px;">
<ul class="dialogueList">
<li v-for="(item,index) in dialogueList" :key="index">
</li>
</ul>
<el-input
placeholder="请输入内容"
v-model="content"
clearable
@keyup.enter.native="send"
>
</el-input>
</div>
</div>
<!-- 最下面一栏 -->
<div class="flex-between buttons">
<el-button>流标</el-button>
<div>
......@@ -47,7 +61,7 @@
<el-button>下发开标一览表</el-button>
<el-button>查看开标一览表</el-button>
</div>
<el-button>退出大厅<i class="el-icon-right"></i></el-button>
<el-button @click="back">退出大厅<i class="el-icon-right"></i></el-button>
</div>
</div>
<!--确认开标窗口 -->
......@@ -92,7 +106,7 @@ export default {
},
data() {
return {
isMessge: true,
isMessge: false,
pageObj: {
size: 10,
total: 1000,
......@@ -146,23 +160,14 @@ export default {
isOpenbid: false,
buttonWords: '立即开标',
openbidButton: false,
halList: [{
time: '17:56:56',
role: '招标人',
person: '谢天',
behavior: '进入开标大厅'
},
{
time: '17:56:56',
role: '投标人',
person: '测试1',
behavior: '确认可开标'
}
],
halList: [],
minutes: '',
seconds: '',
currentTime: '',
breads: ['招标管理', '招标项目管理', '工作台']
breads: ['招标管理', '招标项目管理', '工作台'],
websock: null,
content:"",
dialogueList:[]
}
},
mounted() {
......@@ -176,8 +181,14 @@ export default {
let currentTime = getTime()
this.currentTime = currentTime
}, 1000)
// websocket
this.createWebSocket()
},
methods: {
back(){
this.$router.go(-1)
},
// 计算分秒倒计时
add: function() {
var _this = this
......@@ -219,13 +230,63 @@ export default {
}
}
})
}
}
},
// websocket
createWebSocket() {
// 注意这里的端口号是后端服务的端口号,后面的是后端正常请求的路径,ziyuan是我的项目名,最后面的是我放在cookie中的当前登陆用户
let token=localStorage.getItem("token")
this.websocket = new WebSocket('ws://192.168.3.35:8085/webSocket/' + token )
// 连接成功时
this.websocket.onopen = () => {
}
this.websocket.onmessage = event => {
// 后端发送的消息在event.data中
console.log(event.data)
this.halList.push(event.data)
}
this.websocket.onclose = function () {
console.log('关闭了')
}
// 路由跳转时结束websocket链接
this.$router.afterEach(function () {
this.websocket.close()
})
// 监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常
window.onbeforeunload = function () {
this.websocket.close()
}
},
send(){
let content=this.content;
this.websocket.send(content)
// this.content=""
// let message={}
// message.content=content
// message.time=getTime();
// message.name=JSON.parse(localStorage.getItem("userInfo")).name;
// this.dialogueList.push(message)
}
},
}
</script>
<style scoped>
.dialogue{
position: absolute;
top:10%;
right: 10%;
}
.dialogue>.dialogueList{
border: 1px solid #DCDFE6;
width: 247px;
height: 300px;
overflow:auto;
}
.hal{
position: relative;
}
.buttons {
margin: 100px 0;
}
......@@ -264,7 +325,8 @@ export default {
border: 1px solid #000;
margin: 0 50px;
box-sizing: border-box;
padding: 30px
padding: 30px;
overflow:auto
}
.hal-center>ul>li {
......@@ -289,6 +351,7 @@ export default {
.hal-left h1 {
margin-bottom: 50px;
/* letter-spacing:5px */
font-size: 24px;
}
.bid-message {
......
......@@ -3,7 +3,7 @@
<div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<el-button class="absolute" type="primary" @click="release">发布变更公告</el-button>
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" :table-top="60">
<dataTable :columns="columns" :table-top="60" url="notice/list" :page-obj="pageObj">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope">
<el-button v-if="scope.row.auditStatus===2" type="text" size="small" @click="handleModify(scope.row.id)">修改 </el-button>
......@@ -16,11 +16,11 @@
</template>
<script>
import {
changeList
} from '@api/purchaser/bid'
// import {
// changeList
// } from '@api/purchaser/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import dataTable from '@components/nopageTable.vue'
import dataTable from '@components/dataTable.vue'
export default {
components: {
dataTable,
......@@ -28,6 +28,14 @@ export default {
},
data() {
return {
pageObj: {
size: 10,
currentPage: 1,
type:"CHANGE",
func: (currentPage) => {
this.pageTurning(currentPage)
}
},
projectId: 2,
breads: ['招标管理 ', '招标项目管理', '工作台'],
tableData: [],
......@@ -55,7 +63,7 @@ export default {
}
},
created() {
this.getchangeList()
this.pageObj.projectId=localStorage.getItem("projectId")
},
methods: {
handleModify(id) {
......@@ -72,7 +80,7 @@ export default {
handleSee(id) {
this.$router.push(`/purchaser/bid/bidStage/changeList/see?id=${id}`)
},
async getchangeList() {
/* async getchangeList() {
try {
let projectId=localStorage.getItem("projectId");
const {
......@@ -94,7 +102,7 @@ export default {
} catch (e) {
console.log(e)
}
}
} */
}
}
</script>
......
......@@ -248,7 +248,7 @@ export default {
}
.clear-item>div:last-child {
width: 200px;
}
......
......@@ -3,7 +3,7 @@
<div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<el-button class="absolute" type="primary" @click="release">发布流标公告</el-button>
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false" :table-top="60">
<dataTable :table-data="tableData" :columns="columns" url="notice/list" :table-top="60" :page-obj="pageObj">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope">
<el-button v-if="scope.row.auditStatus===2" type="text" size="small" @click="handleModify(scope.row.id)">修改 </el-button>
......@@ -16,30 +16,33 @@
</template>
<script>
import {
abortiveList
} from '@api/purchaser/bid'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import dataTable from '@components/nopageTable.vue'
import dataTable from '@components/dataTable.vue'
export default {
name: 'bidingList',
components: {
dataTable,
dataBreadcrumb
},
data() {
return {
pageObj: {
size: 10,
currentPage: 1,
type:"ABORTIVE",
func: (currentPage) => {
this.pageTurning(currentPage)
}
},
projectId: 2,
breads: ['招标管理 ', '招标项目管理', '工作台'],
tableData: [],
columns: [{
label: '公告名称',
prop: 'name',
width: 500
prop: 'title'
},
{
label: '创建时间',
prop: 'data',
prop: 'createTime',
sortable: true
},
{
......@@ -53,12 +56,12 @@ export default {
{
slot: 'operate'
}
] // 操作列
] /// 操作列
}
},
created() {
this.getabortiveList()
this.pageObj.projectId=localStorage.getItem("projectId")
},
methods: {
handleModify(id) {
......@@ -75,29 +78,29 @@ export default {
handleSee(id) {
this.$router.push(`/purchaser/bid/bidStage/failList/see?id=${id}`)
},
async getabortiveList() {
try {
let projectId=localStorage.getItem("projectId");
const {
data,
code
} = await abortiveList(projectId)
if (code === 200) {
for (let item of data) {
if (item.auditStatus === 0) {
item.Status = '未审核'
} else if (item.auditStatus === 1) {
item.Status = '审核通过'
} else {
item.Status = '未通过'
}
}
this.tableData = data
}
} catch (e) {
console.log(e)
}
}
// async getabortiveList() {
// try {
// let projectId=localStorage.getItem("projectId");
// const {
// data,
// code
// } = await abortiveList(projectId)
// if (code === 200) {
// for (let item of data) {
// if (item.auditStatus === 0) {
// item.Status = '未审核'
// } else if (item.auditStatus === 1) {
// item.Status = '审核通过'
// } else {
// item.Status = '未通过'
// }
// }
// this.tableData = data
// }
// } catch (e) {
// console.log(e)
// }
// }
}
}
</script>
......
......@@ -16,7 +16,7 @@
<singleUpload tip="支持扩展名:.rar .zip .doc .docx .pdf .jpg..." @input="getfile"></singleUpload>
</el-form-item>
<el-form-item label="公告内容" prop="content">
<quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" style="width: 90%;height: 250px;" />
<quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" />
</el-form-item>
</el-form>
<div class="button">
......
<!-- 标书费 缴纳 -->
<template>
<div >
<div class="content">
<dataTable :columns="columns" :page-obj="pageObj" :breads="breads" url="/tender-bidbook/operation">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope">
<div v-if="scope.row.condition=='已缴纳'||scope.row.condition=='待修改'">
<el-button type="text" size="small" @click="handleSee">查看</el-button>
</div>
<div v-if="scope.row.condition=='待审核'">
<el-button type="text" size="small" @click="handleExamine">审核</el-button>
</div>
</template>
</el-table-column>
</dataTable>
</div>
</div>
<div>
<div class="content">
<dataTable :columns="columns" :page-obj="pageObj" :breads="breads" url="/tender-bidbook/operation">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope">
<div v-if="scope.row.condition=='已缴纳'||scope.row.condition=='待修改'">
<el-button type="text" size="small" @click="handleSee(scope.row.feeId)">查看</el-button>
</div>
<div v-if="scope.row.condition=='未审核'">
<el-button type="text" size="small" @click="handleExamine(scope.row.feeId)">审核</el-button>
</div>
</template>
</el-table-column>
</dataTable>
</div>
</div>
</template>
<script>
import dataTable from '@components/dataTable.vue'
export default {
components: {
dataTable
},
data() {
return {
breads: ['招标管理', '招标项目管理 ', '工作台'],
columns: [{
label: '单位名称',
prop: 'companyName'
},
{
label: '投标项目',
prop: 'projectName'
},
{
label: '提交审核时间',
prop: 'updateTime'
},
{
label: '缴费情况',
prop: 'condition'
},
{
slot: 'operate'
}
], // 操作列
pageObj: {
size: 10,
currentPage: 1
}
}
},
created() {
this.pageObj.projectId = 2
},
methods: {
handleExamine() {
this.$router.push('/purchaser/bid/bidStage/tenderFeelist/detail?type=examine')
},
handleSee() {
this.$router.push('/purchaser/bid/bidStage/tenderFeelist/detail?type=see')
},
}
}
import dataTable from '@components/dataTable.vue'
export default {
components: {
dataTable
},
data() {
return {
breads: ['招标管理', '招标项目管理 ', '工作台'],
columns: [{
label: '单位名称',
prop: 'companyName'
},
{
label: '投标项目',
prop: 'projectName'
},
{
label: '提交审核时间',
prop: 'updateTime'
},
{
label: '缴费情况',
prop: 'condition'
},
{
slot: 'operate'
}
], // 操作列
pageObj: {
size: 10,
currentPage: 1
}
}
},
created() {
this.pageObj.projectId = 2
},
methods: {
handleExamine(feeId) {
this.$router.push({
path: "/purchaser/bid/bidStage/tenderFeelist/detail",
query: {
type: "examine",
feeId: feeId
}
})
},
handleSee(feeId) {
this.$router.push({
path: "/purchaser/bid/bidStage/tenderFeelist/detail",
query: {
type: "see",
feeId: feeId
}
})
},
}
}
</script>
<style scoped>
</style>
......@@ -136,10 +136,18 @@ export default {
try {
const valid = await this.$refs['ruleForm'].validate()
if (valid) {
const { code,msg } = await contract(this.ruleForm);
if (code === 2000) {
this.$success.success(msg)
}
this.$message({
message: "成功",
type: 'success',
duration:1500
})
setTimeout(()=>{
this.$router.go(-1)
},1500)
// const { code,msg } = await contract(this.ruleForm);
// if (code === 200) {
// this.$success.success(msg)
// }
}
} catch (e) {
console.log(e)
......
......@@ -35,7 +35,7 @@
</el-input>
</div>
<div class="button flex-center">
<el-button>返回</el-button>
<el-button @click="back">返回</el-button>
<el-button type="primary" @click="submitData">完成</el-button>
</div>
</div>
......@@ -88,12 +88,14 @@ export default {
this.getcandidate()
},
methods: {
back(){
this.$router.go(-1)
},
examine() {
this.$router.push('/admin/bid/bidingDetail')
},
check(index){
console.log(index);
console.log(this.tableData)
},
// 获取中标人列表
async getcandidate() {
......@@ -103,7 +105,12 @@ export default {
data,
code
} = await candidate(projectId)
if (code===0) {
if (code===200) {
for(let item of data){
item.companyName="杭州光海科技有限公司"
item.contacts="松江"
item.phone="77581633272"
}
this.tableData = data
}
} catch (e) {
......@@ -112,19 +119,27 @@ export default {
},
// 提交中标人
async submitData() {
try {
let data={}
data.projectId=localStorage.getItem("projectId");
const {
msg,
code
} = await winnerSave()
if (code === 200) {
this.$message.success(msg);
}
} catch (e) {
console.log(e)
}
this.$message({
message: "提交完成",
type: 'success',
duration:1500
})
setTimeout(()=>{
this.$router.go(-1)
},1500)
// try {
// let data={}
// data.projectId=localStorage.getItem("projectId");
// const {
// msg,
// code
// } = await winnerSave()
// if (code === 200) {
// this.$message.success(msg);
// }
// } catch (e) {
// console.log(e)
// }
}
}
}
......
<template>
<div>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>发布中标公告</h3>
<h5>发布中标公告<</h5> </div> <div class="content">
<div class="message">
<div class="flex-between">
<div>项目编号:3456789567222</div>
<div>项目名称:测试4567890</div>
</div>
<div class="flex-between">
<div class="flex">
<div class="adjustment">上传附件:</div>
<singleUpload tips="支持上传1个附件,不超过20M"></singleUpload>
</div>
<div>发布媒体:捷安采官网</div>
</div>
<div class="flex-item">
<div style="width: 50px;">备注:</div>
<el-input :rows="4" v-model="remark" type="remark" placeholder="请输入备注">
</el-input>
</div>
</div>
<div class="form">
<h3>确定中标人</h3>
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="200">
<template slot-scope="scope">
<el-button type="text" size="small" @click="edit(scope.row)">输入中标价</el-button>
</template>
</el-table-column>
</dataTable>
<h3 style="margin-top:30px">中标公告内容</h3>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
<el-form-item label="公告标题" prop="title">
<el-input v-model="ruleForm.title"></el-input>
</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">
<quill-editor ref="text" v-model="form.content" :options="editorOption" class="myQuillEditor" style="width: 90%;height: 250px;" />
</el-form-item>
</el-form>
</div>
<div class="button flex-center">
<el-button>返回</el-button>
<el-button type="primary">完成</el-button>
</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>
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<h3>发布中标公告</h3>
<h5>发布中标公告</h5>
</div>
<div class="content">
<div class="message">
<div class="flex-between">
<div>项目编号:3456789567222</div>
<div>项目名称:测试4567890</div>
</div>
<div class="flex-between">
<div class="flex">
<div class="adjustment">上传附件:</div>
<singleUpload tips="支持上传1个附件,不超过20M"></singleUpload>
</div>
<div>发布媒体:捷安采官网</div>
</div>
<div class="flex-item">
<div style="width: 50px;">备注:</div>
<el-input :rows="4" v-model="remark" type="remark" placeholder="请输入备注">
</el-input>
</div>
</div>
<div class="form">
<h3>确定中标人</h3>
<dataTable :table-data="tableData" :columns="columns" :is-pageobj="false">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="200">
<template slot-scope="scope">
<el-button type="text" size="small" @click="edit(scope.row)">输入中标价</el-button>
</template>
</el-table-column>
</dataTable>
<h3 style="margin-top:30px">中标公告内容</h3>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
<el-form-item label="公告标题" prop="title">
<el-input v-model="ruleForm.title"></el-input>
</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">
<quill-editor ref="text" v-model="form.content" :options="editorOption" class="myQuillEditor" />
</el-form-item>
</el-form>
</div>
<div class="button flex-center">
<el-button>返回</el-button>
<el-button type="primary">完成</el-button>
</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>
</template>
<script>
import {
quillEditor
} from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
import dataTable from '@components/dataTable.vue'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import singleUpload from '@components/Upload/singleUpload.vue'
export default {
components: {
dataTable,
dataBreadcrumb,
singleUpload,
quillEditor
},
data() {
return {
ruleForm: {
title: '',
content: ''
},
rules: {
title: [{
required: true,
message: '请填写标题',
trigger: 'blue'
}],
content: [{
required: true,
message: '请填写内容',
trigger: 'blue'
}]
},
form: {
price: ''
},
dialogFormVisible: false,
remark: '',
breads: ['招标管理', '招标项目管理', '工作台'],
tableData: [{
bidPerson: '杭州市西湖区古荡湾',
price: '100.00'
}],
columns: [{
label: '中标人',
prop: 'bidPerson'
},
{
label: '中标价(元)',
prop: 'price'
},
{
slot: 'operate'
}
] //
}
},
methods: {
edit(row) {
this.dialogFormVisible = true
this.form = row
}
}
import {
quillEditor
} from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
import dataTable from '@components/dataTable.vue'
import dataBreadcrumb from '@components/dataBreadcrumb.vue'
import singleUpload from '@components/Upload/singleUpload.vue'
export default {
components: {
dataTable,
dataBreadcrumb,
singleUpload,
quillEditor
},
data() {
return {
ruleForm: {
title: '',
content: ''
},
rules: {
title: [{
required: true,
message: '请填写标题',
trigger: 'blue'
}],
content: [{
required: true,
message: '请填写内容',
trigger: 'blue'
}]
},
form: {
price: ''
},
dialogFormVisible: false,
}
remark: '',
breads: ['招标管理', '招标项目管理', '工作台'],
tableData: [{
bidPerson: '杭州市西湖区古荡湾',
price: '100.00'
}],
columns: [{
label: '中标人',
prop: 'bidPerson'
},
{
label: '中标价(元)',
prop: 'price'
},
{
slot: 'operate'
}
] //
}
},
methods: {
edit(row) {
this.dialogFormVisible = true
this.form = row
}
}
}
</script>
......@@ -150,6 +152,6 @@ export default {
.button {
width: 100%;
height: 50px;
margin-top: 100px;
margin-top: 100px;
}
</style>
......@@ -32,7 +32,7 @@
</el-form>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
<el-form-item label="公告内容" prop="content">
<quill-editor ref="text" v-model="form.content" :options="editorOption" class="myQuillEditor" style="width: 90%;height: 250px;" />
<quill-editor ref="text" v-model="form.content" :options="editorOption" class="myQuillEditor" />
</el-form-item>
</el-form>
</div>
......
......@@ -37,7 +37,7 @@
<div style="margin-top:100px">
<div class="flex-between">
<h5>评审信息</h5>
<el-button type="primary" size="small">澄清质询查看</el-button>
<el-button type="primary" size="small" @click='jump'>澄清质询查看</el-button>
</div>
<dataTable :table-data="review" :columns="reviewTitle" :is-index="true">
<el-table-column slot="operate" label="资格审查" align="center" fixed="right">
......@@ -82,7 +82,7 @@
</ul>
</div>
<div class="button">
<el-button>返回</el-button>
<el-button @click="back">返回</el-button>
<el-button @click="fail">流标</el-button>
<el-button type="primary">评标结束</el-button>
</div>
......@@ -172,6 +172,12 @@ export default {
this.getCompanyEvaluatec()
},
methods: {
back(){
this.$router.go(-1)
},
jump(){
this.$router.push('/purchaser/bid/bidEvaluation/review/clear')
},
examine() {
this.$router.push('/admin/bid/bidingDetail')
},
......@@ -186,7 +192,7 @@ export default {
data,
code
} = await CompanyEvaluatec(projectId)
if (code === 0) {
if (code === 200) {
this.review = data
}
} catch (e) {
......@@ -201,7 +207,7 @@ export default {
data,
code
} = await companyRank(projectId)
if (code === 0) {
if (code === 200) {
this.rank = data
}
......
......@@ -66,7 +66,7 @@ export default {
this.getsentBookList();
},
methods: {
examine() {
edit() {
this.$router.push('/purchaser/bid/bidSure/winBid/edit')
},
back() {
......@@ -77,9 +77,20 @@ export default {
let projectId=localStorage.getItem("projectId");
const {
data,
code
code
} = await sentBookList(projectId)
if (code === 0) {
if (code === 200) {
for(let item of data){
item.bidder="杭州光海科技有限公司"
item.receiver="杭州泰基科技有限公司"
if(item.status==0){
item.state="未审核"
}else if(item.status==1){
item.state="审核通过"
}else{
item.state="未审核"
}
}
this.tableData = data
}
} catch (e) {
......
......@@ -3,10 +3,7 @@
<div class="describe">上传招标文件</div>
<div class="padding">
<div class="details">
<div class="flex-between">
<div>项目编号:ZBXM45678906789</div>
<div>项目名称:河道清淤</div>
</div>
<!-- <div class="flex">
<div class="correct">*文件名称</div>
<el-input v-model="bidBookPO" style="width: 50%;" placeholder="请输入" clearable>
......
......@@ -16,8 +16,8 @@
<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" style="width: 90%;height: 250px;" />
<!-- <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>
......
......@@ -10,9 +10,9 @@
<div>
<div class="describe">基本信息</div>
<div class="form">
<div class="flex-between" style="width:40%;margin-bottom: 20px;">
<div>项目编号:ZBXM3456789056789</div>
<div>项目名称:大运河清淤</div>
<div class="flex-between" style="width:100%;margin-bottom: 20px;">
<div>项目编号:{{projectCode}}</div>
<div>项目名称:{{projectName}}</div>
</div>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm">
<el-form-item label="询价公告名称" prop="title">
......@@ -20,7 +20,6 @@
</el-form-item>
<el-form-item label="询价所在地" prop="address">
<citySelect @sendprovinceId="getprovinceId" @sendcityId="getcityId" @senddistrictId="getdistrictId"></citySelect>
</el-form-item>
<div class="flex-between" style="width:60%">
<el-form-item label="询价单编号" prop="inquiryCode">
......@@ -71,9 +70,9 @@
<div>
<div class="describe">基本信息</div>
<div class="form">
<div class="flex-between" style="width:40%;margin-bottom: 20px;">
<div>项目编号:ZBXM3456789056789</div>
<div>项目名称:大运河清淤</div>
<div class="flex-between" style="width:100%;margin-bottom: 20px;">
<div>项目编号:{{projectCode}}</div>
<div>项目名称:{{projectName}}</div>
</div>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="150px" class="demo-ruleForm">
<el-form-item label="供应商规格要求" prop="supplierScale">
......@@ -291,6 +290,8 @@ export default {
console.log(data);
this.ruleForm.stateTime=data;
this.ruleForm.endTime=data;
this.projectCode=localStorage.getItem("projectCode")
this.projectName=localStorage.getItem("projectName")
},
methods: {
......
......@@ -16,7 +16,7 @@
<singleUpload tip="支持扩展名:.rar .zip .doc .docx .pdf .jpg..." @input="getfile"></singleUpload>
</el-form-item>
<el-form-item label="公告内容" prop="content">
<quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" style="width: 90%;height: 250px;" />
<quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" />
</el-form-item></el-form>
</div>
......
......@@ -10,7 +10,8 @@
<div>{{ item.title }}</div>
<ul class="inside flex">
<li v-for="(mods,index) in item.modulars" :key="index" class="flex-center">
<div :class="[mods=='项目信息'||mods=='项目终止'?'active':'']">{{ mods }}</div>
<!-- <div :class="[mods=='项目信息'||mods=='项目终止'?'active':'']">{{ mods }}</div> -->
<div class="active" @click="jump(mods.label,mods.url)">{{ mods.label }}</div>
</li>
</ul>
</li>
......@@ -34,45 +35,123 @@ export default {
navs: ['工作台'],
states: [{
title: '公告',
modulars: ['变更公告管理', '流标公告管理']
},
modulars:[{
label:"变更公告管理",
url:"/purchaser/bid/bidStage/changeList"
},
{
label:"流标公告管理",
url:"/purchaser/bid/bidStage/failList"
}]
},
{
title: '招标',
// modulars:[{
// label:"项目信息",
// url:"/purchaser/bid/bidStage/clearManagement"
// },
modulars: ['项目信息', '发布询价公告', '发布招标公告', '投标邀请书', '招标文件澄清管理']
modulars:[
{
label:"发布询价公告",
url:"/purchaser/bid/reviewed/inquiryAnnouncement"
},
{
label:"发布招标公告",
url:"/purchaser/bid/reviewed/tenderAnnouncement"
},
{
label:"投标邀请书",
url:"/purchaser/bid/reviewed/bidInvitation"
},
{
label:"招标文件澄清管理",
url:"/purchaser/bid/bidStage/clearManagement"
}]
},
{
title: '投标',
modulars: ['投标信息查看']
modulars: [{
label:"投标信息查看",
url:"/purchaser/bid/bidStage/tenderInformationlist"
}]
},
{
title: '开标',
modulars: ['开标设置', '开标大厅']
modulars: [{
label:"开标设置",
url:"/purchaser/bid/bidStage/bidSet"
},
{
label:"开标大厅",
url:"/purchaser/bid/bidOpen/bidOpenhal"
}]
},
{
title: '评标',
modulars: ['评标']
}, {
modulars: [{
label:"评标查看",
url:"/purchaser/bid/bidSure/see"
}]
},
{
title: '定标',
modulars: ['确定中标人', '重新确定中标人', '中标候选人公示', '中标公告', '中标通知书处理', '合同管理']
modulars: [{
label:"确定中标人",
url:"/purchaser/bid/bidSure/determine"
},
{
label:"重新确定中标人",
url:"/purchaser/bid/bidSure/determine"
},
{
label:"中标候选人公示",
url:"/purchaser/bid/bidSure/publicity"
},
{
label:"中标公告",
url:"/purchaser/bid/bidSure/notice"
},
{
label:"中标通知书处理",
url:"/purchaser/bid/bidSure/winBid/list"
},
{
label:"合同管理",
url:"/purchaser/bid/bidSure/contract"
}]
},
{
title: '费用',
modulars: ['标书费缴纳管理', '保证金缴纳管理']
modulars: [{
label:"标书费缴纳管理",
url:"/purchaser/bid/bidStage/tenderFeelist"
},
{
label:"保证金缴纳管理",
url:"/purchaser/bid/bidStage/bondList"
}]
},
{
title: '功能',
modulars: ['项目终止']
modulars: [{
label:"项目终止",
url:""
}]
}
]
}
},
methods: {
async jump(label,url){
console.log(label,url)
if(label=="项目终止"){
this.$confirm('确定要终止吗?', '提示', {
type: 'warning'
})
.then(() => {
this.$message.success('终止成功')
})
.catch(() => {})
}else{
this.$router.push(url)
}
}
}
}
</script>
......
......@@ -135,7 +135,7 @@ export default {
created(){
let token=getSearchString("token");
localStorage.setItem("token",token)
localStorage.setItem("companyId",2)
// localStorage.setItem("companyId",1)
},
methods: {
handleSee(row) {
......
<template>
<div>
<div class="content">
<dataTable :columns="columns" :page-obj="pageObj" :breads="breads" :checklist="checklist" url="/tender-management/bidder/list">
<dataTable :columns="columns" :breads="breads" :checklist="checklist" :pageObj="pageObj" url="/tender-management/bidder/list">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope">
<el-button type="text" size="small" @click="see(scope.row)">查看</el-button>
......@@ -32,7 +32,7 @@ export default {
},
{
label: '行业类型',
prop: 'industryType'
prop: 'industry'
},
{
label: '联系人',
......@@ -42,12 +42,9 @@ export default {
slot: 'operate'
}
], // 操作列
pageObj: {
size: 10,
total: 1,
currentPage: 1,
sizes: [10, 15, 20],
func: (currentPage) => {
this.pageTurning(currentPage)
}
......
<template>
<div>
<div class="content">
<dataTable :table-data="tableData" :columns="columns" :page-obj="pageObj" :breads="breads" :checklist="checklist">
<dataTable :columns="columns" :breads="breads" :checklist="checklist" :pageObj="pageObj" url="tender-management/relevance/bidder/list">
<el-table-column slot="operate" label="操作" align="center" fixed="right" width="100">
<template slot-scope="scope">
<el-button type="text" size="small" @click="see(scope.row)">查看</el-button>
......@@ -11,7 +11,6 @@
</div>
</div>
</template>
<script>
import dataTable from '@components/dataTable.vue'
export default {
......@@ -48,22 +47,22 @@ export default {
slot: 'operate'
}
], // 操作列
pageObj: {
size: 10,
total: 1,
currentPage: 1,
sizes: [100, 200, 300],
func: (currentPage) => {
this.pageTurning(currentPage)
}
}
pageObj: {
size: 10,
currentPage: 1,
func: (currentPage) => {
this.pageTurning(currentPage)
}
}
}
},
methods: {
see() {
this.$router.push('/purchaser/supply/allSupplySee')
}
},
created() {
this.pageObj.companyId=localStorage.getItem("companyId")
}
}
</script>
......
......@@ -15,9 +15,8 @@
<singleUpload :limit="5" tip="最多上传5个文件,每个文件不超过100M。" @input="getfile"></singleUpload>
</el-form-item>
<el-form-item label="澄清问题内容" prop="content">
<quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" style="width: 90%;height: 250px;" />
<quill-editor ref="text" v-model="ruleForm.content" :options="editorOption" class="myQuillEditor" />
</el-form-item>
</el-form>
<div class="button">
<el-button @click="cancle">取消</el-button>
......
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