Commit 13d85ab4 authored by zhangdong's avatar zhangdong

工作台卡片和开标大厅提示

parent 1a56804e
......@@ -266,6 +266,14 @@ export function noticeAbortive(id) {
// 2.1.4
//开标大厅
// 获取参与开标的公司数量
export function getTenderPeople(projectId) {
return request({
url: `open-bid/getTenderPeoples/${projectId}`,
method: 'get',
})
}
// 开标一览表
export function openInfo(projectId) {
return request({
......
......@@ -22,7 +22,8 @@ a {
.content-box {
min-width: 1000px;
min-width: 1200px;
/* width:1670px; */
position: absolute;
left: 250px;
right: 0;
......
......@@ -205,7 +205,8 @@ import {
openbidFailed,
bidFaileddetail,
bidFinish,
issueopenInfo
issueopenInfo,
getTenderPeople
} from '@api/purchaser/bid';
import dataBreadcrumb from '@components/dataBreadcrumb.vue';
import timeDown from '@components/timeDown.vue';
......@@ -321,6 +322,7 @@ export default {
this.userName = JSON.parse(localStorage.getItem('userInfo')).name;
// this.gettimeInfo();
this.getsigndetail();
this.tips()
this.myId = JSON.parse(localStorage.getItem('userInfo')).userId;
this.pageObj.companyId = localStorage.getItem('companyId');
this.pageObj.projectId = localStorage.getItem('projectId');
......@@ -339,6 +341,19 @@ export default {
}, 5000);
},
methods: {
async tips() {
let projectId = localStorage.getItem('projectId');
try {
const { data } = await getTenderPeople(projectId);
this.$alert(`参与的开标公司数量:${data}个`, `开标提示`, {
confirmButtonText: '知道了',
callback: (action) => {
if (action === 'confirm') {
}
}
});
} catch {}
},
openInfo() {
this.isopenInfo = true;
this.getopenInfo();
......@@ -491,9 +506,9 @@ export default {
let localTime = new Date().getTime();
// 解密时间
let comparyTime = this.storagedecodeTime - (localTime - data.openBidTime) / 1000;
if(data.issueTable){
if (data.issueTable) {
// 签名时间
this.signatureTime = this.storagesignatureTime - (localTime - data.openBidTime) / 1000+this.storagedecodeTime;
this.signatureTime = this.storagesignatureTime - (localTime - data.openBidTime) / 1000 + this.storagedecodeTime;
}
if (data.openStatus == 2) {
console.log(this.storagedecodeTime, '..............');
......@@ -503,7 +518,6 @@ export default {
} else {
console.log('小于');
this.endbidButton = true;
}
}
}
......@@ -588,13 +602,6 @@ export default {
},
// 开标提示
confirm() {
// this.$alert('请立即开标', '请立即开标', {
// confirmButtonText: '知道了',
// callback: (action) => {
// if (action === 'confirm') {
// }
// }
// });
this.isOpenbid = true;
this.getstartInfo();
},
......
......@@ -3,8 +3,15 @@
<div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<changeNav :navs="navs"></changeNav>
<div class="flex-between" style="width:93%">
<h1>项目状态:{{ remark }}</h1>
<div class="flex state">
<div class="view flex">
<div v-for="(item,index) in views" :key="index" :class="viewIdx==index?'active':''" @click="viewChange(index)">
{{item}}
</div>
</div>
</div>
<div class="flex state" v-show="viewIdx==1">
<ul class="flex-left">
<li v-for="(item, index) in states" :key="index" class="flex">
<div>{{ item.title }}</div>
......@@ -15,11 +22,26 @@
</ul>
</li>
</ul>
<!-- <ul class="flex">
<li v-for="(item,index) in states" :key="index">
<el-button type="primary" @click="jump(item.button,item.uri)">{{ item.button }}</el-button>
</div>
<div class="flex state" v-show="viewIdx==0">
<ul class="flex-left flex">
<img src="@static/images/arrow.png" alt="" class="arrow abs1">
<img src="@static/images/arrow.png" alt="" class="arrow abs2">
<img src="@static/images/arrow.png" alt="" class="arrow abs3">
<img src="@static/images/arrow.png" alt="" class="arrow abs4">
<img src="@static/images/arrow.png" alt="" class="arrow abs5">
<img src="@static/images/arrow.png" alt="" class="arrow abs6">
<img src="@static/images/arrow.png" alt="" class="arrow abs7">
<li v-for="(item, index) in states1" :key="index" class="card" style="margin-bottom:50px">
<div class="card-title">{{ item.title }}</div>
<ul class="inside flex-between card-item">
<li v-for="(mods, index) in item.modulars" :key="index" class="flex-center">
<div :class="mods.bright ? 'active' : ''" @click="jump(mods)">{{ mods.label }}</div>
</li>
</ul>
</li>
</ul> -->
</ul>
</div>
<div class="centerButton">
<el-button type="primary" @click="back">返回</el-button>
......@@ -40,6 +62,8 @@ export default {
},
data() {
return {
viewIdx:0,
states1:[],
states: [
{
title: '公告',
......@@ -176,7 +200,7 @@ export default {
label: '发布招标结果通知书',
url: '/purchaser/bid/bidSure/bidResult/list',
bright: false
},
}
// {
// id: 19,
// label: '合同管理',
......@@ -217,10 +241,14 @@ export default {
breads: ['招标管理', '招标项目管理 ', '工作台'],
navs: ['工作台'],
remark: '',
buttonList: []
buttonList: [],
views:["卡片试图","列表试图"]
};
},
methods: {
viewChange(index){
this.viewIdx=index
},
geturl(url, status) {
let newUrl = '';
if (status == 0) {
......@@ -282,7 +310,7 @@ export default {
message.type = 1;
const { data, msg, code } = await projectConsole(message);
if (code == 200) {
let states=this.states
let states = this.states;
for (let item of states) {
for (let item1 of item.modulars) {
for (let item2 of data) {
......@@ -306,7 +334,7 @@ export default {
} else if (item2.buttonId == 15 && item2.status == 2) {
item1.url = '/purchaser/bid/bidSure/determine?type=2';
item1.label = '查看中标人';
}else {
} else {
item1.url = this.geturl(item1.url, item2.status);
item1.label = this.getlabel(item1.label, item2.status);
}
......@@ -314,8 +342,9 @@ export default {
}
}
}
this.states=states
console.log(this.states)
this.states = states;
[ states[3], states[5]] = [ states[5], states[3]];
this.states1=states
this.remark = data[0].remark;
} else {
this.$message.error(msg);
......@@ -340,14 +369,21 @@ export default {
.state > ul {
flex-wrap: wrap;
}
.state > ul > .card {
width: 400px;
height: 260px;
box-sizing: border-box;
padding:0 30px;
margin-bottom:100px;
margin-right: 100px;
}
.state > ul > li {
margin-right: 50px;
border:1px solid #DADADA
border: 1px solid #dadada;
}
.flex-left{
position: relative;
}
.flex-left > li {
font-weight: bold;
font-size: 20px;
......@@ -357,8 +393,12 @@ export default {
.flex-left > li > div {
margin-right: 30px;
padding:0 30px;
border-right: 1px solid #DADADA;
padding: 0 30px;
border-right: 1px solid #dadada;
}
.flex-left > li > .ca0rd-title {
text-align: center;
border-right: none;
}
.inside > li > div {
......@@ -375,4 +415,75 @@ export default {
.inside > li > .active {
background: #ff5203;
}
.flex-left > li>.card-title{
text-align: center;
border-right: none;
}
.card-item{
flex-wrap: wrap;
}
.card-item>li{
margin-bottom: 15px;
}
.card-item>li>div{
margin-right:0
}
.arrow{
width:60px;
height:60px;
}
.abs1 {
position: absolute;
top: 100px;
left: 420px
}
.abs2 {
position: absolute;
top: 100px;
left: 920px;
}
.abs3 {
position: absolute;
top: 280px;
left: 1170px;
transform: rotate(90deg);
}
.abs4 {
position: absolute;
top: 450px;
left: 420px;
transform: rotate(180deg);
}
.abs5 {
position: absolute;
top: 450px;
left:920px;
transform: rotate(180deg);
}
.abs6 {
position: absolute;
top: 640px;
left: 170px;
transform: rotate(90deg);
}
.abs7 {
position: absolute;
top: 820px;
left: 420px;
}
.view>div{
width:100px;
height:40px;
border:1px solid #000;
line-height: 40px;
font-size:16px;
text-align: center;
}
.view>.active{
background: #ccc;
}
/* 切换 */
</style>
......@@ -3,8 +3,15 @@
<div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<changeNav :navs="navs"></changeNav>
<div class="flex-between" style="width: 93%">
<h1>项目状态:{{ remark }}</h1>
<div class="flex state">
<div class="view flex">
<div v-for="(item, index) in views" :key="index" :class="viewIdx == index ? 'active' : ''" @click="viewChange(index)">
{{ item }}
</div>
</div>
</div>
<div class="flex state" v-show="viewIdx == 1">
<ul class="flex-left">
<li v-for="(item, index) in states" :key="index" class="flex">
<div>{{ item.title }}</div>
......@@ -15,11 +22,25 @@
</ul>
</li>
</ul>
<!-- <ul class="flex">
<li v-for="(item, index) in states" :key="index">
<el-button type="primary" @click="jump(item.button, item.uri)">{{ item.button }}</el-button>
</div>
<div class="flex state" v-show="viewIdx == 0">
<ul class="flex-left flex">
<img src="@static/images/arrow.png" alt="" class="arrow abs1" />
<img src="@static/images/arrow.png" alt="" class="arrow abs2" />
<img src="@static/images/arrow.png" alt="" class="arrow abs3" />
<img src="@static/images/arrow.png" alt="" class="arrow abs4" />
<img src="@static/images/arrow.png" alt="" class="arrow abs5" />
<img src="@static/images/arrow.png" alt="" class="arrow abs6" />
<li v-for="(item, index) in states1" :key="index" class="card" style="margin-bottom:50px">
<div class="card-title">{{ item.title }}</div>
<ul class="inside flex-between card-item">
<li v-for="(mods, index) in item.modulars" :key="index" class="flex-center">
<div :class="mods.bright ? 'active' : ''" @click="jump(mods)">{{ mods.label }}</div>
</li>
</ul>
</li>
</ul> -->
</ul>
</div>
<div class="centerButton">
<el-button type="primary" @click="back">返回</el-button>
......@@ -32,7 +53,7 @@
import { projectConsole } from '@api/purchaser/bid';
import dataBreadcrumb from '@components/dataBreadcrumb.vue';
import changeNav from '@components/changeNav.vue';
import {getBidOpening} from '@api/common/list.js'
import { getBidOpening } from '@api/common/list.js';
export default {
components: {
dataBreadcrumb,
......@@ -40,6 +61,7 @@ export default {
},
data() {
return {
states1: '',
breads: ['投标管理', '我参与的项目 ', '工作台'],
navs: ['工作台'],
states: [
......@@ -166,7 +188,7 @@ export default {
label: '招标结果通知书查看',
url: '/supply/bid/joinProject/bidSure/bidresultAdvice',
bright: false
},
}
// {
// id: 65,
// label: '合同管理',
......@@ -193,10 +215,15 @@ export default {
]
}
],
remark: ''
remark: '',
viewIdx: '',
views: ['卡片试图', '列表试图']
};
},
methods: {
viewChange(index) {
this.viewIdx = index;
},
back() {
this.$router.go(-1);
},
......@@ -226,19 +253,18 @@ export default {
async jump(mods) {
if (mods.bright) {
/* 参与开标状态 code为200 通行 code为500 返回一个信息 不通行 */
console.log(JSON.stringify(mods)+'11111111111111'+'2222222222')
console.log(JSON.stringify(mods) + '11111111111111' + '2222222222');
let projectId = localStorage.getItem("projectId")
if(mods.id==58){
const {data,code,msg} = await getBidOpening(projectId)
if(code==200){
this.$message.success(msg)
let projectId = localStorage.getItem('projectId');
if (mods.id == 58) {
const { data, code, msg } = await getBidOpening(projectId);
if (code == 200) {
this.$message.success(msg);
this.$router.push(mods.url);
}else{
this.$message.error(msg)
} else {
this.$message.error(msg);
}
}else{
} else {
this.$router.push(mods.url);
}
}
......@@ -265,11 +291,14 @@ export default {
item1.url = this.geturl(item1.url, item2.status);
item1.label = this.getlabel(item1.label, item2.status);
}
}
}
}
}
let states1 = this.states;
[states1[3], states1[5]] = [states1[5], states1[3]];
this.states1 = states1;
console.log(this.states1);
this.remark = data[0].remark;
} else {
this.$message.error(msg);
......@@ -294,12 +323,21 @@ export default {
.state > ul {
flex-wrap: wrap;
}
.state > ul > .card {
width: 400px;
height: 260px;
box-sizing: border-box;
padding: 0 30px;
margin-bottom: 100px;
margin-right: 100px;
}
.state > ul > li {
margin-right: 50px;
border: 1px solid #dadada;
}
.flex-left {
position: relative;
}
.flex-left > li {
font-weight: bold;
font-size: 20px;
......@@ -309,8 +347,12 @@ export default {
.flex-left > li > div {
margin-right: 30px;
padding:0 30px;
border-right: 1px solid #DADADA;
padding: 0 30px;
border-right: 1px solid #dadada;
}
.flex-left > li > .ca0rd-title {
text-align: center;
border-right: none;
}
.inside > li > div {
......@@ -327,4 +369,71 @@ export default {
.inside > li > .active {
background: #ff5203;
}
.flex-left > li > .card-title {
text-align: center;
border-right: none;
}
.card-item {
flex-wrap: wrap;
}
.card-item > li {
margin-bottom: 15px;
}
.card-item > li > div {
margin-right: 0;
}
.arrow {
width: 60px;
height: 60px;
}
.abs1 {
position: absolute;
top: 100px;
left: 420px
}
.abs2 {
position: absolute;
top: 100px;
left: 920px;
}
.abs3 {
position: absolute;
top: 280px;
left: 1170px;
transform: rotate(90deg);
}
.abs4 {
position: absolute;
top: 450px;
left: 420px;
transform: rotate(180deg);
}
.abs5 {
position: absolute;
top: 450px;
left:920px;
transform: rotate(180deg);
}
.abs6 {
position: absolute;
top: 640px;
left: 170px;
transform: rotate(90deg);
}
.abs7 {
position: absolute;
top: 820px;
left: 28%;
}
.view > div {
width: 100px;
height: 40px;
border: 1px solid #000;
line-height: 40px;
font-size: 16px;
text-align: center;
}
.view > .active {
background: #ccc;
}
</style>
......@@ -43,7 +43,7 @@ service.interceptors.response.use(
Message.error("登陆失效,请重新登录!")
localStorage.removeItem('token');
setTimeout(function () {
location.href = `${homeUrl}/login/user/`;
location.href = `${homeUrl}login/user/`;
}, 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