123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- var getNode = function(id){
- return document.getElementById(id)
- }
- var yuyue = getNode("yuyue") // 预约按钮
- var share = getNode("share") // 分享按钮
- 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 address = getNode("address") // 地址
- var tel = getNode("tel") // 电话
- var upScroll = getNode("upScroll") // 参与人信息 外层盒子
- var upScrollO = getNode("upScroll-o") // 参与人信息 盒子1
- var upScrollT = getNode("upScroll-t") // 参与人信息 盒子2
- var storeId = getQueryString('orgId') || 0 // 门店id
- var companyId = ''
- // test, 测试 local:本地 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 == 'pre'){
- var reqUrl = 'http://md.test.zyucgj.com/saas/clz/'
- }else if(baseType == 'pro'){
- var reqUrl = 'http://md.chelingzhu.com/saas/clz/'
- }
- // 隐藏预约弹框
- var closeYy = function (){
- userPhone.value = ''
- modal.style.display = 'none'
- modalZz.style.display = 'none'
- }
- window.onload = function(){
- if(staticHtmlPath){ // 发布
- checkActiveValid()
- }else{ // 预览
- getActivityData() // 获取活动信息
- }
-
- // 校验活动是否还在进行
- 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{
- 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){
- const data = res.data
- if(staticHtmlPath){ // 发布
- const 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){
- const data = result.data
- store.innerHTML = data.name || ''
- let addrCityName = data.addrCityName || ''
- let addrDistrictName = data.addrDistrictName || ''
- let addrDetail = data.addrDetail || ''
- address.innerHTML = addrCityName + addrDistrictName + addrDetail
- tel.innerHTML = data.managerMobile
- document.getElementById("tel-link").href = 'tel:' + data.managerMobile
- companyId = data.companyId
- joinerList(companyId) // 参与人列表数据
- }
- },
- })
- }else{ // 运营端发布活动无门店id参数
- joinerList() // 参与人列表数据
- }
- }
- },
- })
- }
- // 打开预约弹框
- 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;
- }
- const 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)
- }
- })
- }
- // 分享
- share.onclick = function(){
- if(storeId){
- window.location.href = 'http://static.chelingzhu.com/active/poster.html?id=' + activeId + '&reqUrl=' + reqUrl + '&orgId=' + storeId
- }else{
- window.location.href = 'http://static.chelingzhu.com/active/poster.html?id=' + activeId + '&reqUrl=' + reqUrl
- }
-
- }
- // 门店活动统计(参与者轮播)
- function joinerList(companyId){
- let 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){
- const data = res.data.list
- let html = ''
- for(let i = 0; i < data.length; i++){
- html += `<li class="info-con">
- <p class="qg-people">${data[i].joinerMobile}</p>
- <p class="qg-state">抢购成功</p>
- </li>`
- }
- document.getElementById("scroll-con").innerHTML = html
- // 参与人信息 向上滚动
- data.length > 0 ? upDownScroll() : ''
- }
- },
- })
- }
- // 上下滚动
- function upDownScroll(){
- var scrollTimer
- $("#scroll").hover(function(){
- clearInterval(scrollTimer)
- }, function() {
- scrollTimer = setInterval(function() {
- scrollContent($("#scroll"))
- }, 2000)
- }).trigger("mouseout")
- }
- function scrollContent(obj) {
- var $self = obj.find("ul:first")
- var lineHeight = $self.find("li:first").height() //获取行高
- $self.animate({
- "margin-top": -lineHeight + "px"
- }, 1000, function() {
- $self.css({
- "margin-top": "0px"
- }).find("li:first").appendTo($self) //appendTo能直接移动元素而不是复制,被appendto的元素位置发生变化
- })
- }
- }
- // 正则获取地址栏参数
- function getQueryString(name) {
- let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i")
- let r = window.location.search.substr(1).match(reg)
- if (r != null) {
- return unescape(r[2])
- }
- return null
- }
|