Commit c28e92e0 authored by zhangdong's avatar zhangdong

开吧大厅时间错开,设置开标时间状态,取消开标大厅弹窗

parent a6e51e9e
...@@ -172,6 +172,11 @@ export default { ...@@ -172,6 +172,11 @@ export default {
let url = this.url let url = this.url
const { code, data, total } = await getList(pageObj, url) const { code, data, total } = await getList(pageObj, url)
if (code === 200) { if (code === 200) {
for(let item of data){
if(item.endTime){
item.end=getTime1(item.endTime)
}
}
this.tableData = data this.tableData = data
this.total = total this.total = total
} }
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<timeDown :remain-time="decodeTime" @countDowmEnd="decodeTimeEnd"></timeDown> <timeDown :remain-time="decodeTime" @countDowmEnd="decodeTimeEnd"></timeDown>
</div> </div>
<!-- <div class="flex" v-show="signatureTime"> --> <!-- <div class="flex" v-show="signatureTime"> -->
<div class="flex" v-show="openStatus == 2"> <div class="flex" v-show="openStatus == 2&&endbidButton">
<p>签名倒计时:</p> <p>签名倒计时:</p>
<timeDown :remain-time="signatureTime" @countDowmEnd="signatureTimeEnd"></timeDown> <timeDown :remain-time="signatureTime" @countDowmEnd="signatureTimeEnd"></timeDown>
</div> </div>
...@@ -41,7 +41,9 @@ ...@@ -41,7 +41,9 @@
</ul> </ul>
</div> </div>
<div class="hal-right"> <div class="hal-right">
<el-button type="primary" @click="isdialogue"><i class="el-icon-chat-dot-round"></i>在线对话</el-button> <el-button type="primary" style="margin-left: 10px" @click="isdialogue"
><i class="el-icon-chat-dot-round"></i>在线对话</el-button
>
<el-button type="primary" @click="openInfo1" :disabled="!endbidButton" v-if="!issueTable">下发开标一览表</el-button> <el-button type="primary" @click="openInfo1" :disabled="!endbidButton" v-if="!issueTable">下发开标一览表</el-button>
<el-button type="primary" @click="openInfo" :disabled="!issueTable">查看开标一览表</el-button> <el-button type="primary" @click="openInfo" :disabled="!issueTable">查看开标一览表</el-button>
</div> </div>
...@@ -79,17 +81,8 @@ ...@@ -79,17 +81,8 @@
</div> </div>
<div> <div>
<!-- <el-button icon="el-icon-refresh" @click="refrsh">刷新</el-button> --> <!-- <el-button icon="el-icon-refresh" @click="refrsh">刷新</el-button> -->
<el-button <el-button v-if="openStatus == 1" type="primary" @click="confirm" :disabled="!openbidButton">立即开标</el-button>
v-if="openStatus == 1" <el-button v-if="openStatus == 2" type="primary" @click="end" :disabled="!endbidButton">结束开标</el-button>
type="primary"
@click="confirm"
style="margin-left: 10px"
:disabled="!openbidButton"
>立即开标</el-button
>
<el-button v-if="openStatus == 2" type="primary" @click="end" :disabled="!endbidButton"
>结束开标</el-button
>
</div> </div>
</div> </div>
</div> </div>
...@@ -415,9 +408,16 @@ export default { ...@@ -415,9 +408,16 @@ export default {
form.projectId = localStorage.getItem('projectId'); form.projectId = localStorage.getItem('projectId');
const { code, msg } = await openbidFailed(form); const { code, msg } = await openbidFailed(form);
if (code === 200) { if (code === 200) {
this.$message.success(msg); this.$message({
this.isfailInfo = false; message: msg,
this.isFailed = false; type: 'success',
duration: 1500
});
setTimeout(() => {
this.$router.push("/purchaser/bid/workbench")
}, 1500);
// this.isfailInfo = false;
// this.isFailed = false;
} else if (code === 500) { } else if (code === 500) {
this.$message.error(msg); this.$message.error(msg);
this.isfailInfo = false; this.isfailInfo = false;
...@@ -467,7 +467,9 @@ export default { ...@@ -467,7 +467,9 @@ export default {
} else { } else {
this.remaintime = remaintime; this.remaintime = remaintime;
} }
// 解密时间
this.storagedecodeTime = Number(data.decodeTime); this.storagedecodeTime = Number(data.decodeTime);
// 签名时间
this.storagesignatureTime = Number(data.signatureTime); this.storagesignatureTime = Number(data.signatureTime);
} else { } else {
this.$message({ this.$message({
...@@ -492,11 +494,11 @@ export default { ...@@ -492,11 +494,11 @@ export default {
console.log(comparyTime); console.log(comparyTime);
if (comparyTime > 0) { if (comparyTime > 0) {
this.decodeTime = comparyTime; this.decodeTime = comparyTime;
this.signatureTime = this.storagesignatureTime - (localTime - data.openBidTime) / 1000;
console.log('大于'); console.log('大于');
} else { } else {
console.log('小于'); console.log('小于');
this.endbidButton = true; this.endbidButton = true;
this.signatureTime = this.storagesignatureTime - (localTime - data.openBidTime) / 1000;
} }
} }
} }
...@@ -581,15 +583,15 @@ export default { ...@@ -581,15 +583,15 @@ export default {
}, },
// 开标提示 // 开标提示
confirm() { confirm() {
this.$alert('请立即开标', '请立即开标', { // this.$alert('请立即开标', '请立即开标', {
confirmButtonText: '知道了', // confirmButtonText: '知道了',
callback: (action) => { // callback: (action) => {
if (action === 'confirm') { // if (action === 'confirm') {
this.isOpenbid = true; // }
this.getstartInfo(); // }
} // });
} this.isOpenbid = true;
}); this.getstartInfo();
}, },
// websocket // websocket
createWebSocket() { createWebSocket() {
...@@ -656,7 +658,7 @@ export default { ...@@ -656,7 +658,7 @@ export default {
<style scoped> <style scoped>
ul { ul {
list-style-type: decimal!important; list-style-type: decimal !important;
} }
.time { .time {
height: 48px; height: 48px;
...@@ -702,8 +704,8 @@ ul { ...@@ -702,8 +704,8 @@ ul {
.buttons { .buttons {
margin: 100px 0; margin: 100px 0;
} }
.buttons>div{ .buttons > div {
margin-right:20px margin-right: 20px;
} }
.hal-left { .hal-left {
width: 198px; width: 198px;
...@@ -733,8 +735,8 @@ ul { ...@@ -733,8 +735,8 @@ ul {
width: 150px; width: 150px;
height: 500px; height: 500px;
} }
.hal-right>button{ .hal-right > button {
margin-bottom:16px margin-bottom: 16px;
} }
.hal-center { .hal-center {
......
<template> <template>
<div> <div>
<div class="content"> <div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb> <dataBreadcrumb :breads="breads"></dataBreadcrumb>
<changeNav :navs="navs"></changeNav> <changeNav :navs="navs"></changeNav>
<div class="set"> <div class="set">
<div class="flex-between"> <div class="flex-between">
<div>项目编号:{{projectCode}}</div> <div>项目编号:{{ projectCode }}</div>
<div>项目名称:{{projectName}}</div> <div>项目名称:{{ projectName }}</div>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<div>开标时间:{{openBidTime}}</div> <div>开标时间:{{ openBidTime }}</div>
<div>项目状态:{{projectStatus}}</div> <div>项目状态:{{ projectStatus }}</div>
</div> </div>
<div> <div>
<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">
<div class="flex-between"> <div class="flex-between">
<el-form-item label="解密时限" prop="decodeTime"> <el-form-item label="解密时限" prop="decodeTime">
<el-input v-model="ruleForm.decodeTime" style="width: 250px;" onkeyup="value=value.replace(/[^\d]/g,'')" placeholder="请输入分钟数"></el-input> <el-input
</el-form-item> v-model="ruleForm.decodeTime"
<el-form-item label="签名时限" prop="signatureTime"> style="width: 250px"
<el-input v-model="ruleForm.signatureTime" style="width: 250px;" onkeyup="value=value.replace(/[^\d]/g,'')" placeholder="请输入分钟数"></el-input> onkeyup="value=value.replace(/[^\d]/g,'')"
</el-form-item> placeholder="请输入分钟数"
</div> ></el-input>
<!-- <div> </el-form-item>
<el-form-item label="签名时限" prop="signatureTime">
<el-input
v-model="ruleForm.signatureTime"
style="width: 250px"
onkeyup="value=value.replace(/[^\d]/g,'')"
placeholder="请输入分钟数"
></el-input>
</el-form-item>
</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 options" :key="item.id" :label="item.name" :value="item.id">
...@@ -44,145 +54,147 @@ ...@@ -44,145 +54,147 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</div> --> </div> -->
</el-form> </el-form>
<div style="width:200px;margin:100px auto"> <div style="width: 200px; margin: 100px auto">
<el-button @click="cancle">取消</el-button> <el-button @click="cancle">取消</el-button>
<el-button type="primary" @click="submitData">保存</el-button> <el-button type="primary" @click="submitData">保存</el-button>
</div> </div>
</div>
</div>
</div> </div>
</div>
</div> </div>
</div>
</template> </template>
<script> <script>
import { bidsetting} from '@api/purchaser/bid' import { bidsetting, projectConsole } from '@api/purchaser/bid';
import { timeInfo} from '@api/supply/bid' import { timeInfo } from '@api/supply/bid';
import { opener,mamager} from '@api/common/list' import { opener, mamager } from '@api/common/list';
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 changeNav from '@components/changeNav.vue' import changeNav from '@components/changeNav.vue';
export default { export default {
components: { components: {
dataTable, dataTable,
changeNav, changeNav,
dataBreadcrumb dataBreadcrumb
},
data() {
return {
projectStatus:"",
options: [],
bidOpeners:[],
ruleForm: {
decodeTime: '',
signatureTime: '',
pereson: '选项2',
bidOpener: '',
supervisionerList: '',
delegaterList: ''
},
rules: {
signatureTime: [{
required: true,
message: '请输入时间',
trigger: 'blue'
}],
decodeTime: [{
required: true,
message: '请输入时间',
trigger: 'blue'
}],
bidOpener: [{
required: true,
message: '请输入',
trigger: 'change'
}]
},
navs: ['开标设置'],
breads: ['招标管理', '招标项目管理', '工作台'],
projectCode:"",
projectName:"",
openBidTime:""
}
},
created() {
this.projectCode=localStorage.getItem("projectCode")
this.projectName=localStorage.getItem("projectName")
this.projectStatus=localStorage.getItem("projectStatus")
this.getopener()
this.getmamager()
this.gettimeInfo()
},
methods: {
cancle() {
this.$router.go(-1)
}, },
async gettimeInfo() { data() {
let projectId=localStorage.getItem("projectId") return {
const { projectStatus: '',
data, options: [],
code bidOpeners: [],
} = await timeInfo(projectId) ruleForm: {
this.openBidTime=data.openBidTime decodeTime: '',
}, signatureTime: '',
// 获取公司人员列表 pereson: '选项2',
async getopener() { bidOpener: '',
let companyId=localStorage.getItem("companyId") supervisionerList: '',
const { delegaterList: ''
data, },
code rules: {
} = await opener(companyId) signatureTime: [
if (code === 200) { {
this.options=data required: true,
} message: '请输入时间',
}, trigger: 'blue'
// 获取该项目下的项目经理 }
async getmamager() { ],
let projectId=localStorage.getItem("projectId") decodeTime: [
const { {
data, required: true,
code message: '请输入时间',
} = await mamager(projectId) trigger: 'blue'
if (code === 200) { }
this.ruleForm.bidOpener=data ],
} bidOpener: [
}, {
//提交表单 required: true,
async submitData() { message: '请输入',
try { trigger: 'change'
const valid = await this.$refs['ruleForm'].validate() }
if (valid) { ]
let message=this.ruleForm },
message.projectId=localStorage.getItem("projectId") navs: ['开标设置'],
const { code,msg } = await bidsetting(message) breads: ['招标管理', '招标项目管理', '工作台'],
if (code === 200) { projectCode: '',
this.$message({ projectName: '',
message: msg, openBidTime: ''
type: 'success', };
duration:1500 },
}) created() {
setTimeout(()=>{ this.projectCode = localStorage.getItem('projectCode');
this.$router.go(-1) this.projectName = localStorage.getItem('projectName');
},1500) // this.projectStatus=localStorage.getItem("projectStatus")
} this.getopener();
} this.getmamager();
} catch (e) { this.gettimeInfo();
console.log(e) this.getStatus();
} },
} methods: {
} async getStatus() {
let message = {};
} message.projectId = localStorage.getItem('projectId');
message.type = 1;
const { data, msg, code } = await projectConsole(message);
this.projectStatus = data[0].remark;
},
cancle() {
this.$router.go(-1);
},
async gettimeInfo() {
let projectId = localStorage.getItem('projectId');
const { data, code } = await timeInfo(projectId);
this.openBidTime = data.openBidTime;
},
// 获取公司人员列表
async getopener() {
let companyId = localStorage.getItem('companyId');
const { data, code } = await opener(companyId);
if (code === 200) {
this.options = data;
}
},
// 获取该项目下的项目经理
async getmamager() {
let projectId = localStorage.getItem('projectId');
const { data, code } = await mamager(projectId);
if (code === 200) {
this.ruleForm.bidOpener = data;
}
},
//提交表单
async submitData() {
try {
const valid = await this.$refs['ruleForm'].validate();
if (valid) {
let message = this.ruleForm;
message.projectId = localStorage.getItem('projectId');
const { code, msg } = await bidsetting(message);
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>
.set { .set {
width: 50%; width: 50%;
margin: 50px auto; margin: 50px auto;
} }
.set>div {
margin-bottom: 50px;
}
.set > div {
margin-bottom: 50px;
}
</style> </style>
...@@ -116,7 +116,7 @@ export default { ...@@ -116,7 +116,7 @@ export default {
duration: 1500 duration: 1500
}); });
setTimeout(() => { setTimeout(() => {
this.$router.go(-1); this.$router.push("/purchaser/bid/workbench")
}, 1500); }, 1500);
} else { } else {
this.$message.error(msg); this.$message.error(msg);
......
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
</div> </div>
</template> </template>
<script> <script>
import { bidsettingInfo } from '@api/purchaser/bid'; import { bidsettingInfo ,projectConsole} from '@api/purchaser/bid';
import { timeInfo } from '@api/supply/bid'; import { timeInfo } from '@api/supply/bid';
import { opener, mamager } from '@api/common/list'; import { opener, mamager } from '@api/common/list';
import dataTable from '@components/dataTable.vue'; import dataTable from '@components/dataTable.vue';
...@@ -99,13 +99,21 @@ export default { ...@@ -99,13 +99,21 @@ export default {
created() { created() {
this.projectCode = localStorage.getItem('projectCode'); this.projectCode = localStorage.getItem('projectCode');
this.projectName = localStorage.getItem('projectName'); this.projectName = localStorage.getItem('projectName');
this.projectStatus = localStorage.getItem('projectStatus'); // this.projectStatus = localStorage.getItem('projectStatus');
this.getopener(); this.getopener();
this.getmamager(); this.getmamager();
this.getbidsettingInfo(); this.getbidsettingInfo();
this.gettimeInfo(); this.gettimeInfo();
this.getStatus()
}, },
methods: { methods: {
async getStatus(){
let message = {};
message.projectId = localStorage.getItem('projectId');
message.type = 1;
const { data, msg, code } = await projectConsole(message);
this.projectStatus=data[0].remark
},
cancle() { cancle() {
this.$router.go(-1); this.$router.go(-1);
}, },
...@@ -141,16 +149,16 @@ export default { ...@@ -141,16 +149,16 @@ export default {
data.decodeTime = data.decodeTime + '分钟'; data.decodeTime = data.decodeTime + '分钟';
data.signatureTime = data.signatureTime + '分钟'; data.signatureTime = data.signatureTime + '分钟';
this.ruleForm = data; this.ruleForm = data;
let list = []; // let list = [];
let list1 = []; // let list1 = [];
for (let item of data.supervisionerList) { // for (let item of data.supervisionerList) {
list.push(item.name); // list.push(item.name);
} // }
for (let item of data.delegaterList) { // for (let item of data.delegaterList) {
list1.push(item.name); // list1.push(item.name);
} // }
data.supervisionerList = list; // data.supervisionerList = list;
data.delegaterList = list1; // data.delegaterList = list1;
} }
} }
} }
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<p>解密倒计时:</p> <p>解密倒计时:</p>
<timeDown :remain-time="decodeTime" @countDowmEnd="decodeTimeEnd"></timeDown> <timeDown :remain-time="decodeTime" @countDowmEnd="decodeTimeEnd"></timeDown>
</div> </div>
<div class="flex" v-show="openStatus == 2"> <div class="flex" v-show="openStatus == 2 && isDecode">
<p>签名倒计时:</p> <p>签名倒计时:</p>
<timeDown :remain-time="signatureTime" @countDowmEnd="signatureTimeEnd"></timeDown> <timeDown :remain-time="signatureTime" @countDowmEnd="signatureTimeEnd"></timeDown>
</div> </div>
...@@ -413,15 +413,23 @@ export default { ...@@ -413,15 +413,23 @@ export default {
} else { } else {
console.log('小于'); console.log('小于');
this.isDecode = true; this.isDecode = true;
let comparyTime1 = this.storagesignatureTime - (localTime - data.openBidTime) / 1000;
if (comparyTime > 0) {
this.signatureTime = comparyTime1;
console.log('大于');
} else {
console.log('小于');
this.isSignature = true;
}
} }
let comparyTime1 = this.storagesignatureTime - (localTime - data.openBidTime) / 1000; // let comparyTime1 = this.storagesignatureTime - (localTime - data.openBidTime) / 1000;
if (comparyTime > 0) { // if (comparyTime > 0) {
this.signatureTime = comparyTime1; // this.signatureTime = comparyTime1;
console.log('大于'); // console.log('大于');
} else { // } else {
console.log('小于'); // console.log('小于');
this.isSignature = true; // this.isSignature = true;
} // }
} }
} catch (e) { } catch (e) {
console.log(e); console.log(e);
...@@ -523,9 +531,9 @@ ul { ...@@ -523,9 +531,9 @@ ul {
.explain > h1 { .explain > h1 {
text-align: center; text-align: center;
} }
.explain>div{ .explain > div {
line-height: 30px; line-height: 30px;
margin:30px 0; margin: 30px 0;
} }
.buttons { .buttons {
......
...@@ -54,7 +54,7 @@ export default { ...@@ -54,7 +54,7 @@ export default {
}, },
{ {
label: '标书结束时间', label: '标书结束时间',
prop: 'endTime' prop: 'end'
}, },
{ {
slot: 'opration' slot: 'opration'
......
...@@ -6,7 +6,7 @@ import {requestUrl,homeUrl} from "./common.js" ...@@ -6,7 +6,7 @@ import {requestUrl,homeUrl} from "./common.js"
// 创建axios实例 // 创建axios实例
const service = axios.create({ const service = axios.create({
baseURL: `apis`, baseURL: `/apis`,
timeout: 35000 // 请求超时时间 timeout: 35000 // 请求超时时间
}) })
......
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