var getNode = function(id) {
return document.getElementById(id)
}
var yuyue = getNode("yuyue") // 预约按钮
var modal = getNode("zy-h5-modal") // 预约弹框
var modalZz = getNode("zy-h5-fix-z") // 弹框遮罩层
var submitModal = getNode("submitModal") // 提交预约
var canselModal = getNode("canselModal") // 取消预约
var userPhone = getNode("userPhone") // 预约手机号
var joinerNum = getNode("joinerNum") // 参与人数
var store = getNode("store") // 门店
var storeId = getQueryString('orgId') || 0 // 门店id
var companyId = ''
var storeList = []
// test, 测试 local、dev:本地开发环境 pre :预发布 pro:生产
if (baseType == 'test') {
var reqUrl = 'http://192.168.16.100:9110/saas/clz/'
} else if (baseType == 'local') {
var reqUrl = 'http://192.168.16.102:9110/saas/clz/'
} else if (baseType == 'dev') {
var reqUrl = 'http://192.168.16.102:9110/saas/clz/'
} else if (baseType == 'pre') {
var reqUrl = 'http://md.test.zyucgj.com/saas/clz/'
} else if (baseType == 'pro') {
var reqUrl = 'http://md.chelingzhu.com/saas/clz/'
} else if (baseType == 'qbx') {
var reqUrl = 'https://md.qiubcar.com/saas/clz/'
}
// 正则获取地址栏参数
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i")
var r = window.location.search.substr(1).match(reg)
if (r != null) {
return unescape(r[2])
}
return null
}
// 门店活动统计(参与者轮播)
function joinerList(companyId) {
var obj = JSON.stringify({
activeId: activeId, // 活动id
tenantId: storeId, // 门店id
companyId: companyId, // 公司id
status: 9 // 9是假数据的标识
})
// 获取门店信息
$.ajax({
url: reqUrl + 'cross/active/joinerByActive/1/1000',
type: 'post',
contentType: 'application/json;charset=UTF-8',
// 设置的是请求参数
data: obj,
dataType: 'json',
success: function(res) {
if (res.status == 200) {
var data = res.data.list
var html =
`
`
for (var i = 0; i < data.length; i++) {
html +=
`
${data[i].joinerMobile}
已报名
`
}
document.getElementById("kh-list").innerHTML = html
joinerNum.innerHTML = data.length
}
},
})
}
// 隐藏预约弹框
var closeYy = function() {
userPhone.value = ''
modal.style.display = 'none'
modalZz.style.display = 'none'
}
// 校验活动是否还在进行
function checkActiveValid() {
$.ajax({
url: reqUrl + 'zycar-mgr/active/checkActiveValid/' + activeId,
type: 'get',
header: {
contentType: 'application/json;charset=UTF-8'
},
// 设置的是请求参数
data: {},
dataType: 'json',
success: function(res) {
if (res.status == 200) {
if (res.data) {
getActivityData() // 获取活动信息
} else {
closeLoading() // 关闭加载状态
$("#zy-h5-bf-bar").hide()
alert('该活动已经结束!')
}
}
}
})
}
// 获取活动信息
function getActivityData() {
// 获取活动信息 (海报和门店二维码)
$.ajax({
url: reqUrl + 'active/findActiveAttach/' + activeId,
type: 'get',
header: {
contentType: 'application/json;charset=UTF-8'
},
// 设置的是请求参数
data: {},
dataType: 'json',
success: function(res) {
if (res.status == 200) {
var data = res.data
if (staticHtmlPath) { // 发布
// var joinerNumVal = parseInt(data.initBuyNum) + parseInt(data.joinerNum)
// joinerNum.innerHTML = joinerNumVal
$('.zy-h5-store-info').show()
}
// 根据门店id处理对应页面展示
if (storeId) { // 门店端发布活动会传有门店id参数
// 获取门店信息
$.ajax({
url: reqUrl + 'cross/store/' + storeId,
type: 'get',
header: {
contentType: 'application/json;charset=UTF-8'
},
// 设置的是请求参数
data: {},
dataType: 'json',
success: function(result) {
if (result.status == 200) {
var data = result.data
companyId = data.companyId
joinerList(companyId) // 参与人列表数据
}
},
})
} else { // 运营端发布活动无门店id参数
joinerList() // 参与人列表数据
}
closeLoading() // 关闭加载状态
}
},
})
}
// 获取门店列表接口
function getStoreData(lat, lng) {
// console.log(lat, lng)
var obj = JSON.stringify({
"lat": lat, //
"lng": lng //
})
$.ajax({
url: reqUrl + 'active/activeStores/' + activeId,
type: 'post',
contentType: 'application/json;charset=UTF-8',
// 设置的是请求参数
data: lat && lng?obj:JSON.stringify({}),
dataType: 'json',
success: function(res) {
console.log(JSON.stringify(res), 'rrrrrrr')
if (res.status == 200) {
renderStoreList(res.data)
}
},
error: function(err, status, msg) {
console.log(err, 'jsapi error')
}
})
}
// 拼接门店列表
function renderStoreList(storeList) {
// 适用门店
var storeHtml = ''
for (var i = 0; i < storeList.length; i++) {
var item = storeList[i]
var distanct = ''
if (item.distanct) {
if (item.distanct.distance < 1000 && item.distanct.distance > 0) {
distanct = item.distanct.distance + 'm'
} else if (item.distanct.distance >= 1000) {
distanct = Number(item.distanct.distance / 1000).toFixed(2) + 'km'
}
}
storeHtml = storeHtml + '' +
'
' +
'' +
item.storeName +
'' +
'
' +
'
' +
'
' +
'
' +
'
门店地址:' +
'
' +
'' +
item.addrDetail +
'' +
'
' +
'
' +
'
' +
'
'
}
$(".store-info-card").html(storeHtml)
$(".store-info-card").find(".address,.distanct").on("click", function() {
var id = $(this).attr("data-id")
var row = storeList.find(function(item) {
return item.id == id
})
if (row) {
wx.openLocation({
latitude: parseFloat(row.lat), // 纬度,浮点数,范围为90 ~ -90
longitude: parseFloat(row.lng), // 经度,浮点数,范围为180 ~ -180。
name: row.storeName, // 位置名
address: row.addrDetail, // 地址详情说明
scale: 18, // 地图缩放级别,整形值,范围从1~28。默认为最大
infoUrl: '', // 在查看位置界面底部显示的超链接,可点击跳转
success(res) {
console.log(1111);
console.log(res);
},
fail(err) {
console.log(222);
console.log(err);
},
});
}
})
}
function storeRender(storeList) {
// 适用门店
var storeHtml = ''
for (var i = 0; i < storeList.length; i++) {
var item = storeList[i]
storeHtml = storeHtml + '' +
'
' +
'' +
item.storeName +
'' +
'
' +
'
' +
'
' +
'
' +
'
门店地址:' +
'
' +
'
' +
item.addrDetail +
'' +
'
' +
'
' +
'
' +
'
' +
'
'
}
$(".store-info-card").html(storeHtml)
}
// 关闭加载状态
function closeLoading() {
if (staticHtmlPath) { // 发布
// 关闭加载状态
document.getElementById('foo').style.display = 'none'
modalZz.style.display = 'none'
// 不是微信端打开的页面
if (!browser.versions.weixin) {
document.querySelector('.zy-h5-bf-bar').style.display = 'none'
document.querySelector('.zy-h5-fx-bar').style.display = 'none'
} else {
document.querySelector('.zy-h5-bf-bar').style.display = 'flex'
document.querySelector('.zy-h5-fx-bar').style.display = 'block'
}
}
}
// 加载中
function onLoading() {
// 隐藏参与和分享按钮
document.querySelector('.zy-h5-bf-bar').style.display = 'none'
document.querySelector('.zy-h5-fx-bar').style.display = 'none'
modalZz.style.display = 'block' // 遮罩层
var opts = {
lines: 9, // The number of lines to draw
length: 0, // The length of each line
width: 10, // The line thickness
radius: 15, // The radius of the inner circle
corners: 1, // Corner roundness (0..1)
rotate: 0, // The rotation offset
color: '#2979ff', // #rgb or #rrggbb
speed: 1, // Rounds per second
trail: 60, // Afterglow percentage
shadow: false, // Whether to render a shadow
hwaccel: false, // Whether to use hardware acceleration
className: 'spinner', // The CSS class to assign to the spinner
zIndex: 2e9, // The z-index (defaults to 2000000000)
top: 'auto', // Top position relative to parent in px
left: 'auto' // Left position relative to parent in px
};
var target = document.getElementById('foo');
var spinner = new Spinner(opts).spin(target);
}
window.onload = function() {
// 单击查看门店
$("#showStore").click(function(e) {
var _this = this
e.stopPropagation()
// 获取门店列表
console.log(!browser.versions.weixin,'!browser.versions.weixin')
if (!browser.versions.weixin){ // 不是微信端打开的页面
getStoreData()
}
$(".mask").show()
$(".store-info-list").animate({
bottom: '0em'
}, "slow", function() {
$("body").css({
'height': '100%',
'overflow': 'hidden'
})
$(_this).hide()
})
$(".store-info-list").scroll(function(e){
window.event? window.event.cancelBubble = true : e.stopPropagation()
})
})
// 关闭查看门店
$("#close-store,.mask").click(function(e) {
e.stopPropagation()
$(".store-info-list").animate({
bottom: '-1000em'
}, "slow")
$("body").css({
'height': 'auto',
'overflow': 'auto'
})
$("#showStore").show()
$(".mask").hide()
})
// 查看地址
$(".address").click(function(item) {
console.log(item, 'eeeeeeee')
e.stopPropagation()
wx.openLocation({
latitude: item.lat, // 纬度,浮点数,范围为90 ~ -90
longitude: item.lng, // 经度,浮点数,范围为180 ~ -180。
name: item.name, // 位置名
address: item.addrDetail, // 地址详情说明
scale: 26, // 地图缩放级别,整形值,范围从1~28。默认为最大
infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转
});
})
// 分享初始化
setTimeout(function() {
shareCls.getWxCofing(reqUrl)
}, 500)
if (staticHtmlPath) { // 发布
onLoading() // 加载中
checkActiveValid()
} else { // 预览
getActivityData() // 获取活动信息
}
// 打开预约弹框
yuyue.onclick = function() {
modal.style.display = 'block'
modalZz.style.display = 'block'
}
// 关闭预约弹框
canselModal.onclick = function() {
closeYy()
}
// 提交预约
submitModal.onclick = function() {
// 提交代码到后台
var mobile = userPhone.value
if (mobile == '') {
alert("请输入手机号码");
return false;
}
if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(mobile))) {
alert("手机号码错误,请重填");
return false;
}
var obj = JSON.stringify({
"joinerMobile": mobile, // 参与手机号
"activeId": activeId, // 活动id
"tenantId": storeId, // 门店id
"companyId": companyId // 公司id
})
// 立即参与
$.ajax({
url: reqUrl + 'active/signUp',
type: 'post',
contentType: 'application/json;charset=UTF-8',
// 设置的是请求参数
data: obj,
dataType: 'json',
success: function(res) {
if (res.status == 200) {
closeYy()
}
alert(res.message)
}
})
}
}