Commit a9f12447 authored by zhouyingquan's avatar zhouyingquan

1.123456

parent 1d7f7c5b
lhgj-test-hard-001
\ No newline at end of file

14:48:58.720 未实现该方法或操作。:
19:07:16.302 未实现该方法或操作。:
在 LightFrame.Util.Converts.TypeConvert.XmlElementConvert.get_SourceType()
在 LightFrame.Util.Converts.ConvertCenter.<>c__DisplayClass6_0.<AddHandle>b__0()
在 LightFrame.Util.Threads.ThreadHelper.ExecuteCatch(DelegateEmpty vCode)
......@@ -3,7 +3,7 @@
body,div,ul,li,img,p,span,h1,h2,h3,h4,h5,b,i,input,button,select,table,tr,td{padding: 0;margin: 0;}
body {font-family: "微软雅黑";color: #2c2c36;}
.comFooter{ position: absolute; left: 0px;right: 0px; bottom: 0px ;height: 30px;}
.comFooter{ position: absolute; left: 0px;right: 0px; bottom: 0px ;height: 30px;z-index: 10;}
/*.comFooter{ position: absolute; left: 0px;right: 0px; bottom: 0px ;height: 30px; z-index: 9999}*/
.comFooter .time{position: absolute;right: 15px; display: none;}
a {text-decoration: none;cursor: pointer;}
......@@ -24,7 +24,7 @@ body{background-size: 100% 100%;}
/**--------------------排号对象--------------------------**/
.oBody,.sBody,.tBody,.thBody,.IBody,.cBody,.pBody,.hBody,.fiBody,.fiMiddle,.siBody,.foBody,.idCardBody{text-align: center;}
.commonHead{text-align: center;padding-top: 80px;}
.commonHead{text-align: center;padding-top: 70px;}
.commonHead p:nth-child(2){font-size: 30px;font-weight: bold;letter-spacing: 6px;}
.commonHead p:nth-child(3){font-size: 10px;}
......@@ -196,4 +196,49 @@ body{background-size: 100% 100%;}
/*弹窗*/
.inTan{position: fixed;width: 1080px;height: 1920px;background: url(../img/buyBg.jpg) no-repeat;background-size: 100% 100%;z-index: 999;top: 0;left: 0;text-align: center;padding-top: 400px;font-size: 64px;display: none;}
.inTan p:nth-child(2){margin-top: 100px;}
\ No newline at end of file
.inTan p:nth-child(2){margin-top: 100px;}
/*耳麦*/
/*第一个页面耳麦*/
.ermai{display: flex;justify-content: space-between;color: #666666;font-size: 28px;width: 650px;margin: 0 auto;margin-top: 30px;}
.ermai i{display: inline-block;width: 30px;height: 30px;background: rgb(239,221,197);border-radius: 5px;color:rgb(205,119,60);font-weight: bolder;text-align: center;line-height: 30px;}
/*第二个页面耳麦*/
.ermai2{display: flex;align-items: center;justify-content: space-between;font-size: 26px;margin-top: 20px;width: 800px;}
.ermai2 p i:nth-child(2){font-size: 20px;color: #666666;}
.ermai2 label span{color: rgb(247,161,53);}
/*耳麦弹窗*/
.ermaiPop{position: fixed;top: 0;height: 100%;min-width: 1080px;background:rgba(0,0,0,0.2);display: none;align-items: center;justify-content: center;z-index: 99;}
.ermaiT{background: #FFFFFF;border-radius:15px;max-width: 80%;}
.ermaiTop{padding: 20px;}
.ermaiTop p:not(:first-child){margin-top: 15px;font-size: 24px;color: #666666;}
.ermaiTopP1{font-size: 34px;font-weight: bolder;color: rgb(247,161,53);}
.ermaiTopP4 i{display: inline-block;width: 30px;height: 30px;background: rgb(239,221,197);border-radius: 5px;color:rgb(205,119,60);font-weight: bolder;text-align: center;line-height: 30px;}
.ermaiBottom{border-top: 1px solid #e6e6e6;display: flex;height: 60px;}
.ermaiBottom a{width: 50%;text-align: center;line-height: 60px;color: #666666;}
.ermaiBottom a:nth-child(2){width: 50%;background:rgb(1,204,0);color: #FFFFFF;}
/*联合国际首页*/
.guojiBigbox {width:100%;height:100%;background: url(../../img/lhgj/lhgjBg.png) no-repeat;background-size:cover;text-align: center;}
.guojiTop{padding-top:80px;margin-bottom: 58px;}
.guojiTopImg{width: 147px;height: 147px;}
.guojiBtn{font-size: 52px;font-weight: bold;line-height: 109px;color: #FFFFFF;display: inline-block;width: 622px;height: 109px;background: #00CC8C;box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.16);border-radius: 12px;}
.guojiBottom{height: 45px;align-items: center;display: flex;justify-content: space-around;width: 680px;margin-left: 200px; position: absolute;bottom: 69px;}
.guojiBottom>span{font-size: 35px;line-height: 45px;display: inline-block;}
.guojiBottom>img{height: 45px;}
.guojiTitle{font-size: 58px;font-weight: bold;line-height: 81px;}
.guojiCode{height: 346px;width: 346px;margin: 29px auto;}
.guojiBigbox select option:hover{
background-color: #00CC8C;
}
.guojiDropDown>span{font-size: 46px;margin-right: 10px;}
.guojiDropDown>select{width: 461px;height: 80px;line-height: 63px;font-size: 35px;outline: none;border:none;color: #999999;padding-left: 15px;border-radius: 12px;}
.guojiNum>span{font-size: 46px;margin-right: 10px;}
.guojiNum>div{border-radius:12px; background-color: #fff; width: 461px;height: 80px;line-height: 63px;font-size: 40px;display: inline-block;}
.guojiNum button{color: #fff; width: 58px;height: 58px;outline: none;line-height: 58px;font-size: 58px;margin-top: 12px;border: none;}
.guojiNum input{font-size: 40px;width: 65px;margin-top: 18px;border: none;outline: none;color: #999999;}
.guojiTel>span{font-size: 46px;margin-right: 10px;}
.guojiTel>input{width: 461px;height: 80px;line-height: 63px;font-size:35px;border-radius:12px;outline: none;border: none;padding:0 30px;box-sizing: border-box;}
.mnGuojiMobile{width:750px;padding: 36px;height:520px;display: flex;flex-wrap:wrap;justify-content: space-between;align-content: space-between;margin:60px auto;}
.mnGuojiMobile a{display: inline-block;width:155px;height:155px;background: #FFFFFF;font-size: 90px;border-radius: 10px;text-align: center;line-height:155px;}
.mnGuojiMobile a:last-child{font-size: 40px;color: #FF0000;}
.mnGuojiMobile a img{position: relative;top: -10px;}
.drag { -webkit-user-select: none; -webkit-app-region: drag; }
.no_drag { -webkit-user-select: none; -webkit-app-region: no-drag; }
body,div,ul,li,img,p,span,h1,h2,h3,h4,h5,b,i,input,button,select,table,tr,td{padding: 0;margin: 0;}
body {font-family: "微软雅黑";color: #2c2c36;}
.comFooter{ position: absolute; left: 0px;right: 0px; bottom: 0px ;height: 30px;z-index: 10;}
/*.comFooter{ position: absolute; left: 0px;right: 0px; bottom: 0px ;height: 30px; z-index: 9999}*/
.comFooter .time{position: absolute;right: 15px; display: none;}
a {text-decoration: none;cursor: pointer;}
li {list-style-type: none;}
img {border: none;}
i{font-style: normal;}
b{font-weight: 400;}
input,button {outline: none; }
input[type="text"] {-webkit-appearance: none;}
textarea{-webkit-appearance: none;}
html,body{ position: relative; left: 0px;width: 0px; min-width: 1080px;height: 1920px; }
body{background-size: 100% 100%;}
.drag {background: url(../../img/lhgj/lhgjBg.png) no-repeat;background-size:cover;text-align: center;}
.top{padding-top: 115px;margin-bottom: 58px;}
.drag .topImg{width: 147px;height: 147px;}
.btn{font-size: 52px;font-weight: bold;line-height: 109px;color: #FFFFFF;display: inline-block;width: 622px;height: 109px;background: #00CC8C;box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.16);border-radius: 12px;}
.bottom{height: 45px;align-items: center;display: flex;justify-content: space-around;width: 680px;margin-left: 200px; position: absolute;bottom: 69px;}
.bottom>span{font-size: 35px;line-height: 45px;display: inline-block;}
.bottom>img{height: 45px;}
.title{font-size: 58px;font-weight: bold;line-height: 81px;}
.code{height: 346px;width: 346px;margin: 29px auto;}
select option:hover{
background-color: #00CC8C;
}
.dropDown>span{font-size: 46px;margin-right: 10px;}
.dropDown>select{width: 461px;height: 80px;line-height: 63px;font-size: 40px;outline: none;color: #999999;padding-left: 15px;border-radius: 5px;}
.num>span{font-size: 46px;margin-right: 10px;}
.num>div{border-radius: 5px; background-color: #fff; width: 461px;height: 80px;line-height: 63px;font-size: 40px;display: inline-block;}
.num button{color: #fff; width: 58px;height: 58px;outline: none;line-height: 58px;font-size: 58px;margin-top: 12px;border: none;}
.num input{font-size: 40px;width: 65px;margin-top: 18px;border: none;outline: none;color: #999999;}
.tel>span{font-size: 46px;margin-right: 10px;}
.tel>input{width: 461px;height: 80px;line-height: 63px;font-size: 40px;border-radius: 5px;outline: none;border: none;}
.tel{margin-bottom: 173px;}
\ No newline at end of file
......@@ -156,8 +156,7 @@ $.extend(Base, {
// 假如设备没有注册,则注册并打开设备,否则只打开设备
if (hardCache[hardName] == null) {
initHard(hardName, open);
}
else {
} else {
open(hardCache[hardName]);
}
},
......@@ -230,7 +229,7 @@ $.extend(Base, {
if (res == null) {
res = {code: "00"};
}
time = time || 60 * 1000;
time = time || 120 * 1000;
showResPage(res, url);
window.timeFlag = setTimeout(function () {
showWelcome({code: "00"});
......@@ -292,8 +291,7 @@ $.extend(Base, {
// 假如当前页面已经打开,则不会再次打开,直接跳转到该页面,并执行函数该页面JS中的 return function(){};
if (page[id] && $page.length) {
showPageItem(id);
}
else if (!$page.length) {
} else if (!$page.length) {
Base.AjaxNoHandle(url, function (res) {
// 将页面的HTML加载为本页面中的DOM元素,并追加到父元素
$page = $("<div style='display: none'></div>").attr("id", id);
......@@ -309,8 +307,7 @@ $.extend(Base, {
showError({msg: "加载" + url + "错误"});
}
});
}
else if (!page[id]) {
} else if (!page[id]) {
// 假如JS函数不存在,则去加载JS
var js = Load.GetUrlExtend(url, "/page/", "/js/", "js");
Load.JS(js);
......@@ -432,8 +429,7 @@ $.extend(Base, {
$p.removeAttr("max").removeAttr("value");
data.statusPosName = data.statusPos;
data.statusSizeName = data.statusSize;
}
else {
} else {
$p.attr("max", data.statusSize).attr("value", data.statusPos);
data.statusPosName = Base.getSize(data.statusPos).val;
data.statusSizeName = Base.getSize(data.statusSize).val;
......@@ -607,14 +603,16 @@ $.extend(Base, {
$.extend(window, {
showError: function (res) {
res = res || {};
showWaitWelcome(res, "/page/home/base_error.html", Base.config.ZJErrorTime);
let waitTime = Math.max(Base.config.ZJErrorTime, 8000);
showWaitWelcome(res, "/page/home/base_error.html", waitTime);
},
// 显示欢迎下次光临页面
showSuccess: function (res) {
res = res || {status: 1};
clearTimeout(window.timeFlag);
window.timeFlag = setTimeout(function () {
showWaitWelcome(res, "/page/home/base_success.html", Base.config.ZJPassedTime);
let waitTime = Math.max(Base.config.ZJPassedTime, 8000);
showWaitWelcome(res, "/page/home/base_success.html", waitTime);
}, 1000);
}
});
\ No newline at end of file
......@@ -4518,7 +4518,7 @@ $.extend(Base, {
}
// 显示错误信息
function showError(msg) {
function showAjaxError(msg) {
msg = msg || "未知错误";
// 处理日志
defOption.Log && defOption.Log(0, msg);
......@@ -4559,10 +4559,10 @@ $.extend(Base, {
dataType: "text",
error: function (XMLHttpRequest, textStatus, errorThrown) {
if (textStatus == "timeout") {
showError("网络连接超时");
showAjaxError("网络连接超时");
}
else {
showError("网络已断开");
showAjaxError("网络已断开");
}
},
success: function (res) {
......@@ -4575,7 +4575,7 @@ $.extend(Base, {
try {
data = JSON.parse(res);
} catch (e) {
showError("JSON错误:" + res);
showAjaxError("JSON错误:" + res);
return;
}
func && func(data);
......
......@@ -5,6 +5,15 @@ $(function () {
var $sort = $body.find(".sort");
var $sort_tip = $body.find(".sort_tip");
var $oBottom = $body.find(".oBottom");
var $ermaiIndex = $body.find(".ermaiIndex");
//联合国际代码开始
let $guojiBody=$(".guojiBody")
let $commonHead=$(".commonHead")//公共头部
let $img_Logo=$(".img_Logo")//底部logo
let $guojiNumber=$(".guojiNumber")//联合国际自助排号按钮
//联合国际代码结束
var init = false;
window.codeName = "ScanCode";
window.idName = "ScanID";
......@@ -13,7 +22,6 @@ $(function () {
if (!init) {
return;
}
debugger;
resetData();
var cache = getData(true);
if (Base.config.sort) {
......@@ -24,14 +32,18 @@ $(function () {
}
}
$sale.click(function () {
$sale.click(function () {//
go("/page/sale/product.html");
});
$sort.click(function () {
go("/page/sort/code.html");
});
$guojiNumber.click(function(){
showResPage(null,"/page/lhgj/scanCode.html");
})
// 返回根据缓存加载数据的方法
setPageLoad(function (cache, $page) {
let res = Base.getRes(cache.data);
......@@ -46,19 +58,48 @@ $(function () {
$sort_tip.hide();
$oBottom.hide();
if (init) {
if (Base.config.sort && Base.config.sale) {
$sale.show();
$sort.show();
$sort_tip.show();
$oBottom.show();
// todo: 这里调试修改
// Base.config.sale = true;
// Base.config.sort = false;
//Base.config.sortGuoji = true;
if(Base.config.ermai){
$ermaiIndex.show();
}
else{
$ermaiIndex.hide();
}
if (Base.config.sort && Base.config.sale ) {
if(Base.config.sortGuoji){
// 联合国际排号+购票
$guojiBody.show()
$commonHead.hide()//公共头部隐藏
$img_Logo.hide()//底部logo隐藏
$body.hide()//长江索道隐藏
}
else{
$sale.show();
$sort.show();
$sort_tip.show();
$oBottom.show();
}
}
else if (Base.config.sort) {
$sort.show();
$sort_tip.show();
$oBottom.show();
if(Base.config.sortGuoji){
// 联合国际排号
$guojiBody.show()
$commonHead.hide()
$img_Logo.hide()
$body.hide()
}
else{
$sort.show();
$sort_tip.show();
$oBottom.show();
}
}
else if (Base.config.sale) {
$sale.click();
$sale.show();
// $sale.click();
$oBottom.show();
}
}
......
$(function () {
console.log(Base);
let $top = $(".comTop");
let $pn_Status = $(".pn_Status");
let $lb_Status = $(".lb_Status");
......@@ -10,13 +10,14 @@ $(function () {
Base.config.sale = true;
// todo: 是否开启排号
Base.config.sort = true;
Base.config.sortGuoji = true;
Base.config.cardInputFlag = 0;
// 获取本机机器码
initCode(function (code, codeSrc) {
$("#DeveiceKey").text(code);
// 登录设备
deviceLogin("AutoSale", code, "", "", true, function (res) {
debugger;
// debugger;
var data = res.data || {};
var config = data.config || {};
config.title = config.title || data.companyName;
......@@ -24,7 +25,9 @@ $(function () {
config.titleLoginEn = config.titleLoginEn || config.title;
$.extend(Base.config, data, config);
Base.config.sort = parseInt(Base.config.sort);
Base.config.sortGuoji = parseInt(Base.config.sortGuoji);
Base.config.sale = parseInt(Base.config.sale);
Base.config.ermai = parseInt(Base.config.ermai);
Base.config.cardInputFlag = parseInt(Base.config.cardInputFlag);
Base.configSave();
// if (Base.config.HardConfig && typeof Base.config.HardConfig == "string") {
......@@ -47,6 +50,14 @@ $(function () {
});
}
window.getCache = window.getData = function (isNew) {
if (isNew) {
window.data = null;
}
let cache = window.data = window.data || {};
return cache;
};
function showStatus(msg) {
$pn_Status.show();
$lb_Status.text(msg);
......@@ -68,13 +79,12 @@ $(function () {
function next() {
$(".comTime").show();
window.timeFlag = setTimeout(function () {
let time = parseInt($time.text() || "0") || 0;
let time = parseInt($time.eq(0).text() || "0") || 0;
time--;
$time.text(time);
if (time < 1) {
showWelcome();
}
else {
} else {
next();
}
}, 1000);
......@@ -86,25 +96,48 @@ $(function () {
};
window.initScenic = function () {
if (Base.config.companyId == "mxc001") {
//背景图片,头部logo,二维码控制(马戏城)
$(".drag").css("background", "url(../../../img/buyBg.jpg) no-repeat")
$(".drag").css("background-size", "100% 100%")
$(".logoImg").attr("src", "../../../img/logo.png")
$(".erweima").attr("src", "../../../img/erwei.jpg")
} else {
$(".drag").css("background", "url(../../../img/cjsdBg.jpg) no-repeat")
$(".drag").css("background-size", "100% 100%")
$(".logoImg").attr("src", "../../../img/cjsdLogo.png")
$(".erweima").attr("src", "../../../img/cjsdErwei.jpg")
}
//背景图片,头部logo,二维码控制(马戏城)
$(".drag").css("background", "url(" + Base.config.bodyBack + ") no-repeat");
$(".drag").css("background-size", "100% 100%");
$(".logoImg").attr("src", Base.config.logoImg);
$(".erweima").attr("src", Base.config.erweima);
};
/**
* 获取默认销售数量
* @returns {number}
*/
function getSaleNum(sale) {
let oneDay = new Date("2020-7-31").getTime() - new Date("2020-7-30").getTime();
let totalSecond = new Date().getTime() - new Date(sale.createDate).getTime();
let ret = totalSecond / oneDay * 3000;
return ret;
}
/**
* 将数字转换为字符串
* @param productSaleNum
* @returns {[]}
*/
function getNums(productSaleNum) {
productSaleNum = productSaleNum || 0;
productSaleNum = productSaleNum.toFixed(0);
let ret = [];
for (let i = 0; i < productSaleNum.length; i++) {
ret.push(productSaleNum.substr(i, 1))
}
return ret;
}
setOnOpenFunc(function () {
$(".comTime").hide();
});
window.showStatus = showStatus;
window.getSaleNum = getSaleNum;
window.getNums = getNums;
showWelcome();
NW.windowFull();
......
$(function(){
let $gfGuojiReturn=$(".gfGuojiReturn")
$gfGuojiReturn.click(function(){
showResPage(null,"/page/home/base_welcome.html");
})
});
\ No newline at end of file
$(function(){
let $body = $(".lhgjGetSuccess");
let hard = Base.getHard();
let url = {
pay: Base.getOrderUrl("order/wait")
};
let flag = 0;
var orderId = "";
var hisCodeNoPd = "";
/**
* 查询是否支付,会调用next一直查询,直到离开页面
*/
function queryPay() {
Base.run(function () {
Base.Request(url.pay, {
order: {
companyId: Base.config.companyId,
orderId: orderId
}
}, function (res) {
showRes(res);
}, {
error: function (res) {
showStatus(res.msg || res.message);
next();
}
});
}, function (res) {
showError(res);
});
}
function showRes(res){
let data = res.data || {};
let order = data.order || {};
let extend = data.extend || {};
orderId = order.orderId || "";
let codeNoPd = extend.codeNoPd||"";
let codeNoPdShow = parseInt(extend.codeNoPdShow||"");
if (!codeNoPdShow) {
showStatus("正在等待扫描...");
next();
if(hisCodeNoPd != codeNoPd){
// 调用C#方法,生成二维码返回路径,根据路径进行操作
hard.__execute("ReleaseQR", {
Code: codeNoPd
}, function (res) {
debugger;
if (!res) {
showError({msg: "生成二维码错误,返回路径为空"});
return;
}
hisCodeNoPd = codeNoPd;
$("#lhgjGetSuccessImg").attr("src","").attr("src",res);
}, function (res) {
showError(res);
});
}
} else {
endEvent();
showWelcome(res);
}
}
/**
* 间隔1秒后查询是否支付
*/
function next() {
clearTimeout(flag);
flag = setTimeout(queryPay, 1000);
}
function endEvent() {
clearTimeout(flag);
}
// 返回根据缓存加载数据的方法
setPageLoad(function (cache, $page) {
debugger;
let res = Base.getRes(cache.data);
if (res.error) {
showError(res);
return;
} else {
// 加载订单产品信息
showRes(res);
}
});
setPageClose(function () {
endEvent();
});
});
\ No newline at end of file
$(function(){
let $body = $(".manualNumbering")
let $mnGuojiNext=$body.find(".mnGuojiNext")
let $mnGuojiReturn=$body.find(".mnGuojiReturn")
let $mnInput=$body.find(".mnInput")
let $mnMinus=$body.find(".mnMinus")
let $mnPlus=$body.find(".mnPlus")
let $mnNum = $body.find(".mnNum");
let $mnKong = $body.find(".mnKong");
let $mnBackspace = $body.find(".mnBackspace");
let $mnInput2 = $body.find(".mnInput2");
let $channel = $body.find(".channel");
let $channelTip = $body.find(".channelTip");//未填渠道提示
let $phoneTip = $body.find(".phoneTip");//未填手机提示
let tplChannel = $body.find(".tplChannel").html();
// 请求地址
let url = {
product: Base.getStoreUrl("sort/scene/load") // 产品场次加载
};
$mnGuojiNext.click(function(){
let channelId = $channel.val();//购票渠道
let phone = getMobile($mnInput2.val());//手机号码
if(!channelId){
$channelTip.show()
return;
}else{
$channelTip.hide()
}
if(phone.length!=11||phone.substr(0,1)!=1){
$phoneTip.show()
return;
}else{
$phoneTip.hide()
}
// 通过时间来显示必须重刷身份证等信息
resetData();
let channelSelect = $channel.val();
if(channelSelect){
let cache = getCache(true);
let channels = JSON.parse(channelSelect);
cache.channelId =channels.channelId;
cache.saleId = channels.saleId;
cache.buyNum = $mnInput.val();
cache.mobile = $mnInput2.val();
$mnInput2.val("");//清空输入框的电话号码
$mnInput.val(1);//清空输入框的电话号码
showResPage(null,"/page/lhgj/workScanCode.html");
}
});
$mnGuojiReturn.click(function(){
showResPage(null,"/page/home/base_welcome.html");
});
/**
* 设置购买数量
*/
function setBuyNum(addNum) {
// 获取值
let buyNum = parseInt($mnInput.val());
// 计算最大购买数量
buyNum += addNum;
buyNum = Math.min(buyNum, 9999);
buyNum = Math.max(buyNum, 1);
// 设置显示
$mnInput.val(buyNum)
}
/**
* 增加购买数量按钮点击
*/
$mnPlus.click(function () {
setBuyNum(1);
});
/**
* 减少购买数量按钮点击
*/
$mnMinus.click(function () {
setBuyNum(-1);
});
/**
* 去掉手机号空格
* @param mobile 手机号码
* @returns {string}
*/
function getMobile(mobile) {
return (mobile || "").split(" ").join("");
}
/**
* 输入新得手机号码,并且显示出来
* @param mobile
*/
function inputMobile(mobile) {
mobile = getMobile(mobile);
mobile = mobile || "";
if (mobile.length > 11) {
mobile = mobile.substr(0, 11);
}
if (mobile.length > 7) {
mobile = mobile.substr(0, 7) + " " + mobile.substr(7);
}
if (mobile.length > 3) {
mobile = mobile.substr(0, 3) + " " + mobile.substr(3);
}
$mnInput2.val(mobile);
}
/**
* 输入手机号按钮点击
*/
$mnNum.click(function () {
// 已经输入得手机号得值
let mobile = $mnInput2.val();
// 新输入得数字
let num = $(this).text();
// 输入手机号码
inputMobile(mobile + num);
});
$mnKong.click(function () {
inputMobile("");
});
// 退格手机号
$mnBackspace.click(function () {
let mobile = $mnInput2.val();
mobile = mobile.substr(0, mobile.length - 1);
inputMobile(mobile);
});
function loadChannel(){//加载购买渠道
let req = {
defaultProduct:true
};
Base.Request(url.product, req, function (res) {
let result = res.data || {};
{
let htmlChannel = juicer(tplChannel, result);
let $htmlChannel = $(htmlChannel);
$channel.html($htmlChannel);
}
}, {
error: function (res) {
showError(res);
}
});
}
setPageLoad(function (cache, $page) {
loadChannel();
});
});
$(function(){
let $body = $(".scanCode")
let $scGuojiReturn=$body.find(".scGuojiReturn")
let $sortStart=$body.find(".sortStart")
let $sortEnd=$body.find(".sortEnd")
let $sortNumber=$body.find(".sortNumber")
let url = {
sortLoad: Base.getOrderUrl("sort/load"),
sortSave: Base.getOrderUrl("sort/save"),
getRangeList: Base.getStoreUrl("sort/time/batchQuery")
};
//返回首页
$scGuojiReturn.click(function(){
showResPage(null,"/page/home/base_welcome.html");
});
// 获取设备中心
var hardEvent = {
on: function (res) {
res = res || {};
Base.run(function () {
var dataFrom = res.Data;
// 当扫描到数据时
if (res.EventName == "scan") {
onScan(dataFrom);
}
else if (res.EventName == "error" || res.EventName == "debug") {
// 当有调试信息或者错误事件时
showStatus(dataFrom.Message || dataFrom);
}
}, function (res) {
// 执行出错
showError(res);
});
},
req: function () {
}
};
function onScan(data) {
let req = {
codeNo: "",
visitorCardId: ""
};
if (data.ScanType == 0) {
req.codeNo = data.ScanCode;
}
else if (data.ScanType == 1) {
req.visitorCardId = data.ScanCode;
}
else{
showError({status:"01",message:"该扫描类型不支持,请扫描二维码或身份证"});
return;
}
// 请求地址
Base.Request(url.sortLoad, req, function (res) {
let loadData = res.data || {};
let order = loadData.order||{};
let orderId = order.orderId||"";
if(!orderId){
showError({status:"01",message:"请联系现场工作人员人工取号"});
return;
}
let req = {
orderId: orderId,
visitors: loadData.visitors ||[]
};
window.guojiOrderId=""
window.guojiOrderId=orderId
let visitor = req.visitors[0] || {};
visitor.visitorMobile = order.mobile;
// 请求地址
Base.Request(url.sortSave, req, function (res) {
showWaitWelcome(res,"/page/lhgj/getSuccess.html");
}, {
error: function (res) {
showWaitWelcome(null,"/page/lhgj/getFailure.html");
// showError(res);
}
});
}, {
error: function (res) {
// 狀態碼 1000,代表員工取號,跳轉到該頁面
if(res.code == "5000"){
showWaitWelcome(null,"/page/lhgj/manualNumbering.html");
}
else{
showError(res);
}
}
});
}
function showSortRange(){
let data = {projectId:Base.config.projectId};
Base.Request(url.getRangeList, data, function (res) {
let list = res.data || [];
let first = list[0];
if (first) {
$sortStart.text(first.showStart)
$sortEnd.text(first.showEnd)
$sortNumber.text(first.sortTotalCapacity)
}
}, {
error: function (res) {
showStatus(res.msg);
}
});
}
// 返回根据缓存加载数据的方法
setPageLoad(function (cache, $page) {
showSortRange();
let res = Base.getRes(cache.data);
if (res.error) {
showError(res);
}
else {
openHard(idName, hardEvent);
}
});
setPageClose(function () {
openHard(idName, {});
});
});
\ No newline at end of file
$(function(){
let $body = $(".workScanCode")
let $scGuojiReturn=$body.find(".scGuojiReturn")
let $sortStart=$body.find(".sortStart")
let $sortEnd=$body.find(".sortEnd")
let $sortNumber=$body.find(".sortNumber")
let url = {
getRangeList: Base.getStoreUrl("sort/time/batchQuery"),
order: Base.getOrderUrl("order/save")
};
let hard = Base.getHard();
//返回首页
$scGuojiReturn.click(function(){
showResPage(null,"/page/home/base_welcome.html");
})
// 获取设备中心
var hardEvent = {
on: function (res) {
res = res || {};
Base.run(function () {
var dataFrom = res.Data;
// 当扫描到数据时
if (res.EventName == "scan") {
onScan(dataFrom);
}
else if (res.EventName == "error" || res.EventName == "debug") {
// 当有调试信息或者错误事件时
showStatus(dataFrom.Message || dataFrom);
}
}, function (res) {
// 执行出错
showError(res);
});
},
req: function () {
}
};
function onScan(data) {
let req={
order: {
companyId: Base.config.companyId,
channelFromKey: "AutoSale",
channelOrderId: Base.getNewId(),
payType: 0,
saleId: getCache().saleId,
channelId:getCache().channelId,
channelPriceTypeId:"t4",
buyNum: getCache().buyNum,
salePricePayTotal: 0,
playDateFrom: new Date().formatString("yyyy-MM-dd")
},
visitors: [
{
visitorMobile: getCache().mobile,
visitorName: data.Extend.Name,
visitorCardId: data.Extend.ID,
visitorSex: (data.Extend.Sex == "男" ? 1 : 2),
visitorAddress: data.Extend.Address,
visitorBirthday: data.Extend.Birthday,
}
]
}
// 请求地址
Base.Request(url.order, req, function (res) {
// 下单接口
showWaitWelcome(res,"/page/lhgj/getSuccess.html");
}, {
error: function (res) {
showError(res);
}
});
}
function showSortRange(){
let data = {projectId:Base.config.projectId};
Base.Request(url.getRangeList, data, function (res) {
let list = res.data || [];
let first = list[0];
if (first) {
$sortStart.text(first.showStart)
$sortEnd.text(first.showEnd)
$sortNumber.text(first.sortTotalCapacity)
}
}, {
error: function (res) {
showStatus(res.msg);
}
});
}
// 返回根据缓存加载数据的方法
setPageLoad(function (cache, $page) {
showSortRange();
var res = Base.getRes(cache.data);
if (res.error) {
showError(res);
}
else {
openHard(idName, hardEvent);
}
});
setPageClose(function () {
openHard(idName, {});
});
});
\ No newline at end of file
......@@ -15,6 +15,14 @@ $(function () {
let $mobile_error = $body.find("#mobile_error");
let $sortShow = $body.find(".sortShow");
let $pn_service = $body.find(".pn_Service");
let tplService = $body.find(".tblService").html();
let $pn_popService = $body.find(".pn_popService");
let $pn_deposit = $body.find(".pn_deposit");
let $pn_deposit_detail = $body.find(".pn_deposit_detail");
let tblServicePop = $body.find(".tblServicePop").html();
let url = {
getRangeList: Base.getStoreUrl("sort/time/batchQuery")
};
......@@ -58,15 +66,71 @@ $(function () {
buyNum += addNum;
buyNum = Math.min(buyNum, 9999);
buyNum = Math.max(buyNum, 1);
// 获取产品信息
let cache = getCache();
let product = cache.product;
let sale = product.sale;
initSalePrice(sale, buyNum);
// 绑定子元素
bindChild($body, sale);
// 计算后得单价
$price.text(sale.unitPriceFrom);
// 支付总价
let totalPrice = buyNum * sale.unitPrice;
let saleService = sale.services = sale.services || [];
for (let i = 0; i < saleService.length; i++) {
let childSale = saleService[i];
if (childSale.checked) {
totalPrice += buyNum * getSalePricePay(childSale, buyNum);
}
}
// 设置显示
$sInput1.val(buyNum);
$priceT.text(totalPrice.toFixed(2));
if (buyNum > 1) {
$minus.css("background", "#00cc8c");
} else {
$minus.css("background", "#e2e2e2");
}
}
function initSalePrice(sale, buyNum) {
let nowDiscount = getSaleDiscount(sale, buyNum) || {};
sale.unitPrice = getSalePricePay(sale, buyNum);
sale.unitPriceFrom = nowDiscount.salePricePayFrom || sale.unitPrice || 0;
sale.depositPrice = (nowDiscount.depositMoney || 0) * buyNum;
if (sale.depositPrice > 0) {
Base.bind($pn_deposit, nowDiscount);
Base.bind($pn_deposit, sale);
$pn_deposit.show();
if (Base.config.depositDetail) {
$pn_deposit_detail.show();
}
} else {
$pn_deposit.hide();
$pn_deposit_detail.hide();
}
let saleService = sale.services = sale.services || [];
for (let i = 0; i < saleService.length; i++) {
let childSale = saleService[i];
initSalePrice(childSale, buyNum);
}
}
function getSalePricePay(sale, buyNum) {
// 单价信息
let price = sale.salePricePay || 0;
let nowDiscount = getSaleDiscount(sale, buyNum);
// 最后得折扣信息
if (nowDiscount != null) {
price = nowDiscount.salePricePay || 0;
}
return price;
}
function getSaleDiscount(sale, buyNum) {
// 获取折扣信息
let discounts = sale.discounts || [];
let discounts = sale.discountsList || [];
// 满足得折扣信息
let nowDiscount = null;
for (let i = 0; i < discounts.length; i++) {
......@@ -76,23 +140,78 @@ $(function () {
nowDiscount = discount;
}
}
// 最后得折扣信息
if (nowDiscount != null) {
price = nowDiscount.salePricePay || 0;
return nowDiscount;
}
function bindChild($body, sale) {
let saleService = sale.services = sale.services || [];
let mapService = sale.serviceMap = sale.serviceMap || {};
for (let i = 0; i < saleService.length; i++) {
let childSale = saleService[i] || {};
let saleId = childSale.saleId;
mapService[saleId] = childSale;
}
// 计算后得单价
$price.text(price);
// 支付总价
let totalPrice = (buyNum * price).toFixed(2);
// 生成模板页面
let htmlService = juicer(tplService, {list: saleService});
let $htmlService = $(htmlService);
$pn_service.html($htmlService);
// 设置显示
$sInput1.val(buyNum);
$priceT.text(totalPrice);
if (buyNum > 1) {
$minus.css("background", "#00cc8c")
} else {
$minus.css("background", "#e2e2e2")
let $ermaiLabel = $body.find(".ermaiLabel");//耳麦label
// 耳麦弹窗显示
$ermaiLabel.click(function () {
let saleChild = getSale(this);
saleChild.checked = !saleChild.checked;
if (!saleChild.checked) {
showSaleServicePop(saleChild, this);
}
setBuyNum(0);
});
}
function getSale(dom) {
let cache = getCache();
let product = cache.product;
let sale = product.sale;
let mapService = sale.serviceMap = sale.serviceMap || {};
let saleId = $(dom).data("id");
let childSale = mapService[saleId];
return childSale;
}
function changeServiceCheckBox(dom) {
let childSale = getSale(dom);
childSale.checked = $(dom).is(':checked');
$pn_popService.find(".ermaiPop").css("display", "flex");
setBuyNum(0);
}
function showSaleServicePop(sale, ermaiLabel) {
sale = sale || {};
// 生成模板页面
let htmlPop = juicer(tblServicePop, sale);
let $htmlPop = $(htmlPop);
$pn_popService.html($htmlPop).show();
let $ermaiCancel = $pn_popService.find(".ermaiCancel");//耳麦取消
let $ermaiConfig = $pn_popService.find(".ermaiConfig");//耳麦确定
let $ermaiCheckbox = $(ermaiLabel).find(".ermaiCheckbox");
function setCheck(flag) {
$pn_popService.hide();
$ermaiCheckbox.prop("checked", flag);
changeServiceCheckBox($ermaiCheckbox);
}
//耳麦取消
$ermaiCancel.click(function () {
setCheck(false);
});
//耳麦确认
$ermaiConfig.click(function () {
setCheck(true);
});
}
/**
......@@ -174,7 +293,7 @@ $(function () {
// 当需要显示排号信息时,则重新加载排号时间
if (sale.saleSortAuto) {
let data = {};
let data = {projectId:Base.config.projectId};
Base.Request(url.getRangeList, data, function (res) {
let list = res.data || [];
let first = list[0];
......@@ -191,10 +310,23 @@ $(function () {
});
}
// 设置默认勾选服务
let saleService = sale.services = sale.services || [];
for (let i = 0; i < saleService.length; i++) {
let childSale = saleService[i];
childSale.checked = Base.config.serviceChecked || false;
}
Base.bind($body, sale);
Base.bind($body, batch);
bindChild($body, sale);
setBuyNum(0);
}
});
setPageClose(function () {
$pn_popService.html("");
});
});
......@@ -34,22 +34,40 @@ $(function () {
let batch = product.batch;
let order = cache.order;
let req = cache.request = {
order: {
function setOrder(orderTo, sale) {
$.extend(orderTo, {
companyId: Base.config.companyId,
channelFromKey: "AutoSale",
channelOrderId: channelOrderId,
payType: 5,
saleId: sale.saleId,
buyNum: order.buyNum,
salePricePayTotal: order.salePricePayTotal,
salePricePayTotal: sale.unitPrice * order.buyNum,
playDateFrom: new Date().formatString("yyyy-MM-dd"),
subscribeDateFrom: batch.batchDateFrom,
subscribeId: batch.batchId,
subscribeName: batch.sceneName
},
visitors: []
});
}
let req = cache.request = {
order: {},
visitors: [],
childOrders: []
};
setOrder(req.order, sale);
let saleService = sale.services = sale.services || [];
for (let i = 0; i < saleService.length; i++) {
let childSale = saleService[i];
if (childSale.checked) {
let childOrder = {
order: {},
visitors: []
};
setOrder(childOrder.order, childSale);
req.childOrders.push(childOrder);
}
}
$.each(cache.visitor, function (i, item) {
req.visitors.push({
......@@ -87,6 +105,7 @@ $(function () {
let pay = pays[0] || null;
cache.response = pay;
if (pay == null || !pay.channelPayInfo) {
debugger;
showError({msg: "订单返回数据格式错误,不包含支付信息"});
return;
}
......@@ -192,8 +211,11 @@ $(function () {
function cancelPay() {
Base.run(function () {
let cache = getCache();
let orderRes = cache.response;
let orderRes = cache.response || {};
let orderId = orderRes.orderId;
if (!orderId) {
return;
}
Base.Request(url.cancel, {
order: {
companyId: Base.config.companyId,
......
$(function () {
let $body = $(".saleProduct");
let $pnProduct = $body.find(".pn_product");
let tplProduct = $body.find(".tplProduct").html();
let $pn_service = $body.find(".pn_service");
let tplService = $body.find(".tblService").html();
let tpl = $("#tplProduct").html();
let url = {
product: Base.getStoreUrl("time/querySale") // 产品
};
......@@ -38,21 +41,70 @@ $(function () {
if (!list.length) {
showStatus("产品加载完成,但是产品列表为空");
}
let listProduct = [];
let listService = [];
function initSale(sale) {
// 额外服务属性
sale.productTitle = sale.productTitle || "空中穿越.解读重庆";
sale.productSaleNumUnit = sale.productSaleNumUnit || "已倾听";
sale.productSaleNum = sale.productSaleNum || 0;
sale.productSaleNums = getNums(sale.productSaleNum);
}
// 处理起止时间
$.each(list, function (key, sale) {
initSale(sale);
$.each(sale.services || [], function (key, subSale) {
initSale(subSale);
});
// 组合数据
let saleMain = cacheProduct[sale.saleId] = {sale: sale, batch: {}};
$.each(sale.scenes || [], function (key1, scene) {
saleMain.batch[scene.batchId] = scene;
scene.sceneDateFromHour = scene.sceneDateFrom.substr(0, 5);
scene.sceneDateToHour = scene.sceneDateTo.substr(0, 5);
scene.batchDateFromHour = scene.batchDateFrom.substr(11, 5);
scene.batchDateToHour = scene.batchDateTo.substr(11, 5);
if(scene.sceneDateFrom){
scene.sceneDateFromHour = scene.sceneDateFrom.substr(0, 5);
}
if(scene.batchDateFrom){
scene.batchDateFromHour = scene.batchDateFrom.substr(11, 5);
}
if(scene.batchDateTo){
scene.batchDateToHour = scene.batchDateTo.substr(11, 5);
}
if(scene.sceneDateTo){
scene.sceneDateToHour = scene.sceneDateTo.substr(0, 5);
}
});
// 判断是否是服务
switch (sale.saleServiceType) {
case 1:
listService.push(sale);
break;
case 2:
listService.push(sale);
listProduct.push(sale);
break;
default:
case 0:
listProduct.push(sale);
break;
}
});
let html = juicer(tpl, {list: list});
let $html = $(html);
$pnProduct.html($html);
initEvent($html);
{
let htmlProduct = juicer(tplProduct, {list: listProduct});
let $htmlProduct = $(htmlProduct);
$pnProduct.html($htmlProduct);
initEvent($htmlProduct);
}
{
let htmlService = juicer(tplService, {list: listService});
let $htmlService = $(htmlService);
$pn_service.html($htmlService);
}
}, {
error: function (res) {
showStatus(res.message);
......@@ -60,6 +112,7 @@ $(function () {
});
}
function getSelectProduct(productId) {
if (!productId) {
return;
......@@ -79,14 +132,6 @@ $(function () {
};
}
window.getCache = window.getData = function (isNew) {
if (isNew) {
window.data = null;
}
let cache = window.data = window.data || {};
return cache;
};
function getSale() {
let cache = getCache();
let product = cache.product;
......
......@@ -93,6 +93,7 @@ $(function () {
}
else {
$(".IndexTime").text(120);
// 打开硬件
openHard(idName, hardEvent);
openHard(codeName, hardEvent);
}
......@@ -103,7 +104,9 @@ $(function () {
}
});
// 离开页面
setPageClose(function () {
// 关闭硬件
openHard(idName, {});
openHard(codeName, {});
});
......
$(function () {
let tplIdTemplate = $("#tplId").html();
let $body = $(".mobile");
let tplIdTemplate = $body.find(".tplId").html();
let $input = $body.find(".sInput2");
let $num = $body.find(".num");
let $kong = $body.find(".kong");
......@@ -47,7 +46,6 @@ $(function () {
}
// 请求地址
Base.Request(url.sortLoad, req, function (res) {
debugger;
success(true);
$input.focus();
clearInterval(flag);
......
{
{
"name": "tubidaAutoSale",
"description": "途必达自助机系统",
"main": "index.html",
"node-main": "globle.js",
"version": 20,
"versionName": "ver 5.1.7",
"version": 7,
"versionName": "ver 3.1.9",
"keywords": [
"tubida",
"node-webkit"
......
<div class="pWelcome oBody">
<div class="oMiddle">
<p>欢迎使用<span class="titleLogin"></span></p>
<p>智能购票、取号系统</p>
<p>智能<i class="sale">购票</i><i class="sort">取号</i>系统</p>
<p style="margin-top: 220px;">
<a class="sale" style="background: #00e7cf;line-height:100px;padding:15px;box-sizing: border-box;height: auto;margin-right: 40px;">
<span style="font-size:60px;">购票</span>
</a>
<a class="sale"
style="background: #00e7cf;line-height:100px;padding:15px;box-sizing: border-box;height: auto;margin-right: 40px;">
<span style="font-size:60px;">购票</span>
</a>
<a class="sort"
style="background: #00e7cf;line-height:100px;padding:15px;box-sizing: border-box;height: auto;">
<span style="font-size:60px;">取号</span>
<span style="font-size:60px;">取号</span>
</a>
</p>
<p class="sort_tip" style="padding-top: 30px;font-size: 24px;color: #862d30; padding-left: 185px; text-align: justify;margin-top: 50px;">
<span>取号对象:</span><br/>
<span>1.交通卡、返程、过号游客;</span><br/>
<span>2.索道/胖丁公众号以外网络购票游客。</span><br/>
<span style="margin-top: 20px;display: inline-block;">不取号提示:</span><br/>
<span>现场或索道/胖丁公众号<i style="color: red">购票会自动取号</i></span>
<p class="sort_tip"
style="padding-top: 30px;font-size: 24px;color: #862d30; padding-left: 185px; text-align: justify;margin-top: 50px;">
<span>取号对象:</span><br/>
<span>1.交通卡、返程、过号游客;</span><br/>
<span>2.索道/胖丁公众号以外网络购票游客。</span><br/>
<span style="margin-top: 20px;display: inline-block;">不取号提示:</span><br/>
<span>现场或索道/胖丁公众号<i style="color: red">购票会自动取号</i></span>
</p>
</div>
<div class="oBottom">
<p style="font-size: 30px;color: #862d30;margin-top: 250px;">
微信扫一扫,直接买票、取号
微信扫一扫,直接买票<i class="sort">、取号</i>
</p>
<p>
<img class="erweima" width="284" height="284"/>
</p>
</div>
</div>
\ No newline at end of file
<!----------------------------------长江索道第一个页面新版本-------------------------------------------------->
<div class="cjsdFirst ermaiIndex"
style="position: absolute;top: 0;left: 0;z-index: 10;min-width: 1080px;height: 1920px;background:url(../../img/cjsdFirst.jpg) no-repeat;background-size: 100% 100%;">
<p style="position: absolute;bottom: 620px;width: 100%;text-align: center;">
<a class="sale"
style="font-size: 60px;background: rgb(0, 231, 207);line-height: 100px;margin-right: 40px;width: 340px;display: inline-block;border-radius: 10px;text-align: center; color: #ffffff;box-shadow: 5px 5px 10px #d1cab4;">
购票
</a>
<a class="sort"
style="font-size: 60px;background: rgb(0, 231, 207);line-height: 100px;width: 340px;display: inline-block;border-radius: 10px;text-align: center; color: #ffffff;box-shadow: 5px 5px 10px #d1cab4;">
取号
</a>
</p>
</div>
</div>
<div class="guojiBody guojiBigbox" style="display: none;">
<div class="guojiTop">
<img src="../../img/lhgj/lhgjIcon.png" class="guojiTopImg">
</div>
<div style="margin-bottom: 173px;" class="guojiTitle">
<span class="titleLogin"></span>
</div>
<div style="margin-bottom: 46px;" class="guojiTitle">
<span>欢迎使用</span>
</div>
<div style="margin-bottom: 115px;" class="guojiTitle">
<span>智能排号系统</span>
</div>
<a class="guojiBtn guojiNumber">自助排号</a>
<div class="guojiBottom">
<span>技术支持</span>
<img src="../../img/lhgj/tubd.png">
<img src="../../img/lhgj/pangding.png">
</div>
</div>
<div class="guojiBigbox">
<div class="guojiTop">
<img src="../../img/lhgj/lhgjIcon.png" class="guojiTopImg">
</div>
<div class="guojiTitle" style="margin-bottom: 173px;">
<span><i class="titleLogin">云端之眼·高空观景台</i>自助排号</span>
</div>
<div style="margin-bottom: 23px;color: #FF0000;" class="guojiTitle">
<span>取号失败</span>
</div>
<div style="font-size: 46px;margin-bottom: 115px;color: #FF0000;" class="guojiTitle">
<span>请联系现场工作人员人工取号</span>
</div>
<div style="margin-bottom: 144px;">
<span style="color: #FF0000;font-size: 40px;">60s</span>
</div>
<a class="guojiBtn gfGuojiReturn" style="width: 276px;height: 109px;font-size: 46px;">返回首页</a>
<div class="guojiBottom">
<span>技术支持</span>
<img src="../../img/lhgj/tubd.png">
<img src="../../img/lhgj/pangding.png">
</div>
</div>
\ No newline at end of file
<div class="guojiBigbox lhgjGetSuccess">
<div class="guojiTop">
<img src="../../img/lhgj/lhgjIcon.png" class="guojiTopImg" />
</div>
<div class="guojiTitle" style="margin-bottom: 173px;">
<span><i class="titleLogin">云端之眼·高空观景台</i>自助排号</span>
</div>
<div style="margin-bottom: 23px;color: #FF0000;" class="guojiTitle">
<span>取号成功</span>
</div>
<div style="font-size: 46px;margin-bottom: 115px;color: #FF0000;" class="guojiTitle">
<span>请扫码获取您的电子排队号及过闸二维码</span>
</div>
<div style="font-size: 40px;color: #FF0000;margin-bottom: 29px;">
<span>(支持微信/支付宝)</span>
</div>
<img id="lhgjGetSuccessImg" class="guojiCode" />
<div>
<!-- <span style="color: #FF0000;font-size: 40px;" class="IndexTime"></span>s -->
</div>
<div class="guojiBottom">
<span>技术支持</span>
<img src="../../img/lhgj/tubd.png" />
<img src="../../img/lhgj/pangding.png" />
</div>
</div>
\ No newline at end of file
<div class="guojiBigbox manualNumbering">
<script class="tplChannel" type="text/template">
<option value="" disabled selected style='display:none;'>请选择</option>
{@each channels as channel,channelIndex}
<option value='{"channelId":"${channel.channelId}","saleId":"${channel.saleId}"}'>${channel.channelName}</option>
{@/each}
</script>
<div class="guojiTop">
<img src="../../img/lhgj/lhgjIcon.png" class="guojiTopImg">
</div>
<div class="guojiTitle" style="margin-bottom: 100px;">
<span><i class="titleLogin">云端之眼·高空观景台</i>自助排号</span>
</div>
<div class="guojiDropDown">
<span>购票渠道</span>
<select class="channel">
</select>
</div>
<div class="channelTip" style="color: #FF0000;font-size: 24px;display:none;">
请选择购票渠道
</div>
<br>
<div class="guojiNum" style="margin-top:35px;">
<span>订单人数</span>
<div>
<button style="background-color: #E2E2E2;float: left;margin-left: 17px;" class="mnMinus">-</button>
<input type="text" class="mnInput" value="1">
<button style="background-color: #00CC8C;float: right;margin-right: 17px;" class="mnPlus">+</button>
</div>
</div>
<br>
<div class="guojiTel" style="margin-top:35px;">
<span>购票手机</span>
<input type="text" placeholder="请输入购票联系手机号码" class="mnInput2" maxlength="11">
</div>
<div class="phoneTip" style="color: #FF0000;font-size: 24px;display:none;">
请输入正确手机号码
</div>
<div class="no_drag mnGuojiMobile">
<a class="mnNum">1</a>
<a class="mnNum">2</a>
<a class="mnNum">3</a>
<a class="mnNum">0</a>
<a class="mnNum">4</a>
<a class="mnNum">5</a>
<a class="mnNum">6</a>
<a class="mnBackspace"><img src="../../img/null.png"></a>
<a class="mnNum">7</a>
<a class="mnNum">8</a>
<a class="mnNum">9</a>
<a class="mnKong">清除</a>
</div>
<a class="guojiBtn mnGuojiNext" style="width: 276px;height: 109px;font-size: 46px;">下一步</a>
<a class="guojiBtn mnGuojiReturn" style="width: 276px;height: 109px;font-size: 46px;margin-left:100px;">返回首页</a>
<div class="guojiBottom">
<span>技术支持</span>
<img src="../../img/lhgj/tubd.png">
<img src="../../img/lhgj/pangding.png">
</div>
</div>
\ No newline at end of file
<div class="guojiBigbox scanCode">
<div class="guojiTop">
<img src="../../img/lhgj/lhgjIcon.png" class="guojiTopImg">
</div>
<div class="guojiTitle" style="margin-bottom: 173px;">
<span><i class="titleLogin">云端之眼·高空观景台</i>自助排号</span>
</div>
<div style="margin-bottom: 58px;color: #FF0000;font-size:46px;" class="guojiTitle">
<p>请将您购票填写的任意身份证</p>
<p>或购票生成的取票二维码</p>
</div>
<div style="font-size: 46px;margin-bottom: 104px;color: #FF0000;" class="guojiTitle">
<span>放置验证区域</span>
</div>
<div style="font-size: 40px;color: #FF0000;">
<span>当前可排队:
<i class="sortStart">0</i>-
<i class="sortEnd">0</i>
</span>
<span style="margin-left:100px;">当前排号至: <i class="sortNumber">0</i></span>
</div>
<div style="font-size: 40px;margin:10px 0 207px 0;">
<span>(温馨提示:取号后将不可退票)</span>
</div>
<a class="guojiBtn scGuojiReturn" style="width: 276px;font-size: 46px;">返回首页</a>
<div class="guojiBottom">
<span>技术支持</span>
<img src="../../img/lhgj/tubd.png">
<img src="../../img/lhgj/pangding.png">
</div>
</div>
<!--工作人员刷游客身份证页面-->
<div class="guojiBigbox workScanCode">
<div class="guojiTop">
<img src="../../img/lhgj/lhgjIcon.png" class="guojiTopImg">
</div>
<div class="guojiTitle" style="margin-bottom: 173px;">
<span><i class="titleLogin">云端之眼·高空观景台</i>自助排号</span>
</div>
<div style="margin-bottom: 58px;color: #FF0000;font-size:46px;font-weight:bold;">
请将您购票填写的任一身份证
</div>
<div style="font-size: 46px;margin-bottom: 104px;color: #FF0000;" class="guojiTitle">
<span>放置验证区域</span>
</div>
<div style="font-size: 40px;color: #FF0000;">
<span>当前可排队:
<i class="sortStart">0</i>-
<i class="sortEnd">0</i>
</span>
<span style="margin-left:100px;">当前排号至: <i class="sortNumber">0</i></span>
</div>
<div style="font-size: 40px;margin:10px 0 207px 0;">
<span>(温馨提示:取号后将不可退票)</span>
</div>
<a class="guojiBtn scGuojiReturn" style="width: 276px;font-size: 46px;">返回首页</a>
<div class="guojiBottom">
<span>技术支持</span>
<img src="../../img/lhgj/tubd.png">
<img src="../../img/lhgj/pangding.png">
</div>
</div>
\ No newline at end of file
<div class="sBody buyNum" id="app">
<div class="sMiddle">
<script class="tblService" type="text/template">
{@each list as sale,saleIndex}
<!--${sale.productName}-->
<div class="ermai2">
<p>
<i>${sale.productName}</i>
<i>${sale.productRemark}</i>
</p>
<label class="ermaiLabel" data-id="${sale.saleId}">
<span>¥<i class="ermaiPrice">${sale.unitPriceFrom}</i>元/</span>
<input class="ermaiCheckbox" type="checkbox" {@if sale.checked} checked="checked" {@/if}
data-id="${sale.saleId}"/>
</label>
</div>
<!--${sale.productName}-->
{@/each}
</script>
<script class="tblServicePop" type="text/template">
<!---------------------------------------------------耳麦弹窗-------------------------------->
<div class="ermaiPop" style="display: flex">
<div class="ermaiT">
<div class="ermaiTop">
<p class="ermaiTopP1">${productTitle}</p>
<p class="ermaiTopP2">${productName}</p>
<p class="ermaiTopP3">
${unitPrice}${productRemark}
</p>
<p class="ermaiTopP4">
{@each productSaleNums as num,numIndex}
<i>${num}</i>
{@/each}
${productSaleNumUnit}
</p>
</div>
<div class="ermaiBottom">
<a class="ermaiCancel">取消</a>
<a class="ermaiConfig">确认</a>
</div>
</div>
</div>
</script>
<div class="sMiddle" style="padding-left:110px;">
<!-- class="sortShow"在需要排号时显示,参照现有的自主机程序 -->
<p class="sortShow sMp1" style="display: none;">当前排队人数:<span
style="margin-left: 10px;color:#ef0404;" class="reset" data-field="waitPlayPerson"></span>
......@@ -8,10 +51,10 @@
style="margin-left: 10px;color: #ef0404;" class="reset" data-field="sortTotalTime"></span>
</p>
<p class="sMp3">
<span>
<span style="overflow:hidden;text-overflow: ellipsis;white-space: nowrap;">
<b class="reset" data-field="productName" data-reset=""></b>
<b style="font-size: 16px;font-weight: normal;">
<b style="font-size:24px;font-weight: normal;">
(<i class="reset" data-field="sceneDateFromHour" data-reset=""></i>-
<i class="reset" data-field="sceneDateToHour" data-reset=""></i>)
</b>
......@@ -21,7 +64,7 @@
<small></small><i class="price reset" data-field="salePricePay" data-reset="0">0</i><small>/张</small>
</span>
</p>
<p class="sMp4">
<p class="sMp4" style="margin-top: 60px;">
<span>请选择购票张数</span>
<span class="sInput">
<span class="minus">-</span>
......@@ -32,15 +75,24 @@
<span><span style="color: #666;">总金额</span><br/><span><i style="font-size: 28px;"></i><i
class="priceT reset" data-field="salePricePayTotal" data-reset="0">0</i></span></span>
</p>
<p class="sP3">
<div class="pn_Service">
</div>
<p class="pn_deposit" style="margin-top: 30px;font-size: 24px;color: #666666;display: none;">
温馨提示: 耳麦押金<i class="depositPrice" style="color: #FF0000;font-weight: bold;" data-field="depositPrice">0</i>元,归还时自动退还。
<span class="pn_deposit_detail" style="display: none"><br/>
每个耳麦逾期(<i data-field="projectDepositHour" style="color: #FF0000;font-weight: bold;">0</i>小时)后每小时扣押金<i
data-field="projectDepositHourMoney" style="color: #FF0000;font-weight: bold;">0</i>元,丢失(<i
data-field="projectDepositLostHour" style="color: #FF0000;font-weight: bold;">24</i>小时)则另扣押金<i
data-field="projectDepositLostMoney" style="color: #FF0000;font-weight: bold;">0</i>元。</span>
</p>
<p class="sP3" style="margin-top: 60px;">
<span>请输入手机号码</span>
<span><input maxlength="11" class="sInput2 reset" data-field="mobile" data-reset=""/><br/><i
id="mobile_error" style="display: none;"><img
src="../../img/warning.png">请输入正确的手机号码</i></span>
</p>
</div>
<div class="sBottom no_drag" style="display: block;margin-top: 100px">
<div class="sBottom no_drag" style="display: block;margin-top: 60px">
<div class="sBleft">
<a class="num">1</a>
<a class="num">2</a>
......@@ -66,4 +118,6 @@
</div>
<p style="margin-top: 50px;"><a class="nextBtn">下一步</a></p>
<p style="margin-top: 50px;"><a class="prevBtn">返回上一步</a></p>
<div class="pn_popService">
</div>
</div>
<div class="payContent" style="margin-top: 260px;text-align: center;">
<div class="payContent" style="margin-top: 140px;text-align: center;">
<div class="wait" style="font-size: 48px;color: #00CC8C;">正在初始化订单中,请稍后...</div>
<div class="success" style="display: none;">
<p style="font-size: 36px;">请扫描下面的二维码进行支付,支付成功会打印门票.</p>
<p style="margin-top: 100px;"><img data-field="PayCodeUrl" src="../../img/wait.png"/></p>
<p style="margin-top: 120px;font-size: 48px;">请在<span
id="payTime" data-field="PayCodeUrlTime" style="color:#ff001e;margin: 0 10px;">0</span>秒内支付.</p>
<p style="width: 80%;margin: 0 auto;margin-top: 100px;font-size: 42px;color:#ff001e;line-height: 80px;text-align: left;">
<p style="margin-top: 80px;"><img data-field="PayCodeUrl" src="../../img/wait.png"/></p>
<p style="margin-top: 30px;">
<img src="../../img/alipay.png" style="width: 142px;margin:0 45px 0 -15px;" />
<img src="../../img/weChart.png" style="width: 110px;position: relative;top: -18px;" />
</p>
<p style="margin-top: 60px;font-size: 48px;">请在<span
id="payTime" data-field="PayCodeUrlTime" style="color:#ff001e;margin: 0 10px;">0</span>秒内支付.
</p>
<p style="width: 80%;margin: 0 auto;margin-top: 80px;font-size: 42px;color:#ff001e;line-height: 80px;text-align: left;">
1. 超过时间或重新购买将取消订单.<br>2.支付完成前请不要离开.<span
class="sp_sort" style="display: none;"><br>3.返程需重新排号.<br>4.购买后不支持退票</span></p>
class="sp_sort" style="display: none;"><br>3.返程需重新排号.<br>4.购买后不支持退票</span>
</p>
</div>
<span class="cancelOrder nextBtn" style="margin-top: 140px;">重新购买</span>
</div>
\ No newline at end of file
<span class="cancelOrder nextBtn" style="margin-top: 120px;">重新购买</span>
</div>
<script id="tplProduct" type="text/template">
{@each list as sale,saleIndex}
{@each sale.scenes as scene,sceneIndex}
<div class="fP" data-id="${sale.saleId}:${scene.batchId}">
<p style="font-size: 36px">
<a style="display: flex;padding: 0 40px;text-align: left;">
<span style="width: 60%">${sale.productName}</span>
<span style="width: 40%;font-size: 32px;">${scene.batchDateFromHour}-${scene.batchDateToHour}</span>
</a>
</p>
<div class="fBody saleProduct">
<script class="tplProduct" type="text/template">
{@each list as sale,saleIndex}
{@each sale.scenes as scene,sceneIndex}
<div class="fP" data-id="${sale.saleId}:${scene.batchId}" style="display: flex;width: 750px;align-items: center;">
<div style="flex: 1;">
<p style="font-size: 36px">
<a style="display: flex;padding: 0 40px;text-align: left;">
<span style="width: 60%;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">${sale.productName}</span>
<span style="width: 40%;font-size: 32px;">${scene.batchDateFromHour}-${scene.batchDateToHour}</span>
</a>
</p>
<p>
<a style="display: flex;padding: 0 40px;text-align: left;font-size: 28px;color: #666;">
<span style="width: 60%;">
剩余<i style="color: #f20000;">${scene.hasNum}</i>
</span>
<p>
<a style="display: flex;padding: 0 40px;text-align: left;font-size: 28px;color: #666;">
<span style="width: 60%;">
剩余<i style="color: #f20000;">${scene.hasNum}</i>
</span>
<span style="color: #f45803;width: 40%;font-size: 38px;">
${sale.salePricePay}
</span>
</a>
<span style="color: #f45803;width: 40%;font-size: 38px;">
${sale.salePricePay}
</span>
</a>
</p>
</div>
</p>
</div>
<div style="padding-right: 20px;">
<a class="prevBtn" style="width: 110px;font-weight: bold;height: 60px;line-height: 60px;font-size: 30px;background: linear-gradient(to bottom right,#ff5454,#ff8538);">购买</a>
</div>
</div>
{@/each}
{@/each}
</script>
<div class="fBody saleProduct">
{@/each}
{@/each}
</script>
<script class="tblService" type="text/template">
{@each list as sale,saleIndex}
<!--${sale.productName}-->
<div class="ermai" style="width: 750px;">
<p>
${sale.productName}
</p>
<p>
<span>
{@each sale.productSaleNums as num,numIndex}
<i>${num}</i>
{@/each}
</span>
${sale.productSaleNumUnit}
</p>
</div>
<!--${sale.productName}-->
{@/each}
</script>
<p style="text-align: center;">欢迎使用<span class="titleLogin"></span></p>
<p style="text-align: center;">自助购票系统</p>
<!--<p>请选择购票类型</p>-->
<div class="pn_product">
<!-- 将产品列表放于此 -->
</div>
<div class="nextBtn rePrint" style="margin: 0 auto; margin-top: 60px;width: 300px;font-weight: bold;height: 90px;line-height: 90px;font-size: 32px;display: block;">重打印</div>
<div class="pn_service">
</div>
<div class="nextBtn rePrint"
style="margin: 0 auto; margin-top:120px;width: 300px;font-weight: bold;height: 90px;line-height: 90px;font-size: 32px;display: block;">
重打印
</div>
<a class="prevBtn" style="display: block;margin: 0 auto;margin-top: 60px;">返回</a>
<div class="titleTag"></div>
<!--<p><img src="../../img/buyWx.png" width="231" height="74"/>仅支持微信支付</p>-->
......
<script id="tplId" type="text/template">
{@each list as item,index}
<p>${item.IDPwd}</p>
{@/each}
</script>
<div class="thBody confirm1Body mobile">
<script class="tplId" type="text/template">
{@each list as item,index}
<p>${item.IDPwd}</p>
{@/each}
</script>
<div class="success" style="display: none;">
<div class="thMiddle">
<p>您的购票信息为</p>
......
......@@ -596,4 +596,13 @@ table tbody tr:nth-child(2n){background: #f9f9f9;}
/*潘永坪写的部分结束*/
\ No newline at end of file
/*潘永坪写的部分结束*/
/*联合国际部分*/
#page_guojiData{width:100%;height:100%;}
.guojiData{display:flex;align-content: space-between;flex-wrap:wrap;min-width:100%;min-height: 100%;background:#1F74B3;box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.08);text-align:center;padding:1rem 0;font-size:0.42rem;color:#FFFFFF;box-sizing:border-box;}
.guojiData div{width:100%;}
.guojiDataDiv1 p:first-child{font-size:0.63rem;font-weight:bold;}
.guojiDataDiv1 p:nth-child(2){font-size:0.56rem;margin-top:0.5rem;}
.guojiDataDiv1 p:last-child{font-size:0.31rem;}
.guojiDataDiv2{;font-size: 0.7rem;}
.guojiDataDiv3{color: #FFE600;}
\ No newline at end of file
......@@ -412,7 +412,6 @@
// 异步调用注册方法,初始化需要在异步函数中调用
// status为调用函数返回的状态,同时会线程自动调用 OnStatus(status) 函数
register: function (func, funcError) {
//debugger;
var that = this;
that.hard.register({
name: that.PrinterHardName,
......
......@@ -263,7 +263,6 @@ $.extend(Base, {
if (!$page.length || func == null) {
return;
}
// debugger;
// 执行页面面的 return function(res,$page){}函数
func(cache, $page);
},
......@@ -362,7 +361,6 @@ $.extend(Base, {
* @param res
*/
deviceOnUpdate: function (res, func) {
debugger;
var data = res.data || {};
var version = data.version || [];
// 判断是否需要更新
......@@ -425,8 +423,6 @@ $.extend(Base, {
var $html = $(html);
$("body").append($html);
debugger;
// 设置设备中心的回调函数,下载为多线程
function onUpdate(res) {
$.extend(data, res);
......@@ -482,7 +478,6 @@ $.extend(Base, {
localStorage.versionName = last.updateVersion;
Base.close();
}, function (res) {
debugger;
// 更新失败,可以继续登录
$html.remove();
showStatus(res.msg || res.Msg || "更新未知错误");
......@@ -512,7 +507,6 @@ $.extend(Base, {
* @param funcError 读取失败时需要执行的函数
*/
deviceGetVersion: function (func) {
debugger;
showStatus("版本号获取...");
function ret(v, vName) {
......
......@@ -15,7 +15,6 @@ $(function () {
}
function InitLoad(res) {
debugger;
var day_people = Control.UnitNumber(res.person_total);
var day_grouy_people = Control.UnitNumber(res.group_person_total);
......
......@@ -29,7 +29,6 @@ $(function () {
if (cachePos >= list.length) {
cachePos = 1;
}
debugger;
var data = {
projectMaxPerson: 0,
other: {},
......@@ -57,10 +56,8 @@ $(function () {
function next() {
setTimeout(getList, time);
}
var data = {
companyId: Base.config.companyId,
};
Base.Request(url.getRangeList, data, function (res) {
showStatus("");
......@@ -89,7 +86,7 @@ $(function () {
if (res.error) {
showStatus(res.message);
}
else if (res.init) {
else if (res.init && !Base.config.sortGuoji) {
getList();
}
});
......
$(function () {
let $body = $(".guojiData");
let url = {
getRangeList: Base.getStoreUrl("sort/time/batchQuery")
};
let time = 900;
function getList() {
function next() {
setTimeout(getList, time);
}
let req = {
companyId: Base.config.companyId,
};
Base.Request(url.getRangeList, req, function (res) {
showStatus("");
let list = res.data || [];
let data= list[0] || {};
// 处理日期
let dayTime = data.dayTime;
if(dayTime){
let today = new Date(dayTime).formatString("yyyy-MM-dd");
data.dayTime = today;
}
Base.bind($body, data);
next();
}, {
error: function (res) {
showStatus(res.msg);
next();
}
});
}
// 返回根据缓存加载数据的方法
setPageLoad(function (cache, $page) {
let res = Base.getRes(cache.data);
if (res.error) {
showStatus(res.message);
}
else if (res.init && Base.config.sortGuoji) {
getList();
}
});
});
......@@ -15,21 +15,27 @@ $(function () {
$("#DeveiceKey").text(code);
deviceLogin("OrderScreen", code, "", "", true, function (res) {
var data = res.data || {};
var config = data.config || {};
config.title = config.title || data.companyName;
config.titleLogin = config.titleLogin || config.title;
config.titleLoginEn = config.titleLoginEn || config.title;
config.sortGuoji = parseInt(config.sortGuoji);
// config.sortGuoji = true;
$.extend(Base.config, data, config);
Base.configSave();
initTitle();
$(".pn_deveiceKey").hide();
showWelcome({code: "00", init: true});
var resInit = {code: "00", init: true};
if(Base.config.sortGuoji){
showResPage(resInit, "/page/home/guojiData.html");
}
else{
showResPage(resInit, "/page/home/base_welcome.html");
}
showStatus("");
autoNext(true);
}, function (res) {
$(".pn_deveiceKey").show();
$("#DeveiceKey").text(code);
......
{
{
"name": "tubidaScreen",
"description": "途必达分流系统",
"main": "index.html",
"node-main": "globle.js",
"version": "15",
"versionName": "ver 3.52",
"version": "0",
"versionName": "ver 2.1.2",
"keywords": [
"demo",
"node-webkit"
......
<div class="guojiData">
<div class="guojiDataDiv1">
<p class="companyName" data-field="projectName"></p>
<p>智能排号系统</p>
<p class="number">承载量:<span data-field="displayCapacity">0</span>/天</p>
</div>
<div class="guojiDataDiv2">
当前可排队号:<span class="sortStart" data-field="showStart">0</span> ~ <span class="sortEnd" data-field="showEnd">0</span>
</div>
<div class="guojiDataDiv3">
<p>温馨提示:请在“胖丁旅行”小程序中</p>
<p>及时查询您的排队号,过号需重取排队号</p>
</div>
<div>
<span style="margin-right:0.3rem;">日期:<i class="date" data-field="dayTime"></i> </span>
<span>排队地点:<i class="address" data-field="projectRemark"></i></span>
</div>
</div>
lhgj-test-hard-001
\ No newline at end of file

17:28:18.061 未实现该方法或操作。:
在 LightFrame.Util.Converts.TypeConvert.XmlElementConvert.get_SourceType()
在 LightFrame.Util.Converts.ConvertCenter.<>c__DisplayClass6_0.<AddHandle>b__0()
在 LightFrame.Util.Threads.ThreadHelper.ExecuteCatch(DelegateEmpty vCode)
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