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.isOpenbid = true;
this.getstartInfo(); 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 {
......
...@@ -5,21 +5,31 @@ ...@@ -5,21 +5,31 @@
<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
v-model="ruleForm.decodeTime"
style="width: 250px"
onkeyup="value=value.replace(/[^\d]/g,'')"
placeholder="请输入分钟数"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="签名时限" prop="signatureTime"> <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-input
v-model="ruleForm.signatureTime"
style="width: 250px"
onkeyup="value=value.replace(/[^\d]/g,'')"
placeholder="请输入分钟数"
></el-input>
</el-form-item> </el-form-item>
</div> </div>
<!-- <div> <!-- <div>
...@@ -45,23 +55,22 @@ ...@@ -45,23 +55,22 @@
</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,
...@@ -70,9 +79,9 @@ export default { ...@@ -70,9 +79,9 @@ export default {
}, },
data() { data() {
return { return {
projectStatus:"", projectStatus: '',
options: [], options: [],
bidOpeners:[], bidOpeners: [],
ruleForm: { ruleForm: {
decodeTime: '', decodeTime: '',
signatureTime: '', signatureTime: '',
...@@ -82,107 +91,110 @@ export default { ...@@ -82,107 +91,110 @@ export default {
delegaterList: '' delegaterList: ''
}, },
rules: { rules: {
signatureTime: [{ signatureTime: [
{
required: true, required: true,
message: '请输入时间', message: '请输入时间',
trigger: 'blue' trigger: 'blue'
}], }
decodeTime: [{ ],
decodeTime: [
{
required: true, required: true,
message: '请输入时间', message: '请输入时间',
trigger: 'blue' trigger: 'blue'
}], }
bidOpener: [{ ],
bidOpener: [
{
required: true, required: true,
message: '请输入', message: '请输入',
trigger: 'change' trigger: 'change'
}] }
]
}, },
navs: ['开标设置'], navs: ['开标设置'],
breads: ['招标管理', '招标项目管理', '工作台'], breads: ['招标管理', '招标项目管理', '工作台'],
projectCode:"", projectCode: '',
projectName:"", projectName: '',
openBidTime:"" openBidTime: ''
} };
}, },
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.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);
}, },
async gettimeInfo() { async gettimeInfo() {
let projectId=localStorage.getItem("projectId") let projectId = localStorage.getItem('projectId');
const { const { data, code } = await timeInfo(projectId);
data, this.openBidTime = data.openBidTime;
code
} = await timeInfo(projectId)
this.openBidTime=data.openBidTime
}, },
// 获取公司人员列表 // 获取公司人员列表
async getopener() { async getopener() {
let companyId=localStorage.getItem("companyId") let companyId = localStorage.getItem('companyId');
const { const { data, code } = await opener(companyId);
data,
code
} = await opener(companyId)
if (code === 200) { if (code === 200) {
this.options=data this.options = data;
} }
}, },
// 获取该项目下的项目经理 // 获取该项目下的项目经理
async getmamager() { async getmamager() {
let projectId=localStorage.getItem("projectId") let projectId = localStorage.getItem('projectId');
const { const { data, code } = await mamager(projectId);
data,
code
} = await mamager(projectId)
if (code === 200) { if (code === 200) {
this.ruleForm.bidOpener=data this.ruleForm.bidOpener = data;
} }
}, },
//提交表单 //提交表单
async submitData() { async submitData() {
try { try {
const valid = await this.$refs['ruleForm'].validate() const valid = await this.$refs['ruleForm'].validate();
if (valid) { if (valid) {
let message=this.ruleForm let message = this.ruleForm;
message.projectId=localStorage.getItem("projectId") message.projectId = localStorage.getItem('projectId');
const { code,msg } = await bidsetting(message) const { code, msg } = await bidsetting(message);
if (code === 200) { if (code === 200) {
this.$message({ this.$message({
message: msg, message: msg,
type: 'success', type: 'success',
duration:1500 duration: 1500
}) });
setTimeout(()=>{ setTimeout(() => {
this.$router.go(-1) this.$router.go(-1);
},1500) }, 1500);
} }
} }
} catch (e) { } catch (e) {
console.log(e) console.log(e);
} }
} }
} }
};
}
</script> </script>
<style scoped> <style scoped>
.set { .set {
width: 50%; width: 50%;
margin: 50px auto; margin: 50px auto;
} }
.set>div { .set > div {
margin-bottom: 50px; 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,7 +413,6 @@ export default { ...@@ -413,7 +413,6 @@ export default {
} else { } else {
console.log('小于'); console.log('小于');
this.isDecode = true; this.isDecode = 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;
...@@ -423,6 +422,15 @@ export default { ...@@ -423,6 +422,15 @@ export default {
this.isSignature = true; this.isSignature = true;
} }
} }
// let comparyTime1 = this.storagesignatureTime - (localTime - data.openBidTime) / 1000;
// if (comparyTime > 0) {
// this.signatureTime = comparyTime1;
// console.log('大于');
// } else {
// console.log('小于');
// 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