Files
fe_service_ebtp_frontend/public/bidOpening/countDown.html

370 lines
13 KiB
HTML
Raw Normal View History

2022-03-10 14:24:13 +08:00
<!DOCTYPE html>
<html lang="en">
2022-07-08 11:10:28 +08:00
<script type='text/javascript' src="../officecontrol/jquery.js"></script>
2022-03-10 14:24:13 +08:00
<head>
<meta charset="UTF-8">
<title>开标倒计时-招标采购中心</title>
<link href="css/countDown.css" rel="stylesheet" type="text/css">
</head>
2022-07-08 11:10:28 +08:00
2022-03-10 14:24:13 +08:00
<body>
<!--内容区-->
<div>
<!--红头-->
<div class="headerArea">
<img src="images/logo.svg" alt="" width="30" class="headerPic" />
<h2>中国联通智慧供应链平台 招标采购中心</h2>
</div>
<!--//红头-->
<!--倒计时区-->
<div class="countDownBlock">
<div class="timeNow" id="dateTime">
2022-07-08 11:10:28 +08:00
<span>00</span>/
<span>00</span>/
<span>00</span>
<span>00</span>:
<span>00</span>:
<span>00</span>
2022-03-10 14:24:13 +08:00
</div>
<!--主区域-->
<!--天数三位数时请引用在countDownArea后加countDownSpe即可-->
<div class="countDownArea countDownSpe">
<h2 id="deptName"></h2>
<table class="countTable" cellspacing="0" cellpadding="0">
<colgroup>
<col width="10%" />
<col width="40%" />
<col width="10%" />
<col width="*" />
</colgroup>
<tbody>
<tr>
<td>项目名称:</td>
<td colspan="3" id="projectName"></td>
</tr>
<tr>
<td>项目编号:</td>
<td id="projectNumber"></td>
<td>标段名称:</td>
<td id="sectionName"></td>
</tr>
<tr>
<td>标段编号:</td>
<td id="sectionNumber"></td>
<td>开标时间:</td>
<td id="openTime"></td>
</tr>
</tbody>
</table>
<div class="countDownTime">
<p>距开标还有:</p>
<div class="showTime">
<span class="timeType01" id="dd">000</span><i></i>
<span class="timeType01" id="hh">00</span><i></i>
<span class="timeType01" id="mm">00</span><i></i>
<span class="timeType01" id="ss">00</span><i></i>
</div>
<!--到开标时间(可点击)样式为countBtn02未到开标时间不可点击样式为countBtn01-->
<button type="button" id="openButton" class="countBtn countBtn01"></button>
</div>
</div>
<!--//主区域-->
</div>
<!--//倒计时区-->
</div>
<!--//内容区-->
<script>
var getDescOpenRoomTimer = "";//剩余时间修正定时
var getTimer = "";//开标时间修正定时
var systemTimer = "";//系统时间计算
var aa = getQueryVariable("aa");
var bb = getQueryVariable("bb");
var roomType = getQueryVariable("roomType");
var openRoomId = getQueryVariable("cc");
var token = sessionStorage.getItem('Authorization');
var userData = sessionStorage.getItem('userData');
var obj = JSON.parse(userData);
var roleData = sessionStorage.getItem('roleData');
var role = JSON.parse(roleData);
var roleCode = role.roleCode;
$("#deptName").html(obj.deptName);
2022-07-08 11:10:28 +08:00
var service_opentime = "";//开标时间
2022-03-10 14:24:13 +08:00
var openState = 0;//未开
var projectId = "";
var sectionId = "";
var oping_n = 0;
var oping_y = 0;
var oping_t = 0;
var oping_h = 0;
var oping_m = 0;
var oping_s = 0;
2022-07-08 11:10:28 +08:00
function getOpening() {
2022-03-10 14:24:13 +08:00
$.ajax({
2022-07-08 11:10:28 +08:00
url: "/api/biz-service-ebtp-opening/v1/bizbidopenroom/getOpenRoomById/" + openRoomId,
headers: {
"Authorization": token
2022-03-10 14:24:13 +08:00
},
2022-07-08 11:10:28 +08:00
type: "GET",
success: function (re) {
2022-03-10 14:24:13 +08:00
var data = re.data;
$("#projectName").html(data.projectName);
$("#projectNumber").html(data.ebpProjectNumber);
$("#sectionName").html(data.sectionName);
$("#sectionNumber").html(data.sectionNo);
openState = data.roomState;
projectId = data.projectId;
sectionId = data.sectionId;
2022-07-08 11:10:28 +08:00
if (data.opingTime != null && data.opingTime != "") {
2022-03-10 14:24:13 +08:00
service_opentime = data.opingTime;
$("#openTime").html(data.opingTime);
var openTime = data.opingTime.split(" ");
var date = openTime[0].split("-");
oping_n = date[0];
oping_y = date[1];
oping_t = date[2];
var time = openTime[1].split(":");
oping_h = time[0];
oping_m = time[1];
oping_s = time[2];
getTime();
getTimer = setInterval(getTime, 30000);//开标时间修正
getDescOpenRoomTime();
getDescOpenRoomTimer = setInterval(getDescOpenRoomTime, 30000);//剩余时间修正
2022-07-08 11:10:28 +08:00
2022-03-10 14:24:13 +08:00
systemTimer = setInterval(systemTime, 1000);//系统时间计算
2022-07-08 11:10:28 +08:00
} else {
2022-03-10 14:24:13 +08:00
$("#openTime").html("开标日期异常")
}
}
});
}
getOpening();
var n = 0;
var y = 0;
var t = 0;
var h = 0;
var m = 0;
var s = 0;
2022-07-08 11:10:28 +08:00
2022-03-10 14:24:13 +08:00
//获取开标时间
2022-07-08 11:10:28 +08:00
function getTime() {
2022-03-10 14:24:13 +08:00
$.ajax({
2022-07-08 11:10:28 +08:00
url: "/api/biz-service-ebtp-extend/v1/timeService/getServiceSystemTime",
headers: {
"Authorization": token
2022-03-10 14:24:13 +08:00
},
2022-07-08 11:10:28 +08:00
async: true,
type: "GET",
success: function (re) {
2022-03-10 14:24:13 +08:00
n = re.data.year;
y = re.data.month;
t = re.data.date;
h = re.data.hour;
m = re.data.minute;
s = re.data.second;
}
2022-07-08 11:10:28 +08:00
});
2022-03-10 14:24:13 +08:00
}
2022-07-08 11:10:28 +08:00
2022-03-10 14:24:13 +08:00
var dd = 0;
var hh = 0;
var mm = 0;
var ss = 0;
2022-07-08 11:10:28 +08:00
2022-03-10 14:24:13 +08:00
//获取剩余时间差
2022-07-08 11:10:28 +08:00
function getDescOpenRoomTime() {
2022-03-10 14:24:13 +08:00
$.ajax({
2022-07-08 11:10:28 +08:00
url: "/api/biz-service-ebtp-extend/v1/timeService/getDescOpenRoomTime",
data: {
openTime: service_opentime
2022-03-10 14:24:13 +08:00
},
2022-07-08 11:10:28 +08:00
headers: {
"Authorization": token
2022-03-10 14:24:13 +08:00
},
2022-07-08 11:10:28 +08:00
async: true,
type: "GET",
success: function (re) {
2022-03-10 14:24:13 +08:00
dd = re.data.date;
hh = re.data.hour;
mm = re.data.minute;
ss = re.data.second;
}
2022-07-08 11:10:28 +08:00
});
2022-03-10 14:24:13 +08:00
}
var timeover = false;
//系统时间定时更新
function systemTime() {
2022-07-08 11:10:28 +08:00
s = s + 1;
if (s == 60) {
2022-03-10 14:24:13 +08:00
s = 1;
2022-07-08 11:10:28 +08:00
m = m + 1;
2022-03-10 14:24:13 +08:00
}
2022-07-08 11:10:28 +08:00
if (m == 60) {
2022-03-10 14:24:13 +08:00
m = 1;
2022-07-08 11:10:28 +08:00
h = h + 1;
2022-03-10 14:24:13 +08:00
}
2022-07-08 11:10:28 +08:00
if (h == 24) {
2022-03-10 14:24:13 +08:00
h = 0;
2022-07-08 11:10:28 +08:00
t = t + 1;
}
$('#dateTime span').eq(0).html(n);
$('#dateTime span').eq(1).html(y < 10 ? "0" + y : y);
$('#dateTime span').eq(2).html(t < 10 ? "0" + t : t);
$('#dateTime span').eq(3).html(h < 10 ? "0" + h : h);
$('#dateTime span').eq(4).html(m < 10 ? "0" + m : m);
$('#dateTime span').eq(5).html(s < 10 ? "0" + s : s);
for (var i = 0; i < $('#dateTime').length; i++) {
if ($('div').eq(i).text().length == 1) {
$('div').eq(i).html(function (index, html) {
return 0 + html;
});
}
2022-03-10 14:24:13 +08:00
}
2022-07-08 11:10:28 +08:00
if (!timeover) {
openJsystemTime();
2022-03-10 14:24:13 +08:00
}
2022-07-08 11:10:28 +08:00
}
2022-03-10 14:24:13 +08:00
//剩余时间定时
2022-07-08 11:10:28 +08:00
function openJsystemTime() {
2022-03-10 14:24:13 +08:00
2022-07-08 11:10:28 +08:00
ss = ss - 1;
if (ss < 0) {
if (mm > 0 && hh > 0 && dd > 0) {
mm = mm - 1;
2022-03-10 14:24:13 +08:00
ss = 59;
2022-07-08 11:10:28 +08:00
} else {
2022-03-10 14:24:13 +08:00
ss = 0;
}
2022-07-08 11:10:28 +08:00
2022-03-10 14:24:13 +08:00
}
2022-07-08 11:10:28 +08:00
if (mm < 0) {
if (hh > 0 && dd > 0) {
hh = hh - 1;
2022-03-10 14:24:13 +08:00
mm = 59;
2022-07-08 11:10:28 +08:00
} else {
2022-03-10 14:24:13 +08:00
mm = 0
}
}
2022-07-08 11:10:28 +08:00
if (hh < 0) {
if (dd > 0) {
dd = dd - 1;
2022-03-10 14:24:13 +08:00
hh = 23;
2022-07-08 11:10:28 +08:00
} else {
2022-03-10 14:24:13 +08:00
dd = 0;
}
}
2022-07-08 11:10:28 +08:00
if (dd < 0) {
2022-03-10 14:24:13 +08:00
dd = 0;
}
2022-07-08 11:10:28 +08:00
if (roleCode == "ebtp-agency-project-manager" || roleCode == "ebtp-purchase") {
2022-03-10 14:24:13 +08:00
$("#openButton").text('开 标');
} else {
$("#openButton").text('进入开标大厅');
2022-07-08 11:10:28 +08:00
if (openState == 0) {
2022-03-10 14:24:13 +08:00
$("#openButton").hide();
} else {
$("#openButton").show();
}
}
2022-07-08 11:10:28 +08:00
if (ss <= 0 && mm <= 0 && hh <= 0 && dd <= 0) {
2022-03-10 14:24:13 +08:00
dd = 0;
hh = 0;
mm = 0;
ss = 0;
//可以开标
2022-07-08 11:10:28 +08:00
$("#openButton").removeClass("countBtn01").attr("class", "countBtn countBtn02");
$("#openButton").bind("click", function () {
if (openState == 0) {
if (roleCode == "ebtp-agency-project-manager" || roleCode == "ebtp-purchase") {
2022-03-10 14:24:13 +08:00
opening();//未开标先开标
2022-07-08 11:10:28 +08:00
} else {
2022-03-10 14:24:13 +08:00
supplierOpening();//供应商进入开标室
}
2022-07-08 11:10:28 +08:00
} else {//否则直接进入
2022-03-10 14:24:13 +08:00
onClickToOpenRoom();
}
2022-07-08 11:10:28 +08:00
2022-03-10 14:24:13 +08:00
})
//可以开标后 结束除系统时间更新外所有定时
clearInterval(getTimer);
clearInterval(getDescOpenRoomTimer);
2022-07-08 11:10:28 +08:00
timeover = true;
2022-03-10 14:24:13 +08:00
}
2022-07-08 11:10:28 +08:00
$("#dd").html(dd < 10 ? "00" + dd : dd < 100 ? "0" + dd : dd);
$("#hh").html(hh < 10 ? "0" + hh : hh);
$("#mm").html(mm < 10 ? "0" + mm : mm);
$("#ss").html(ss < 10 ? "0" + ss : ss);
2022-03-10 14:24:13 +08:00
}
2022-07-08 11:10:28 +08:00
function opening() {
var puData = { "projectId": projectId, "sectionId": sectionId, "id": openRoomId, "roomState": "1" };
2022-03-10 14:24:13 +08:00
$.ajax({
2022-07-08 11:10:28 +08:00
url: "/api/biz-service-ebtp-opening/v1/bizbidopenroom/updateOpenRoom",
data: JSON.stringify(puData),
contentType: 'application/json',
dataType: "json",
headers: {
"Authorization": token,
"token": token
2022-03-10 14:24:13 +08:00
},
2022-07-08 11:10:28 +08:00
type: "PUT",
success: function (re) {
2022-03-10 14:24:13 +08:00
//开标成功进入开标室
2022-07-08 11:10:28 +08:00
if (re.success) {
2022-03-10 14:24:13 +08:00
onClickToOpenRoom();
2022-07-08 11:10:28 +08:00
} else {
2022-03-10 14:24:13 +08:00
alert(re.message);
}
},
2022-07-08 11:10:28 +08:00
error: function (re) {
2022-03-10 14:24:13 +08:00
alert(re.message);
}
2022-07-08 11:10:28 +08:00
});
2022-03-10 14:24:13 +08:00
}
2022-07-08 11:10:28 +08:00
function supplierOpening() {
2022-03-10 14:24:13 +08:00
//重新获取开标室信息
getOpening();
2022-07-08 11:10:28 +08:00
if (openState == 0) {
2022-03-10 14:24:13 +08:00
alert("请等待业务经理开标");
2022-07-08 11:10:28 +08:00
} else {
2022-03-10 14:24:13 +08:00
onClickToOpenRoom();
}
}
2022-07-08 11:10:28 +08:00
function onClickToOpenRoom() {
window.location.href = "/room/index?aa=" + aa + "&bb=" + bb + "&roomType=" + roomType;
}
function getQueryVariable(variable) {
2022-03-10 14:24:13 +08:00
var query = window.location.search.substring(1);
var vars = query.split("&");
2022-07-08 11:10:28 +08:00
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) { return pair[1]; }
2022-03-10 14:24:13 +08:00
}
2022-07-08 11:10:28 +08:00
return (false);
2022-03-10 14:24:13 +08:00
}
</script>
</body>
2022-07-08 11:10:28 +08:00
2022-03-10 14:24:13 +08:00
</html>