123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- <template>
- <div class="box" v-if="show" @touchmove.stop.prevent>
- <div class="boxIn">
- <div class="content">
- <img class="commit-star" src="https://cnsh-kerry-crm-prod.oss-cn-shanghai.aliyuncs.com/images/wx-points/points-commit.png">
- </img>
- <img v-if="source !== 'PUDONG' && source !== 'JINGAN'" class="commit-logo-default" src="https://cnsh-kerry-crm-prod.oss-cn-shanghai.aliyuncs.com/images/wx-points/kerry.png" />
- <img v-else class="commit-logo-ko" src="https://cnsh-kerry-crm-prod.oss-cn-shanghai.aliyuncs.com/images/wx-points/ko.png" />
- <div class="logo">
-
- </div>
- <div class="title">
- {{'您有消费积分未领取'}}
- </div>
- <div class="text">
- 如您的微信支付积分未到账,请于消费当日申请领取
- </div>
- <div @click="toWxPointsAuth" class="commit-btn" :class="{'commit-btn--blue': source === 'PUDONG','commit-btn--green': source === 'PUDONG', 'commit-btn--qhkc': isQHKC && source !== 'KIP' }">
- 去领取
- </div>
- <img @click="close('time')" class="commit-cancel" src="https://cnsh-kerry-crm-prod.oss-cn-shanghai.aliyuncs.com/images/wx-points/close.svg" />
- </div>
- </div>
- </div>
- </template>
- <script>
- /* https://kerryprops.atlassian.net/browse/KIP-15785 */
- import Vue from 'vue';
- import uni from '@/utils/uniHooks';
- import { mapState } from "vuex"
- import {
- wxEasyPointsCommitStatus
- } from '@/utils/api-kip.js'
- import { toLogin } from '@/utils'
- export default {
- created() {
- // this.handleGetPointsConfig()
- },
- data() {
- return {
- pointsConfig: null,
- show: false,
- clickToWxPointsAuth: false,
- pointsModalFlag: false
- };
- },
- computed: {
- // custTypeId: 0 默认版本,1 上海静安 2 上海浦东
- ...mapState({
- // custTypeId: 0
- custTypeId: state => state.custTypeId,
- mallId: (state) => state.mallId,
- source: (state) => state.source,
- }),
- isQHKC() {
- return ['8a88a9fd7f73ffcd017f968739870006', '8aaa82ea804d07cd0180516ff03b0008'].includes(this.mallId);
- }
- },
- methods: {
- async toWxPointsAuth() {
- console.log('授权微信无感积分')
- if (this.clickToWxPointsAuth) {
- console.log('授权微信无感积分重复点击')
- return
- }
- if (window.__wxjs_environment === 'miniprogram') {
- wx.miniProgram.navigateTo({
- "url": this.source === 'KIP' ? '/pages/points/wx-points-commit' : "/pages/package-parkingFee/wx-points-commit" // 去 login 页面 1 去登录
- })
- }
- this.show = false;
- this.clickToWxPointsAuth = false
- },
- async open(callback) {
- const isShow = this.checkShowFlag();
- if(!isShow) {
- return
- }
- const pointsCommitStatus = await wxEasyPointsCommitStatus();
- if(pointsCommitStatus.pointsCommitStatus === 'PENDING') {
- // 展示
- this.show = true
- callback && callback()
- }
- },
- isInToday(timestamp) {
- // 创建当前日期的对象
- const today = new Date();
- // 将当前日期的时间部分设置为零
- today.setHours(0, 0, 0, 0);
- // 创建时间戳日期的对象
- const dateOfTimestamp = new Date(timestamp);
- // 将时间戳的时间部分也设置为零
- dateOfTimestamp.setHours(0, 0, 0, 0);
- // 比较两个日期是否相等
- return today.getTime() === dateOfTimestamp.getTime();
- },
- checkShowFlag() {
- // 如果是支付宝,不弹出弹窗
- if(Vue.prototype.isAlipayClient) {
- return false
- }
- const nowTime = new Date()
- const nowTime00 = new Date().getTime()
- var lbs_easy_end_time = uni.getStorageSync('lbs_easy_end_time')
- if (lbs_easy_end_time) {
- const arr_lbsId = lbs_easy_end_time.filter(element => {
- return element.lbsId === this.$store.state?.lbsId
- })
- // 24小时内只弹出一次, 次日凌晨失效
- if (arr_lbsId.length > 0 && arr_lbsId[arr_lbsId.length - 1].time && this.isInToday(arr_lbsId[arr_lbsId.length - 1].time)) {
- return false
- }
- }
- return true
- },
- close() {
- this.show = false
- var arr_lbs_end_time = []
- if (uni.getStorageSync('lbs_easy_end_time')) {
- arr_lbs_end_time = uni.getStorageSync('lbs_easy_end_time')
- arr_lbs_end_time = arr_lbs_end_time.filter(item => item.lbsId !== this.$store.state?.lbsId);
- console.log('del_arr_lbs_end_time:::', arr_lbs_end_time)
- arr_lbs_end_time.push({
- lbsId: this.$store.state?.lbsId,
- time: new Date().getTime()
- })
- uni.setStorageSync("lbs_easy_end_time", arr_lbs_end_time)
- } else {
- arr_lbs_end_time.push({
- lbsId: this.$store.state?.lbsId,
- time: new Date().getTime()
- })
- uni.setStorageSync("lbs_easy_end_time", arr_lbs_end_time)
- }
- },
- }
- }
- </script>
- <style scoped>
- .box{
- position: fixed;
- z-index: 10000;
- width: 100vw;
- height: 100vh;
- background: rgba(0,0,0,0.7);
- top: 0;
- left: 0;
- }
- .boxIn {
- position: relative;
- width: 100%;
- height: 100%;
- }
- .content{
- position: relative;
- width: calc(100% - 110px);
- height: 245px;
- background: #FFFFFF;
- border-radius: 8px;
- margin: 0 auto;
- margin-top: 30vh;
- }
- .commit-star{
- position: absolute;
- width: calc(100vw - 40px);
- height: calc(48.1vw - 23.6px);
- top: calc(11.8px - 24.05vw);
- left: -33px;
- }
- .commit-logo-default{
- width: 84px;
- height:20px;
- position: relative;
- display: block;
- top: 15px;
- left: 30px;
- }
- .commit-logo-ko{
- width: 80px;
- height: 20px;
- position: relative;
- display: block;
- top: 15px;
- left: 35px;
- }
- .logo{
- height: 35px;
- border-bottom: 1rpx solid rgba(151,151,151,0.1);
- }
- .title{
- font-size: 16px;
- font-weight: 600;
- color: #333;
- text-align: center;
- margin-top: 22px;
- }
- .text{
- width: 180px;
- margin: 0 auto;
- margin-top: 8px;
- color: #999;
- font-size: 12px;
- text-align: center;
- }
- .text-content{
- width: calc(100% - 20px);
- line-height: 20px;
- }
- .commit-btn{
- width: calc(100vw - 180px);
- height: 40px;
- margin: 0 auto;
- margin-top: 27px;
- line-height: 40px;
- text-align: center;
- font-size: 15px;
- color: #fff;
- background: var(--k-color-primary-01, #064c8a);
- border-radius: 25px;
- box-shadow: 3px 3px 12px 0px var(--k-color-primary-01, #064c8a);
-
- }
- .commit-btn--blue {
- box-shadow: 3px 3px 12px 0px #13358E;
- background: #13358E;
- }
- .commit-btn--green {
- box-shadow: 3px 3px 12px 0px #25673C;
- background: #25673C;
- }
- .commit-btn--qhkc {
- box-shadow: 3px 3px 12px 0px #DF8443;
- background: #DF8443;
- }
- .commit-cancel{
- position: relative;
- display: block;
- margin: 0 auto;
- margin-top: 56px;
- width: 32px;
- height: 32px;
- }
- </style>
|