Showing
5 changed files
with
2532 additions
and
0 deletions
| @@ -741,4 +741,17 @@ | @@ -741,4 +741,17 @@ | ||
| 741 | background: linear-gradient(104.24deg, #4c8dad -57.47%, #0143a3 55.72%, #42a5ff 148.72%); | 741 | background: linear-gradient(104.24deg, #4c8dad -57.47%, #0143a3 55.72%, #42a5ff 148.72%); |
| 742 | bottom: 10%; | 742 | bottom: 10%; |
| 743 | color: #fff; | 743 | color: #fff; |
| 744 | +} | ||
| 745 | + | ||
| 746 | +.mymodal { | ||
| 747 | + top: 30% !important; | ||
| 748 | + width: 80% !important; | ||
| 749 | + margin: 0 auto !important; | ||
| 750 | + left: 0 !important; | ||
| 751 | + right: 0 !important; | ||
| 752 | + z-index: 250; | ||
| 753 | +} | ||
| 754 | + | ||
| 755 | +.mymodal .mymodal-content { | ||
| 756 | + height: auto !important; | ||
| 744 | } | 757 | } |
| 1 | +// pack-invitation/pages/detail_owner_invitation11.js | ||
| 2 | +var mta = require('mta-wechat-analysis') | ||
| 3 | +import util from '../../utils/util'; | ||
| 4 | +import App from '../../utils/api'; | ||
| 5 | +import TP from '../../utils/tpls'; | ||
| 6 | +import RS from '../../utils/reserveStatus' | ||
| 7 | +var plugin = requirePlugin("WechatSI"); | ||
| 8 | +import canvas from "../../pages/customer/canvas" | ||
| 9 | +Page({ | ||
| 10 | + /** | ||
| 11 | + * 页面的初始数据 | ||
| 12 | + */ | ||
| 13 | + data: { | ||
| 14 | + show_white: false, | ||
| 15 | + options: { | ||
| 16 | + tplid: '' | ||
| 17 | + }, | ||
| 18 | + tableNum: 0, | ||
| 19 | + detail: {}, | ||
| 20 | + staffinfo: {}, | ||
| 21 | + chef: {}, | ||
| 22 | + marketing: {}, | ||
| 23 | + home: {}, | ||
| 24 | + reserve: {}, | ||
| 25 | + signboard: {}, | ||
| 26 | + store: {}, | ||
| 27 | + recharge_data: {}, | ||
| 28 | + coupon_dataList: [], | ||
| 29 | + seller: {}, | ||
| 30 | + priceInfo: '', | ||
| 31 | + scoreInfo: '', | ||
| 32 | + certificate: '', | ||
| 33 | + dataStr: Date.now() * 1 / 1000, | ||
| 34 | + swich_phone: '0', //是否显示前台电话 | ||
| 35 | + is_comments: '0', | ||
| 36 | + is_user_comments: false, //是否评价过 true有评价 false没评价 | ||
| 37 | + tableinfo: [], //桌子列表 | ||
| 38 | + StyleType: '', //邀请函模板 | ||
| 39 | + showMoreTip: true, //显示滑动查看更多 | ||
| 40 | + hasValueOrder: false, //商家是否开通提前点餐功能 | ||
| 41 | + hasValueCertificate: false, //商家是否开通优惠券功能 | ||
| 42 | + hasValueRecharge: false, //商家是否开通充值功能 | ||
| 43 | + hasValueBroadcast: false, //商家是否能播报,只有极速版不能播报 | ||
| 44 | + _attentionAnim: {}, | ||
| 45 | + isPlay: '1', //语音播报 1运行 2暂停 | ||
| 46 | + paymentStatus: '', //定金支付状态 1支付 0未支付 | ||
| 47 | + reserveData: {}, //自定义图文数据 | ||
| 48 | + toastBool: false, //支付定金提示框 | ||
| 49 | + toastText: '', //支付定金提示文字 | ||
| 50 | + paymentId: '', //定金id | ||
| 51 | + wxml: null, | ||
| 52 | + imgSrc: '', //canvas图片地址 | ||
| 53 | + colors: '', //导航栏颜色 | ||
| 54 | + couponData: '', //评价赠送优惠券数据 | ||
| 55 | + timeList: [], //餐段时间 | ||
| 56 | + temp_ddate: '', //展示的到店时间 | ||
| 57 | + lite_style: '', //小程序转发卡片样式 | ||
| 58 | + isMoreBtn: '', //再次预订按钮 | ||
| 59 | + isPaymenBtn: '', //支付定金按钮 | ||
| 60 | + isShareItem: '', //转发客人按钮 | ||
| 61 | + isVoice: '', //播报按钮 | ||
| 62 | + openOrder: '', //点餐 | ||
| 63 | + isComments: '', //券和充值 | ||
| 64 | + bookType: '', //用餐类型 1婚宴模板1 2商务宴模板1 | ||
| 65 | + urlsArr: [], //包间预览图片、餐厅logo、餐厅首图列表 | ||
| 66 | + roomimage: [], //包间信息列表 | ||
| 67 | + activeTitle: '1', //选择的标题 1优惠券 2充值 3评价 | ||
| 68 | + titleList: [], //优惠券、充值、评价标题数组 | ||
| 69 | + }, | ||
| 70 | + tablestr: '', //桌位id拼接 | ||
| 71 | + screenHeight: '', | ||
| 72 | + attentionAnim: {}, | ||
| 73 | + audioCtx: '', //播报 | ||
| 74 | + timers: null, // 动画定时器 | ||
| 75 | + n: 0, | ||
| 76 | + modal: '', | ||
| 77 | + /** | ||
| 78 | + * 生命周期函数--监听页面加载 | ||
| 79 | + */ | ||
| 80 | + onLoad(options) { | ||
| 81 | + this.id = options.id | ||
| 82 | + let param = { | ||
| 83 | + options: options, | ||
| 84 | + hasOwner: options.hasSellerShare == 1, //是否为发起人 | ||
| 85 | + } | ||
| 86 | + param.tpls = [TP.tpls(options.tplid)] | ||
| 87 | + let bookType = options.bookType; | ||
| 88 | + console.log('param', param); | ||
| 89 | + console.log('options', options); | ||
| 90 | + this.setData({ | ||
| 91 | + ...param, | ||
| 92 | + bookType | ||
| 93 | + }) | ||
| 94 | + mta.Page.init({ | ||
| 95 | + "appID": "500667280", | ||
| 96 | + "eventID": "500667287", | ||
| 97 | + "statPullDownFresh": true, | ||
| 98 | + "statShareApp": true, | ||
| 99 | + "statReachBottom": true, | ||
| 100 | + "lauchOpts": options, //渠道分析 | ||
| 101 | + }); | ||
| 102 | + const systemInfo = wx.getSystemInfoSync(); | ||
| 103 | + this.screenHeight = systemInfo.windowHeight; // 获取屏幕高度 | ||
| 104 | + this.modal = this.selectComponent("#payModal"); //通过给组件所起的id调用组件 | ||
| 105 | + wx.onUserCaptureScreen((res) => { | ||
| 106 | + this.modal.showModal() | ||
| 107 | + }) | ||
| 108 | + }, | ||
| 109 | + //预览图片 | ||
| 110 | + previewImage(e) { | ||
| 111 | + const item = e.target.dataset; | ||
| 112 | + wx.previewImage({ | ||
| 113 | + current: item.url, | ||
| 114 | + urls: item.imgs, | ||
| 115 | + }) | ||
| 116 | + }, | ||
| 117 | + // 锚点定位 | ||
| 118 | + gotoModule(e) { | ||
| 119 | + const type = e.currentTarget.dataset['type']; | ||
| 120 | + const query = wx.createSelectorQuery() | ||
| 121 | + query.select('#module' + type).boundingClientRect() | ||
| 122 | + query.selectViewport().scrollOffset() | ||
| 123 | + query.exec(function (res) { | ||
| 124 | + wx.pageScrollTo({ | ||
| 125 | + scrollTop: res[0].top - 150 | ||
| 126 | + }); | ||
| 127 | + }); | ||
| 128 | + }, | ||
| 129 | + // 打开截屏弹框 | ||
| 130 | + showModal() { | ||
| 131 | + this.modal.showModal() | ||
| 132 | + }, | ||
| 133 | + // 关闭截屏弹框 | ||
| 134 | + closeModal() { | ||
| 135 | + this.modal.closeModal() | ||
| 136 | + }, | ||
| 137 | + // 页面滚动事件 | ||
| 138 | + onPageScroll: function (event) { | ||
| 139 | + if (event.scrollTop > 150) { //当页面滚动到某个位置时(这里设置为50),将导航栏背景颜色设置为白色 | ||
| 140 | + this.setData({ | ||
| 141 | + show_white: true | ||
| 142 | + }) | ||
| 143 | + } else { | ||
| 144 | + this.setData({ | ||
| 145 | + show_white: false | ||
| 146 | + }) | ||
| 147 | + } | ||
| 148 | + const scrollTop = event.scrollTop * 1 + this.screenHeight - 80; // 获取滚动的距离 | ||
| 149 | + if (scrollTop < this.screenHeight) { | ||
| 150 | + this.setData({ | ||
| 151 | + showMoreTip: true | ||
| 152 | + }); | ||
| 153 | + } else { | ||
| 154 | + this.setData({ | ||
| 155 | + showMoreTip: false | ||
| 156 | + }); | ||
| 157 | + } | ||
| 158 | + }, | ||
| 159 | + // 点击了解更多会员优惠政策 | ||
| 160 | + gotoFavourableList() { | ||
| 161 | + let url = util.http_build_query({ | ||
| 162 | + sellerName: this.data.seller.name, | ||
| 163 | + sellerid: this.data.seller.sid, | ||
| 164 | + oid: this.data.detail.id, | ||
| 165 | + types: '1' | ||
| 166 | + }, '/pack-cookbook/pages/favourableList') | ||
| 167 | + wx.navigateTo({ | ||
| 168 | + url | ||
| 169 | + }) | ||
| 170 | + }, | ||
| 171 | + // 去评价 | ||
| 172 | + evaluateFun() { | ||
| 173 | + let url = util.http_build_query({ | ||
| 174 | + sellerName: this.data.seller.name, | ||
| 175 | + sellerid: this.data.seller.sid, | ||
| 176 | + oid: this.data.detail.id, | ||
| 177 | + types: '1', | ||
| 178 | + previousPage: '1', | ||
| 179 | + }, '/pages/pinglun/createOpinion') | ||
| 180 | + wx.navigateTo({ | ||
| 181 | + url | ||
| 182 | + }) | ||
| 183 | + }, | ||
| 184 | + /** | ||
| 185 | + * 用户点击右上角分享 | ||
| 186 | + */ | ||
| 187 | + onShareAppMessage: function () { | ||
| 188 | + return this.sharesetting(); | ||
| 189 | + }, | ||
| 190 | + /** | ||
| 191 | + * 监听用户点击分享到朋友圈按钮的操作 | ||
| 192 | + */ | ||
| 193 | + onShareTimeline() { | ||
| 194 | + return this.sharesetting(); | ||
| 195 | + }, | ||
| 196 | + /** | ||
| 197 | + * 生命周期函数--监听页面显示 | ||
| 198 | + */ | ||
| 199 | + onShow: function () { | ||
| 200 | + this.setData({ | ||
| 201 | + titleList: [] | ||
| 202 | + }) | ||
| 203 | + this.getDetail() | ||
| 204 | + this.getText() | ||
| 205 | + this.getPaymentStatus() | ||
| 206 | + }, | ||
| 207 | + // 复制微信号 | ||
| 208 | + copyWeChat() { | ||
| 209 | + if (this.data.staffinfo.wechat) { | ||
| 210 | + wx.setClipboardData({ | ||
| 211 | + data: this.data.staffinfo.wechat, | ||
| 212 | + success(res) { | ||
| 213 | + wx.getClipboardData({ | ||
| 214 | + success(res) { | ||
| 215 | + console.log(res.data) | ||
| 216 | + } | ||
| 217 | + }) | ||
| 218 | + } | ||
| 219 | + }) | ||
| 220 | + } else { | ||
| 221 | + console.log('无微信号') | ||
| 222 | + } | ||
| 223 | + }, | ||
| 224 | + // 拨打电话 | ||
| 225 | + call(e) { | ||
| 226 | + const phone = e.currentTarget.dataset['phone']; | ||
| 227 | + wx.reportMonitor('1012', 1) | ||
| 228 | + wx.makePhoneCall({ | ||
| 229 | + phoneNumber: phone | ||
| 230 | + }) | ||
| 231 | + }, | ||
| 232 | + // 跳转到商家入驻页 | ||
| 233 | + gotoJoinSeller() { | ||
| 234 | + wx.navigateTo({ | ||
| 235 | + url: util.http_build_query({ | ||
| 236 | + laiyuan: '邀请函' | ||
| 237 | + }, '/pages/customer/joinSeller') | ||
| 238 | + }) | ||
| 239 | + }, | ||
| 240 | + // 导航 | ||
| 241 | + looklocation: function () { | ||
| 242 | + wx.reportMonitor('1015', 1) | ||
| 243 | + wx.openLocation({ | ||
| 244 | + latitude: Number(this.data.seller.lat), | ||
| 245 | + longitude: Number(this.data.seller.long), | ||
| 246 | + scale: 17, | ||
| 247 | + address: this.data.seller.addr, | ||
| 248 | + success: function (res) { | ||
| 249 | + console.log(res) | ||
| 250 | + } | ||
| 251 | + }) | ||
| 252 | + }, | ||
| 253 | + // 获取包间图片列表 | ||
| 254 | + getroomimage(sellerid, uid) { | ||
| 255 | + App.Tables.GetTablesPhoto({ | ||
| 256 | + sellerid, | ||
| 257 | + tableids: this.tablestr | ||
| 258 | + }).then((json) => { | ||
| 259 | + if (json.ret == 200) { | ||
| 260 | + this.setData({ | ||
| 261 | + roomimage: json.data | ||
| 262 | + }) | ||
| 263 | + var urlsArr = []; | ||
| 264 | + json.data.forEach((v, i) => { | ||
| 265 | + urlsArr.push(v.url); | ||
| 266 | + }) | ||
| 267 | + this.setData({ | ||
| 268 | + urlsArr | ||
| 269 | + }) | ||
| 270 | + this.getstaffinfo(uid, sellerid); | ||
| 271 | + console.log('包间图片地址urlsArr', urlsArr) | ||
| 272 | + console.log('包间信息roomimage', json.data) | ||
| 273 | + } | ||
| 274 | + }) | ||
| 275 | + }, | ||
| 276 | + // 预览图片 | ||
| 277 | + lookImgs(e) { | ||
| 278 | + const url = e.currentTarget.dataset['url']; | ||
| 279 | + const imgs = e.currentTarget.dataset['imgs']; | ||
| 280 | + let urls = imgs ? imgs : [url] | ||
| 281 | + wx.previewImage({ | ||
| 282 | + current: url, | ||
| 283 | + urls, | ||
| 284 | + }) | ||
| 285 | + }, | ||
| 286 | + // 获取店铺详情 | ||
| 287 | + getDetail() { | ||
| 288 | + App.Reserve.Detail({ | ||
| 289 | + openid: getApp().openid, | ||
| 290 | + rid: this.data.options.id | ||
| 291 | + }).then(res => { | ||
| 292 | + let tablesText = '', //桌子信息 | ||
| 293 | + deskStr = '', | ||
| 294 | + tableNum = 0; | ||
| 295 | + let tableinfo = util.determine(res.data.tableinfo); | ||
| 296 | + console.log('tableinfo', tableinfo); | ||
| 297 | + res.data.tables.forEach((t, i) => { | ||
| 298 | + tableNum += t.table_pnum * 1 | ||
| 299 | + tablesText += t.rname + t.name + (i == (res.data.tables.length - 1) ? '' : '、'); | ||
| 300 | + deskStr += t.name + (i == (res.data.tables.length - 1) ? '' : '、'); | ||
| 301 | + }) | ||
| 302 | + let tabaleids = []; | ||
| 303 | + res.data.tables.forEach(t => { | ||
| 304 | + tabaleids.push(t.id); | ||
| 305 | + }) | ||
| 306 | + this.tablestr = tabaleids.toString(); | ||
| 307 | + let reserev = RS.reserve(res.data) | ||
| 308 | + let dateSmart = util.unixtoTime(reserev.ddate, 'YYYY-MM-DD 星期WW'); | ||
| 309 | + let yearMonthDay = util.unixtoTime(reserev.ddate, 'YYYY年MM月DD日') | ||
| 310 | + let yearMonth = util.unixtoTime(reserev.ddate, 'MM月DD日') | ||
| 311 | + let dateStr = util.unixtoTime(reserev.ddate, 'HH点') | ||
| 312 | + let dateStrDivide = util.unixtoTime(reserev.ddate, 'II分') | ||
| 313 | + console.log('dateSmart', dateSmart); | ||
| 314 | + let detail = this.formatDatail(reserev, dateSmart) | ||
| 315 | + this.setData({ | ||
| 316 | + detail, | ||
| 317 | + tableNum, | ||
| 318 | + tableinfo, | ||
| 319 | + is_user_comments: res.data.is_user_comments, | ||
| 320 | + temp_ddate: this.data.temp_ddate ? this.data.temp_ddate : reserev.temp_ddate ? util.unixtoTime(reserev.temp_ddate, 'HH:II') : util.unixtoTime(reserev.ddate, 'HH:II'), | ||
| 321 | + openOrder: (detail && detail.status != '4' && this.data.options.isOrder != '1' && detail.seller && detail.seller.is_open_order == 1) ? '1' : '0', | ||
| 322 | + seller: { | ||
| 323 | + daily: reserev.seller.daily, | ||
| 324 | + name: reserev.seller.sellername, | ||
| 325 | + sid: reserev.sid, | ||
| 326 | + date: dateSmart, | ||
| 327 | + tablesText, | ||
| 328 | + addr: reserev.seller.real_address || reserev.seller.map_address, | ||
| 329 | + image: reserev.image_url, | ||
| 330 | + hasOwner: true, | ||
| 331 | + type: reserev.type, | ||
| 332 | + is_set_ddate: reserev.is_set_ddate, | ||
| 333 | + hasUpTime: reserev.type == 1 && reserev.hasRunning && reserev.status != 2, | ||
| 334 | + tel: reserev.seller.seller_tel.split(','), | ||
| 335 | + soltName: reserev.soltName, | ||
| 336 | + dateTime: util.unixtoTime(reserev.ddate, 'HH:II'), | ||
| 337 | + time: util.unixtoTime(reserev.ddate, '星期WW HH:II'), | ||
| 338 | + lat: reserev.seller.lat, | ||
| 339 | + long: reserev.seller.long, | ||
| 340 | + yearMonthDay, | ||
| 341 | + yearMonth, | ||
| 342 | + dateStr, | ||
| 343 | + deskStr, | ||
| 344 | + dateStrDivide: dateStrDivide == '00分' ? '' : dateStrDivide, | ||
| 345 | + seller_tel: reserev.seller.seller_tel, | ||
| 346 | + phone: reserev.phone, | ||
| 347 | + } | ||
| 348 | + }) | ||
| 349 | + console.log('reserev信息', reserev); | ||
| 350 | + console.log('seller信息', this.data.seller); | ||
| 351 | + console.log('detail信息', this.data.detail); | ||
| 352 | + setTimeout(() => { | ||
| 353 | + this.getroomimage(reserev.sid, res.data.uid) | ||
| 354 | + this.getSellerVersionFun(reserev.sid); | ||
| 355 | + }, 0); | ||
| 356 | + }).catch(res => { | ||
| 357 | + console.log(res, '详情请求失败'); | ||
| 358 | + }) | ||
| 359 | + }, | ||
| 360 | + // 获取商家版本,不是超能版或者没有开通对应模块,不显示 | ||
| 361 | + getSellerVersionFun(sellerid) { | ||
| 362 | + App.SellerVersion.GetSellerVersion({ | ||
| 363 | + sellerid | ||
| 364 | + }).then((res) => { | ||
| 365 | + let data = res.data; | ||
| 366 | + console.log('版本列表', data); | ||
| 367 | + if (data && data.length > 0) { | ||
| 368 | + data.sort((a, b) => b.cdate * 1 - a.cdate * 1); | ||
| 369 | + // 获取店铺当前版本 (cdate最大最后一个充入的 && 当前时间有效 && 当前版本) | ||
| 370 | + let obj = data.find(item => item.vtype == 1 || item.vtype == 2 || item.vtype == 4); | ||
| 371 | + console.log('当前版本', { | ||
| 372 | + ...obj | ||
| 373 | + }); | ||
| 374 | + // 提前点餐功能:超能版 || 有提前点餐模块 | ||
| 375 | + const hasValueOrder = obj.vtype == '1' || data.some(item => item.vid == '6'); | ||
| 376 | + // 优惠券功能:超能版 || 高级版 || 有优惠券模块 | ||
| 377 | + const hasValueCertificate = obj.vtype == '1' || obj.vtype == '4' || data.some(item => item.vid == '8'); | ||
| 378 | + // 充值功能:超能版 || 有充值模块 | ||
| 379 | + const hasValueRecharge = obj.vtype == '1' || data.some(item => item.vid == '9'); | ||
| 380 | + // 播报功能:超能版 || 标准版 || 标准版首年 || 高级版 | ||
| 381 | + const hasValueBroadcast = obj.vtype == '1' || obj.vid == '4' || obj.vid == '13' || obj.vtype == '4'; | ||
| 382 | + this.setData({ | ||
| 383 | + hasValueOrder, | ||
| 384 | + hasValueCertificate, | ||
| 385 | + hasValueRecharge, | ||
| 386 | + hasValueBroadcast, | ||
| 387 | + }) | ||
| 388 | + } | ||
| 389 | + }) | ||
| 390 | + }, | ||
| 391 | + // 通过预订ID查收定金详情 | ||
| 392 | + getPaymentStatus() { | ||
| 393 | + App.Reserve.GetReserveDepositByRid({ | ||
| 394 | + rid: this.data.options.id | ||
| 395 | + }).then(res => { | ||
| 396 | + if (res.ret == 200 && res.data && res.data.length > 0) { | ||
| 397 | + let data = res.data[0]; | ||
| 398 | + let paymentStatus = data.trade_state == 'SUCCESS' ? '1' : '0'; | ||
| 399 | + let options = this.data.options | ||
| 400 | + this.setData({ | ||
| 401 | + paymentId: data.id, | ||
| 402 | + paymentStatus, | ||
| 403 | + isPaymenBtn: options.isOrder != '1' && data.id && paymentStatus == '0' && options.hasSellerShare == '1' && options.isDeposit == '1', | ||
| 404 | + }) | ||
| 405 | + } | ||
| 406 | + }) | ||
| 407 | + }, | ||
| 408 | + // 获取自定义图文内容 | ||
| 409 | + getText() { | ||
| 410 | + App.Reserve.GetReserveImgText({ | ||
| 411 | + rid: this.data.options.id | ||
| 412 | + }).then(res => { | ||
| 413 | + if (res.ret == 200 && res.data) { | ||
| 414 | + let data = res.data; | ||
| 415 | + let content = util.determine(data.content) | ||
| 416 | + console.log('自定义图文内容content', content); | ||
| 417 | + this.setData({ | ||
| 418 | + reserveData: { | ||
| 419 | + title: data.title || '', | ||
| 420 | + content, | ||
| 421 | + } | ||
| 422 | + }) | ||
| 423 | + } | ||
| 424 | + }) | ||
| 425 | + }, | ||
| 426 | + // 点击支付定金 | ||
| 427 | + paymentFun() { | ||
| 428 | + let that = this; | ||
| 429 | + App.PayOnline.CombineTransactionsByDeposit({ | ||
| 430 | + id: this.data.paymentId, | ||
| 431 | + openid: getApp().openid, | ||
| 432 | + }).then(res => { | ||
| 433 | + if (res.ret == 200) { | ||
| 434 | + wx.requestPayment({ | ||
| 435 | + timeStamp: res.data.timeStamp + '', | ||
| 436 | + nonceStr: res.data.nonceStr, | ||
| 437 | + package: res.data.package, | ||
| 438 | + signType: res.data.signType, | ||
| 439 | + paySign: res.data.paySign, | ||
| 440 | + success(ress) { | ||
| 441 | + console.log('微信支付结果', ress); | ||
| 442 | + if (ress.errMsg == 'requestPayment:ok') { | ||
| 443 | + console.log('支付成功', ress); | ||
| 444 | + that.setData({ | ||
| 445 | + paymentStatus: '1', | ||
| 446 | + toastBool: true, | ||
| 447 | + toastText: '支付成功' | ||
| 448 | + }) | ||
| 449 | + that.hideToast(); | ||
| 450 | + return | ||
| 451 | + } | ||
| 452 | + console.log('支付失败1', ress); | ||
| 453 | + that.setData({ | ||
| 454 | + toastBool: true, | ||
| 455 | + toastText: '支付失败,请重新支付' | ||
| 456 | + }) | ||
| 457 | + that.hideToast(); | ||
| 458 | + }, | ||
| 459 | + fail(ress) { | ||
| 460 | + console.log('支付失败2', ress); | ||
| 461 | + that.setData({ | ||
| 462 | + toastBool: true, | ||
| 463 | + toastText: '支付失败,请重新支付' | ||
| 464 | + }) | ||
| 465 | + that.hideToast(); | ||
| 466 | + }, | ||
| 467 | + }) | ||
| 468 | + } else { | ||
| 469 | + wx.showToast({ | ||
| 470 | + title: res.msg, | ||
| 471 | + icon: 'none', | ||
| 472 | + }) | ||
| 473 | + } | ||
| 474 | + }) | ||
| 475 | + }, | ||
| 476 | + // 关闭支付失败或者成功弹框 | ||
| 477 | + hideToast() { | ||
| 478 | + setTimeout(() => { | ||
| 479 | + this.setData({ | ||
| 480 | + toastBool: false | ||
| 481 | + }) | ||
| 482 | + }, 1500) | ||
| 483 | + }, | ||
| 484 | + // 客户经理获取基本信息 | ||
| 485 | + getstaffinfo(uid, sid) { | ||
| 486 | + App.Activity.GetCustomerActivityBaseinfo({ | ||
| 487 | + sellerid: this.data.detail.seller.id, | ||
| 488 | + uid | ||
| 489 | + }).then((json) => { | ||
| 490 | + if (json.ret == 200) { | ||
| 491 | + console.log('经理信息staffinfo', json.data) | ||
| 492 | + this.setData({ | ||
| 493 | + staffinfo: json.data | ||
| 494 | + }) | ||
| 495 | + this.getSellerTemplateConfFun(sid); | ||
| 496 | + } | ||
| 497 | + }) | ||
| 498 | + }, | ||
| 499 | + // 提前点餐 | ||
| 500 | + cookbook() { | ||
| 501 | + if (this.data.detail.order && this.data.detail.order.cookbooklist.length > 0) { | ||
| 502 | + let data = { | ||
| 503 | + rid: this.id, | ||
| 504 | + oid: this.data.detail.order.id, | ||
| 505 | + sellerName: this.data.seller.name, | ||
| 506 | + sid: this.data.seller.sid, | ||
| 507 | + identity: '1', | ||
| 508 | + hasSuccess: '1', | ||
| 509 | + } | ||
| 510 | + wx.navigateTo({ | ||
| 511 | + url: `/pack-cookbook/pages/success_new?hasSuccess=${data.hasSuccess}&identity=${data.identity}&oid=${data.oid}&rid=${data.rid}&sellerName=${data.sellerName}&sid=${data.sid}`, | ||
| 512 | + }) | ||
| 513 | + } else { | ||
| 514 | + App.Advance.CreateOrder({ | ||
| 515 | + rid: this.id, | ||
| 516 | + openid: getApp().openid, | ||
| 517 | + }).then(res => { | ||
| 518 | + if (res.ret != 200) { | ||
| 519 | + return util.toast(res.msg, 'none') | ||
| 520 | + } | ||
| 521 | + wx.navigateTo({ | ||
| 522 | + url: util.http_build_query({ | ||
| 523 | + rid: this.id, | ||
| 524 | + oid: res.data.id, | ||
| 525 | + sid: res.data.sellerid, | ||
| 526 | + sellerName: this.data.seller.name, | ||
| 527 | + identity: '1', | ||
| 528 | + }, '/pack-cookbook/pages/index_new') | ||
| 529 | + }); | ||
| 530 | + }) | ||
| 531 | + } | ||
| 532 | + }, | ||
| 533 | + // 生成海报 | ||
| 534 | + painterBtn(img, sellerName, date, time) { | ||
| 535 | + img = img.replace(/^http:/, "https:"); | ||
| 536 | + this.setData({ | ||
| 537 | + wxml: canvas({ | ||
| 538 | + imgUrl: img || 'https://nosqn.colorcun.com/reserve/images/3x/%E6%9A%82%E6%97%A0.png', | ||
| 539 | + sellerName, | ||
| 540 | + date, | ||
| 541 | + time, | ||
| 542 | + }) | ||
| 543 | + }) | ||
| 544 | + }, | ||
| 545 | + onImgOK(e) { | ||
| 546 | + this.setData({ | ||
| 547 | + imgSrc: e.detail.path | ||
| 548 | + }) | ||
| 549 | + console.log('海报生成成功', this.data.imgSrc); | ||
| 550 | + }, | ||
| 551 | + // 分享 | ||
| 552 | + sharesetting() { | ||
| 553 | + wx.reportMonitor('1017', 1) | ||
| 554 | + this.closeModal() | ||
| 555 | + if (this.data.options.isOrder == '1' && this.data.detail.status != '4') { | ||
| 556 | + return { | ||
| 557 | + title: '推荐' + this.data.seller.name + ',点击可查看详情并导航到店', | ||
| 558 | + path: util.http_build_query({ | ||
| 559 | + id: this.data.detail.seller.id | ||
| 560 | + }, '/pages/reserve/shopHome'), | ||
| 561 | + imageUrl: this.data.detail.seller.seller_image || 'http://nosqn.colorcun.com/reserve/images/3x/%E6%9A%82%E6%97%A0.png', | ||
| 562 | + } | ||
| 563 | + } else { | ||
| 564 | + let parmdata = { | ||
| 565 | + id: this.id, | ||
| 566 | + fromid: getApp().openid, | ||
| 567 | + hasInvitation: 1, | ||
| 568 | + tplid: this.data.options.tplid | ||
| 569 | + } | ||
| 570 | + if (this.data.options.uid) { | ||
| 571 | + parmdata.uid = this.data.options.uid; | ||
| 572 | + } | ||
| 573 | + return { | ||
| 574 | + title: '我已订好' + this.data.seller.name + ',点击可查看详情并导航到店', | ||
| 575 | + path: util.http_build_query(parmdata, '/pages/customer/detail_owner_invitation_new'), | ||
| 576 | + imageUrl: this.data.imgSrc || 'http://nosqn.colorcun.com/reserve/images/3x/%E6%9A%82%E6%97%A0.png', | ||
| 577 | + } | ||
| 578 | + } | ||
| 579 | + }, | ||
| 580 | + // 修改detail数据 | ||
| 581 | + formatDatail(details, dateSmart) { | ||
| 582 | + details.rdateStr = dateSmart; | ||
| 583 | + details.tableFirst = details.tables[0].name; | ||
| 584 | + if (details.tables.length > 1) { | ||
| 585 | + details.tableSubInfo = '等' + (details.tables.length) + '个' + | ||
| 586 | + (details.tables[0].tid == 2 ? '包间' : ''); | ||
| 587 | + } | ||
| 588 | + details.rname = details.rname.trim() | ||
| 589 | + if (details.rname && details.sex != 3) { | ||
| 590 | + details.rnameStr = details.rname + (details.sex == 1 ? '先生' : details.sex == 2 ? '女士' : details.sex == 4 ? '贵宾' : '') | ||
| 591 | + } else if (!details.rname && details.sex == 4) { | ||
| 592 | + details.rnameStr = '贵宾' | ||
| 593 | + } else { | ||
| 594 | + details.rnameStr = details.rname | ||
| 595 | + } | ||
| 596 | + details.eatStr = '邀请您共进晚餐'; | ||
| 597 | + let hi = util.unixtoTime(details.ddate, 'HHII'); | ||
| 598 | + if (hi < '10:00') { | ||
| 599 | + details.eatStr = '邀请您共进早餐'; | ||
| 600 | + } else if (hi < '15:00') { | ||
| 601 | + details.eatStr = '邀请您共进午餐'; | ||
| 602 | + } | ||
| 603 | + return details; | ||
| 604 | + }, | ||
| 605 | + // 获取商家设置营销信息 | ||
| 606 | + getSellerTemplateConfFun(sid) { | ||
| 607 | + App.Seller.GetSellerTemplateConf({ | ||
| 608 | + sid | ||
| 609 | + }).then(res => { | ||
| 610 | + let data = res.data | ||
| 611 | + let couponList = [] | ||
| 612 | + let StyleType, home, chef, marketing, coupon, reserve, swich_phone, is_comments, signboard, store; | ||
| 613 | + chef = util.determine(data.chef); | ||
| 614 | + reserve = util.determine(data.reserve); | ||
| 615 | + marketing = util.determine(data.marketing); | ||
| 616 | + signboard = util.determine(data.signboard); | ||
| 617 | + store = util.determine(data.store); | ||
| 618 | + home = util.determine(data.home); | ||
| 619 | + StyleType = data.type; | ||
| 620 | + swich_phone = reserve && reserve.swich_phone ? reserve.swich_phone : ''; | ||
| 621 | + if (store) store.content = (store.is_introduce_all == '1' && store.content) ? util.determine(store.content) : ''; | ||
| 622 | + if (chef) chef.content = (chef.is_introduce_all == '1' && chef.content) ? util.determine(chef.content) : ''; | ||
| 623 | + if (signboard) signboard.content = (signboard.is_introduce_all == '1' && signboard.content) ? util.determine(signboard.content) : ''; | ||
| 624 | + if (reserve) reserve.content = (reserve.is_introduce_all == '1' && reserve.content) ? util.determine(reserve.content) : ''; | ||
| 625 | + if (home) home.image = (home && home.image && (!home.id_first_image || home.id_first_image != '0')) ? home.image : ''; | ||
| 626 | + if (marketing) { | ||
| 627 | + marketing.logo = (marketing.logo && (!marketing.is_logo || marketing.is_logo != '0')) ? marketing.logo : ''; | ||
| 628 | + is_comments = marketing.is_comments ? marketing.is_comments : ''; | ||
| 629 | + coupon = marketing.coupon_data ? util.determine(marketing.coupon_data) : ''; | ||
| 630 | + let info = marketing.coupon_data_comments ? util.determine(marketing.coupon_data_comments) : ''; | ||
| 631 | + let couponDataId = info && info.length > 0 ? info[0].id : {} | ||
| 632 | + // 根据券ID获取评价赠送的券详情 | ||
| 633 | + if (couponDataId) this.getEvaluateFun(couponDataId) | ||
| 634 | + } | ||
| 635 | + // is_cash 代金券 is_discount折扣券 is_dish菜品券 只有代金券有几折显示 | ||
| 636 | + if (coupon && util.getType(coupon) == 'object') { | ||
| 637 | + couponList.push({ | ||
| 638 | + id: coupon.id | ||
| 639 | + }); | ||
| 640 | + } | ||
| 641 | + if (coupon && util.getType(coupon) == 'array') { | ||
| 642 | + if (coupon.length > 0) { | ||
| 643 | + coupon.forEach(item => { | ||
| 644 | + couponList.push({ | ||
| 645 | + id: item.id | ||
| 646 | + }) | ||
| 647 | + }) | ||
| 648 | + } | ||
| 649 | + } | ||
| 650 | + // 根据券ID获取券详情 | ||
| 651 | + this.getActivityByIdFun(couponList, couponList.length) | ||
| 652 | + // 根据充值ID获取充值详情 | ||
| 653 | + if (marketing && marketing.is_recharge && marketing.is_recharge == '1' && marketing.recharge_data) { | ||
| 654 | + this.getRechargeDetail(marketing.recharge_data.id) | ||
| 655 | + } | ||
| 656 | + if (store && store.images && store.images.length > 0) store.images = util.determine(store.images); | ||
| 657 | + if (reserve && reserve.park_info_images && reserve.park_info_images.length > 0) reserve.park_info_images = util.determine(reserve.park_info_images); | ||
| 658 | + if (signboard && signboard.images && signboard.images.length > 0) signboard.images = util.determine(signboard.images); | ||
| 659 | + if (reserve) reserve = this.processInfo(reserve, '1') | ||
| 660 | + if (store) store = this.processInfo(store, '2') | ||
| 661 | + if (signboard) signboard = this.processInfo(signboard, '3') | ||
| 662 | + if (chef) chef = this.processInfo(chef, '4') | ||
| 663 | + let solt = this.data.detail.ddate_solt; | ||
| 664 | + let lunchDis = this.data.seller.daily; | ||
| 665 | + let timeList = [] | ||
| 666 | + var morningStr = lunchDis.morning.split("-"); | ||
| 667 | + var morningArr = lunchDis.morning ? this.computeHour(morningStr[0], morningStr[1], 30) : []; | ||
| 668 | + var noonStr = lunchDis.noon.split("-"); | ||
| 669 | + var noonArr = lunchDis.noon ? this.computeHour(noonStr[0], noonStr[1], 30) : []; | ||
| 670 | + var nightStr = lunchDis.night.split("-"); | ||
| 671 | + var nightArr = lunchDis.night ? this.computeHour(nightStr[0], nightStr[1], 30) : []; | ||
| 672 | + timeList = solt == '1' ? morningArr : solt == '2' ? noonArr : solt == '3' ? nightArr : [] | ||
| 673 | + let bookType = this.data.bookType; | ||
| 674 | + let urlsArr = this.data.urlsArr | ||
| 675 | + marketing.wecomle = (reserve && reserve.swich_welcome == '1' && marketing && marketing.wecomle) ? marketing.wecomle : '' | ||
| 676 | + if (bookType == '1' && home && home.image) urlsArr.push(home.image) | ||
| 677 | + if (bookType == '1' && marketing && marketing.logo) urlsArr.push(marketing.logo) | ||
| 678 | + let obj = { | ||
| 679 | + chef, | ||
| 680 | + marketing, | ||
| 681 | + home, | ||
| 682 | + reserve, | ||
| 683 | + signboard, | ||
| 684 | + store, | ||
| 685 | + swich_phone, | ||
| 686 | + StyleType, | ||
| 687 | + lite_style: data.lite_style, | ||
| 688 | + timeList, | ||
| 689 | + is_comments, | ||
| 690 | + isMoreBtn: marketing && marketing.is_online_book == '1' && this.data.options.onlineReserve == '1', | ||
| 691 | + isShareItem: this.data.options.isOrder != '1' && marketing && marketing.is_transpond == '1', | ||
| 692 | + isComments: is_comments == '1' && marketing && marketing.is_comments_coupon == '1', | ||
| 693 | + colors: bookType == '1' ? '#7c191e' : bookType == '2' ? '#000' : '', | ||
| 694 | + urlsArr | ||
| 695 | + } | ||
| 696 | + console.log('获取数据GetSellerTemplateConf--------------------', { | ||
| 697 | + ...obj | ||
| 698 | + }); | ||
| 699 | + this.setData({ | ||
| 700 | + ...obj | ||
| 701 | + }) | ||
| 702 | + // 开启语音播报 | ||
| 703 | + if (reserve && reserve.swich_voice == '1') { | ||
| 704 | + this.setData({ | ||
| 705 | + isPlay: '1', | ||
| 706 | + isVoice: '1', | ||
| 707 | + }) | ||
| 708 | + this.textToSpeechFun(reserve.voice_info) | ||
| 709 | + } | ||
| 710 | + // 获取转发客人卡片设置 | ||
| 711 | + let detailInfo = this.data.detail; | ||
| 712 | + if (data.lite_style == '0') { | ||
| 713 | + this.setData({ | ||
| 714 | + imgSrc: detailInfo.seller.seller_image | ||
| 715 | + }) | ||
| 716 | + } else { | ||
| 717 | + let d = detailInfo.ddate_solt; | ||
| 718 | + let time1 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早上' : d == '2' ? '中午' : d == '3' ? '晚上' : ''); | ||
| 719 | + let time2; | ||
| 720 | + if (this.data.temp_ddate) { | ||
| 721 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW') + this.data.temp_ddate | ||
| 722 | + } else { | ||
| 723 | + time2 = util.unixtoTime(detailInfo.ddate, '周WW HH:II') | ||
| 724 | + } | ||
| 725 | + let time3 = util.unixtoTime(detailInfo.ddate, '周WW') + ' ' + (d == '1' ? '早餐' : d == '2' ? '午餐' : d == '3' ? '晚餐' : ''); | ||
| 726 | + let time = data.lite_style == '1' ? time1 : data.lite_style == '2' ? time2 : data.lite_style == '3' ? time3 : ''; | ||
| 727 | + this.painterBtn( | ||
| 728 | + detailInfo.seller.seller_image, | ||
| 729 | + detailInfo.seller.sellername, | ||
| 730 | + util.unixtoTime(detailInfo.ddate, 'MM月DD日'), | ||
| 731 | + time | ||
| 732 | + ); | ||
| 733 | + } | ||
| 734 | + }).catch(res => { | ||
| 735 | + console.log('GetSellerTemplateConf请求失败'); | ||
| 736 | + }) | ||
| 737 | + }, | ||
| 738 | + // 点击商家有礼 | ||
| 739 | + gotoSellerGift() { | ||
| 740 | + let url = util.http_build_query({ | ||
| 741 | + id: this.data.detail.id, | ||
| 742 | + }, '/pages/reserve/sellerGift') | ||
| 743 | + wx.navigateTo({ | ||
| 744 | + url | ||
| 745 | + }) | ||
| 746 | + }, | ||
| 747 | + // 再次预订 | ||
| 748 | + secondbook() { | ||
| 749 | + wx.reportMonitor('1013', 1) | ||
| 750 | + wx.redirectTo({ | ||
| 751 | + url: '/pages/reserve/shopHome?id=' + this.data.detail.seller.id | ||
| 752 | + }) | ||
| 753 | + }, | ||
| 754 | + // 文字转语音的方法 | ||
| 755 | + textToSpeechFun(voice_info) { | ||
| 756 | + console.log('voice_info', voice_info); | ||
| 757 | + let that = this; | ||
| 758 | + let data = this.data; | ||
| 759 | + data.detail.rname = data.detail.rname.trim() | ||
| 760 | + let str = data.detail.sex == 1 ? '先生' : data.detail.sex == 2 ? '女士' : data.detail.sex == 4 ? '贵宾' : ''; | ||
| 761 | + let charArray = data.seller.deskStr.split(''); | ||
| 762 | + let modifiedArray = charArray.map(char => char + ' '); | ||
| 763 | + let resultString = modifiedArray.join('').slice(0, -1); | ||
| 764 | + const replacements = { | ||
| 765 | + "{年月日}": data.seller.yearMonthDay, | ||
| 766 | + "{月日}": data.seller.yearMonth, | ||
| 767 | + "{餐段}": data.seller.soltName, | ||
| 768 | + "{就餐时间}": data.seller.dateStr + data.seller.dateStrDivide, | ||
| 769 | + "{包间名}": resultString, | ||
| 770 | + "{区域名+包间名}": data.seller.tablesText, | ||
| 771 | + "{经理名字}": data.staffinfo.name, | ||
| 772 | + "{客人姓名}": data.detail.rname ? (data.detail.rname + str) : str == '贵宾' ? '贵宾' : '', | ||
| 773 | + "{预订日期}": data.seller.yearMonthDay, | ||
| 774 | + "{桌位}": resultString, | ||
| 775 | + }; | ||
| 776 | + let newStr = voice_info.replace(/{预订日期}|{桌位}|{年月日}|{月日}|{餐段}|{就餐时间}|{包间名}|{区域名\+包间名}|{经理名字}|{客人姓名}/g, function (matched) { | ||
| 777 | + return replacements[matched]; | ||
| 778 | + }); | ||
| 779 | + console.log('文字转语音newStr', newStr); | ||
| 780 | + plugin.textToSpeech({ | ||
| 781 | + lang: "zh_CN", | ||
| 782 | + tts: true, | ||
| 783 | + content: newStr, | ||
| 784 | + success: function (res) { | ||
| 785 | + that.filename = res.filename | ||
| 786 | + that.speech() | ||
| 787 | + }, | ||
| 788 | + fail: function (res) { | ||
| 789 | + console.log("fail tts", res) | ||
| 790 | + } | ||
| 791 | + }) | ||
| 792 | + }, | ||
| 793 | + // 开启语音播报 | ||
| 794 | + speech() { | ||
| 795 | + var attentionAnim = wx.createAnimation({ | ||
| 796 | + duration: 1000, | ||
| 797 | + timingFunction: 'linear', | ||
| 798 | + }) | ||
| 799 | + this.attentionAnim = attentionAnim | ||
| 800 | + this.setData({ | ||
| 801 | + _attentionAnim: attentionAnim, | ||
| 802 | + attentionAnim: attentionAnim.export() | ||
| 803 | + }) | ||
| 804 | + this.audioCtx = wx.createInnerAudioContext() | ||
| 805 | + this.audioCtx.src = this.filename | ||
| 806 | + this.audioCtx.loop = true | ||
| 807 | + this.audioCtx.play() | ||
| 808 | + this.audioCtx.onPlay((e) => { | ||
| 809 | + this.setData({ | ||
| 810 | + isPlay: this.audioCtx.paused ? '2' : '1' | ||
| 811 | + }) | ||
| 812 | + }) | ||
| 813 | + this.audioCtx.onPause((e) => { | ||
| 814 | + this.setData({ | ||
| 815 | + isPlay: this.audioCtx.paused ? '2' : '1' | ||
| 816 | + }) | ||
| 817 | + }) | ||
| 818 | + clearInterval(this.timers) | ||
| 819 | + this.animation() | ||
| 820 | + }, | ||
| 821 | + // 持续旋转动画 | ||
| 822 | + animation() { | ||
| 823 | + let that = this; | ||
| 824 | + var time = setInterval(function () { | ||
| 825 | + this.n = this.n + 1; | ||
| 826 | + let attentionAnim = that.data._attentionAnim | ||
| 827 | + attentionAnim.rotate(180 * (this.n)).step() | ||
| 828 | + that.setData({ | ||
| 829 | + attentionAnim: attentionAnim.export(), | ||
| 830 | + }) | ||
| 831 | + }.bind(this), 1000) | ||
| 832 | + this.timers = time; | ||
| 833 | + }, | ||
| 834 | + // 暂停/继续播放 | ||
| 835 | + stopMusic() { | ||
| 836 | + if (this.data.isPlay == '2') { // 2 暂停状态 | ||
| 837 | + console.log("开始"); | ||
| 838 | + clearInterval(this.timers) | ||
| 839 | + this.animation() | ||
| 840 | + this.audioCtx.play() //开始 | ||
| 841 | + return; | ||
| 842 | + } | ||
| 843 | + if (this.data.isPlay == '1') { // 1 运行状态 | ||
| 844 | + console.log('暂停'); | ||
| 845 | + if (this.n % 2 != 0) { | ||
| 846 | + this.n = this.n + 1; | ||
| 847 | + let attentionAnim = this.data._attentionAnim; | ||
| 848 | + attentionAnim.rotate(180 * this.n).step(); | ||
| 849 | + this.setData({ | ||
| 850 | + attentionAnim: attentionAnim.export(), | ||
| 851 | + }) | ||
| 852 | + } | ||
| 853 | + clearInterval(this.timers) | ||
| 854 | + this.audioCtx.pause() //暂停 | ||
| 855 | + return; | ||
| 856 | + } | ||
| 857 | + }, | ||
| 858 | + // 根据充值ID获取充值详情 | ||
| 859 | + getRechargeDetail(id) { | ||
| 860 | + App.Activity.GetNewRecharge({ | ||
| 861 | + id | ||
| 862 | + }).then(res => { | ||
| 863 | + let detail = res.data | ||
| 864 | + let exp_date = res.data.exp_date ? JSON.parse(res.data.exp_date) : '' | ||
| 865 | + let recharge_list = res.data.recharge_list ? JSON.parse(res.data.recharge_list) : '' | ||
| 866 | + let priceInfo, scoreInfo, certificate; | ||
| 867 | + detail.recharge_list = recharge_list; | ||
| 868 | + detail.exp_date = exp_date; | ||
| 869 | + if (recharge_list.is_price == '1') priceInfo = '赠送' + recharge_list.price + '元余额'; | ||
| 870 | + if (recharge_list.is_score == '1') scoreInfo = '赠送' + recharge_list.score + '积分'; | ||
| 871 | + if (recharge_list.is_coupons == '1' && recharge_list.coupons_names.length > 0) certificate = recharge_list.coupons_names.join('、'); | ||
| 872 | + let recharge_data = (this.data.dataStr < detail.etime * 1 && detail.is_open == '1') ? detail : '' | ||
| 873 | + console.log('邀请函--------------充值', recharge_data); | ||
| 874 | + let entry = this.data.titleList | ||
| 875 | + if (this.data.hasValueRecharge && this.data.marketing.is_recharge == '1' && recharge_data) { | ||
| 876 | + entry.push({ | ||
| 877 | + id: 2, | ||
| 878 | + title: '会员充值优惠' | ||
| 879 | + }) | ||
| 880 | + if (entry.length > 0) { | ||
| 881 | + entry.sort((a, b) => a.id - b.id); | ||
| 882 | + } | ||
| 883 | + recharge_data.timeStr = util.unixtoTime(recharge_data.stime, 'YYYY-MM-DD') + ' - ' + util.unixtoTime(recharge_data.etime, 'YYYY-MM-DD') | ||
| 884 | + } | ||
| 885 | + this.setData({ | ||
| 886 | + titleList: entry, | ||
| 887 | + activeTitle: entry.length > 0 ? entry[0].id : '', | ||
| 888 | + recharge_data, | ||
| 889 | + scoreInfo, | ||
| 890 | + priceInfo, | ||
| 891 | + certificate | ||
| 892 | + }) | ||
| 893 | + }) | ||
| 894 | + }, | ||
| 895 | + // 选择标题 | ||
| 896 | + checkTitleFun(e) { | ||
| 897 | + console.log('e.currentTargete.currentTarget', e.currentTarget); | ||
| 898 | + let activeTitle = e.currentTarget.dataset['type']; | ||
| 899 | + this.setData({ | ||
| 900 | + activeTitle | ||
| 901 | + }) | ||
| 902 | + }, | ||
| 903 | + // 获取评价赠送的券最新详情 | ||
| 904 | + getEvaluateFun(id) { | ||
| 905 | + App.Activity.GetActivityById({ | ||
| 906 | + id | ||
| 907 | + }).then(res => { | ||
| 908 | + if (res.data.length > 0) { | ||
| 909 | + let couponData = res.data[0] | ||
| 910 | + couponData.use = couponData.use ? util.determine(couponData.use) : ''; | ||
| 911 | + couponData.exp_date = couponData.exp_date ? util.determine(couponData.exp_date) : ''; | ||
| 912 | + // showCoupon 代表赠送的券没过有效期 && 是开启状态 | ||
| 913 | + couponData.showCoupon = (this.data.dataStr < (couponData.etime * 1) && couponData.is_open == '1') ? '1' : '0'; | ||
| 914 | + console.log('邀请函--------------------评价赠送的优惠券', couponData); | ||
| 915 | + let entry = this.data.titleList | ||
| 916 | + if (!this.data.is_user_comments && this.data.isComments == '1' && couponData.showCoupon == '1') { | ||
| 917 | + entry.push({ | ||
| 918 | + id: 3, | ||
| 919 | + title: '意见反馈有礼' | ||
| 920 | + }) | ||
| 921 | + if (entry.length > 0) { | ||
| 922 | + entry.sort((a, b) => a.id - b.id); | ||
| 923 | + } | ||
| 924 | + } | ||
| 925 | + this.setData({ | ||
| 926 | + couponData: res.data[0], | ||
| 927 | + titleList: entry, | ||
| 928 | + activeTitle: entry.length > 0 ? entry[0].id : '', | ||
| 929 | + }) | ||
| 930 | + } | ||
| 931 | + }) | ||
| 932 | + }, | ||
| 933 | + // 根据券ID获取券详情 | ||
| 934 | + getActivityByIdFun(ids, length) { | ||
| 935 | + let coupon_dataList = []; | ||
| 936 | + ids.forEach(i => { | ||
| 937 | + App.Activity.GetActivityById({ | ||
| 938 | + id: i.id | ||
| 939 | + }).then(res => { | ||
| 940 | + if (res.data.length > 0) { | ||
| 941 | + let detail = res.data[0]; | ||
| 942 | + detail.stringifyUse = detail.use ? JSON.stringify(detail.use) : ''; | ||
| 943 | + detail.exp_date = detail.exp_date ? util.determine(detail.exp_date) : ''; | ||
| 944 | + detail.use = detail.use ? util.determine(detail.use) : ''; | ||
| 945 | + detail.stimeStr = util.unixtoTime(detail.stime, 'YYYY-MM-DD HH:II') | ||
| 946 | + detail.etimeStr = util.unixtoTime(detail.etime, 'YYYY-MM-DD HH:II') | ||
| 947 | + coupon_dataList.push(detail); | ||
| 948 | + if (length === coupon_dataList.length) { | ||
| 949 | + coupon_dataList = coupon_dataList.filter(item => { | ||
| 950 | + return this.data.dataStr < (item.etime * 1) && item.is_open == '1' | ||
| 951 | + }) | ||
| 952 | + let entry = this.data.titleList | ||
| 953 | + if (this.data.hasValueCertificate && this.data.marketing.is_coupon == '1' && coupon_dataList.length > 0) { | ||
| 954 | + entry.push({ | ||
| 955 | + id: 1, | ||
| 956 | + title: '专属优惠券' | ||
| 957 | + }) | ||
| 958 | + if (entry.length > 0) { | ||
| 959 | + entry.sort((a, b) => a.id - b.id); | ||
| 960 | + } | ||
| 961 | + } | ||
| 962 | + console.log('邀请函--------------------优惠券', coupon_dataList); | ||
| 963 | + this.setData({ | ||
| 964 | + coupon_dataList, | ||
| 965 | + titleList: entry, | ||
| 966 | + activeTitle: entry.length > 0 ? entry[0].id : '', | ||
| 967 | + }) | ||
| 968 | + } | ||
| 969 | + } | ||
| 970 | + }) | ||
| 971 | + }) | ||
| 972 | + }, | ||
| 973 | + /** | ||
| 974 | + * 生命周期函数--监听页面隐藏 | ||
| 975 | + */ | ||
| 976 | + onHide() { | ||
| 977 | + clearInterval(this.timers) | ||
| 978 | + if (this.audioCtx) { | ||
| 979 | + this.audioCtx.destroy(); // 释放音频资源 | ||
| 980 | + } | ||
| 981 | + }, | ||
| 982 | + | ||
| 983 | + /** | ||
| 984 | + * 生命周期函数--监听页面卸载 | ||
| 985 | + */ | ||
| 986 | + onUnload() { | ||
| 987 | + clearInterval(this.timers) | ||
| 988 | + if (this.audioCtx) { | ||
| 989 | + this.audioCtx.destroy(); // 释放音频资源 | ||
| 990 | + } | ||
| 991 | + }, | ||
| 992 | + // 设置虚拟到店时间 | ||
| 993 | + bindPickerChange: function (e) { | ||
| 994 | + let index = e.detail.value | ||
| 995 | + let temp_ddate = this.data.timeList[index] | ||
| 996 | + this.setData({ | ||
| 997 | + temp_ddate | ||
| 998 | + }) | ||
| 999 | + let detailInfo = this.data.detail; | ||
| 1000 | + const reserveDate = new Date(detailInfo.ddate * 1000); | ||
| 1001 | + let reserveTime = | ||
| 1002 | + reserveDate.getFullYear() + | ||
| 1003 | + "-" + | ||
| 1004 | + (reserveDate.getMonth() + 1) + | ||
| 1005 | + "-" + | ||
| 1006 | + reserveDate.getDate(); | ||
| 1007 | + let times = this.getNewDate(reserveTime + " " + temp_ddate).getTime() / 1000 | ||
| 1008 | + App.Reserve.SetReserveTempDdate({ | ||
| 1009 | + rid: this.id, | ||
| 1010 | + temp_ddate: times, | ||
| 1011 | + }).then(res => { | ||
| 1012 | + if (res.ret == 200) { | ||
| 1013 | + if (this.data.lite_style == '2') { | ||
| 1014 | + let time = (util.unixtoTime(detailInfo.ddate, '周WW') + temp_ddate) || (util.unixtoTime(detailInfo.ddate, '周WW') + this.data.timeList[index]) | ||
| 1015 | + this.painterBtn( | ||
| 1016 | + detailInfo.seller.seller_image, | ||
| 1017 | + detailInfo.seller.sellername, | ||
| 1018 | + util.unixtoTime(detailInfo.ddate, 'MM月DD日'), | ||
| 1019 | + time | ||
| 1020 | + ); | ||
| 1021 | + } | ||
| 1022 | + } | ||
| 1023 | + }) | ||
| 1024 | + }, | ||
| 1025 | + // ios 部分机型不兼容new Date() 转换字符串 | ||
| 1026 | + getNewDate(data) { | ||
| 1027 | + if (typeof data === 'string') { | ||
| 1028 | + let arr = data.split(/[- : \/]/) | ||
| 1029 | + if (arr[1] !== undefined || arr[1] !== null) { | ||
| 1030 | + arr[1] = arr[1] - 1 | ||
| 1031 | + } | ||
| 1032 | + return new Date(...arr) | ||
| 1033 | + } | ||
| 1034 | + return new Date(data || new Date()) | ||
| 1035 | + }, | ||
| 1036 | + //根据起始时间(获取时间时间段) | ||
| 1037 | + computeHour(time1, time2, interval) { | ||
| 1038 | + //time1 开始时间 time2结束时间 interval间隔时长 | ||
| 1039 | + function getTimeList(time1, time2, interval) { | ||
| 1040 | + var timeList = []; | ||
| 1041 | + time1 = time1.split(":"); | ||
| 1042 | + time2 = time2.split(":"); | ||
| 1043 | + time1 = new Date(0, 0, 0, time1[0], time1[1], 0); | ||
| 1044 | + time2 = new Date(0, 0, 0, time2[0], time2[1], 0); | ||
| 1045 | + interval = interval * 60 * 1000; | ||
| 1046 | + while (time1 <= time2) { | ||
| 1047 | + timeList.push(time1.format("hh:mm")); | ||
| 1048 | + time1 = new Date(time1.getTime() + interval); | ||
| 1049 | + } | ||
| 1050 | + return timeList; | ||
| 1051 | + } | ||
| 1052 | + Date.prototype.format = function (format) { | ||
| 1053 | + var date = { | ||
| 1054 | + "M+": this.getMonth() + 1, | ||
| 1055 | + "d+": this.getDate(), | ||
| 1056 | + "h+": this.getHours(), | ||
| 1057 | + "m+": this.getMinutes(), | ||
| 1058 | + "s+": this.getSeconds(), | ||
| 1059 | + "q+": Math.floor((this.getMonth() + 3) / 3), | ||
| 1060 | + S: this.getMilliseconds(), | ||
| 1061 | + }; | ||
| 1062 | + if (/(y+)/.test(format)) | ||
| 1063 | + format = format.replace( | ||
| 1064 | + RegExp.$1, | ||
| 1065 | + (this.getFullYear() + "").substr(4 - RegExp.$1.length) | ||
| 1066 | + ); | ||
| 1067 | + for (var k in date) | ||
| 1068 | + if (new RegExp("(" + k + ")").test(format)) | ||
| 1069 | + format = format.replace( | ||
| 1070 | + RegExp.$1, | ||
| 1071 | + RegExp.$1.length == 1 ? | ||
| 1072 | + date[k] : | ||
| 1073 | + ("00" + date[k]).substr(("" + date[k]).length) | ||
| 1074 | + ); | ||
| 1075 | + return format; | ||
| 1076 | + }; | ||
| 1077 | + return getTimeList(time1, time2, interval); | ||
| 1078 | + }, | ||
| 1079 | + // 模块文字、轮播图数据重组(停车、餐厅介绍、菜品、主厨) | ||
| 1080 | + processInfo(intel, type) { | ||
| 1081 | + let imgs = []; | ||
| 1082 | + intel.textInfo = ''; | ||
| 1083 | + intel.imgsInfo = []; | ||
| 1084 | + intel.videoImgsInfo = []; | ||
| 1085 | + if (type == '1') { | ||
| 1086 | + if (intel.swich_park == '1' && (intel.park_info || intel.park_info_images)) { | ||
| 1087 | + intel.textInfo = intel.park_info; | ||
| 1088 | + imgs = intel.park_info_images | ||
| 1089 | + } | ||
| 1090 | + } | ||
| 1091 | + if (type == '2') { | ||
| 1092 | + imgs = intel.images && intel.images.length > 0 && (!intel.is_images || intel.is_images !== '0') ? intel.images : []; | ||
| 1093 | + intel.textInfo = (intel.introduce && (!intel.is_introduce || intel.is_introduce !== '0')) ? intel.introduce : ''; | ||
| 1094 | + } | ||
| 1095 | + if (type == '3') { | ||
| 1096 | + imgs = intel.images || [] | ||
| 1097 | + intel.textInfo = ''; | ||
| 1098 | + } | ||
| 1099 | + if (type == '4') { | ||
| 1100 | + imgs = ((!intel.is_images || intel.is_images != '0') && intel.image) ? intel.image : [] | ||
| 1101 | + intel.textInfo = (intel.introduce && (!intel.is_introduce || intel.is_introduce != '0')) ? intel.introduce : ''; | ||
| 1102 | + } | ||
| 1103 | + intel.imgsInfo = imgs; | ||
| 1104 | + intel.videoImgsInfo = imgs.map(url => ({ | ||
| 1105 | + type: "1", | ||
| 1106 | + content: url, | ||
| 1107 | + })); | ||
| 1108 | + if (intel.content && intel.content.length > 0 && intel.is_introduce_all == '1') { | ||
| 1109 | + intel.textInfo = intel.content.filter(item => item.type === "2").map(item => item.content).join('\n'); | ||
| 1110 | + intel.imgsInfo = intel.content.filter(item => item.type === "1" && item.content).map(item => item.content); | ||
| 1111 | + intel.videoImgsInfo = intel.content.filter(item => ((item.type === "1" || item.type === "3") && item.content)); | ||
| 1112 | + } | ||
| 1113 | + return intel | ||
| 1114 | + }, | ||
| 1115 | + /** | ||
| 1116 | + * 页面相关事件处理函数--监听用户下拉动作 | ||
| 1117 | + */ | ||
| 1118 | + onPullDownRefresh() { | ||
| 1119 | + | ||
| 1120 | + }, | ||
| 1121 | + | ||
| 1122 | + /** | ||
| 1123 | + * 页面上拉触底事件的处理函数 | ||
| 1124 | + */ | ||
| 1125 | + onReachBottom() { | ||
| 1126 | + | ||
| 1127 | + }, | ||
| 1128 | +}) |
| 1 | +<!--pack-invitation/pages/detail_owner_invitation11.wxml--> | ||
| 2 | +<import src="../../pages/tpl/invitation"></import> | ||
| 3 | +<nav hasHome class="navhome" backgroundColor="{{show_white ? colors : 'transparent'}}" place="{{false}}"></nav> | ||
| 4 | +<scroll-view scroll-y class="viewBox viewBox{{bookType}}"> | ||
| 5 | + <image wx:if="{{hasValueBroadcast && isVoice=='1'}}" class="musicImg" src="{{isPlay=='1'?'https://qn.colorcun.com/open.svg':'https://qn.colorcun.com/close.svg'}}" bindtap="stopMusic" animation="{{attentionAnim}}" /> | ||
| 6 | + <image class="giftImg" bindtap="gotoSellerGift" wx:if="{{(hasValueCertificate && marketing.is_coupon=='1' && coupon_dataList.length>0) || (!is_user_comments && isComments =='1' && couponData.showCoupon =='1') || (hasValueRecharge && marketing.is_recharge=='1' && recharge_data)}}" src="https://nosqn.colorcun.com/sellerGift.png" mode="" /> | ||
| 7 | + <image wx:if="{{detail.status =='4'}}" class="cannotImg" src="https://qn.colorcun.com/cancelImg.png" /> | ||
| 8 | + <image wx:if="{{options.isOrder == '1' && detail.status !='4'}}" class="cannotImg" src="https://qn.colorcun.com/overImg.png" /> | ||
| 9 | + <view class="reservationInfoBox"> | ||
| 10 | + <view class="reservationInfo"> | ||
| 11 | + <view class="infoTop"> | ||
| 12 | + <text wx:if="{{bookType == '2'}}" class="infoTopText1" space="nbsp">INVITATION</text> | ||
| 13 | + <text class="infoTopText2 font44r" space="nbsp">{{seller.name||reserve.seller_name}}</text> | ||
| 14 | + <text class="infoTopText3 font28r" space="nbsp" wx:if="{{reserve.swich_slogan == '1' && home.slogan}}">{{home.slogan}}</text> | ||
| 15 | + <text wx:if="{{bookType == '2'}}" class="infoTopText4 font44r" space="nbsp">邀请函</text> | ||
| 16 | + <image wx:if="{{bookType == '1'}}" class="infoTopBj2" src="https://qn.colorcun.com/invitation11Bg2.png" mode="" /> | ||
| 17 | + </view> | ||
| 18 | + <view class="informationBox"> | ||
| 19 | + <view class="infoItem"> | ||
| 20 | + <text space="nbsp" wx:if="{{reserve.swich_booking=='1' && reserve.book_info}}" class="contentData font28r bookData">{{reserve.book_info}}</text> | ||
| 21 | + </view> | ||
| 22 | + <view class="infoItem" wx:if="{{detail.rnameStr && reserve.swich_customer == '1'}}"> | ||
| 23 | + <view class="record font28r">预订贵宾:</view> | ||
| 24 | + <view class="contentData font28r">{{detail.rnameStr}}</view> | ||
| 25 | + </view> | ||
| 26 | + <view class="infoItem" wx:if="{{seller.date}}"> | ||
| 27 | + <view class="record font28r">用餐日期:</view> | ||
| 28 | + <view class="contentData font28r">{{seller.date}}</view> | ||
| 29 | + </view> | ||
| 30 | + <view class="infoItem" wx:if="{{seller.tablesText}}"> | ||
| 31 | + <view class="record font28r">用餐位置:</view> | ||
| 32 | + <view class="contentData font28r">{{seller.tablesText}}</view> | ||
| 33 | + </view> | ||
| 34 | + <view class="infoItem" wx:if="{{seller.soltName}}"> | ||
| 35 | + <view class="record font28r">用餐时间:</view> | ||
| 36 | + <view class="arrivalBox"> | ||
| 37 | + <view class="contentData font28r">{{seller.soltName}}<text class="marLeft font28r">{{temp_ddate}}</text></view> | ||
| 38 | + <picker wx:if="{{options.isOrder != '1' && (detail.status =='1' || detail.status =='2') && options.hasSellerShare == '1'}}" bindchange="bindPickerChange" value="{{index}}" range="{{timeList}}"> | ||
| 39 | + <view class="picker"> | ||
| 40 | + <button>修改到店时间</button> | ||
| 41 | + </view> | ||
| 42 | + </picker> | ||
| 43 | + </view> | ||
| 44 | + </view> | ||
| 45 | + <view wx:if="{{bookType == '2'}}" class="entrance {{((reserve.swich_booking!='1' || !reserve.book_info) && (!reserve.swich_phone=='0' || !seller.tel || seller.tel.length==0))?'entrance1':''}}"> | ||
| 46 | + <view bindtap="gotoModule" data-type="1" wx:if="{{marketing.logo || home.image || (store.textInfo || store.videoImgsInfo.length>0)}}" class="entranceItem"> | ||
| 47 | + <image src="https://qn.colorcun.com/invitation12Icon1.png" mode="" /> | ||
| 48 | + <view class="font24r">餐厅介绍</view> | ||
| 49 | + </view> | ||
| 50 | + <view bindtap="gotoModule" data-type="2" wx:if="{{signboard && (signboard.textInfo || signboard.videoImgsInfo.length>0)}}" class="entranceItem"> | ||
| 51 | + <image src="https://qn.colorcun.com/invitation12Icon2.png" mode="" /> | ||
| 52 | + <view class="font24r">招牌菜品</view> | ||
| 53 | + </view> | ||
| 54 | + <view bindtap="gotoModule" data-type="3" wx:if="{{reserve && (reserve.textInfo || reserve.videoImgsInfo.length>0)}}" class="entranceItem"> | ||
| 55 | + <image src="https://qn.colorcun.com/invitation12Icon3.png" mode="" /> | ||
| 56 | + <view class="font24r">停车指引</view> | ||
| 57 | + </view> | ||
| 58 | + <view bindtap="cookbook" wx:if="{{hasValueOrder && openOrder == '1' && marketing.is_order=='1'}}" class="entranceItem"> | ||
| 59 | + <image src="https://qn.colorcun.com/invitation12Icon4.png" mode="" /> | ||
| 60 | + <view class="font24r">提前点餐</view> | ||
| 61 | + </view> | ||
| 62 | + </view> | ||
| 63 | + <view class="infoItem infoRight" wx:if="{{swich_phone!='0' && seller.tel && seller.tel.length>0}}"> | ||
| 64 | + <view class="record font28r">前台电话:</view> | ||
| 65 | + <view class="contentData font28r"> | ||
| 66 | + <block wx:for="{{seller.tel}}" wx:key="index"><text data-phone="{{item}}" class="contentDataPhone" bindtap="call">{{item}}</text><text class="divider">{{index==(seller.tel.length-1)?'':','}}</text></block> | ||
| 67 | + </view> | ||
| 68 | + </view> | ||
| 69 | + <view class="infoItem addressInfo"> | ||
| 70 | + <view class="record font28r">餐厅地址:</view> | ||
| 71 | + <view class="arrivalBox"> | ||
| 72 | + <view class="contentData font28r">{{seller.addr || reserve.seller.map_address}}</view> | ||
| 73 | + <view class="positioning" bindtap="looklocation"> | ||
| 74 | + <image class="addressImg" src="{{bookType == '1'?'https://qn.colorcun.com/invitation11Dw.png':'https://qn.colorcun.com/invitation12Dw.png'}}" mode="aspectFill" /> | ||
| 75 | + 导航 | ||
| 76 | + </view> | ||
| 77 | + </view> | ||
| 78 | + </view> | ||
| 79 | + <swiper wx:if="{{bookType == '1' && urlsArr.length>0}}" class="detailBanner" indicator-dots="{{true}}" autoplay="{{true}}" interval="{{2000}}" circular="{{true}}" indicator-color="lightgray" indicator-active-color="#fff"> | ||
| 80 | + <swiper-item wx:for="{{urlsArr}}" wx:key="index"> | ||
| 81 | + <image mode="scaleToFill" class="detailBannerImg" src="{{item}}" bindtap="previewImage" data-url="{{item}}" data-imgs="{{urlsArr}}"></image> | ||
| 82 | + </swiper-item> | ||
| 83 | + </swiper> | ||
| 84 | + <text space="nbsp" wx:if="{{bookType == '1' && marketing.wecomle}}" class="welcomeInfo font32r">{{marketing.wecomle}}</text> | ||
| 85 | + </view> | ||
| 86 | + </view> | ||
| 87 | + <view class="receptionBox" wx:if="{{staffinfo && reserve.swich_manager=='1'}}"> | ||
| 88 | + <view class="peopleInfo"> | ||
| 89 | + <image bindtap="lookImgs" data-url="{{staffinfo.photo}}" src="{{staffinfo.photo}}" class="headerimg" mode="aspectFill"></image> | ||
| 90 | + <view class="font26r">{{staffinfo.name}}</view> | ||
| 91 | + <view class="font26r">{{staffinfo.position}}</view> | ||
| 92 | + </view> | ||
| 93 | + <view class="handleInfo"> | ||
| 94 | + <view class="font40r">尊敬的贵宾您好!</view> | ||
| 95 | + <view class="font26r texts">很荣幸能为您提供专属接待和服务</view> | ||
| 96 | + <view class="contactBtns"> | ||
| 97 | + <view wx:if="{{staffinfo.phone}}" class="font22r brownFont" data-phone="{{staffinfo.phone}}" bindtap="call"> | ||
| 98 | + <image src="{{bookType == '1'?'https://qn.colorcun.com/invitation11Phone.png':'https://qn.colorcun.com/invitation10Phone.png'}}" mode="" /><text>联系我</text> | ||
| 99 | + </view> | ||
| 100 | + <view wx:if="{{staffinfo.wechat}}" class="font22r brownFont" bindtap="copyWeChat"> | ||
| 101 | + <image src="{{bookType == '1'?'https://qn.colorcun.com/invitation11Wx.png':'https://qn.colorcun.com/invitation10Wx.png'}}" mode="" /><text>加微信</text> | ||
| 102 | + </view> | ||
| 103 | + </view> | ||
| 104 | + </view> | ||
| 105 | + </view> | ||
| 106 | + </view> | ||
| 107 | + <view class="publicModule preferentialCoupon" wx:if="{{titleList.length>0}}"> | ||
| 108 | + <view class="tileBox"> | ||
| 109 | + <view wx:for="{{titleList}}" wx:key="index" wx:for-index="index" bindtap="checkTitleFun" data-type="{{item.id}}" class="titleItem {{activeTitle==item.id?'activeTitleItem':''}}">{{item.title}}</view> | ||
| 110 | + </view> | ||
| 111 | + <!-- 优惠券 --> | ||
| 112 | + <view class="regionItem" wx:if="{{activeTitle == '1'}}"> | ||
| 113 | + <block wx:for="{{coupon_dataList}}" wx:key="index" wx:for-index="index"> | ||
| 114 | + <navigator url="/pack-activity/pack/buyCoupon?id={{item.id}}&name={{seller.name}}&use={{item.stringifyUse}}&sid={{seller.sid}}&oid={{detail.id}}&types=1&StyleType={{StyleType}}" hover-class="navigator-hover"> | ||
| 115 | + <view class="preferentialItems"> | ||
| 116 | + <view class="certificateInfo"> | ||
| 117 | + <text class="discountText font20r">{{item.use.is_cash=='1'?'代金券':item.use.is_discount=='1'?'超值折扣':item.use.is_dish=='1'?'特惠菜品':''}}</text> | ||
| 118 | + <view class="ticketName font36r">{{item.aname}}</view> | ||
| 119 | + <text wx:if="{{item.exp_date.is_week=='1' || item.exp_date.is_week===true}}" class="limitation font24r">{{item.exp_date.week_show?item.exp_date.week_show+'可用':''}}{{item.desc?','+item.desc+'。':'。'}}</text> | ||
| 120 | + <view wx:if="{{item.exp_date.is_none=='1' || item.exp_date.is_none===true}}" class="limitation font24r"> | ||
| 121 | + 无限制{{item.desc?','+item.desc+'。':'。'}} | ||
| 122 | + </view> | ||
| 123 | + <view wx:if="{{item.exp_date.is_birthday=='1' || item.exp_date.is_birthday===true}}" class="limitation font24r"> | ||
| 124 | + 会员生日当天可用{{item.desc?','+item.desc+'。':'。'}} | ||
| 125 | + </view> | ||
| 126 | + </view> | ||
| 127 | + <view class="purchase font40r"> | ||
| 128 | + <view class="priceText" wx:if="{{item.price}}"> | ||
| 129 | + <view class="icons font24r">¥</view>{{item.price}} | ||
| 130 | + </view> | ||
| 131 | + <view class="font24r couponBtn">立即购买</view> | ||
| 132 | + </view> | ||
| 133 | + </view> | ||
| 134 | + </navigator> | ||
| 135 | + </block> | ||
| 136 | + </view> | ||
| 137 | + <!-- 充值 --> | ||
| 138 | + <view class="regionItem" wx:if="{{activeTitle == '2'}}"> | ||
| 139 | + <navigator url="/pack-activity/pack/vipRecharge?id={{recharge_data.id}}&name={{seller.name}}&sid={{seller.sid}}&oid={{detail.id}}&types=1&StyleType={{StyleType}}" hover-class="navigator-hover"> | ||
| 140 | + <view class="rechargeItems"> | ||
| 141 | + <image class="checkImg" src="https://qn.colorcun.com/invitation10vector.png" mode="" /> | ||
| 142 | + <view class="rechargeTitle">{{recharge_data.recharge_money}}<text class="font24r">元</text></view> | ||
| 143 | + </view> | ||
| 144 | + </navigator> | ||
| 145 | + <view class="limitation" wx:if="{{priceInfo || scoreInfo || recharge_data.recharge_list.is_coupons=='1'}}"> | ||
| 146 | + <view class="limitationTitle font28r">充值优惠详情</view> | ||
| 147 | + <view class="font24r"> | ||
| 148 | + <text>会员充值满{{recharge_data.recharge_money}}元,</text> | ||
| 149 | + <text wx:if="{{priceInfo}}">{{priceInfo}}{{(recharge_data.recharge_list.is_coupons=='0' && recharge_data.recharge_list.is_score=='0')?'。':','}}</text> | ||
| 150 | + <text wx:if="{{scoreInfo}}">{{scoreInfo}}{{recharge_data.recharge_list.is_coupons=='0'?'。':','}}</text> | ||
| 151 | + <text wx:if="{{recharge_data.recharge_list.is_coupons=='1'}}">{{recharge_data.recharge_list.is_coupons=='1'?'赠送'+certificate:''}}。</text> | ||
| 152 | + </view> | ||
| 153 | + </view> | ||
| 154 | + <view class="limitation"> | ||
| 155 | + <view class="limitationTitle font28r">有效期</view> | ||
| 156 | + <view class="font24r">{{recharge_data.timeStr}}</view> | ||
| 157 | + </view> | ||
| 158 | + <view class="limitation"> | ||
| 159 | + <view class="limitationTitle font28r">备注</view> | ||
| 160 | + <view class="font24r">{{recharge_data.explain}}</view> | ||
| 161 | + </view> | ||
| 162 | + <view class="rechargeBtn"> | ||
| 163 | + <view wx:if="{{hasValueRecharge && marketing.is_link=='1'}}" class="favouredPolicy">更多优惠</view> | ||
| 164 | + <navigator url="/pack-activity/pack/vipRecharge?id={{recharge_data.id}}&name={{seller.name}}&sid={{seller.sid}}&oid={{detail.id}}&types=1&StyleType={{StyleType}}" hover-class="navigator-hover"> | ||
| 165 | + 立即充值 | ||
| 166 | + </navigator> | ||
| 167 | + </view> | ||
| 168 | + </view> | ||
| 169 | + <!-- 评价券 --> | ||
| 170 | + <view class="regionItem certificateBox" wx:if="{{activeTitle == '3'}}"> | ||
| 171 | + <view class="limitationTitle font28r">期待您的声音,帮助我们持续改进</view> | ||
| 172 | + <view class="preferentialItems" bindtap="evaluateFun"> | ||
| 173 | + <view class="certificateInfo"> | ||
| 174 | + <text class="discountText font20r">反馈有礼</text> | ||
| 175 | + <view class="ticketName font36r">{{couponData.aname}}</view> | ||
| 176 | + <text wx:if="{{couponData.exp_date.is_week=='1' || couponData.exp_date.is_week===true}}" class="limitation font24r">{{couponData.exp_date.week_show?couponData.exp_date.week_show+'可用':''}}{{couponData.desc?','+couponData.desc+'。':'。'}}</text> | ||
| 177 | + <view wx:if="{{couponData.exp_date.is_none=='1' || couponData.exp_date.is_none===true}}" class="limitation font24r"> | ||
| 178 | + 无限制{{couponData.desc?','+couponData.desc+'。':'。'}} | ||
| 179 | + </view> | ||
| 180 | + <view wx:if="{{couponData.exp_date.is_birthday=='1' || couponData.exp_date.is_birthday===true}}" class="limitation font24r"> | ||
| 181 | + 会员生日当天可用{{couponData.desc?','+couponData.desc+'。':'。'}} | ||
| 182 | + </view> | ||
| 183 | + </view> | ||
| 184 | + <view class="purchase font40r"> | ||
| 185 | + <view class="priceText" wx:if="{{couponData.price}}"> | ||
| 186 | + <view class="icons font40r">¥</view>{{couponData.price}} | ||
| 187 | + </view> | ||
| 188 | + <view class="font24r couponBtn">{{couponData.price=='0'?'免费领取':'立即领取'}}</view> | ||
| 189 | + </view> | ||
| 190 | + </view> | ||
| 191 | + </view> | ||
| 192 | + </view> | ||
| 193 | + <view wx:if="{{bookType == '2' && roomimage && roomimage.length>0}}" class="{{roomimage.length=='1'?'pageSpacing':'pageSpacing1'}}"> | ||
| 194 | + <view wx:for="{{roomimage}}" class="imgs" wx:key="index" bindtap="previewImage" data-url="{{item.url}}"> | ||
| 195 | + <image class="imageStyle" mode="aspectFill" src="{{item.url}}"></image> | ||
| 196 | + <text>{{item.name}}</text> | ||
| 197 | + </view> | ||
| 198 | + </view> | ||
| 199 | + <block wx:if="{{bookType == '1'}}"> | ||
| 200 | + <!-- 停车指引 --> | ||
| 201 | + <view class="publicModule" wx:if="{{reserve && (reserve.textInfo || reserve.videoImgsInfo.length>0)}}"> | ||
| 202 | + <view class="chefText font36r"> | ||
| 203 | + <view class="line"></view> | ||
| 204 | + <view class="font36r chefTextInfo">停车指引</view> | ||
| 205 | + <view class="line"></view> | ||
| 206 | + </view> | ||
| 207 | + <view class="labelBox" wx:if="{{reserve.textInfo}}"> | ||
| 208 | + <text class="texts font28r" space="nbsp">{{reserve.textInfo}}</text> | ||
| 209 | + </view> | ||
| 210 | + <swiper wx:if="{{reserve.videoImgsInfo.length>0}}" class="detailBanner" indicator-dots="{{true}}" autoplay="{{true}}" interval="{{2000}}" circular="{{true}}" indicator-color="lightgray" indicator-active-color="#fff"> | ||
| 211 | + <swiper-item wx:for="{{reserve.videoImgsInfo}}" wx:key="index"> | ||
| 212 | + <video wx:if="{{item.type=='3'}}" class='boxBlock' id="video" src="{{item.content}}" show-center-play-btn="{{true}}" autoplay='{{false}}' object-fit="cover" controls="{{true}}"></video> | ||
| 213 | + <image wx:if="{{item.type=='1'}}" mode="scaleToFill" class="detailBannerImg" src="{{item.content}}" bindtap="previewImage" data-url="{{item.content}}" data-imgs="{{reserve.imgsInfo}}"></image> | ||
| 214 | + </swiper-item> | ||
| 215 | + </swiper> | ||
| 216 | + </view> | ||
| 217 | + <!-- 招牌菜品 --> | ||
| 218 | + <view class="publicModule" wx:if="{{signboard && (signboard.textInfo || signboard.videoImgsInfo.length>0 || (hasValueOrder && openOrder == '1' && marketing.is_order=='1'))}}"> | ||
| 219 | + <view class="chefText font36r"> | ||
| 220 | + <view class="line"></view> | ||
| 221 | + <view class="font36r chefTextInfo">招牌菜品</view> | ||
| 222 | + <view class="line"></view> | ||
| 223 | + </view> | ||
| 224 | + <view class="labelBox" wx:if="{{signboard.textInfo}}"> | ||
| 225 | + <text class="texts font28r" space="nbsp">{{signboard.textInfo}}</text> | ||
| 226 | + </view> | ||
| 227 | + <swiper wx:if="{{signboard.videoImgsInfo.length>0}}" class="detailBanner" indicator-dots="{{true}}" autoplay="{{true}}" interval="{{2000}}" circular="{{true}}" indicator-color="lightgray" indicator-active-color="#fff"> | ||
| 228 | + <swiper-item wx:for="{{signboard.videoImgsInfo}}" wx:key="index"> | ||
| 229 | + <video wx:if="{{item.type=='3'}}" class='boxBlock' id="video" src="{{item.content}}" show-center-play-btn="{{true}}" autoplay='{{false}}' object-fit="cover" controls="{{true}}"></video> | ||
| 230 | + <image wx:if="{{item.type=='1'}}" mode="aspectFit" class="detailBannerImg" src="{{item.content}}" bindtap="previewImage" data-url="{{item.content}}" data-imgs="{{signboard.imgsInfo}}"></image> | ||
| 231 | + </swiper-item> | ||
| 232 | + </swiper> | ||
| 233 | + <view class="orderBox" wx:if="{{hasValueOrder && openOrder == '1' && marketing.is_order=='1'}}"> | ||
| 234 | + <view class="font32r">提前点餐 到店不用等</view> | ||
| 235 | + <view wx:if="{{openOrder == '1' && marketing.is_order == '1'}}" bindtap="cookbook" class="font28r cook" style="position: relative;"> | ||
| 236 | + 去点餐 | ||
| 237 | + </view> | ||
| 238 | + </view> | ||
| 239 | + </view> | ||
| 240 | + <!-- 餐厅介绍 --> | ||
| 241 | + <view class="publicModule" wx:if="{{store && (store.textInfo || store.videoImgsInfo.length>0)}}"> | ||
| 242 | + <view class="chefText font36r"> | ||
| 243 | + <view class="line"></view> | ||
| 244 | + <view class="font36r chefTextInfo">餐厅介绍</view> | ||
| 245 | + <view class="line"></view> | ||
| 246 | + </view> | ||
| 247 | + <view class="labelBox" wx:if="{{store.textInfo}}"> | ||
| 248 | + <text class="texts font28r" space="nbsp">{{store.textInfo}}</text> | ||
| 249 | + </view> | ||
| 250 | + <swiper wx:if="{{store.videoImgsInfo.length>0}}" class="detailBanner" indicator-dots="{{true}}" autoplay="{{true}}" interval="{{2000}}" circular="{{true}}" indicator-color="lightgray" indicator-active-color="#fff"> | ||
| 251 | + <swiper-item wx:for="{{store.videoImgsInfo}}" wx:key="index"> | ||
| 252 | + <video wx:if="{{item.type=='3'}}" class='boxBlock' id="video" src="{{item.content}}" show-center-play-btn="{{true}}" autoplay='{{false}}' object-fit="cover" controls="{{true}}"></video> | ||
| 253 | + <image wx:if="{{item.type=='1'}}" mode="aspectFit" class="detailBannerImg" src="{{item.content}}" bindtap="previewImage" data-url="{{item.content}}" data-imgs="{{store.imgsInfo}}"></image> | ||
| 254 | + </swiper-item> | ||
| 255 | + </swiper> | ||
| 256 | + </view> | ||
| 257 | + <!-- 主厨介绍 --> | ||
| 258 | + <view class="publicModule" wx:if="{{chef && (chef.textInfo || chef.videoImgsInfo.length>0)}}"> | ||
| 259 | + <view class="chefText font36r"> | ||
| 260 | + <view class="line"></view> | ||
| 261 | + <view class="font36r chefTextInfo">主厨介绍</view> | ||
| 262 | + <view class="line"></view> | ||
| 263 | + </view> | ||
| 264 | + <view class="labelBox" wx:if="{{chef.textInfo}}"> | ||
| 265 | + <text class="texts font28r" space="nbsp">{{chef.textInfo}}</text> | ||
| 266 | + </view> | ||
| 267 | + <swiper wx:if="{{chef.videoImgsInfo.length>0}}" class="detailBanner" indicator-dots="{{true}}" autoplay="{{true}}" interval="{{2000}}" circular="{{true}}" indicator-color="lightgray" indicator-active-color="#fff"> | ||
| 268 | + <swiper-item wx:for="{{chef.videoImgsInfo}}" wx:key="index"> | ||
| 269 | + <video wx:if="{{item.type=='3'}}" class='boxBlock' id="video" src="{{item.content}}" show-center-play-btn="{{true}}" autoplay='{{false}}' object-fit="cover" controls="{{true}}"></video> | ||
| 270 | + <image wx:if="{{item.type=='1'}}" mode="aspectFit" class="detailBannerImg" src="{{item.content}}" bindtap="previewImage" data-url="{{item.content}}" data-imgs="{{chef.imgsInfo}}"></image> | ||
| 271 | + </swiper-item> | ||
| 272 | + </swiper> | ||
| 273 | + </view> | ||
| 274 | + </block> | ||
| 275 | + <block wx:if="{{bookType == '2'}}"> | ||
| 276 | + <!-- 餐厅介绍 --> | ||
| 277 | + <view class="publicModule" id="module1" wx:if="{{marketing.logo || home.image || (store.textInfo || store.videoImgsInfo.length>0)}}"> | ||
| 278 | + <view class="titleBox"> | ||
| 279 | + <view class="titleLine"></view> | ||
| 280 | + <view class="font32">餐厅介绍</view> | ||
| 281 | + </view> | ||
| 282 | + <image wx:if="{{marketing.logo}}" src="{{marketing.logo}}" bindtap="lookImgs" data-url="{{marketing.logo}}" mode="widthFix" /> | ||
| 283 | + <image wx:if="{{home.image}}" src="{{home.image}}" bindtap="lookImgs" data-url="{{home.image}}" class="homeImage" mode="widthFix"></image> | ||
| 284 | + <view class="labelBox" wx:if="{{store.introduce && store.is_introduce == '1'}}"> | ||
| 285 | + <text space="nbsp" class="texts font28r">{{store.introduce}}</text> | ||
| 286 | + </view> | ||
| 287 | + <block wx:if="{{store.images.length>0 && (!store.is_images || store.is_images!='0')}}"> | ||
| 288 | + <block wx:for="{{store.images}}" wx:key="arryIndex" wx:for-index="arryIndex"> | ||
| 289 | + <image src="{{item}}" bindtap="lookImgs" data-url="{{item}}" data-imgs="{{store.images}}" mode="widthFix" /> | ||
| 290 | + </block> | ||
| 291 | + </block> | ||
| 292 | + <view class="labelBox" wx:if="{{store.content && store.content.length>0}}"> | ||
| 293 | + <block wx:for="{{store.content}}"> | ||
| 294 | + <image wx:if="{{item.type == '1'}}" bindtap="lookImgs" src="{{item.content}}" data-url="{{item.content}}" mode="widthFix" /> | ||
| 295 | + <text wx:if="{{item.type == '2'}}" space="nbsp" class="texts font28r">{{item.content}}</text> | ||
| 296 | + <view wx:if="{{item.type == '3'}}" class="videoBox"> | ||
| 297 | + <video object-fit="contain" autoplay="{{true}}" loop="{{true}}" muted="{{true}}" show-mute-btn="{{true}}" vslide-gesture-in-fullscreen="{{true}}" src="{{item.content}}"></video> | ||
| 298 | + </view> | ||
| 299 | + </block> | ||
| 300 | + </view> | ||
| 301 | + </view> | ||
| 302 | + <!-- 招牌菜品 --> | ||
| 303 | + <view class="publicModule" id="module2" wx:if="{{signboard && (signboard.textInfo || signboard.videoImgsInfo.length>0)}}"> | ||
| 304 | + <view class="titleBox"> | ||
| 305 | + <view class="titleLine"></view> | ||
| 306 | + <view class="font32">招牌菜品</view> | ||
| 307 | + </view> | ||
| 308 | + <block wx:for="{{signboard.images}}" wx:key="arryIndex" wx:for-index="arryIndex"> | ||
| 309 | + <image src="{{item}}" bindtap="lookImgs" data-url="{{item}}" data-imgs="{{signboard.images}}" mode="widthFix" /> | ||
| 310 | + </block> | ||
| 311 | + <view class="labelBox" wx:if="{{signboard.content && signboard.content.length>0}}"> | ||
| 312 | + <block wx:for="{{signboard.content}}"> | ||
| 313 | + <image wx:if="{{item.type == '1'}}" bindtap="lookImgs" src="{{item.content}}" data-url="{{item.content}}" mode="widthFix" /> | ||
| 314 | + <text wx:if="{{item.type == '2'}}" space="nbsp" class="texts font28r">{{item.content}}</text> | ||
| 315 | + <view wx:if="{{item.type == '3'}}" class="videoBox"> | ||
| 316 | + <video object-fit="contain" autoplay="{{true}}" loop="{{true}}" muted="{{true}}" show-mute-btn="{{true}}" vslide-gesture-in-fullscreen="{{true}}" src="{{item.content}}"></video> | ||
| 317 | + </view> | ||
| 318 | + </block> | ||
| 319 | + </view> | ||
| 320 | + </view> | ||
| 321 | + <!-- 停车指引 --> | ||
| 322 | + <view class="publicModule" id="module3" wx:if="{{reserve && (reserve.textInfo || reserve.videoImgsInfo.length>0)}}"> | ||
| 323 | + <view class="titleBox"> | ||
| 324 | + <view class="titleLine"></view> | ||
| 325 | + <view class="font32">停车指引</view> | ||
| 326 | + </view> | ||
| 327 | + <view class="labelBox" wx:if="{{reserve.park_info}}"> | ||
| 328 | + <text class="texts" space="nbsp">{{reserve.park_info}}</text> | ||
| 329 | + </view> | ||
| 330 | + <block wx:for="{{reserve.park_info_images}}" wx:key="arryIndex" wx:for-index="arryIndex"> | ||
| 331 | + <image src="{{item}}" bindtap="lookImgs" data-url="{{item}}" data-imgs="{{reserve.park_info_images}}" mode="widthFix" /> | ||
| 332 | + </block> | ||
| 333 | + <view class="labelBox" wx:if="{{reserve.content && reserve.content.length>0}}"> | ||
| 334 | + <block wx:for="{{reserve.content}}"> | ||
| 335 | + <image wx:if="{{item.type == '1'}}" bindtap="lookImgs" src="{{item.content}}" data-url="{{item.content}}" mode="widthFix" /> | ||
| 336 | + <text wx:if="{{item.type == '2'}}" space="nbsp" class="texts font28r">{{item.content}}</text> | ||
| 337 | + <view wx:if="{{item.type == '3'}}" class="videoBox"> | ||
| 338 | + <video object-fit="contain" autoplay="{{true}}" loop="{{true}}" muted="{{true}}" show-mute-btn="{{true}}" vslide-gesture-in-fullscreen="{{true}}" src="{{item.content}}"></video> | ||
| 339 | + </view> | ||
| 340 | + </block> | ||
| 341 | + </view> | ||
| 342 | + </view> | ||
| 343 | + <!-- 主厨介绍 --> | ||
| 344 | + <view class="publicModule" wx:if="{{chef && (chef.textInfo || chef.videoImgsInfo.length>0)}}"> | ||
| 345 | + <view class="titleBox"> | ||
| 346 | + <view class="titleLine"></view> | ||
| 347 | + <view class="font32">主厨介绍</view> | ||
| 348 | + </view> | ||
| 349 | + <view class="labelBox" wx:if="{{(chef.introduce && (!chef.is_introduce || chef.is_introduce!='0'))}}"> | ||
| 350 | + <text class="texts" space="nbsp">{{chef.introduce}}</text> | ||
| 351 | + </view> | ||
| 352 | + <image wx:if="{{(!chef.is_images || chef.is_images!='0') && chef.image}}" src="{{chef.image}}" bindtap="lookImgs" data-url="{{chef.image}}" mode="widthFix" /> | ||
| 353 | + <view class="labelBox" wx:if="{{chef.content && chef.content.length>0}}"> | ||
| 354 | + <block wx:for="{{chef.content}}"> | ||
| 355 | + <image wx:if="{{item.type == '1'}}" bindtap="lookImgs" src="{{item.content}}" data-url="{{item.content}}" mode="widthFix" /> | ||
| 356 | + <text wx:if="{{item.type == '2'}}" space="nbsp" class="texts font28r">{{item.content}}</text> | ||
| 357 | + <view wx:if="{{item.type == '3'}}" class="videoBox"> | ||
| 358 | + <video object-fit="contain" autoplay="{{true}}" loop="{{true}}" muted="{{true}}" show-mute-btn="{{true}}" vslide-gesture-in-fullscreen="{{true}}" src="{{item.content}}"></video> | ||
| 359 | + </view> | ||
| 360 | + </block> | ||
| 361 | + </view> | ||
| 362 | + </view> | ||
| 363 | + </block> | ||
| 364 | + <view class="businessBox font24r"> | ||
| 365 | + 周到安排提供技术支持<text bindtap="call" data-phone="4000009690">4000009690</text>,餐厅入驻请点击 | ||
| 366 | + <view bindtap="gotoJoinSeller" style="text-decoration: underline;">这里</view> | ||
| 367 | + </view> | ||
| 368 | + <view class="{{(!marketing || (marketing.is_transpond!='1' && marketing.is_online_book!='1'))?'more more1':'more'}}" wx:if="{{showMoreTip}}"> | ||
| 369 | + <view class="moreText">滑动查看更多</view> | ||
| 370 | + <image src="https://qn.colorcun.com/jt1.png" mode="" /> | ||
| 371 | + </view> | ||
| 372 | + <view class="toastBox" wx:if="{{toastBool}}"> | ||
| 373 | + {{toastText}} | ||
| 374 | + </view> | ||
| 375 | + <!-- (开启在线预订 显示在线预订) || (未开启在线预订 显示再次预订(打商家电话)) --> | ||
| 376 | + <!-- (未结束&&未取消 && 开启转发开关 显示 转发邀请函给客人) || (过了当前餐段结束时间||用餐完成||已取消 显示 转发店铺给好友) --> | ||
| 377 | + <view wx:if="{{isMoreBtn || options.isOrder == '1' || (!isMoreBtn && seller.phone) || (detail.status !='4' && isPaymenBtn) || (detail.status !='4' && isShareItem)}}" class="flex-lr sharewidth"> | ||
| 378 | + <view wx:if="{{isMoreBtn}}" class="flex-cc font30r moreBtn {{((detail.status !='4' && isPaymenBtn) && ((detail.status !='4' && isShareItem) || options.isOrder == '1')) ? 'threeBtn' : ''}}" bindtap="secondbook">再次预订</view> | ||
| 379 | + <view wx:if="{{!isMoreBtn && seller.phone}}" class="flex-cc font30r moreBtn {{((detail.status !='4' && isPaymenBtn) && ((detail.status !='4' && isShareItem) || options.isOrder == '1')) ? 'threeBtn' : ''}}" bindtap="call" data-phone="{{seller.phone}}">再次预订</view> | ||
| 380 | + <view wx:if="{{detail.status !='4' && isPaymenBtn}}" class="flex-cc font30r paymenBtn {{((isMoreBtn || (!isMoreBtn && seller.phone)) && ((detail.status !='4' && isShareItem) || options.isOrder == '1')) ? 'threeBtn' : ''}}" bindtap="paymentFun">支付定金</view> | ||
| 381 | + <button wx:if="{{detail.status !='4' && isShareItem}}" class="flex-cc font30r shareItem" open-type="share">转发邀请函给客人</button> | ||
| 382 | + <button wx:if="{{options.isOrder == '1'}}" class="flex-cc font30r shareItem" data-type="2" open-type="share">转发店铺给好友</button> | ||
| 383 | + </view> | ||
| 384 | +</scroll-view> | ||
| 385 | +<painter palette="{{wxml}}" style="position: absolute; top: -9999rpx;" bind:imgOK="onImgOK" /> | ||
| 386 | +<my-modal id="payModal" fadeStyle="slideUp" height="240px"> | ||
| 387 | + <view slot="modalName" class="titleModal">提示</view> | ||
| 388 | + <view slot="modalContent"> | ||
| 389 | + <view class="explain"> | ||
| 390 | + 检测到您正在截屏,建议直接把邀请函转发给朋友更有仪式感哦! | ||
| 391 | + </view> | ||
| 392 | + <view class="screenshotBtns"> | ||
| 393 | + <button class="font32r btnsLeft" bindtap="closeModal">关闭弹窗</button> | ||
| 394 | + <button wx:if="{{detail.status !='4' && options.isOrder != '1' && marketing.is_transpond=='1' && imgSrc}}" class="flex-cc font30r btnsRight" open-type="share">立即转发</button> | ||
| 395 | + </view> | ||
| 396 | + </view> | ||
| 397 | +</my-modal> |
| 1 | +/* pack-invitation/pages/detail_owner_invitation11.wxss */ | ||
| 2 | +@import "../../pages/tpl/tpls.wxss"; | ||
| 3 | + | ||
| 4 | + | ||
| 5 | +@font-face { | ||
| 6 | + font-family: 'Abel'; | ||
| 7 | + font-style: normal; | ||
| 8 | + font-weight: 400; | ||
| 9 | + src: url(https://fonts.gstatic.com/s/abel/v18/MwQ5bhbm2POE2V9BPQ.woff2) format('woff2'); | ||
| 10 | + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; | ||
| 11 | +} | ||
| 12 | + | ||
| 13 | +.viewBox1 .reservationInfo { | ||
| 14 | + background: url('https://qn.colorcun.com/invitation11Bg1.png') no-repeat; | ||
| 15 | + padding: 220rpx 20rpx 24rpx; | ||
| 16 | + box-sizing: border-box; | ||
| 17 | + position: relative; | ||
| 18 | + color: #000; | ||
| 19 | + background-size: cover; | ||
| 20 | +} | ||
| 21 | + | ||
| 22 | +.infoTop { | ||
| 23 | + color: #FFEFC5; | ||
| 24 | + font-weight: 600; | ||
| 25 | + font-family: PingFang SC; | ||
| 26 | + margin-bottom: 32rpx; | ||
| 27 | + display: flex; | ||
| 28 | + flex-direction: column; | ||
| 29 | + align-items: center; | ||
| 30 | +} | ||
| 31 | + | ||
| 32 | +.infoTop .infoTopText3 { | ||
| 33 | + margin-top: 14rpx; | ||
| 34 | + margin: 16rpx 0 32rpx 0; | ||
| 35 | +} | ||
| 36 | + | ||
| 37 | +.infoTopBj2 { | ||
| 38 | + width: 560rpx; | ||
| 39 | + height: 188rpx; | ||
| 40 | +} | ||
| 41 | + | ||
| 42 | +.informationBox { | ||
| 43 | + border-radius: 10rpx; | ||
| 44 | + background: #FFEFD6; | ||
| 45 | + padding: 40rpx 32rpx; | ||
| 46 | +} | ||
| 47 | + | ||
| 48 | +.infoItem { | ||
| 49 | + display: flex; | ||
| 50 | + display: flex; | ||
| 51 | + line-height: 70rpx; | ||
| 52 | + font-family: PingFang SC; | ||
| 53 | + align-items: baseline; | ||
| 54 | +} | ||
| 55 | + | ||
| 56 | +.addressInfo, | ||
| 57 | +.addressInfo .arrivalBox { | ||
| 58 | + align-items: baseline; | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | +.infoItem .record { | ||
| 62 | + font-weight: 400; | ||
| 63 | + flex-shrink: 0; | ||
| 64 | + font-family: PingFang SC; | ||
| 65 | + color: #AE2D2D; | ||
| 66 | +} | ||
| 67 | + | ||
| 68 | +.positioning { | ||
| 69 | + display: block; | ||
| 70 | + font-size: 24rpx; | ||
| 71 | + height: 50rpx; | ||
| 72 | + padding: 0 34rpx; | ||
| 73 | + line-height: 48rpx; | ||
| 74 | + font-family: PingFang SC; | ||
| 75 | + border-radius: 40rpx; | ||
| 76 | + background: transparent; | ||
| 77 | + color: #fff; | ||
| 78 | + background: #AE2D2D; | ||
| 79 | +} | ||
| 80 | + | ||
| 81 | +.addressImg { | ||
| 82 | + width: 16rpx; | ||
| 83 | + height: 16rpx; | ||
| 84 | +} | ||
| 85 | + | ||
| 86 | +.welcomeInfo { | ||
| 87 | + text-align: center; | ||
| 88 | + color: #AE2D2D; | ||
| 89 | + margin-top: 24rpx; | ||
| 90 | + display: block; | ||
| 91 | +} | ||
| 92 | + | ||
| 93 | +.contentData { | ||
| 94 | + flex: 1; | ||
| 95 | + line-height: 60rpx; | ||
| 96 | + font-family: PingFang SC; | ||
| 97 | + margin-left: 24rpx; | ||
| 98 | + font-weight: 600; | ||
| 99 | + color: #AE2D2D; | ||
| 100 | +} | ||
| 101 | + | ||
| 102 | +.contentDataPhone { | ||
| 103 | + color: #637FE3; | ||
| 104 | + text-decoration-line: underline; | ||
| 105 | +} | ||
| 106 | + | ||
| 107 | +.divider { | ||
| 108 | + color: #637FE3; | ||
| 109 | + margin: 0 10rpx; | ||
| 110 | +} | ||
| 111 | + | ||
| 112 | +.bookData { | ||
| 113 | + margin-left: 0; | ||
| 114 | + font-weight: 400; | ||
| 115 | +} | ||
| 116 | + | ||
| 117 | +.marLeft { | ||
| 118 | + margin-left: 10rpx; | ||
| 119 | +} | ||
| 120 | + | ||
| 121 | +.receptionBox { | ||
| 122 | + margin: 0 20rpx; | ||
| 123 | + display: flex; | ||
| 124 | + align-items: center; | ||
| 125 | + border-radius: 10rpx; | ||
| 126 | + background: #FFEFD6; | ||
| 127 | + box-shadow: 0rpx 4rpx 8rpx #00000040; | ||
| 128 | + color: #AE2D2D; | ||
| 129 | + padding: 56rpx 58rpx 60rpx 72rpx; | ||
| 130 | +} | ||
| 131 | + | ||
| 132 | +.headerimg { | ||
| 133 | + width: 108rpx; | ||
| 134 | + height: 108rpx; | ||
| 135 | + border-radius: 50%; | ||
| 136 | +} | ||
| 137 | + | ||
| 138 | +.peopleInfo { | ||
| 139 | + display: flex; | ||
| 140 | + flex-direction: column; | ||
| 141 | + align-items: center; | ||
| 142 | +} | ||
| 143 | + | ||
| 144 | +.peopleInfo view:nth-of-type(1) { | ||
| 145 | + margin-top: 10rpx; | ||
| 146 | +} | ||
| 147 | + | ||
| 148 | +.peopleInfo view { | ||
| 149 | + font-family: "PingFang SC"; | ||
| 150 | + font-weight: 400; | ||
| 151 | +} | ||
| 152 | + | ||
| 153 | +.handleInfo { | ||
| 154 | + margin-left: 42rpx; | ||
| 155 | + font-family: "PingFang SC"; | ||
| 156 | + font-weight: 400; | ||
| 157 | +} | ||
| 158 | + | ||
| 159 | +.handleInfo view { | ||
| 160 | + font-weight: 400; | ||
| 161 | + letter-spacing: 10rpx; | ||
| 162 | +} | ||
| 163 | + | ||
| 164 | +.handleInfo view:nth-of-type(1) { | ||
| 165 | + font-weight: 600; | ||
| 166 | +} | ||
| 167 | + | ||
| 168 | +.handleInfo .texts { | ||
| 169 | + margin: 22rpx 0; | ||
| 170 | + letter-spacing: 3rpx; | ||
| 171 | + line-height: 36rpx | ||
| 172 | +} | ||
| 173 | + | ||
| 174 | +.contactBtns { | ||
| 175 | + display: flex; | ||
| 176 | + justify-content: space-between; | ||
| 177 | +} | ||
| 178 | + | ||
| 179 | +.brownFont { | ||
| 180 | + width: 46%; | ||
| 181 | + background: #AE2D2D; | ||
| 182 | + color: #fff; | ||
| 183 | + padding: 10rpx 0; | ||
| 184 | + border-radius: 22rpx; | ||
| 185 | + display: flex; | ||
| 186 | + align-items: center; | ||
| 187 | + justify-content: center; | ||
| 188 | + box-shadow: 0rpx 4rpx 8rpx #00000040; | ||
| 189 | +} | ||
| 190 | + | ||
| 191 | +.brownFont image { | ||
| 192 | + width: 24rpx; | ||
| 193 | + height: 24rpx; | ||
| 194 | + margin-right: 10rpx; | ||
| 195 | +} | ||
| 196 | + | ||
| 197 | +.tileBox { | ||
| 198 | + display: flex; | ||
| 199 | + align-items: center; | ||
| 200 | + justify-content: space-evenly; | ||
| 201 | + width: 100%; | ||
| 202 | + padding: 40rpx 0 32rpx 0; | ||
| 203 | +} | ||
| 204 | + | ||
| 205 | +.titleItem { | ||
| 206 | + font-weight: 400; | ||
| 207 | + background: #FFEFD6; | ||
| 208 | + color: #000; | ||
| 209 | + padding: 10rpx 16rpx; | ||
| 210 | +} | ||
| 211 | + | ||
| 212 | +.activeTitleItem::after { | ||
| 213 | + content: ""; | ||
| 214 | + position: absolute; | ||
| 215 | + bottom: -30%; | ||
| 216 | + left: 50%; | ||
| 217 | + transform: translateX(-50%); | ||
| 218 | + width: 0; | ||
| 219 | + height: 0; | ||
| 220 | + border-left: 20rpx solid transparent; | ||
| 221 | + border-right: 20rpx solid transparent; | ||
| 222 | + border-top: 20rpx solid #ae2d2d; | ||
| 223 | +} | ||
| 224 | + | ||
| 225 | +.activeTitleItem { | ||
| 226 | + position: relative; | ||
| 227 | + background: #ae2d2d; | ||
| 228 | + color: #fff; | ||
| 229 | +} | ||
| 230 | + | ||
| 231 | +.publicModule { | ||
| 232 | + margin: 20rpx; | ||
| 233 | + padding: 40rpx 20rpx; | ||
| 234 | + background: #fff; | ||
| 235 | + border-radius: 20rpx 20rpx 0rpx 0rpx; | ||
| 236 | + display: flex; | ||
| 237 | + align-items: center; | ||
| 238 | + flex-direction: column; | ||
| 239 | +} | ||
| 240 | + | ||
| 241 | +.chefText { | ||
| 242 | + width: 100%; | ||
| 243 | + display: flex; | ||
| 244 | + justify-content: space-between; | ||
| 245 | + align-items: center; | ||
| 246 | +} | ||
| 247 | + | ||
| 248 | +.chefText .line { | ||
| 249 | + min-width: 35%; | ||
| 250 | + height: 2rpx; | ||
| 251 | + background: #AE2D2D; | ||
| 252 | +} | ||
| 253 | + | ||
| 254 | +.chefTextInfo { | ||
| 255 | + font-family: PingFang SC; | ||
| 256 | + font-weight: 400; | ||
| 257 | + letter-spacing: 8rpx; | ||
| 258 | + color: #AE2D2D; | ||
| 259 | +} | ||
| 260 | + | ||
| 261 | +.preferentialCoupon { | ||
| 262 | + padding: 0; | ||
| 263 | +} | ||
| 264 | + | ||
| 265 | +.regionItem { | ||
| 266 | + width: 100%; | ||
| 267 | + padding: 40rpx 40rpx 0 40rpx; | ||
| 268 | + box-sizing: border-box; | ||
| 269 | + background: #EFEFEF; | ||
| 270 | +} | ||
| 271 | + | ||
| 272 | +.preferentialCoupon navigator { | ||
| 273 | + width: 100%; | ||
| 274 | +} | ||
| 275 | + | ||
| 276 | +.preferentialItems { | ||
| 277 | + width: 100%; | ||
| 278 | + display: flex; | ||
| 279 | + margin-bottom: 20rpx; | ||
| 280 | + min-height: 160rpx; | ||
| 281 | + padding-bottom: 10rpx; | ||
| 282 | +} | ||
| 283 | + | ||
| 284 | +.purchase { | ||
| 285 | + width: 30%; | ||
| 286 | + display: flex; | ||
| 287 | + flex-direction: column; | ||
| 288 | + justify-content: center; | ||
| 289 | + align-items: center; | ||
| 290 | + background: #FFEFD6; | ||
| 291 | + border-radius: 10rpx; | ||
| 292 | +} | ||
| 293 | + | ||
| 294 | +.discountText { | ||
| 295 | + text-align: center; | ||
| 296 | + color: #FFEFC5; | ||
| 297 | + border-radius: 6rpx; | ||
| 298 | + font-family: PingFang SC; | ||
| 299 | + background: #FD4D59; | ||
| 300 | + width: max-content; | ||
| 301 | + padding: 6rpx; | ||
| 302 | + position: absolute; | ||
| 303 | + left: 16rpx; | ||
| 304 | + top: 12rpx; | ||
| 305 | +} | ||
| 306 | + | ||
| 307 | +.priceText { | ||
| 308 | + font-family: PingFang SC; | ||
| 309 | + color: #FD4D59; | ||
| 310 | + font-weight: 500; | ||
| 311 | + margin-top: 6rpx; | ||
| 312 | + display: flex; | ||
| 313 | + align-items: center; | ||
| 314 | + justify-content: center; | ||
| 315 | +} | ||
| 316 | + | ||
| 317 | +.priceText .icons { | ||
| 318 | + font-family: PingFang SC; | ||
| 319 | + color: #FD4D59; | ||
| 320 | +} | ||
| 321 | + | ||
| 322 | +.certificateInfo { | ||
| 323 | + width: 70%; | ||
| 324 | + padding: 40rpx 10rpx 20rpx 28rpx; | ||
| 325 | + position: relative; | ||
| 326 | + background: #fff; | ||
| 327 | + border-radius: 10rpx; | ||
| 328 | + display: flex; | ||
| 329 | + flex-direction: column; | ||
| 330 | + justify-content: center; | ||
| 331 | +} | ||
| 332 | + | ||
| 333 | +.certificateInfo .limitation { | ||
| 334 | + line-height: 38rpx; | ||
| 335 | +} | ||
| 336 | + | ||
| 337 | +.ticketName { | ||
| 338 | + margin: 20rpx 20rpx 0 0; | ||
| 339 | + display: flex; | ||
| 340 | + justify-content: space-between; | ||
| 341 | + align-items: baseline; | ||
| 342 | + font-weight: 700; | ||
| 343 | +} | ||
| 344 | + | ||
| 345 | +.orderingFood { | ||
| 346 | + padding: 0 20rpx; | ||
| 347 | + border-radius: 22rpx; | ||
| 348 | + text-align: center; | ||
| 349 | + color: #000; | ||
| 350 | + border-radius: 20rpx; | ||
| 351 | + line-height: 44rpx; | ||
| 352 | + height: 44rpx; | ||
| 353 | + background: #fff; | ||
| 354 | + border: 2rpx solid #fff; | ||
| 355 | + width: max-content; | ||
| 356 | + margin-top: 24rpx; | ||
| 357 | + flex-shrink: 0; | ||
| 358 | +} | ||
| 359 | + | ||
| 360 | +.limitation { | ||
| 361 | + margin-top: 10rpx; | ||
| 362 | + width: 100%; | ||
| 363 | + color: #666; | ||
| 364 | + font-family: PingFang SC; | ||
| 365 | + font-weight: 500; | ||
| 366 | + display: -webkit-box; | ||
| 367 | + word-break: break-all; | ||
| 368 | + word-wrap: break-word; | ||
| 369 | + overflow: hidden; | ||
| 370 | + text-align: left; | ||
| 371 | + line-height: 30rpx; | ||
| 372 | +} | ||
| 373 | + | ||
| 374 | +.regionItem .limitation { | ||
| 375 | + display: flex; | ||
| 376 | + flex-direction: column; | ||
| 377 | +} | ||
| 378 | + | ||
| 379 | +.limitationTitle { | ||
| 380 | + font-weight: 400; | ||
| 381 | + line-height: 28rpx; | ||
| 382 | + color: #000; | ||
| 383 | + line-height: 40rpx; | ||
| 384 | + margin: 40rpx 0 20rpx 0; | ||
| 385 | +} | ||
| 386 | + | ||
| 387 | +.certificateBox .limitationTitle { | ||
| 388 | + text-align: center; | ||
| 389 | + margin-top: 0; | ||
| 390 | +} | ||
| 391 | + | ||
| 392 | +.rechargeItems { | ||
| 393 | + display: flex; | ||
| 394 | + min-height: 160rpx; | ||
| 395 | + border-radius: 20rpx; | ||
| 396 | + border: 2rpx solid #000000; | ||
| 397 | + position: relative; | ||
| 398 | + padding: 20rpx 40rpx; | ||
| 399 | + flex-direction: column; | ||
| 400 | + justify-content: center; | ||
| 401 | + background: #fff; | ||
| 402 | + width: 35%; | ||
| 403 | +} | ||
| 404 | + | ||
| 405 | +.checkImg { | ||
| 406 | + position: absolute; | ||
| 407 | + bottom: 0; | ||
| 408 | + right: 20rpx; | ||
| 409 | + width: 32rpx !important; | ||
| 410 | + height: 32rpx; | ||
| 411 | +} | ||
| 412 | + | ||
| 413 | +.rechargeTitle { | ||
| 414 | + font-family: PingFang SC; | ||
| 415 | + font-weight: 700; | ||
| 416 | + letter-spacing: 4rpx; | ||
| 417 | + font-size: 68rpx; | ||
| 418 | + text-align: center; | ||
| 419 | +} | ||
| 420 | + | ||
| 421 | +.couponBtn { | ||
| 422 | + width: 70%; | ||
| 423 | + padding: 6rpx 0; | ||
| 424 | + background: #AE2D2D; | ||
| 425 | + color: #fff; | ||
| 426 | + border-radius: 42rpx; | ||
| 427 | + text-align: center; | ||
| 428 | + margin-top: 24rpx; | ||
| 429 | +} | ||
| 430 | + | ||
| 431 | +.rechargeBtn { | ||
| 432 | + display: flex; | ||
| 433 | + align-items: center; | ||
| 434 | + justify-content: space-between; | ||
| 435 | + margin: 24rpx 0; | ||
| 436 | +} | ||
| 437 | + | ||
| 438 | +.rechargeBtn .favouredPolicy { | ||
| 439 | + width: 30%; | ||
| 440 | + padding: 12rpx 0; | ||
| 441 | + border: 2rpx solid #AE2D2D; | ||
| 442 | + border-radius: 42rpx; | ||
| 443 | + color: #AE2D2D; | ||
| 444 | + text-align: center; | ||
| 445 | +} | ||
| 446 | + | ||
| 447 | +.rechargeBtn navigator { | ||
| 448 | + width: 63%; | ||
| 449 | + padding: 12rpx 0; | ||
| 450 | + background: #AE2D2D; | ||
| 451 | + border-radius: 42rpx; | ||
| 452 | + color: #fff; | ||
| 453 | + text-align: center; | ||
| 454 | +} | ||
| 455 | + | ||
| 456 | +.labelBox { | ||
| 457 | + width: 100%; | ||
| 458 | + margin-top: 20rpx; | ||
| 459 | +} | ||
| 460 | + | ||
| 461 | +.labelBox .texts { | ||
| 462 | + line-height: 40rpx; | ||
| 463 | + color: #222; | ||
| 464 | + font-family: PingFang SC; | ||
| 465 | + font-weight: 500; | ||
| 466 | + display: block; | ||
| 467 | + margin-bottom: 20rpx; | ||
| 468 | +} | ||
| 469 | + | ||
| 470 | +.orderBox { | ||
| 471 | + background: url('https://qn.colorcun.com/invitation11Dc1.png') no-repeat; | ||
| 472 | + background-size: cover; | ||
| 473 | + border-radius: 10rpx; | ||
| 474 | + color: #fff; | ||
| 475 | + padding: 26rpx 40rpx; | ||
| 476 | + display: flex; | ||
| 477 | + align-items: center; | ||
| 478 | + justify-content: space-between; | ||
| 479 | + box-sizing: border-box; | ||
| 480 | + width: 100%; | ||
| 481 | + margin-top: 20rpx; | ||
| 482 | +} | ||
| 483 | + | ||
| 484 | +.cook { | ||
| 485 | + border-radius: 24rpx; | ||
| 486 | + background: #fff; | ||
| 487 | + color: #AE2D2D; | ||
| 488 | + padding: 4rpx 36rpx; | ||
| 489 | +} | ||
| 490 | + | ||
| 491 | +.detailBanner { | ||
| 492 | + width: 100%; | ||
| 493 | + height: 500rpx; | ||
| 494 | + background: transparent; | ||
| 495 | +} | ||
| 496 | + | ||
| 497 | +.detailBannerImg { | ||
| 498 | + width: 100%; | ||
| 499 | + height: 100%; | ||
| 500 | + border-radius: 10rpx; | ||
| 501 | +} | ||
| 502 | + | ||
| 503 | +.boxBlock { | ||
| 504 | + width: 100%; | ||
| 505 | + height: 500rpx; | ||
| 506 | +} | ||
| 507 | + | ||
| 508 | +.businessBox { | ||
| 509 | + color: #fff; | ||
| 510 | + font-family: PingFang SC; | ||
| 511 | + display: flex; | ||
| 512 | + justify-content: center; | ||
| 513 | + align-items: center; | ||
| 514 | + margin-top: 50rpx; | ||
| 515 | + margin-bottom: 220rpx; | ||
| 516 | +} | ||
| 517 | + | ||
| 518 | +.businessBox text { | ||
| 519 | + text-decoration: underline; | ||
| 520 | +} | ||
| 521 | + | ||
| 522 | +.sharewidth { | ||
| 523 | + position: fixed; | ||
| 524 | + left: 0; | ||
| 525 | + bottom: 0; | ||
| 526 | + height: 160rpx; | ||
| 527 | + padding: 0 40rpx; | ||
| 528 | + box-sizing: border-box; | ||
| 529 | + z-index: 100; | ||
| 530 | + justify-content: space-between; | ||
| 531 | + width: 100%; | ||
| 532 | + background: #fff; | ||
| 533 | +} | ||
| 534 | + | ||
| 535 | +.arrivalBox { | ||
| 536 | + display: flex; | ||
| 537 | + width: 100%; | ||
| 538 | + justify-content: space-between; | ||
| 539 | + align-items: center; | ||
| 540 | +} | ||
| 541 | + | ||
| 542 | +.arrivalBox button { | ||
| 543 | + display: flex; | ||
| 544 | + font-size: 24rpx; | ||
| 545 | + flex-direction: column; | ||
| 546 | + height: 50rpx; | ||
| 547 | + padding: 0 18rpx; | ||
| 548 | + line-height: 48rpx; | ||
| 549 | + font-family: PingFang SC; | ||
| 550 | + border-radius: 40rpx; | ||
| 551 | + background: transparent; | ||
| 552 | + color: #AE2D2D; | ||
| 553 | + border: 2rpx solid #AE2D2D; | ||
| 554 | +} | ||
| 555 | + | ||
| 556 | +.shareItem, | ||
| 557 | +.moreBtn, | ||
| 558 | +.paymenBtn { | ||
| 559 | + width: inherit; | ||
| 560 | + background: transparent; | ||
| 561 | + color: #ae2d2d; | ||
| 562 | + border: 2rpx solid #ae2d2d; | ||
| 563 | + height: 80rpx; | ||
| 564 | + border-radius: 42rpx; | ||
| 565 | + font-weight: 600; | ||
| 566 | + margin-right: 20rpx; | ||
| 567 | +} | ||
| 568 | + | ||
| 569 | +.threeBtn { | ||
| 570 | + width: auto; | ||
| 571 | + padding: 0 24rpx; | ||
| 572 | + flex-shrink: 0; | ||
| 573 | +} | ||
| 574 | + | ||
| 575 | +.shareItem { | ||
| 576 | + margin-right: 0; | ||
| 577 | + background: #ae2d2d; | ||
| 578 | + color: #fff; | ||
| 579 | + animation-name: scaleDraw; | ||
| 580 | + animation-timing-function: ease-in-out; | ||
| 581 | + animation-iteration-count: infinite; | ||
| 582 | + animation-duration: 2s; | ||
| 583 | +} | ||
| 584 | + | ||
| 585 | +@keyframes scaleDraw { | ||
| 586 | + 0% { | ||
| 587 | + transform: scale(1); | ||
| 588 | + } | ||
| 589 | + | ||
| 590 | + 25% { | ||
| 591 | + transform: scale(1.1); | ||
| 592 | + } | ||
| 593 | + | ||
| 594 | + 50% { | ||
| 595 | + transform: scale(1); | ||
| 596 | + } | ||
| 597 | + | ||
| 598 | + 75% { | ||
| 599 | + transform: scale(1.1); | ||
| 600 | + } | ||
| 601 | +} | ||
| 602 | + | ||
| 603 | +.more { | ||
| 604 | + height: 80rpx; | ||
| 605 | + width: 100%; | ||
| 606 | + position: fixed; | ||
| 607 | + bottom: 160rpx; | ||
| 608 | + display: flex; | ||
| 609 | + align-items: center; | ||
| 610 | + justify-content: center; | ||
| 611 | + flex-direction: column; | ||
| 612 | + background: rgba(0, 0, 0, .4); | ||
| 613 | +} | ||
| 614 | + | ||
| 615 | +.more1 { | ||
| 616 | + bottom: 40rpx; | ||
| 617 | +} | ||
| 618 | + | ||
| 619 | +.moreText { | ||
| 620 | + color: #fff; | ||
| 621 | +} | ||
| 622 | + | ||
| 623 | +.more image { | ||
| 624 | + width: 30rpx; | ||
| 625 | + height: 30rpx; | ||
| 626 | +} | ||
| 627 | + | ||
| 628 | +.musicImg { | ||
| 629 | + width: 62rpx; | ||
| 630 | + height: 62rpx; | ||
| 631 | + position: fixed !important; | ||
| 632 | + right: 8%; | ||
| 633 | + top: 22%; | ||
| 634 | + z-index: 200; | ||
| 635 | +} | ||
| 636 | + | ||
| 637 | +.giftImg { | ||
| 638 | + width: 108rpx; | ||
| 639 | + height: 108rpx; | ||
| 640 | + position: fixed !important; | ||
| 641 | + right: 5%; | ||
| 642 | + top: 33%; | ||
| 643 | + z-index: 200; | ||
| 644 | +} | ||
| 645 | + | ||
| 646 | +.cannotImg { | ||
| 647 | + width: 200rpx; | ||
| 648 | + height: 66rpx; | ||
| 649 | + transform: rotate(-45deg); | ||
| 650 | + position: fixed; | ||
| 651 | + left: 38%; | ||
| 652 | + z-index: 999; | ||
| 653 | + top: 50%; | ||
| 654 | +} | ||
| 655 | + | ||
| 656 | +#payModal { | ||
| 657 | + display: flex; | ||
| 658 | + align-items: center; | ||
| 659 | +} | ||
| 660 | + | ||
| 661 | +.titleModal { | ||
| 662 | + width: 100%; | ||
| 663 | + margin-top: 48rpx; | ||
| 664 | + color: #000; | ||
| 665 | + font-family: PingFang SC; | ||
| 666 | + font-weight: 500; | ||
| 667 | + font-size: 44rpx; | ||
| 668 | + text-align: center; | ||
| 669 | +} | ||
| 670 | + | ||
| 671 | +.explain { | ||
| 672 | + padding: 0 40rpx; | ||
| 673 | + font-size: 30rpx; | ||
| 674 | + color: #000; | ||
| 675 | + line-height: 40rpx; | ||
| 676 | + text-align: center; | ||
| 677 | +} | ||
| 678 | + | ||
| 679 | +.screenshotBtns { | ||
| 680 | + width: 100%; | ||
| 681 | + display: flex; | ||
| 682 | + justify-content: space-between; | ||
| 683 | + box-sizing: border-box; | ||
| 684 | + padding: 52rpx 22rpx 0 22rpx; | ||
| 685 | +} | ||
| 686 | + | ||
| 687 | +.btnsLeft { | ||
| 688 | + width: 43%; | ||
| 689 | + border-radius: 42rpx; | ||
| 690 | + background: #fff; | ||
| 691 | + border: 2rpx solid #0346A5; | ||
| 692 | + bottom: 10%; | ||
| 693 | + color: #0346A5; | ||
| 694 | +} | ||
| 695 | + | ||
| 696 | +.btnsRight { | ||
| 697 | + width: 43%; | ||
| 698 | + border-radius: 42rpx; | ||
| 699 | + background: linear-gradient(104.24deg, #4c8dad -57.47%, #0143a3 55.72%, #42a5ff 148.72%); | ||
| 700 | + bottom: 10%; | ||
| 701 | + color: #fff; | ||
| 702 | +} | ||
| 703 | + | ||
| 704 | +.mymodal { | ||
| 705 | + top: 30% !important; | ||
| 706 | + width: 80% !important; | ||
| 707 | + margin: 0 auto !important; | ||
| 708 | + left: 0 !important; | ||
| 709 | + right: 0 !important; | ||
| 710 | + z-index: 250; | ||
| 711 | +} | ||
| 712 | + | ||
| 713 | +.mymodal .mymodal-content { | ||
| 714 | + height: auto !important; | ||
| 715 | +} | ||
| 716 | + | ||
| 717 | +.viewBox1 { | ||
| 718 | + background: #811a1f; | ||
| 719 | +} | ||
| 720 | + | ||
| 721 | +/* 商务宴会 */ | ||
| 722 | +.viewBox2 { | ||
| 723 | + background: #fff; | ||
| 724 | +} | ||
| 725 | + | ||
| 726 | +.viewBox2 .reservationInfo { | ||
| 727 | + background: url('https://qn.colorcun.com/invitation12Bj.png') no-repeat; | ||
| 728 | + padding: 220rpx 20rpx 120rpx; | ||
| 729 | + box-sizing: border-box; | ||
| 730 | + position: relative; | ||
| 731 | + color: #000; | ||
| 732 | + background-size: cover; | ||
| 733 | +} | ||
| 734 | + | ||
| 735 | +.viewBox2 .infoTopText1 { | ||
| 736 | + font-size: 60rpx; | ||
| 737 | + font-family: Sinter; | ||
| 738 | + line-height: 60rpx; | ||
| 739 | + letter-spacing: 14rpx; | ||
| 740 | + font-weight: 500; | ||
| 741 | + margin-bottom: 40rpx; | ||
| 742 | +} | ||
| 743 | + | ||
| 744 | +.viewBox2 .infoTopText4 { | ||
| 745 | + font-size: 100rpx; | ||
| 746 | + line-height: 100rpx; | ||
| 747 | + letter-spacing: 20rpx; | ||
| 748 | +} | ||
| 749 | + | ||
| 750 | +.viewBox2 .informationBox { | ||
| 751 | + background: transparent; | ||
| 752 | + padding: 40rpx 0; | ||
| 753 | + position: relative; | ||
| 754 | +} | ||
| 755 | + | ||
| 756 | +.viewBox2 .contentData, | ||
| 757 | +.viewBox2 .infoItem .record { | ||
| 758 | + color: #fff; | ||
| 759 | +} | ||
| 760 | + | ||
| 761 | +.viewBox2 .contentDataPhone { | ||
| 762 | + color: #35E084; | ||
| 763 | +} | ||
| 764 | + | ||
| 765 | +.viewBox2 .arrivalBox button { | ||
| 766 | + color: #fff; | ||
| 767 | + border: 2rpx solid #fff; | ||
| 768 | +} | ||
| 769 | + | ||
| 770 | +.viewBox2 .positioning { | ||
| 771 | + background: #E8CEA8; | ||
| 772 | + color: #000; | ||
| 773 | +} | ||
| 774 | + | ||
| 775 | +.viewBox2 .receptionBox { | ||
| 776 | + position: absolute; | ||
| 777 | + bottom: -160rpx; | ||
| 778 | + background: #fff; | ||
| 779 | + color: #000; | ||
| 780 | + width: -webkit-fill-available; | ||
| 781 | +} | ||
| 782 | + | ||
| 783 | +.viewBox2 .brownFont { | ||
| 784 | + background: #E8CEA8; | ||
| 785 | + color: #000; | ||
| 786 | +} | ||
| 787 | + | ||
| 788 | +.viewBox2 .reservationInfoBox { | ||
| 789 | + position: relative; | ||
| 790 | +} | ||
| 791 | + | ||
| 792 | +.viewBox2 .preferentialCoupon { | ||
| 793 | + margin: 140rpx 0 0 0; | ||
| 794 | + padding-top: 40rpx; | ||
| 795 | +} | ||
| 796 | + | ||
| 797 | +.viewBox2 .tileBox { | ||
| 798 | + background: #F0F0F0; | ||
| 799 | +} | ||
| 800 | + | ||
| 801 | +.viewBox2 .regionItem { | ||
| 802 | + background: #fff; | ||
| 803 | +} | ||
| 804 | + | ||
| 805 | +.viewBox2 .activeTitleItem { | ||
| 806 | + background: #242424; | ||
| 807 | +} | ||
| 808 | + | ||
| 809 | +.viewBox2 .activeTitleItem::after { | ||
| 810 | + border-top: 20rpx solid #242424; | ||
| 811 | +} | ||
| 812 | + | ||
| 813 | +.viewBox2 .favouredPolicy { | ||
| 814 | + border: 2rpx solid #000000; | ||
| 815 | + color: #000; | ||
| 816 | +} | ||
| 817 | + | ||
| 818 | +.viewBox2 .rechargeBtn navigator { | ||
| 819 | + background: #E8CEA8; | ||
| 820 | + color: #000; | ||
| 821 | +} | ||
| 822 | + | ||
| 823 | +.viewBox2 .couponBtn { | ||
| 824 | + background: #000; | ||
| 825 | + color: #FFEFD6; | ||
| 826 | +} | ||
| 827 | + | ||
| 828 | +.viewBox2 .shareItem, | ||
| 829 | +.viewBox2 .moreBtn, | ||
| 830 | +.viewBox2 .paymenBtn { | ||
| 831 | + color: #000; | ||
| 832 | + border: 2rpx solid #000; | ||
| 833 | +} | ||
| 834 | + | ||
| 835 | +.viewBox2 .shareItem { | ||
| 836 | + background: #E8CEA8; | ||
| 837 | + border: none; | ||
| 838 | +} | ||
| 839 | + | ||
| 840 | + | ||
| 841 | +.viewBox2 .pageSpacing { | ||
| 842 | + position: relative; | ||
| 843 | + display: flex; | ||
| 844 | + justify-content: center; | ||
| 845 | + align-items: center; | ||
| 846 | + white-space: nowrap; | ||
| 847 | + width: auto; | ||
| 848 | + overflow-x: scroll; | ||
| 849 | + border-bottom-left-radius: 10rpx; | ||
| 850 | + border-bottom-right-radius: 10rpx; | ||
| 851 | +} | ||
| 852 | + | ||
| 853 | + | ||
| 854 | +.viewBox2 .pageSpacing1 { | ||
| 855 | + position: relative; | ||
| 856 | + display: flex; | ||
| 857 | + white-space: nowrap; | ||
| 858 | + width: auto; | ||
| 859 | + overflow-x: scroll; | ||
| 860 | + border-bottom-left-radius: 10rpx; | ||
| 861 | + border-bottom-right-radius: 10rpx; | ||
| 862 | + padding-left: 20rpx; | ||
| 863 | +} | ||
| 864 | + | ||
| 865 | +.viewBox2 .imgs { | ||
| 866 | + position: relative; | ||
| 867 | + display: flex; | ||
| 868 | + white-space: nowrap; | ||
| 869 | + width: 640rpx; | ||
| 870 | + height: 480rpx; | ||
| 871 | + margin-right: 30rpx; | ||
| 872 | +} | ||
| 873 | + | ||
| 874 | +.viewBox2 .imgs text { | ||
| 875 | + background: #515151; | ||
| 876 | + color: #fff; | ||
| 877 | + position: absolute; | ||
| 878 | + left: 0; | ||
| 879 | + bottom: 0; | ||
| 880 | + height: 64rpx; | ||
| 881 | + line-height: 64rpx; | ||
| 882 | + width: 640rpx; | ||
| 883 | + text-align: center; | ||
| 884 | + border-bottom-left-radius: 16rpx; | ||
| 885 | + border-bottom-right-radius: 16rpx; | ||
| 886 | +} | ||
| 887 | + | ||
| 888 | +.viewBox2 .imageStyle { | ||
| 889 | + display: inline-block; | ||
| 890 | + width: 640rpx; | ||
| 891 | + height: 480rpx; | ||
| 892 | + border-radius: 16rpx; | ||
| 893 | +} | ||
| 894 | + | ||
| 895 | +.viewBox2 .titleLine { | ||
| 896 | + width: 8rpx; | ||
| 897 | + height: 36rpx; | ||
| 898 | + background: #000; | ||
| 899 | + margin-right: 24rpx; | ||
| 900 | +} | ||
| 901 | + | ||
| 902 | +.viewBox2 .titleBox { | ||
| 903 | + display: flex; | ||
| 904 | + align-items: center; | ||
| 905 | + margin: 0 24rpx 40rpx 0; | ||
| 906 | +} | ||
| 907 | + | ||
| 908 | +.viewBox2 .publicModule { | ||
| 909 | + align-items: flex-start; | ||
| 910 | + padding-bottom: 0; | ||
| 911 | +} | ||
| 912 | + | ||
| 913 | +.viewBox2 .publicModule image, | ||
| 914 | +.viewBox2 .labelBox .texts { | ||
| 915 | + margin-bottom: 40rpx; | ||
| 916 | + width: 100%; | ||
| 917 | +} | ||
| 918 | + | ||
| 919 | +.viewBox2 .businessBox { | ||
| 920 | + margin-top: 30rpx; | ||
| 921 | +} | ||
| 922 | + | ||
| 923 | +.viewBox2 .videoBox { | ||
| 924 | + display: flex; | ||
| 925 | + flex-wrap: wrap; | ||
| 926 | + align-items: center; | ||
| 927 | + justify-content: center; | ||
| 928 | +} | ||
| 929 | + | ||
| 930 | +.viewBox2 .videoBox video { | ||
| 931 | + width: 100%; | ||
| 932 | + box-sizing: border-box; | ||
| 933 | +} | ||
| 934 | + | ||
| 935 | +.viewBox2 .businessBox { | ||
| 936 | + color: #000; | ||
| 937 | +} | ||
| 938 | + | ||
| 939 | +.viewBox2 .entrance { | ||
| 940 | + display: flex; | ||
| 941 | + flex-direction: column; | ||
| 942 | + position: absolute; | ||
| 943 | + right: 3%; | ||
| 944 | + top: -17%; | ||
| 945 | + z-index: 200; | ||
| 946 | +} | ||
| 947 | + | ||
| 948 | +.viewBox2 .entrance1 { | ||
| 949 | + top: -35%; | ||
| 950 | +} | ||
| 951 | + | ||
| 952 | +.viewBox2 .entrance image { | ||
| 953 | + width: 52rpx; | ||
| 954 | + height: 52rpx; | ||
| 955 | +} | ||
| 956 | + | ||
| 957 | +.viewBox2 .entranceItem { | ||
| 958 | + display: flex; | ||
| 959 | + flex-direction: column; | ||
| 960 | + align-items: center; | ||
| 961 | + color: #FFF7DA; | ||
| 962 | + margin-bottom: 32rpx; | ||
| 963 | +} | ||
| 964 | + | ||
| 965 | +.viewBox2 .entranceItem:nth-last-of-type(1) { | ||
| 966 | + margin-bottom: 0; | ||
| 967 | +} | ||
| 968 | + | ||
| 969 | +.viewBox2 .musicImg { | ||
| 970 | + top: 14%; | ||
| 971 | +} | ||
| 972 | + | ||
| 973 | +.viewBox2 .infoItem { | ||
| 974 | + margin-right: 160rpx; | ||
| 975 | +} | ||
| 976 | + | ||
| 977 | +.viewBox2 .addressInfo, | ||
| 978 | +.viewBox2 .infoRight { | ||
| 979 | + margin-right: 0; | ||
| 980 | +} | ||
| 981 | + | ||
| 982 | +.viewBox2 .giftImg { | ||
| 983 | + left: 2%; | ||
| 984 | + top: 27%; | ||
| 985 | +} |
-
Please register or login to post a comment