1.1.46
This commit is contained in:
parent
53ddca24ab
commit
ff91440436
26
app.js
26
app.js
@ -408,11 +408,8 @@ App({
|
|||||||
/**
|
/**
|
||||||
* 授权登录
|
* 授权登录
|
||||||
*/
|
*/
|
||||||
getUserInfo(e, callback) {
|
getUserInfo(userInfo, callback) {
|
||||||
let App = this;
|
let App = this;
|
||||||
if (e.detail.errMsg !== 'getUserInfo:ok') {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
wx.showLoading({
|
wx.showLoading({
|
||||||
title: "正在登录",
|
title: "正在登录",
|
||||||
mask: true
|
mask: true
|
||||||
@ -423,10 +420,7 @@ App({
|
|||||||
// 发送用户信息
|
// 发送用户信息
|
||||||
App._post_form('user/login', {
|
App._post_form('user/login', {
|
||||||
code: res.code,
|
code: res.code,
|
||||||
user_info: e.detail.rawData,
|
user_info: JSON.stringify(userInfo),
|
||||||
encrypted_data: e.detail.encryptedData,
|
|
||||||
iv: e.detail.iv,
|
|
||||||
signature: e.detail.signature,
|
|
||||||
referee_id: wx.getStorageSync('referee_id')
|
referee_id: wx.getStorageSync('referee_id')
|
||||||
}, result => {
|
}, result => {
|
||||||
// 记录token user_id
|
// 记录token user_id
|
||||||
@ -454,11 +448,17 @@ App({
|
|||||||
*/
|
*/
|
||||||
setCartTabBadge() {
|
setCartTabBadge() {
|
||||||
const number = wx.getStorageSync('cartTotalNum')
|
const number = wx.getStorageSync('cartTotalNum')
|
||||||
if (number <= 0) return
|
if (number > 0) {
|
||||||
wx.setTabBarBadge({
|
wx.setTabBarBadge({
|
||||||
index: 2,
|
index: 2,
|
||||||
text: `${number}`
|
text: `${number}`
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
wx.removeTabBarBadge({
|
||||||
|
index: 2
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
130
components/countdown/index.js
Normal file
130
components/countdown/index.js
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
import util from '../../utils/util'
|
||||||
|
|
||||||
|
Component({
|
||||||
|
properties: {
|
||||||
|
// useSlot: Boolean,
|
||||||
|
// 截止的时间
|
||||||
|
date: String,
|
||||||
|
// 分隔符, colon为英文冒号,zh为中文
|
||||||
|
separator: {
|
||||||
|
type: String,
|
||||||
|
value: 'zh'
|
||||||
|
},
|
||||||
|
// 组件样式, text为纯文本,custom为带背景色
|
||||||
|
style: {
|
||||||
|
type: String,
|
||||||
|
value: 'text'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
data: {
|
||||||
|
// 倒计时数据
|
||||||
|
dynamic: {
|
||||||
|
day: '00',
|
||||||
|
hou: '00',
|
||||||
|
min: '00',
|
||||||
|
sec: '00'
|
||||||
|
},
|
||||||
|
// 分隔符文案
|
||||||
|
separatorText: {
|
||||||
|
day: '天',
|
||||||
|
hou: '时',
|
||||||
|
min: '分',
|
||||||
|
sec: '秒'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
attached() {
|
||||||
|
// 分隔符文案
|
||||||
|
this.separatorText()
|
||||||
|
// 开始倒计时
|
||||||
|
this.onTime()
|
||||||
|
},
|
||||||
|
|
||||||
|
detached() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
// 分隔符文案
|
||||||
|
separatorText() {
|
||||||
|
const separatorText = this.data.separatorText
|
||||||
|
if (this.data.separator === 'colon') {
|
||||||
|
separatorText.day = ':'
|
||||||
|
separatorText.hou = ':'
|
||||||
|
separatorText.min = ':'
|
||||||
|
separatorText.sec = ''
|
||||||
|
}
|
||||||
|
this.setData({
|
||||||
|
separatorText
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 开始倒计时
|
||||||
|
onTime(deep = 0) {
|
||||||
|
const app = this
|
||||||
|
const dynamic = {}
|
||||||
|
|
||||||
|
// 获取当前时间,同时得到活动结束时间数组
|
||||||
|
const newTime = new Date().getTime()
|
||||||
|
// 对结束时间进行处理渲染到页面
|
||||||
|
const endTime = new Date(util.format_date(app.data.date)).getTime();
|
||||||
|
|
||||||
|
// 如果活动未结束,对时间进行处理
|
||||||
|
if ((endTime - newTime) <= 0) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
const diffTime = (endTime - newTime) / 1000;
|
||||||
|
// 获取时、分、秒
|
||||||
|
const day = parseInt(diffTime / 86400),
|
||||||
|
hou = parseInt(diffTime % 86400 / 3600),
|
||||||
|
min = parseInt(diffTime % 86400 % 3600 / 60),
|
||||||
|
sec = parseInt(diffTime % 86400 % 3600 % 60);
|
||||||
|
dynamic.day = app.timeFormat(day)
|
||||||
|
dynamic.hou = app.timeFormat(hou)
|
||||||
|
dynamic.min = app.timeFormat(min)
|
||||||
|
dynamic.sec = app.timeFormat(sec)
|
||||||
|
|
||||||
|
// 渲染,然后每隔一秒执行一次倒计时函数
|
||||||
|
app.setData({
|
||||||
|
dynamic
|
||||||
|
})
|
||||||
|
// 判断倒计时是否结束
|
||||||
|
const isEnd = app.isEnd()
|
||||||
|
// 结束后执行回调函数
|
||||||
|
if (isEnd) {
|
||||||
|
deep > 0 && app.triggerEvent('finish')
|
||||||
|
}
|
||||||
|
// 重复执行
|
||||||
|
if (!isEnd) {
|
||||||
|
setTimeout(() => {
|
||||||
|
app.onTime(++deep)
|
||||||
|
}, 1000)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 判断倒计时是否结束
|
||||||
|
isEnd() {
|
||||||
|
const {
|
||||||
|
dynamic
|
||||||
|
} = this.data
|
||||||
|
if (dynamic.day == '00' && dynamic.hou == '00' && dynamic.min == '00' && dynamic.sec == '00') {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 小于10的格式化函数
|
||||||
|
*/
|
||||||
|
timeFormat(value) {
|
||||||
|
return value < 10 ? '0' + value : value
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
3
components/countdown/index.json
Normal file
3
components/countdown/index.json
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"component": true
|
||||||
|
}
|
15
components/countdown/index.wxml
Normal file
15
components/countdown/index.wxml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<view wx:if="{{ date }}" class="count-down">
|
||||||
|
<!-- <slot wx:if="{{ useSlot }}" /> -->
|
||||||
|
<view class="{{ style }}-style separator-{{ separator }}">
|
||||||
|
<block wx:if="{{ dynamic.day != '00' }}">
|
||||||
|
<text class="dynamic-value">{{ dynamic.day }}</text>
|
||||||
|
<text class="separator">{{ separatorText.day }}</text>
|
||||||
|
</block>
|
||||||
|
<text class="dynamic-value">{{ dynamic.hou }}</text>
|
||||||
|
<text class="separator">{{ separatorText.hou }}</text>
|
||||||
|
<text class="dynamic-value">{{ dynamic.min }}</text>
|
||||||
|
<text class="separator">{{ separatorText.min }}</text>
|
||||||
|
<text class="dynamic-value">{{ dynamic.sec }}</text>
|
||||||
|
<text class="separator">{{ separatorText.sec }}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
33
components/countdown/index.wxss
Normal file
33
components/countdown/index.wxss
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
.item {
|
||||||
|
display: inline-block;
|
||||||
|
width: 22px;
|
||||||
|
margin-right: 5px;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 12px;
|
||||||
|
text-align: center;
|
||||||
|
background-color: #1989fa;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.separator {
|
||||||
|
padding: 0 2rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 冒号分隔符 */
|
||||||
|
.text-style.separator-colon .separator {
|
||||||
|
padding: 0 5rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 带背景的样式 */
|
||||||
|
.custom-style .dynamic-value {
|
||||||
|
background: #252525;
|
||||||
|
color: #fff;
|
||||||
|
padding: 0 8rpx;
|
||||||
|
line-height: 40rpx;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom-style .separator {
|
||||||
|
padding: 0 7rpx;
|
||||||
|
}
|
@ -27,8 +27,6 @@ Component({
|
|||||||
* 跳转商品详情页
|
* 跳转商品详情页
|
||||||
*/
|
*/
|
||||||
_onTargetGoods(e) {
|
_onTargetGoods(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: `/pages/bargain/goods/index?active_id=${e.detail.target.dataset.id}`,
|
url: `/pages/bargain/goods/index?active_id=${e.detail.target.dataset.id}`,
|
||||||
});
|
});
|
||||||
|
@ -27,8 +27,6 @@ Component({
|
|||||||
* 跳转商品详情页
|
* 跳转商品详情页
|
||||||
*/
|
*/
|
||||||
_onTargetGoods(e) {
|
_onTargetGoods(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '/pages/goods/index?goods_id=' + e.detail.target.dataset.id,
|
url: '/pages/goods/index?goods_id=' + e.detail.target.dataset.id,
|
||||||
});
|
});
|
||||||
|
@ -24,8 +24,6 @@ Component({
|
|||||||
* 跳转到搜索页面
|
* 跳转到搜索页面
|
||||||
*/
|
*/
|
||||||
onTargetSearch(e) {
|
onTargetSearch(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
App.navigationTo('pages/search/index');
|
App.navigationTo('pages/search/index');
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -26,8 +26,6 @@ Component({
|
|||||||
* 点击拨打电话
|
* 点击拨打电话
|
||||||
*/
|
*/
|
||||||
_onServiceEvent(e) {
|
_onServiceEvent(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 拨打电话
|
// 拨打电话
|
||||||
wx.makePhoneCall({
|
wx.makePhoneCall({
|
||||||
phoneNumber: this.data.params.phone_num
|
phoneNumber: this.data.params.phone_num
|
||||||
|
@ -27,8 +27,6 @@ Component({
|
|||||||
* 跳转商品详情页
|
* 跳转商品详情页
|
||||||
*/
|
*/
|
||||||
_onTargetGoods(e) {
|
_onTargetGoods(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '/pages/sharing/goods/index?goods_id=' + e.detail.target.dataset.id,
|
url: '/pages/sharing/goods/index?goods_id=' + e.detail.target.dataset.id,
|
||||||
});
|
});
|
||||||
|
@ -1,14 +1,8 @@
|
|||||||
const App = getApp();
|
|
||||||
|
|
||||||
// 工具类
|
|
||||||
import util from '../../../utils/util.js';
|
import util from '../../../utils/util.js';
|
||||||
|
|
||||||
// 倒计时插件
|
|
||||||
import CountDown from '../../../utils/countdown.js';
|
|
||||||
|
|
||||||
// 枚举类:秒杀活动商品状态
|
|
||||||
import ActiveStatusEnum from '../../../utils/enum/sharp/GoodsStatus.js';
|
import ActiveStatusEnum from '../../../utils/enum/sharp/GoodsStatus.js';
|
||||||
|
|
||||||
|
const App = getApp()
|
||||||
|
|
||||||
Component({
|
Component({
|
||||||
|
|
||||||
options: {
|
options: {
|
||||||
@ -31,7 +25,7 @@ Component({
|
|||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
ActiveStatusEnum, // 秒杀活动商品状态
|
ActiveStatusEnum, // 秒杀活动商品状态
|
||||||
countDownList: [], // 倒计时
|
countDownTime: false, // 倒计时日期
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -45,7 +39,7 @@ Component({
|
|||||||
attached() {
|
attached() {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
_this._initCountDownData();
|
_this._initCountDownData();
|
||||||
},
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -57,13 +51,10 @@ Component({
|
|||||||
*/
|
*/
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 跳转商品详情页
|
* 跳转商品详情页
|
||||||
*/
|
*/
|
||||||
_onTargetGoods(e) {
|
_onTargetGoods(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 生成query参数
|
// 生成query参数
|
||||||
let _this = this,
|
let _this = this,
|
||||||
query = util.urlEncode({
|
query = util.urlEncode({
|
||||||
@ -80,8 +71,6 @@ Component({
|
|||||||
* 更多秒杀
|
* 更多秒杀
|
||||||
*/
|
*/
|
||||||
_onTargetSharpIndex(e) {
|
_onTargetSharpIndex(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 跳转到秒杀会场首页
|
// 跳转到秒杀会场首页
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: `/pages/sharp/index/index`,
|
url: `/pages/sharp/index/index`,
|
||||||
@ -91,19 +80,15 @@ Component({
|
|||||||
/**
|
/**
|
||||||
* 初始化倒计时组件
|
* 初始化倒计时组件
|
||||||
*/
|
*/
|
||||||
_initCountDownData(data) {
|
_initCountDownData() {
|
||||||
let _this = this,
|
const app = this
|
||||||
active = _this.data.data.active;
|
const active = app.data.data.active
|
||||||
if (!active) return false;
|
if (!active) return false;
|
||||||
// 记录倒计时的时间
|
// 记录倒计时的时间
|
||||||
_this.setData({
|
app.setData({
|
||||||
[`countDownList[0]`]: {
|
countDownTime: active.count_down_time
|
||||||
date: active.count_down_time,
|
})
|
||||||
}
|
}
|
||||||
});
|
|
||||||
// 执行倒计时
|
|
||||||
CountDown.onSetTimeList(_this, 'countDownList');
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
@ -1,3 +1,6 @@
|
|||||||
{
|
{
|
||||||
"component": true
|
"component": true,
|
||||||
|
"usingComponents": {
|
||||||
|
"countdown": "/components/countdown/index"
|
||||||
|
}
|
||||||
}
|
}
|
@ -11,23 +11,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- 倒计时 -->
|
<!-- 倒计时 -->
|
||||||
<view wx:if="{{ data.active.status == ActiveStatusEnum.STATE_BEGIN.value }}" class="active-count-down">
|
<view wx:if="{{ data.active.status == ActiveStatusEnum.STATE_BEGIN.value }}" class="active-count-down">
|
||||||
<view class="clock dis-flex">
|
<countdown wx:if="{{ countDownTime }}" date="{{ countDownTime }}" style="custom" />
|
||||||
<view class="clock-time">
|
|
||||||
<text>{{ countDownList[0].dynamic.hou }}</text>
|
|
||||||
</view>
|
|
||||||
<view class="clock-symbol">
|
|
||||||
<text>:</text>
|
|
||||||
</view>
|
|
||||||
<view class="clock-time">
|
|
||||||
<text>{{ countDownList[0].dynamic.min }}</text>
|
|
||||||
</view>
|
|
||||||
<view class="clock-symbol">
|
|
||||||
<text>:</text>
|
|
||||||
</view>
|
|
||||||
<view class="clock-time">
|
|
||||||
<text>{{ countDownList[0].dynamic.sec }}</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="sharp-top--right">
|
<view class="sharp-top--right">
|
||||||
@ -63,8 +47,10 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- 商品价格 -->
|
<!-- 商品价格 -->
|
||||||
<view class="detail-price onelist-hidden">
|
<view class="detail-price onelist-hidden">
|
||||||
<text wx:if="{{ itemStyle.show.seckillPrice }}" class="goods-price f-30 col-m">¥{{ dataItem.goods_sku.seckill_price }}</text>
|
<text wx:if="{{ itemStyle.show.seckillPrice }}"
|
||||||
<text wx:if="{{ itemStyle.show.originalPrice && dataItem.goods_sku.original_price > 0 }}" class="line-price col-9 f-24">¥{{ dataItem.goods_sku.original_price }}</text>
|
class="goods-price f-30 col-m">¥{{ dataItem.goods_sku.seckill_price }}</text>
|
||||||
|
<text wx:if="{{ itemStyle.show.originalPrice && dataItem.goods_sku.original_price > 0 }}"
|
||||||
|
class="line-price col-9 f-24">¥{{ dataItem.goods_sku.original_price }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</block>
|
</block>
|
||||||
|
@ -26,8 +26,6 @@ Component({
|
|||||||
* 跳转门店详情页
|
* 跳转门店详情页
|
||||||
*/
|
*/
|
||||||
_onTargetDetail(e) {
|
_onTargetDetail(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '/pages/shop/detail/index?shop_id=' + e.detail.target.dataset.id,
|
url: '/pages/shop/detail/index?shop_id=' + e.detail.target.dataset.id,
|
||||||
});
|
});
|
||||||
|
@ -27,8 +27,6 @@ Component({
|
|||||||
* 跳转文章首页
|
* 跳转文章首页
|
||||||
*/
|
*/
|
||||||
_onTargetIndex(e) {
|
_onTargetIndex(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '/pages/article/index'
|
url: '/pages/article/index'
|
||||||
});
|
});
|
||||||
@ -38,8 +36,6 @@ Component({
|
|||||||
* 跳转文章详情页
|
* 跳转文章详情页
|
||||||
*/
|
*/
|
||||||
_onTargetDetail(e) {
|
_onTargetDetail(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '/pages/article/detail/index?article_id=' + e.detail.target.dataset.id
|
url: '/pages/article/detail/index?article_id=' + e.detail.target.dataset.id
|
||||||
});
|
});
|
||||||
|
@ -40,8 +40,6 @@ Component({
|
|||||||
* 导航菜单切换事件
|
* 导航菜单切换事件
|
||||||
*/
|
*/
|
||||||
_onToggleShow(e) {
|
_onToggleShow(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
this.setData({
|
this.setData({
|
||||||
isShow: !this.data.isShow,
|
isShow: !this.data.isShow,
|
||||||
transparent: false
|
transparent: false
|
||||||
@ -53,8 +51,6 @@ Component({
|
|||||||
*/
|
*/
|
||||||
_onTargetPage(e) {
|
_onTargetPage(e) {
|
||||||
let urls = App.getTabBarLinks();
|
let urls = App.getTabBarLinks();
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.switchTab({
|
wx.switchTab({
|
||||||
url: '/' + urls[e.detail.target.dataset.index]
|
url: '/' + urls[e.detail.target.dataset.index]
|
||||||
});
|
});
|
||||||
|
@ -32,8 +32,6 @@ Page({
|
|||||||
values = e.detail.value
|
values = e.detail.value
|
||||||
values.region = this.data.region;
|
values.region = this.data.region;
|
||||||
|
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
|
|
||||||
// 表单验证
|
// 表单验证
|
||||||
if (!_this.validation(values)) {
|
if (!_this.validation(values)) {
|
||||||
|
@ -42,8 +42,6 @@ Page({
|
|||||||
values = e.detail.value
|
values = e.detail.value
|
||||||
values.region = this.data.region;
|
values.region = this.data.region;
|
||||||
|
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
|
|
||||||
// 表单验证
|
// 表单验证
|
||||||
if (!_this.validation(values)) {
|
if (!_this.validation(values)) {
|
||||||
|
@ -22,8 +22,14 @@ Page({
|
|||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面加载
|
* 生命周期函数--监听页面加载
|
||||||
*/
|
*/
|
||||||
onLoad: function(options) {
|
onLoad: function (options) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
|
// 设置默认的分类
|
||||||
|
if (options.category_id) {
|
||||||
|
_this.setData({
|
||||||
|
category_id: options.category_id
|
||||||
|
})
|
||||||
|
}
|
||||||
// 设置文章列表高度
|
// 设置文章列表高度
|
||||||
_this.setListHeight();
|
_this.setListHeight();
|
||||||
// Api:获取文章首页
|
// Api:获取文章首页
|
||||||
@ -36,7 +42,7 @@ Page({
|
|||||||
getIndexData() {
|
getIndexData() {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 获取文章首页
|
// 获取文章首页
|
||||||
App._get('article/index', {}, function(result) {
|
App._get('article/index', {}, function (result) {
|
||||||
_this.setData({
|
_this.setData({
|
||||||
categoryList: result.data.categoryList
|
categoryList: result.data.categoryList
|
||||||
});
|
});
|
||||||
@ -48,7 +54,7 @@ Page({
|
|||||||
/**
|
/**
|
||||||
* Api:切换导航栏
|
* Api:切换导航栏
|
||||||
*/
|
*/
|
||||||
onSwitchTab: function(e) {
|
onSwitchTab: function (e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 第一步:切换当前的分类id
|
// 第一步:切换当前的分类id
|
||||||
_this.setData({
|
_this.setData({
|
||||||
@ -70,7 +76,7 @@ Page({
|
|||||||
App._get('article/lists', {
|
App._get('article/lists', {
|
||||||
page: page || 1,
|
page: page || 1,
|
||||||
category_id: _this.data.category_id
|
category_id: _this.data.category_id
|
||||||
}, function(result) {
|
}, function (result) {
|
||||||
let resList = result.data.list,
|
let resList = result.data.list,
|
||||||
dataList = _this.data.articleList;
|
dataList = _this.data.articleList;
|
||||||
if (isPage == true) {
|
if (isPage == true) {
|
||||||
@ -119,9 +125,6 @@ Page({
|
|||||||
rpx = systemInfo.windowWidth / 750, // 计算rpx
|
rpx = systemInfo.windowWidth / 750, // 计算rpx
|
||||||
tapHeight = Math.floor(rpx * 98), // tap高度
|
tapHeight = Math.floor(rpx * 98), // tap高度
|
||||||
scrollHeight = systemInfo.windowHeight - tapHeight; // swiper高度
|
scrollHeight = systemInfo.windowHeight - tapHeight; // swiper高度
|
||||||
console.log(
|
|
||||||
systemInfo.windowHeight
|
|
||||||
);
|
|
||||||
this.setData({
|
this.setData({
|
||||||
scrollHeight
|
scrollHeight
|
||||||
});
|
});
|
||||||
|
@ -1,19 +1,8 @@
|
|||||||
const App = getApp();
|
|
||||||
|
|
||||||
// 富文本插件
|
|
||||||
import wxParse from '../../../wxParse/wxParse.js';
|
import wxParse from '../../../wxParse/wxParse.js';
|
||||||
|
|
||||||
// 工具类
|
|
||||||
import util from '../../../utils/util.js';
|
|
||||||
|
|
||||||
// 倒计时插件
|
|
||||||
import CountDown from '../../../utils/countdown.js';
|
|
||||||
|
|
||||||
// 对话框插件
|
|
||||||
import Dialog from '../../../components/dialog/dialog';
|
import Dialog from '../../../components/dialog/dialog';
|
||||||
|
|
||||||
// 记录规格的数组
|
const App = getApp()
|
||||||
let goodsSpecArr = [];
|
let goodsSpecArr = []
|
||||||
|
|
||||||
Page({
|
Page({
|
||||||
|
|
||||||
@ -60,9 +49,7 @@ Page({
|
|||||||
// 返回顶部
|
// 返回顶部
|
||||||
showTopWidget: false,
|
showTopWidget: false,
|
||||||
|
|
||||||
// 倒计时
|
countDownTime: false, // 倒计时日期
|
||||||
actEndTimeList: [],
|
|
||||||
|
|
||||||
|
|
||||||
active: {}, // 砍价活动详情
|
active: {}, // 砍价活动详情
|
||||||
goods: {}, // 商品详情
|
goods: {}, // 商品详情
|
||||||
@ -102,13 +89,10 @@ Page({
|
|||||||
active_id: _this.data.active_id
|
active_id: _this.data.active_id
|
||||||
}, (result) => {
|
}, (result) => {
|
||||||
// 初始化详情数据
|
// 初始化详情数据
|
||||||
let data = _this._initData(result.data);
|
const data = result.data
|
||||||
_this.setData(data);
|
_this._initData(data)
|
||||||
|
// 初始化倒计时组件
|
||||||
// 执行倒计时
|
_this._initCountDownData(data)
|
||||||
if (!data.active.is_end) {
|
|
||||||
CountDown.onSetTimeList(_this, 'actEndTimeList');
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -139,12 +123,22 @@ Page({
|
|||||||
data.goodsMultiSpec = _this._initManySpecData(goodsDetail.goods_multi_spec);
|
data.goodsMultiSpec = _this._initManySpecData(goodsDetail.goods_multi_spec);
|
||||||
}
|
}
|
||||||
// 记录活动到期时间
|
// 记录活动到期时间
|
||||||
data.actEndTimeList = [{
|
data.countDownObj = [{
|
||||||
date: data.active.end_time
|
date: data.active.end_time
|
||||||
}];
|
}];
|
||||||
|
_this.setData(data)
|
||||||
|
data.countDownObj.date = data.active.end_time
|
||||||
return data;
|
return data;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 初始化倒计时组件
|
||||||
|
_initCountDownData(data) {
|
||||||
|
const app = this
|
||||||
|
app.setData({
|
||||||
|
countDownTime: data.active.end_time
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化商品多规格
|
* 初始化商品多规格
|
||||||
*/
|
*/
|
||||||
@ -169,8 +163,6 @@ Page({
|
|||||||
attrIdx = e.currentTarget.dataset.attrIdx,
|
attrIdx = e.currentTarget.dataset.attrIdx,
|
||||||
itemIdx = e.currentTarget.dataset.itemIdx,
|
itemIdx = e.currentTarget.dataset.itemIdx,
|
||||||
goodsMultiSpec = _this.data.goodsMultiSpec;
|
goodsMultiSpec = _this.data.goodsMultiSpec;
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
for (let i in goodsMultiSpec.spec_attr) {
|
for (let i in goodsMultiSpec.spec_attr) {
|
||||||
for (let j in goodsMultiSpec.spec_attr[i].spec_items) {
|
for (let j in goodsMultiSpec.spec_attr[i].spec_items) {
|
||||||
if (attrIdx == i) {
|
if (attrIdx == i) {
|
||||||
@ -285,8 +277,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onClickShare(e) {
|
onClickShare(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
_this.setData({
|
_this.setData({
|
||||||
'share.show': true
|
'share.show': true
|
||||||
});
|
});
|
||||||
@ -348,8 +338,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onSavePoster(e) {
|
onSavePoster(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.showLoading({
|
wx.showLoading({
|
||||||
title: '加载中',
|
title: '加载中',
|
||||||
});
|
});
|
||||||
@ -395,12 +383,8 @@ Page({
|
|||||||
/**
|
/**
|
||||||
* 确认购买弹窗
|
* 确认购买弹窗
|
||||||
*/
|
*/
|
||||||
onToggleTrade(e) {
|
onToggleTrade() {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
if (typeof e === 'object') {
|
|
||||||
// 记录formId
|
|
||||||
e.detail.hasOwnProperty('formId') && App.saveFormId(e.detail.formId);
|
|
||||||
}
|
|
||||||
_this.setData({
|
_this.setData({
|
||||||
showBottomPopup: !_this.data.showBottomPopup
|
showBottomPopup: !_this.data.showBottomPopup
|
||||||
});
|
});
|
||||||
@ -410,8 +394,6 @@ Page({
|
|||||||
* 显示砍价规则
|
* 显示砍价规则
|
||||||
*/
|
*/
|
||||||
onToggleRules(e) {
|
onToggleRules(e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 显示砍价规则
|
// 显示砍价规则
|
||||||
let _this = this;
|
let _this = this;
|
||||||
Dialog({
|
Dialog({
|
||||||
@ -432,8 +414,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onSubmit(e) {
|
onSubmit(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 判断是否已参与当前的砍价活动,如果已参与的话跳转到砍价任务
|
// 判断是否已参与当前的砍价活动,如果已参与的话跳转到砍价任务
|
||||||
if (_this.data.is_partake) {
|
if (_this.data.is_partake) {
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
@ -455,8 +435,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onSubmit2(e) {
|
onSubmit2(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 关闭选择器
|
// 关闭选择器
|
||||||
_this.onToggleTrade();
|
_this.onToggleTrade();
|
||||||
// 确认发起砍价
|
// 确认发起砍价
|
||||||
@ -502,8 +480,6 @@ Page({
|
|||||||
* 跳转到首页
|
* 跳转到首页
|
||||||
*/
|
*/
|
||||||
onTargetHome(e) {
|
onTargetHome(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.switchTab({
|
wx.switchTab({
|
||||||
url: '../../index/index',
|
url: '../../index/index',
|
||||||
})
|
})
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
"zan-actionsheet": "/components/actionsheet/index",
|
"zan-actionsheet": "/components/actionsheet/index",
|
||||||
"zan-dialog": "/components/dialog/index",
|
"zan-dialog": "/components/dialog/index",
|
||||||
"zan-popup": "/components/popup/index",
|
"zan-popup": "/components/popup/index",
|
||||||
"shortcut": "/components/shortcut/shortcut"
|
"shortcut": "/components/shortcut/shortcut",
|
||||||
|
"countdown": "/components/countdown/index"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -8,7 +8,8 @@
|
|||||||
|
|
||||||
<!-- 商品图片 -->
|
<!-- 商品图片 -->
|
||||||
<view class="goods-swiper">
|
<view class="goods-swiper">
|
||||||
<swiper autoplay="{{ autoplay }}" bindchange="setCurrent" class="banner-box swiper-box" duration="{{duration}}" indicator-dots="{{indicatorDots}}" interval="{{interval}}" circular="{{true}}">
|
<swiper autoplay="{{ autoplay }}" bindchange="setCurrent" class="banner-box swiper-box" duration="{{duration}}"
|
||||||
|
indicator-dots="{{indicatorDots}}" interval="{{interval}}" circular="{{true}}">
|
||||||
<swiper-item wx:for="{{ goods.image }}" wx:key="this" catchtap="onPreviewImages" data-index="{{ index }}">
|
<swiper-item wx:for="{{ goods.image }}" wx:key="this" catchtap="onPreviewImages" data-index="{{ index }}">
|
||||||
<image class="slide-image" mode="aspectFill" src="{{ item.file_path }}"></image>
|
<image class="slide-image" mode="aspectFill" src="{{ item.file_path }}"></image>
|
||||||
</swiper-item>
|
</swiper-item>
|
||||||
@ -47,7 +48,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="goods-share__line"></view>
|
<view class="goods-share__line"></view>
|
||||||
<view class="goods-share">
|
<view class="goods-share">
|
||||||
<form bindsubmit="onClickShare" report-submit="true">
|
<form bindsubmit="onClickShare">
|
||||||
<button formType="submit" class="share-btn dis-flex flex-dir-column">
|
<button formType="submit" class="share-btn dis-flex flex-dir-column">
|
||||||
<text class="share__icon iconfont icon-fenxiang"></text>
|
<text class="share__icon iconfont icon-fenxiang"></text>
|
||||||
<text class="f-24">分享</text>
|
<text class="f-24">分享</text>
|
||||||
@ -60,11 +61,11 @@
|
|||||||
<text>{{ goods.selling_point }}</text>
|
<text>{{ goods.selling_point }}</text>
|
||||||
</view>
|
</view>
|
||||||
<!-- 活动倒计时 -->
|
<!-- 活动倒计时 -->
|
||||||
<view wx:if="{{ !active.is_end }}" class="info-item info-item_status info-item_countdown">
|
<view wx:if="{{ !active.is_end }}" class="info-item info-item_status info-item_countdown dis-flex flex-y-center">
|
||||||
<text class="countdown-icon iconfont icon-naozhong"></text>
|
<text class="countdown-icon iconfont icon-naozhong"></text>
|
||||||
<block wx:for="{{ actEndTimeList }}" wx:key="this">
|
<text>距离活动结束</text>
|
||||||
<text>距离活动结束 还剩{{ item.dynamic.hou }}时{{ item.dynamic.min }}分{{ item.dynamic.sec }}秒</text>
|
<text class="m-r-10">还剩</text>
|
||||||
</block>
|
<countdown wx:if="{{ countDownTime }}" date="{{ countDownTime }}" />
|
||||||
</view>
|
</view>
|
||||||
<!-- 活动已结束 -->
|
<!-- 活动已结束 -->
|
||||||
<view wx:if="{{ active.is_end }}" class="info-item info-item_status info-item_end">
|
<view wx:if="{{ active.is_end }}" class="info-item info-item_status info-item_end">
|
||||||
@ -75,7 +76,7 @@
|
|||||||
|
|
||||||
<!-- 选择商品规格 -->
|
<!-- 选择商品规格 -->
|
||||||
<!-- <view class="goods-choice m-top20 b-f">
|
<!-- <view class="goods-choice m-top20 b-f">
|
||||||
<form wx:if="{{ goods.spec_type == 20 }}" bindsubmit="onToggleTrade" report-submit>
|
<form wx:if="{{ goods.spec_type == 20 }}" bindsubmit="onToggleTrade">
|
||||||
<button class="btn-normal" formType="submit">
|
<button class="btn-normal" formType="submit">
|
||||||
<view class="sku-selector dis-flex flex-y-center">
|
<view class="sku-selector dis-flex flex-y-center">
|
||||||
<view class="flex-box f-28">
|
<view class="flex-box f-28">
|
||||||
@ -92,7 +93,7 @@
|
|||||||
|
|
||||||
<!-- 砍价玩法 -->
|
<!-- 砍价玩法 -->
|
||||||
<view class="bargain-rules top-nav-bar m-top20 b-f">
|
<view class="bargain-rules top-nav-bar m-top20 b-f">
|
||||||
<form bindsubmit="onToggleRules" report-submit="true">
|
<form bindsubmit="onToggleRules">
|
||||||
<button formType="submit" class="btn-normal">
|
<button formType="submit" class="btn-normal">
|
||||||
|
|
||||||
<view class="item-title dis-flex">
|
<view class="item-title dis-flex">
|
||||||
@ -198,7 +199,7 @@
|
|||||||
<view class="footer-container dis-flex">
|
<view class="footer-container dis-flex">
|
||||||
<!-- 导航图标 -->
|
<!-- 导航图标 -->
|
||||||
<view class="foo-item-fast dis-flex flex-x-center flex-y-center">
|
<view class="foo-item-fast dis-flex flex-x-center flex-y-center">
|
||||||
<form bindsubmit="onTargetHome" report-submit>
|
<form bindsubmit="onTargetHome">
|
||||||
<button class="btn-normal" formType="submit">
|
<button class="btn-normal" formType="submit">
|
||||||
<view class="fast-item fast-item_home">
|
<view class="fast-item fast-item_home">
|
||||||
<view class="fast-icon">
|
<view class="fast-icon">
|
||||||
@ -223,7 +224,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
<view class="foo-item-trigger flex-box">
|
<view class="foo-item-trigger flex-box">
|
||||||
<form bindsubmit="onSubmit" report-submit>
|
<form bindsubmit="onSubmit">
|
||||||
<button wx:if="{{ active.is_start && !active.is_end }}" class="opt-btn btn-main btn-normal" formType="submit">
|
<button wx:if="{{ active.is_start && !active.is_end }}" class="opt-btn btn-main btn-normal" formType="submit">
|
||||||
<text>{{ is_partake ? '继续砍价' : '立即砍价' }}</text>
|
<text>{{ is_partake ? '继续砍价' : '立即砍价' }}</text>
|
||||||
</button>
|
</button>
|
||||||
@ -236,7 +237,9 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 分享按钮 -->
|
<!-- 分享按钮 -->
|
||||||
<zan-actionsheet show="{{ share.show }}" actions="{{ share.actions }}" cancel-text="{{ share.cancelText }}" cancel-with-mask="{{ share.cancelWithMask }}" bind:cancel="onCloseShare" bind:actionclick="onClickShareItem" mask-class="tiny" />
|
<zan-actionsheet show="{{ share.show }}" actions="{{ share.actions }}" cancel-text="{{ share.cancelText }}"
|
||||||
|
cancel-with-mask="{{ share.cancelWithMask }}" bind:cancel="onCloseShare" bind:actionclick="onClickShareItem"
|
||||||
|
mask-class="tiny" />
|
||||||
|
|
||||||
<!-- 商品海报 弹出层 -->
|
<!-- 商品海报 弹出层 -->
|
||||||
<zan-popup show="{{ share.showPopup }}" bindclose="onTogglePopup">
|
<zan-popup show="{{ share.showPopup }}" bindclose="onTogglePopup">
|
||||||
@ -245,7 +248,7 @@
|
|||||||
<view class="pop-close dis-flex flex-x-center flex-y-center" catchtap="onTogglePopup">
|
<view class="pop-close dis-flex flex-x-center flex-y-center" catchtap="onTogglePopup">
|
||||||
<text class="iconfont icon-shanchu f-30 col-9"></text>
|
<text class="iconfont icon-shanchu f-30 col-9"></text>
|
||||||
</view>
|
</view>
|
||||||
<form bindsubmit="onSavePoster" report-submit="true">
|
<form bindsubmit="onSavePoster">
|
||||||
<view class="poster__image">
|
<view class="poster__image">
|
||||||
<image mode="widthFix" src="{{ qrcode }}"></image>
|
<image mode="widthFix" src="{{ qrcode }}"></image>
|
||||||
</view>
|
</view>
|
||||||
@ -293,9 +296,12 @@
|
|||||||
<view class="goods-attr">
|
<view class="goods-attr">
|
||||||
<!-- 滚动容器 -->
|
<!-- 滚动容器 -->
|
||||||
<scroll-view class="goods-attr--scroll" scroll-y="{{ true }}">
|
<scroll-view class="goods-attr--scroll" scroll-y="{{ true }}">
|
||||||
<view class="group-item" wx:for="{{ goodsMultiSpec.spec_attr }}" wx:for-item="attr" wx:for-index="attr_idx" wx:key="this">
|
<view class="group-item" wx:for="{{ goodsMultiSpec.spec_attr }}" wx:for-item="attr" wx:for-index="attr_idx"
|
||||||
|
wx:key="this">
|
||||||
<view class="tips-text" data-id="{{ attr.group_id }}">{{ attr.group_name }}</view>
|
<view class="tips-text" data-id="{{ attr.group_id }}">{{ attr.group_name }}</view>
|
||||||
<view class="spec-item {{ item.checked ? 'cur' : '' }}" wx:for="{{ attr.spec_items }}" wx:for-index="item_idx" wx:key="this" data-attr-idx="{{ attr_idx }}" data-item-idx="{{ item_idx }}" catchtap="onSwitchSpec">
|
<view class="spec-item {{ item.checked ? 'cur' : '' }}" wx:for="{{ attr.spec_items }}"
|
||||||
|
wx:for-index="item_idx" wx:key="this" data-attr-idx="{{ attr_idx }}" data-item-idx="{{ item_idx }}"
|
||||||
|
catchtap="onSwitchSpec">
|
||||||
{{ item.spec_value }}
|
{{ item.spec_value }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -308,11 +314,11 @@
|
|||||||
<text>购买数量</text>
|
<text>购买数量</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="select-number">
|
<view class="select-number">
|
||||||
<form bindsubmit="onDecGoodsNumber" report-submit="true">
|
<form bindsubmit="onDecGoodsNumber">
|
||||||
<button formType="submit" class="default {{ goods_num > 1 ? '' : 'disabled' }}" type="default">-</button>
|
<button formType="submit" class="default {{ goods_num > 1 ? '' : 'disabled' }}" type="default">-</button>
|
||||||
</form>
|
</form>
|
||||||
<input bindinput="onInputGoodsNum" type="number" value="{{ goods_num }}"></input>
|
<input bindinput="onInputGoodsNum" type="number" value="{{ goods_num }}"></input>
|
||||||
<form bindsubmit="onIncGoodsNumber" report-submit="true">
|
<form bindsubmit="onIncGoodsNumber">
|
||||||
<button formType="submit" class="default" type="default">+</button>
|
<button formType="submit" class="default" type="default">+</button>
|
||||||
</form>
|
</form>
|
||||||
</view>
|
</view>
|
||||||
@ -322,7 +328,7 @@
|
|||||||
<!-- 底部操作栏 -->
|
<!-- 底部操作栏 -->
|
||||||
<view class="footer-fixed f-30">
|
<view class="footer-fixed f-30">
|
||||||
<view wx:if="{{ stock_num > 0 }}" class="flex-box">
|
<view wx:if="{{ stock_num > 0 }}" class="flex-box">
|
||||||
<form bindsubmit="onSubmit2" report-submit>
|
<form bindsubmit="onSubmit2">
|
||||||
<button class="opt-btn btn-main btn-normal" formType="submit">
|
<button class="opt-btn btn-main btn-normal" formType="submit">
|
||||||
<text>确定</text>
|
<text>确定</text>
|
||||||
</button>
|
</button>
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
const App = getApp();
|
import util from '../../../utils/util.js'
|
||||||
|
|
||||||
// 工具类
|
const App = getApp()
|
||||||
import util from '../../../utils/util.js';
|
|
||||||
|
|
||||||
// 倒计时插件
|
|
||||||
import CountDown from '../../../utils/countdown.js';
|
|
||||||
|
|
||||||
Page({
|
Page({
|
||||||
|
|
||||||
@ -137,21 +133,14 @@ Page({
|
|||||||
* 初始化倒计时组件
|
* 初始化倒计时组件
|
||||||
*/
|
*/
|
||||||
_initCountDownData(data) {
|
_initCountDownData(data) {
|
||||||
let _this = this;
|
// let _this = this;
|
||||||
// 记录活动到期时间
|
// // 记录活动到期时间
|
||||||
let countDownList = _this.data.countDownList;
|
// let countDownList = _this.data.countDownList;
|
||||||
data.myList.data.forEach((item) => {
|
// data.myList.data.forEach((item) => {
|
||||||
countDownList.push({
|
// countDownList.push({
|
||||||
date: item.end_time,
|
// date: item.end_time
|
||||||
});
|
// })
|
||||||
});
|
// })
|
||||||
_this.setData({
|
|
||||||
countDownList,
|
|
||||||
});
|
|
||||||
// 执行倒计时
|
|
||||||
if (countDownList.length > 0) {
|
|
||||||
CountDown.onSetTimeList(_this, 'countDownList');
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -169,8 +158,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onToggleTab(e) {
|
onToggleTab(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 保存formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 设置当前tabbar索引,并重置数据
|
// 设置当前tabbar索引,并重置数据
|
||||||
_this.setData({
|
_this.setData({
|
||||||
currentTab: e.currentTarget.dataset.index,
|
currentTab: e.currentTarget.dataset.index,
|
||||||
@ -188,8 +175,6 @@ Page({
|
|||||||
* 跳转到砍价商品详情
|
* 跳转到砍价商品详情
|
||||||
*/
|
*/
|
||||||
onTargetActive(e) {
|
onTargetActive(e) {
|
||||||
// 保存formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: `../goods/index?active_id=${e.detail.target.dataset.id}`,
|
url: `../goods/index?active_id=${e.detail.target.dataset.id}`,
|
||||||
})
|
})
|
||||||
@ -199,8 +184,6 @@ Page({
|
|||||||
* 跳转到砍价任务详情
|
* 跳转到砍价任务详情
|
||||||
*/
|
*/
|
||||||
onTargetTask(e) {
|
onTargetTask(e) {
|
||||||
// 保存formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: `../task/index?task_id=${e.detail.target.dataset.id}`,
|
url: `../task/index?task_id=${e.detail.target.dataset.id}`,
|
||||||
})
|
})
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"navigationBarTitleText": "砍价专区",
|
"navigationBarTitleText": "砍价专区",
|
||||||
"usingComponents": {
|
"usingComponents": {
|
||||||
"diy-banner": "/components/diy/banner/banner"
|
"diy-banner": "/components/diy/banner/banner",
|
||||||
|
"countdown": "/components/countdown/index"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,7 +1,8 @@
|
|||||||
<view class="container">
|
<view class="container">
|
||||||
|
|
||||||
<!-- 内容区域 -->
|
<!-- 内容区域 -->
|
||||||
<scroll-view class="container--scroll-view" bindscrolltolower="onScrollToLower" scroll-y="{{ true }}" bindscroll="onScrollEvent" style="height: {{ scrollHeight }}px;">
|
<scroll-view class="container--scroll-view" bindscrolltolower="onScrollToLower" scroll-y="{{ true }}"
|
||||||
|
bindscroll="onScrollEvent" style="height: {{ scrollHeight }}px;">
|
||||||
|
|
||||||
<!-- 砍价会场 -->
|
<!-- 砍价会场 -->
|
||||||
<block wx:if="{{ currentTab == 0 }}">
|
<block wx:if="{{ currentTab == 0 }}">
|
||||||
@ -104,26 +105,8 @@
|
|||||||
<view class="task-status dis-flex flex-y-center">
|
<view class="task-status dis-flex flex-y-center">
|
||||||
<!-- 倒计时 -->
|
<!-- 倒计时 -->
|
||||||
<view wx:if="{{ item.status }}" class="count-down dis-flex flex-y-center">
|
<view wx:if="{{ item.status }}" class="count-down dis-flex flex-y-center">
|
||||||
<view class="clock-text">
|
<text class="m-r-10">剩余</text>
|
||||||
<text>剩余</text>
|
<countdown date="{{ item.end_time }}" separator="colon" style="custom" />
|
||||||
</view>
|
|
||||||
<view class="clock dis-flex">
|
|
||||||
<view class="clock-time">
|
|
||||||
<text>{{ countDownList[index].dynamic.hou }}</text>
|
|
||||||
</view>
|
|
||||||
<view class="clock-symbol">
|
|
||||||
<text>:</text>
|
|
||||||
</view>
|
|
||||||
<view class="clock-time">
|
|
||||||
<text>{{ countDownList[index].dynamic.min }}</text>
|
|
||||||
</view>
|
|
||||||
<view class="clock-symbol">
|
|
||||||
<text>:</text>
|
|
||||||
</view>
|
|
||||||
<view class="clock-time">
|
|
||||||
<text>{{ countDownList[index].dynamic.sec }}</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{ !item.status }}" class="task-status__text">
|
<view wx:if="{{ !item.status }}" class="task-status__text">
|
||||||
<text class="col-m">{{ item.is_buy ? '砍价成功' : '已结束' }}</text>
|
<text class="col-m">{{ item.is_buy ? '砍价成功' : '已结束' }}</text>
|
||||||
|
@ -1,22 +1,15 @@
|
|||||||
const App = getApp();
|
|
||||||
|
|
||||||
// 工具类
|
|
||||||
import util from '../../../utils/util.js';
|
import util from '../../../utils/util.js';
|
||||||
|
|
||||||
// 倒计时插件
|
|
||||||
import CountDown from '../../../utils/countdown.js';
|
|
||||||
|
|
||||||
// 对话框插件
|
|
||||||
import Dialog from '../../../components/dialog/dialog';
|
import Dialog from '../../../components/dialog/dialog';
|
||||||
|
|
||||||
|
const App = getApp()
|
||||||
|
|
||||||
Page({
|
Page({
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 页面的初始数据
|
* 页面的初始数据
|
||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
// 砍价任务倒计时
|
countDownTime: false, // 倒计时日期
|
||||||
taskEndTime: [],
|
|
||||||
|
|
||||||
task: {}, // 砍价任务详情
|
task: {}, // 砍价任务详情
|
||||||
active: {}, // 活动详情
|
active: {}, // 活动详情
|
||||||
@ -71,18 +64,15 @@ Page({
|
|||||||
* 初始化页面数据
|
* 初始化页面数据
|
||||||
*/
|
*/
|
||||||
_initData(data) {
|
_initData(data) {
|
||||||
let _this = this;
|
const app = this;
|
||||||
// 初始化:显示操作按钮
|
// 初始化:显示操作按钮
|
||||||
_this._initShowBtn(data);
|
app._initShowBtn(data)
|
||||||
|
// 记录页面数据
|
||||||
|
app.setData(data)
|
||||||
// 记录活动到期时间
|
// 记录活动到期时间
|
||||||
data.taskEndTime = [{
|
app.setData({
|
||||||
date: data.task.end_time
|
countDownTime: data.active.end_time
|
||||||
}];
|
})
|
||||||
_this.setData(data);
|
|
||||||
// 执行倒计时
|
|
||||||
if (!data.task.is_end) {
|
|
||||||
CountDown.onSetTimeList(_this, 'taskEndTime');
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -110,8 +100,6 @@ Page({
|
|||||||
* 跳转到首页
|
* 跳转到首页
|
||||||
*/
|
*/
|
||||||
onTargetHome(e) {
|
onTargetHome(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.switchTab({
|
wx.switchTab({
|
||||||
url: '../../index/index',
|
url: '../../index/index',
|
||||||
})
|
})
|
||||||
@ -121,8 +109,6 @@ Page({
|
|||||||
* 显示砍价规则
|
* 显示砍价规则
|
||||||
*/
|
*/
|
||||||
onToggleRules(e) {
|
onToggleRules(e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 显示砍价规则
|
// 显示砍价规则
|
||||||
let _this = this;
|
let _this = this;
|
||||||
Dialog({
|
Dialog({
|
||||||
@ -143,8 +129,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onTargetGoods(e) {
|
onTargetGoods(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: `../goods/index?active_id=${_this.data.task.active_id}`,
|
url: `../goods/index?active_id=${_this.data.task.active_id}`,
|
||||||
})
|
})
|
||||||
@ -154,8 +138,6 @@ Page({
|
|||||||
* 跳转到砍价首页
|
* 跳转到砍价首页
|
||||||
*/
|
*/
|
||||||
onTargetBargain(e) {
|
onTargetBargain(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '../index/index',
|
url: '../index/index',
|
||||||
})
|
})
|
||||||
@ -166,8 +148,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onHelpCut(e) {
|
onHelpCut(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 按钮禁用时不允许操作(防重复提交)
|
// 按钮禁用时不允许操作(防重复提交)
|
||||||
if (_this.data.disabled == true) {
|
if (_this.data.disabled == true) {
|
||||||
return false;
|
return false;
|
||||||
@ -180,7 +160,7 @@ Page({
|
|||||||
App._post_form('bargain.task/help_cut', {
|
App._post_form('bargain.task/help_cut', {
|
||||||
task_id: _this.data.task_id
|
task_id: _this.data.task_id
|
||||||
}, result => {
|
}, result => {
|
||||||
App.showSuccess(result.msg, function() {
|
App.showSuccess(result.msg, function () {
|
||||||
wx.navigateBack();
|
wx.navigateBack();
|
||||||
});
|
});
|
||||||
// 获取砍价任务详情
|
// 获取砍价任务详情
|
||||||
@ -200,8 +180,6 @@ Page({
|
|||||||
|
|
||||||
let _this = this;
|
let _this = this;
|
||||||
|
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
|
|
||||||
// 跳转到结算台
|
// 跳转到结算台
|
||||||
let option = util.urlEncode({
|
let option = util.urlEncode({
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"navigationBarTitleText": "砍价任务",
|
"navigationBarTitleText": "砍价任务",
|
||||||
"usingComponents": {
|
"usingComponents": {
|
||||||
"zan-dialog": "/components/dialog/index"
|
"zan-dialog": "/components/dialog/index",
|
||||||
|
"countdown": "/components/countdown/index"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -135,8 +135,10 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- 到期时间 -->
|
<!-- 到期时间 -->
|
||||||
<view class="bargain-p" wx:if="{{ task.status }}">
|
<view class="bargain-p" wx:if="{{ task.status }}">
|
||||||
<view class="bargain-people" wx:for="{{ taskEndTime }}" wx:key="this">
|
<view class="bargain-people dis-flex flex-x-center flex-y-center">
|
||||||
<text>活动还剩 {{ item.dynamic.hou }} : {{ item.dynamic.min }} : {{ item.dynamic.sec }} 结束,快来砍价吧~</text>
|
<text>活动还剩</text>
|
||||||
|
<countdown wx:if="{{ countDownTime }}" date="{{ countDownTime }}" />
|
||||||
|
<text>结束,快来砍价吧~</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -57,8 +57,6 @@ Page({
|
|||||||
* 立即加入分销商
|
* 立即加入分销商
|
||||||
*/
|
*/
|
||||||
triggerApply(e) {
|
triggerApply(e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '../apply/apply',
|
url: '../apply/apply',
|
||||||
})
|
})
|
||||||
|
@ -480,8 +480,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onSelectPayType(e) {
|
onSelectPayType(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 设置当前支付方式
|
// 设置当前支付方式
|
||||||
_this.setData({
|
_this.setData({
|
||||||
curPayType: e.currentTarget.dataset.value
|
curPayType: e.currentTarget.dataset.value
|
||||||
@ -536,8 +534,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onShowPoints(e) {
|
onShowPoints(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 显示dialog
|
// 显示dialog
|
||||||
let setting = _this.data.setting;
|
let setting = _this.data.setting;
|
||||||
Dialog({
|
Dialog({
|
||||||
|
@ -210,7 +210,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onIncGoodsNumber(e) {
|
onIncGoodsNumber(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
_this.setData({
|
_this.setData({
|
||||||
goods_num: ++_this.data.goods_num
|
goods_num: ++_this.data.goods_num
|
||||||
})
|
})
|
||||||
@ -221,7 +220,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onDecGoodsNumber(e) {
|
onDecGoodsNumber(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
if (_this.data.goods_num > 1) {
|
if (_this.data.goods_num > 1) {
|
||||||
_this.setData({
|
_this.setData({
|
||||||
goods_num: --_this.data.goods_num
|
goods_num: --_this.data.goods_num
|
||||||
@ -353,8 +351,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onClickShare(e) {
|
onClickShare(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
_this.setData({
|
_this.setData({
|
||||||
'share.show': true
|
'share.show': true
|
||||||
});
|
});
|
||||||
@ -416,8 +412,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onSavePoster(e) {
|
onSavePoster(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.showLoading({
|
wx.showLoading({
|
||||||
title: '加载中',
|
title: '加载中',
|
||||||
});
|
});
|
||||||
@ -463,12 +457,8 @@ Page({
|
|||||||
/**
|
/**
|
||||||
* 确认购买弹窗
|
* 确认购买弹窗
|
||||||
*/
|
*/
|
||||||
onToggleTrade(e) {
|
onToggleTrade() {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
if (typeof e === 'object') {
|
|
||||||
// 记录formId
|
|
||||||
e.detail.hasOwnProperty('formId') && App.saveFormId(e.detail.formId);
|
|
||||||
}
|
|
||||||
_this.setData({
|
_this.setData({
|
||||||
showBottomPopup: !_this.data.showBottomPopup
|
showBottomPopup: !_this.data.showBottomPopup
|
||||||
});
|
});
|
||||||
|
@ -20,7 +20,7 @@ Page({
|
|||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 授权登录
|
* 授权登录(旧版弃用)
|
||||||
*/
|
*/
|
||||||
getUserInfo(e) {
|
getUserInfo(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
@ -30,6 +30,31 @@ Page({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 授权登录(新版)
|
||||||
|
*/
|
||||||
|
getUserProfile() {
|
||||||
|
console.log('getUserProfile')
|
||||||
|
const app = this
|
||||||
|
wx.canIUse('getUserProfile') && wx.getUserProfile({
|
||||||
|
lang: 'zh_CN',
|
||||||
|
desc: '获取用户相关信息',
|
||||||
|
success({
|
||||||
|
userInfo
|
||||||
|
}) {
|
||||||
|
console.log('用户同意了授权')
|
||||||
|
console.log('userInfo:', userInfo)
|
||||||
|
App.getUserInfo(userInfo, () => {
|
||||||
|
// 跳转回原页面
|
||||||
|
app.onNavigateBack(1)
|
||||||
|
});
|
||||||
|
},
|
||||||
|
fail() {
|
||||||
|
console.log('用户拒绝了授权')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 暂不登录
|
* 暂不登录
|
||||||
*/
|
*/
|
||||||
|
@ -7,7 +7,10 @@
|
|||||||
<view class="auth-title">申请获取以下权限</view>
|
<view class="auth-title">申请获取以下权限</view>
|
||||||
<view class="auth-subtitle">获得你的公开信息(昵称、头像等)</view>
|
<view class="auth-subtitle">获得你的公开信息(昵称、头像等)</view>
|
||||||
<view class="login-btn">
|
<view class="login-btn">
|
||||||
<button class="btn-normal" openType="getUserInfo" lang="zh_CN" bindgetuserinfo="getUserInfo">授权登录</button>
|
<!-- 旧版微信登录(弃用) -->
|
||||||
|
<!-- <button class="btn-normal" openType="getUserInfo" lang="zh_CN" bindgetuserinfo="getUserInfo">授权登录</button> -->
|
||||||
|
<!-- 新版微信登录 -->
|
||||||
|
<button class="btn-normal" catchtap="getUserProfile">授权登录</button>
|
||||||
</view>
|
</view>
|
||||||
<view class="no-login-btn">
|
<view class="no-login-btn">
|
||||||
<button class="btn-normal" catchtap="onNotLogin">暂不登录</button>
|
<button class="btn-normal" catchtap="onNotLogin">暂不登录</button>
|
||||||
|
@ -130,8 +130,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onSelectPayType(e) {
|
onSelectPayType(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 隐藏支付方式弹窗
|
// 隐藏支付方式弹窗
|
||||||
_this.onTogglePayPopup();
|
_this.onTogglePayPopup();
|
||||||
if (!_this.data.showPayPopup) {
|
if (!_this.data.showPayPopup) {
|
||||||
|
@ -150,8 +150,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onSelectPayType(e) {
|
onSelectPayType(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 隐藏支付方式弹窗
|
// 隐藏支付方式弹窗
|
||||||
_this.onTogglePayPopup();
|
_this.onTogglePayPopup();
|
||||||
if (!_this.data.showPayPopup) {
|
if (!_this.data.showPayPopup) {
|
||||||
@ -223,7 +221,6 @@ Page({
|
|||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: './comment/comment?order_id=' + order_id,
|
url: './comment/comment?order_id=' + order_id,
|
||||||
})
|
})
|
||||||
console.log(order_id);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -48,8 +48,6 @@ Page({
|
|||||||
* 切换标签
|
* 切换标签
|
||||||
*/
|
*/
|
||||||
onSwitchService: function(e) {
|
onSwitchService: function(e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
this.setData({
|
this.setData({
|
||||||
serviceType: e.detail.target.dataset.type
|
serviceType: e.detail.target.dataset.type
|
||||||
});
|
});
|
||||||
@ -59,8 +57,6 @@ Page({
|
|||||||
* 跳转商品详情
|
* 跳转商品详情
|
||||||
*/
|
*/
|
||||||
onGoodsDetail: function(e) {
|
onGoodsDetail: function(e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '../../../goods/index?goods_id=' + e.detail.target.dataset.id
|
url: '../../../goods/index?goods_id=' + e.detail.target.dataset.id
|
||||||
});
|
});
|
||||||
@ -73,8 +69,6 @@ Page({
|
|||||||
let _this = this,
|
let _this = this,
|
||||||
index = e.currentTarget.dataset.index,
|
index = e.currentTarget.dataset.index,
|
||||||
imageList = _this.data.imageList;
|
imageList = _this.data.imageList;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 选择图片
|
// 选择图片
|
||||||
wx.chooseImage({
|
wx.chooseImage({
|
||||||
count: 6 - imageList.length,
|
count: 6 - imageList.length,
|
||||||
|
@ -45,8 +45,6 @@ Page({
|
|||||||
* 跳转商品详情
|
* 跳转商品详情
|
||||||
*/
|
*/
|
||||||
onGoodsDetail: function (e) {
|
onGoodsDetail: function (e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '../../../goods/index?goods_id=' + e.detail.target.dataset.id
|
url: '../../../goods/index?goods_id=' + e.detail.target.dataset.id
|
||||||
});
|
});
|
||||||
@ -82,8 +80,6 @@ Page({
|
|||||||
let _this = this,
|
let _this = this,
|
||||||
values = e.detail.value;
|
values = e.detail.value;
|
||||||
|
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
|
|
||||||
// 判断是否重复提交
|
// 判断是否重复提交
|
||||||
if (_this.disable === true) {
|
if (_this.disable === true) {
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
const App = getApp();
|
|
||||||
const Sharing = require('../../../utils/extend/sharing.js');
|
const Sharing = require('../../../utils/extend/sharing.js');
|
||||||
const Dialog = require('../../../components/dialog/dialog');
|
const Dialog = require('../../../components/dialog/dialog');
|
||||||
|
|
||||||
// 工具类
|
|
||||||
const util = require('../../../utils/util.js');
|
const util = require('../../../utils/util.js');
|
||||||
|
|
||||||
|
const App = getApp()
|
||||||
|
|
||||||
// 记录规格的数组
|
// 记录规格的数组
|
||||||
let goodsSpecArr = [];
|
let goodsSpecArr = [];
|
||||||
|
|
||||||
@ -24,8 +23,6 @@ Page({
|
|||||||
goods_sku_id: 0, // 规格id
|
goods_sku_id: 0, // 规格id
|
||||||
goodsMultiSpec: {}, // 多规格信息
|
goodsMultiSpec: {}, // 多规格信息
|
||||||
|
|
||||||
countDownList: [],
|
|
||||||
actEndTimeList: []
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -95,8 +92,6 @@ Page({
|
|||||||
console.log(data['is_join']);
|
console.log(data['is_join']);
|
||||||
// 当前用户是否为创建者
|
// 当前用户是否为创建者
|
||||||
data['is_creator'] = !!(data.detail.creator_id == App.getUserId())
|
data['is_creator'] = !!(data.detail.creator_id == App.getUserId())
|
||||||
// 拼团结束时间
|
|
||||||
data['actEndTimeList'] = [data.detail.end_time.text];
|
|
||||||
|
|
||||||
// 商品价格/划线价/库存
|
// 商品价格/划线价/库存
|
||||||
data.goods_sku_id = goodsDetail.goods_sku.spec_sku_id;
|
data.goods_sku_id = goodsDetail.goods_sku.spec_sku_id;
|
||||||
@ -116,8 +111,6 @@ Page({
|
|||||||
}
|
}
|
||||||
// 赋值页面数据
|
// 赋值页面数据
|
||||||
_this.setData(data);
|
_this.setData(data);
|
||||||
// 执行倒计时函数
|
|
||||||
_this.onCountDown();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -145,8 +138,6 @@ Page({
|
|||||||
itemIdx = e.currentTarget.dataset.itemIdx,
|
itemIdx = e.currentTarget.dataset.itemIdx,
|
||||||
goodsMultiSpec = _this.data.goodsMultiSpec;
|
goodsMultiSpec = _this.data.goodsMultiSpec;
|
||||||
|
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
|
|
||||||
for (let i in goodsMultiSpec.spec_attr) {
|
for (let i in goodsMultiSpec.spec_attr) {
|
||||||
for (let j in goodsMultiSpec.spec_attr[i].spec_items) {
|
for (let j in goodsMultiSpec.spec_attr[i].spec_items) {
|
||||||
@ -225,51 +216,6 @@ Page({
|
|||||||
return param < 10 ? '0' + param : param;
|
return param < 10 ? '0' + param : param;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
|
||||||
* 倒计时函数
|
|
||||||
*/
|
|
||||||
onCountDown() {
|
|
||||||
// 获取当前时间,同时得到活动结束时间数组
|
|
||||||
let newTime = new Date().getTime();
|
|
||||||
let endTimeList = this.data.actEndTimeList;
|
|
||||||
let countDownArr = [];
|
|
||||||
|
|
||||||
// 对结束时间进行处理渲染到页面
|
|
||||||
endTimeList.forEach(o => {
|
|
||||||
let endTime = new Date(util.format_date(o)).getTime();
|
|
||||||
let obj = null;
|
|
||||||
|
|
||||||
// 如果活动未结束,对时间进行处理
|
|
||||||
if (endTime - newTime > 0) {
|
|
||||||
let time = (endTime - newTime) / 1000;
|
|
||||||
// 获取天、时、分、秒
|
|
||||||
let day = parseInt(time / (60 * 60 * 24));
|
|
||||||
let hou = parseInt(time % (60 * 60 * 24) / 3600);
|
|
||||||
let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
|
|
||||||
let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
|
|
||||||
obj = {
|
|
||||||
day: day,
|
|
||||||
hou: this.timeFormat(hou),
|
|
||||||
min: this.timeFormat(min),
|
|
||||||
sec: this.timeFormat(sec)
|
|
||||||
}
|
|
||||||
} else { //活动已结束,全部设置为'00'
|
|
||||||
obj = {
|
|
||||||
day: '00',
|
|
||||||
hou: '00',
|
|
||||||
min: '00',
|
|
||||||
sec: '00'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
countDownArr.push(obj);
|
|
||||||
})
|
|
||||||
// 渲染,然后每隔一秒执行一次倒计时函数
|
|
||||||
this.setData({
|
|
||||||
countDownList: countDownArr
|
|
||||||
})
|
|
||||||
setTimeout(this.onCountDown, 1000);
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查看拼团规则
|
* 查看拼团规则
|
||||||
*/
|
*/
|
||||||
@ -311,7 +257,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onIncGoodsNumber(e) {
|
onIncGoodsNumber(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
_this.setData({
|
_this.setData({
|
||||||
goods_num: ++_this.data.goods_num
|
goods_num: ++_this.data.goods_num
|
||||||
})
|
})
|
||||||
@ -322,7 +267,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onDecGoodsNumber(e) {
|
onDecGoodsNumber(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
if (_this.data.goods_num > 1) {
|
if (_this.data.goods_num > 1) {
|
||||||
_this.setData({
|
_this.setData({
|
||||||
goods_num: --_this.data.goods_num
|
goods_num: --_this.data.goods_num
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
"usingComponents": {
|
"usingComponents": {
|
||||||
"zan-dialog": "/components/dialog/index",
|
"zan-dialog": "/components/dialog/index",
|
||||||
"zan-popup": "/components/popup/index",
|
"zan-popup": "/components/popup/index",
|
||||||
"shortcut": "/components/shortcut/shortcut"
|
"shortcut": "/components/shortcut/shortcut",
|
||||||
|
"countdown": "/components/countdown/index"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -44,22 +44,19 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 虚位以待 -->
|
<!-- 虚位以待 -->
|
||||||
<view wx:for="{{ detail.surplus_people }}" wx:key="this" class="user-item user-item__wait dis-flex flex-x-center flex-y-center">
|
<view wx:for="{{ detail.surplus_people }}" wx:key="this"
|
||||||
|
class="user-item user-item__wait dis-flex flex-x-center flex-y-center">
|
||||||
<text class="iconfont icon-wenhao"></text>
|
<text class="iconfont icon-wenhao"></text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 拼单状态:拼团中 -->
|
<!-- 拼单状态:拼团中 -->
|
||||||
<view wx:if="{{ detail.status.value == 10 }}" class="main_status main_tiem">
|
<view wx:if="{{ detail.status.value == 10 }}" class="main_tiem">
|
||||||
<text>还差 </text>
|
<text>还差 </text>
|
||||||
<text class="main_timer_color">{{ detail.surplus_people }}</text>
|
<text class="main_timer_color">{{ detail.surplus_people }}</text>
|
||||||
<text> 个名额,</text>
|
<text> 个名额,</text>
|
||||||
<view class="tui-countdown-content" wx:for="{{countDownList}}" wx:key="countDownList">
|
<!-- 倒计时 -->
|
||||||
<!-- <text class="tui-conutdown-box">{{item.day}}</text>: -->
|
<countdown date="{{ detail.end_time.text }}" separator="colon" style="text" />
|
||||||
<text class="tui-conutdown-box">{{item.hou}}</text> :
|
|
||||||
<text class="tui-conutdown-box">{{item.min}}</text> :
|
|
||||||
<text class="tui-conutdown-box tui-countdown-bg">{{item.sec}}</text>
|
|
||||||
</view>
|
|
||||||
<text> 后结束</text>
|
<text> 后结束</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@ -84,7 +81,8 @@
|
|||||||
<text class="f-30">更多拼团</text>
|
<text class="f-30">更多拼团</text>
|
||||||
<text class="icon-arrow"></text>
|
<text class="icon-arrow"></text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:for="{{ goodsList.data }}" wx:key="key" class="content_main dis-flex" catchtap="onTargetGoods" data-id="{{ item.goods_id }}">
|
<view wx:for="{{ goodsList.data }}" wx:key="key" class="content_main dis-flex" catchtap="onTargetGoods"
|
||||||
|
data-id="{{ item.goods_id }}">
|
||||||
<view class="goods-image">
|
<view class="goods-image">
|
||||||
<image src="{{ item.goods_image }}"></image>
|
<image src="{{ item.goods_image }}"></image>
|
||||||
</view>
|
</view>
|
||||||
@ -139,18 +137,21 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- 规格列表 -->
|
<!-- 规格列表 -->
|
||||||
<view class="goods-list-box" scroll-y="true">
|
<view class="goods-list-box" scroll-y="true">
|
||||||
<view class="cf tmall-types" wx:for="{{ goodsMultiSpec.spec_attr }}" wx:for-item="attr" wx:for-index="attr_idx" wx:key="key">
|
<view class="cf tmall-types" wx:for="{{ goodsMultiSpec.spec_attr }}" wx:for-item="attr" wx:for-index="attr_idx"
|
||||||
|
wx:key="key">
|
||||||
<view class="tipstxt" data-id="{{attr.group_id}}">{{attr.group_name}}</view>
|
<view class="tipstxt" data-id="{{attr.group_id}}">{{attr.group_name}}</view>
|
||||||
<view class="cf cartypelist" wx:for="{{attr.spec_items}}" wx:for-index="item_idx" wx:key="ikey">
|
<view class="cf cartypelist" wx:for="{{attr.spec_items}}" wx:for-index="item_idx" wx:key="ikey">
|
||||||
<view wx:if="{{item.checked}}">
|
<view wx:if="{{item.checked}}">
|
||||||
<form bindsubmit="onSwitchSpec" report-submit="true" data-attr-idx="{{attr_idx}}" data-item-idx="{{item_idx}}">
|
<form bindsubmit="onSwitchSpec" report-submit="true" data-attr-idx="{{attr_idx}}"
|
||||||
|
data-item-idx="{{item_idx}}">
|
||||||
<button formType="submit" class="btn-normal">
|
<button formType="submit" class="btn-normal">
|
||||||
<view class="cartypeitem cur">{{item.spec_value}}</view>
|
<view class="cartypeitem cur">{{item.spec_value}}</view>
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
</view>
|
</view>
|
||||||
<view wx:else>
|
<view wx:else>
|
||||||
<form bindsubmit="onSwitchSpec" report-submit="true" data-attr-idx="{{attr_idx}}" data-item-idx="{{item_idx}}">
|
<form bindsubmit="onSwitchSpec" report-submit="true" data-attr-idx="{{attr_idx}}"
|
||||||
|
data-item-idx="{{item_idx}}">
|
||||||
<button formType="submit" class="btn-normal">
|
<button formType="submit" class="btn-normal">
|
||||||
<view class="cartypeitem">{{item.spec_value}}</view>
|
<view class="cartypeitem">{{item.spec_value}}</view>
|
||||||
</button>
|
</button>
|
||||||
|
@ -183,20 +183,18 @@ view {
|
|||||||
|
|
||||||
/* 倒计时 */
|
/* 倒计时 */
|
||||||
|
|
||||||
|
.main_tiem {
|
||||||
|
margin-bottom: 40rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
text-align: center;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
.main_tiem .main_timer_color {
|
.main_tiem .main_timer_color {
|
||||||
color: #fc8434;
|
color: #fc8434;
|
||||||
}
|
}
|
||||||
|
|
||||||
.main_tiem view {
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main_tiem view text {
|
|
||||||
display: inline-block;
|
|
||||||
padding: 10rpx 5rpx;
|
|
||||||
background: #e5e5e5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main button {
|
.main button {
|
||||||
display: block;
|
display: block;
|
||||||
margin-top: 40rpx;
|
margin-top: 40rpx;
|
||||||
@ -507,4 +505,4 @@ view {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
color: #444;
|
color: #444;
|
||||||
}
|
}
|
@ -393,8 +393,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onSelectPayType(e) {
|
onSelectPayType(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 设置当前支付方式
|
// 设置当前支付方式
|
||||||
_this.setData({
|
_this.setData({
|
||||||
curPayType: e.currentTarget.dataset.value
|
curPayType: e.currentTarget.dataset.value
|
||||||
@ -449,8 +447,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onShowPoints(e) {
|
onShowPoints(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 显示dialog
|
// 显示dialog
|
||||||
let setting = _this.data.setting;
|
let setting = _this.data.setting;
|
||||||
Dialog({
|
Dialog({
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
const App = getApp();
|
|
||||||
const Sharing = require('../../../utils/extend/sharing.js');
|
const Sharing = require('../../../utils/extend/sharing.js');
|
||||||
const wxParse = require("../../../wxParse/wxParse.js");
|
const wxParse = require("../../../wxParse/wxParse.js");
|
||||||
const Dialog = require('../../../components/dialog/dialog');
|
const Dialog = require('../../../components/dialog/dialog');
|
||||||
|
|
||||||
// 工具类
|
|
||||||
const util = require('../../../utils/util.js');
|
const util = require('../../../utils/util.js');
|
||||||
|
|
||||||
|
const App = getApp()
|
||||||
|
|
||||||
// 记录规格的数组
|
// 记录规格的数组
|
||||||
let goodsSpecArr = [];
|
let goodsSpecArr = [];
|
||||||
|
|
||||||
@ -37,9 +36,6 @@ Page({
|
|||||||
cart_total_num: 0, // 购物车商品总数量
|
cart_total_num: 0, // 购物车商品总数量
|
||||||
goodsMultiSpec: {}, // 多规格信息
|
goodsMultiSpec: {}, // 多规格信息
|
||||||
|
|
||||||
countDownList: [], // 时间记录
|
|
||||||
actEndTimeList: [],
|
|
||||||
|
|
||||||
// 分享按钮组件
|
// 分享按钮组件
|
||||||
share: {
|
share: {
|
||||||
show: false,
|
show: false,
|
||||||
@ -96,8 +92,6 @@ Page({
|
|||||||
// 初始化商品详情数据
|
// 初始化商品详情数据
|
||||||
let data = _this._initGoodsDetailData(result.data);
|
let data = _this._initGoodsDetailData(result.data);
|
||||||
_this.setData(data);
|
_this.setData(data);
|
||||||
// 执行倒计时函数
|
|
||||||
_this.countDown();
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -128,13 +122,6 @@ Page({
|
|||||||
if (goodsDetail.spec_type == 20) {
|
if (goodsDetail.spec_type == 20) {
|
||||||
data.goodsMultiSpec = _this.initManySpecData(goodsDetail.goods_multi_spec);
|
data.goodsMultiSpec = _this.initManySpecData(goodsDetail.goods_multi_spec);
|
||||||
}
|
}
|
||||||
// 记录倒计时时间
|
|
||||||
data['actEndTimeList'] = [];
|
|
||||||
if (data.activeList.length > 0) {
|
|
||||||
data.activeList.forEach(item => {
|
|
||||||
data['actEndTimeList'].push(item.end_time.text);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return data;
|
return data;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -163,8 +150,6 @@ Page({
|
|||||||
itemIdx = e.currentTarget.dataset.itemIdx,
|
itemIdx = e.currentTarget.dataset.itemIdx,
|
||||||
goodsMultiSpec = _this.data.goodsMultiSpec;
|
goodsMultiSpec = _this.data.goodsMultiSpec;
|
||||||
|
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
|
|
||||||
for (let i in goodsMultiSpec.spec_attr) {
|
for (let i in goodsMultiSpec.spec_attr) {
|
||||||
for (let j in goodsMultiSpec.spec_attr[i].spec_items) {
|
for (let j in goodsMultiSpec.spec_attr[i].spec_items) {
|
||||||
@ -226,7 +211,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onScrollTop(e) {
|
onScrollTop(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
_this.setData({
|
_this.setData({
|
||||||
scrollTop: 0
|
scrollTop: 0
|
||||||
});
|
});
|
||||||
@ -247,7 +231,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onIncGoodsNumber(e) {
|
onIncGoodsNumber(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
_this.setData({
|
_this.setData({
|
||||||
goods_num: ++_this.data.goods_num
|
goods_num: ++_this.data.goods_num
|
||||||
})
|
})
|
||||||
@ -258,7 +241,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onDecGoodsNumber(e) {
|
onDecGoodsNumber(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
if (_this.data.goods_num > 1) {
|
if (_this.data.goods_num > 1) {
|
||||||
_this.setData({
|
_this.setData({
|
||||||
goods_num: --_this.data.goods_num
|
goods_num: --_this.data.goods_num
|
||||||
@ -355,7 +337,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onTargetToComment(e) {
|
onTargetToComment(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: './comment/comment?goods_id=' + _this.data.goods_id
|
url: './comment/comment?goods_id=' + _this.data.goods_id
|
||||||
})
|
})
|
||||||
@ -366,8 +347,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onClickShare(e) {
|
onClickShare(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
_this.setData({
|
_this.setData({
|
||||||
'share.show': true
|
'share.show': true
|
||||||
});
|
});
|
||||||
@ -429,8 +408,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onSavePoster(e) {
|
onSavePoster(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.showLoading({
|
wx.showLoading({
|
||||||
title: '加载中',
|
title: '加载中',
|
||||||
});
|
});
|
||||||
@ -476,12 +453,8 @@ Page({
|
|||||||
/**
|
/**
|
||||||
* 确认购买弹窗
|
* 确认购买弹窗
|
||||||
*/
|
*/
|
||||||
onToggleTrade(e) {
|
onToggleTrade() {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
if (typeof e === 'object') {
|
|
||||||
// 记录formId
|
|
||||||
e.detail.hasOwnProperty('formId') && App.saveFormId(e.detail.formId);
|
|
||||||
}
|
|
||||||
_this.setData({
|
_this.setData({
|
||||||
showBottomPopup: !_this.data.showBottomPopup
|
showBottomPopup: !_this.data.showBottomPopup
|
||||||
});
|
});
|
||||||
@ -491,8 +464,6 @@ Page({
|
|||||||
* 显示拼团规则
|
* 显示拼团规则
|
||||||
*/
|
*/
|
||||||
onToggleRules(e) {
|
onToggleRules(e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 显示拼团规则
|
// 显示拼团规则
|
||||||
let _this = this;
|
let _this = this;
|
||||||
Dialog({
|
Dialog({
|
||||||
@ -511,7 +482,6 @@ Page({
|
|||||||
* 返回主页
|
* 返回主页
|
||||||
*/
|
*/
|
||||||
onNavigationHome(e) {
|
onNavigationHome(e) {
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.switchTab({
|
wx.switchTab({
|
||||||
url: '../../index/index',
|
url: '../../index/index',
|
||||||
})
|
})
|
||||||
@ -521,7 +491,6 @@ Page({
|
|||||||
* 立即下单
|
* 立即下单
|
||||||
*/
|
*/
|
||||||
onTriggerOrder(e) {
|
onTriggerOrder(e) {
|
||||||
console.log(App.saveFormId(e.detail.formId))
|
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 设置当前购买类型
|
// 设置当前购买类型
|
||||||
_this.setData({
|
_this.setData({
|
||||||
@ -530,57 +499,6 @@ Page({
|
|||||||
_this.onToggleTrade();
|
_this.onToggleTrade();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
/**
|
|
||||||
* 小于10的格式化函数
|
|
||||||
*/
|
|
||||||
timeFormat(param) {
|
|
||||||
return param < 10 ? '0' + param : param;
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 倒计时函数
|
|
||||||
*/
|
|
||||||
countDown() {
|
|
||||||
// 获取当前时间,同时得到活动结束时间数组
|
|
||||||
let newTime = new Date().getTime();
|
|
||||||
let endTimeList = this.data.actEndTimeList;
|
|
||||||
let countDownArr = [];
|
|
||||||
|
|
||||||
// 对结束时间进行处理渲染到页面
|
|
||||||
endTimeList.forEach(o => {
|
|
||||||
let endTime = new Date(util.format_date(o)).getTime();
|
|
||||||
let obj = null;
|
|
||||||
// 如果活动未结束,对时间进行处理
|
|
||||||
if (endTime - newTime > 0) {
|
|
||||||
let time = (endTime - newTime) / 1000;
|
|
||||||
// 获取天、时、分、秒
|
|
||||||
let day = parseInt(time / (60 * 60 * 24));
|
|
||||||
let hou = parseInt(time % (60 * 60 * 24) / 3600);
|
|
||||||
let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
|
|
||||||
let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
|
|
||||||
obj = {
|
|
||||||
day: day,
|
|
||||||
hou: this.timeFormat(hou),
|
|
||||||
min: this.timeFormat(min),
|
|
||||||
sec: this.timeFormat(sec)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
//活动已结束,全部设置为'00'
|
|
||||||
obj = {
|
|
||||||
day: '00',
|
|
||||||
hou: '00',
|
|
||||||
min: '00',
|
|
||||||
sec: '00'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
countDownArr.push(obj);
|
|
||||||
})
|
|
||||||
// 渲染,然后每隔一秒执行一次倒计时函数
|
|
||||||
this.setData({
|
|
||||||
countDownList: countDownArr
|
|
||||||
});
|
|
||||||
setTimeout(this.countDown, 1000);
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 跳转到拼单页面
|
* 跳转到拼单页面
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
"zan-actionsheet": "/components/actionsheet/index",
|
"zan-actionsheet": "/components/actionsheet/index",
|
||||||
"zan-popup": "/components/popup/index",
|
"zan-popup": "/components/popup/index",
|
||||||
"zan-dialog": "/components/dialog/index",
|
"zan-dialog": "/components/dialog/index",
|
||||||
"shortcut": "/components/shortcut/shortcut"
|
"shortcut": "/components/shortcut/shortcut",
|
||||||
|
"countdown": "/components/countdown/index"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,8 +1,10 @@
|
|||||||
<import src="../../../wxParse/wxParse.wxml"></import>
|
<import src="../../../wxParse/wxParse.wxml"></import>
|
||||||
<scroll-view bindscroll="scroll" scroll-top="{{scrollTop}}" scroll-y="true" style="position:absolute; top:0; left:0; right:0; bottom:0;">
|
<scroll-view bindscroll="scroll" scroll-top="{{scrollTop}}" scroll-y="true"
|
||||||
|
style="position:absolute; top:0; left:0; right:0; bottom:0;">
|
||||||
<view class="container" wx:if="{{detail.goods_id}}">
|
<view class="container" wx:if="{{detail.goods_id}}">
|
||||||
<view class="swiper">
|
<view class="swiper">
|
||||||
<swiper autoplay="{{autoplay}}" bindchange="setCurrent" class="banner-box swiper-box" duration="{{duration}}" indicator-dots="{{indicatorDots}}" interval="{{interval}}" circular="{{true}}">
|
<swiper autoplay="{{autoplay}}" bindchange="setCurrent" class="banner-box swiper-box" duration="{{duration}}"
|
||||||
|
indicator-dots="{{indicatorDots}}" interval="{{interval}}" circular="{{true}}">
|
||||||
<swiper-item wx:for="{{detail.image}}" wx:key="this" catchtap="onPreviewImages" data-index="{{ index }}">
|
<swiper-item wx:for="{{detail.image}}" wx:key="this" catchtap="onPreviewImages" data-index="{{ index }}">
|
||||||
<image class="slide-image" mode="aspectFill" src="{{item.file_path}}"></image>
|
<image class="slide-image" mode="aspectFill" src="{{item.file_path}}"></image>
|
||||||
</swiper-item>
|
</swiper-item>
|
||||||
@ -121,21 +123,31 @@
|
|||||||
<!-- <text class="col-9">更多团购 <text class="iconfont icon-xiangyoujiantou"></text> </text> -->
|
<!-- <text class="col-9">更多团购 <text class="iconfont icon-xiangyoujiantou"></text> </text> -->
|
||||||
</view>
|
</view>
|
||||||
<!-- 进行中的团购-内容部分 -->
|
<!-- 进行中的团购-内容部分 -->
|
||||||
<view class="corwd" wx:for="{{ activeList }}" wx:key="this" catchtap="onTargetActive" data-id="{{ item.active_id }}">
|
<view class="corwd" wx:for="{{ activeList }}" wx:key="this" catchtap="onTargetActive"
|
||||||
|
data-id="{{ item.active_id }}">
|
||||||
<view class="corwd_people">
|
<view class="corwd_people">
|
||||||
<!-- 进行中的团购-头像 -->
|
<!-- 进行中的团购-头像 -->
|
||||||
<view class="">
|
<view class="">
|
||||||
<image src="{{ item.user.avatarUrl }}" class="corwd_people_images"></image>
|
<image src="{{ item.user.avatarUrl }}" class="corwd_people_images"></image>
|
||||||
</view>
|
</view>
|
||||||
<!-- 进行中的团购-名称 -->
|
<!-- 进行中的团购-名称 -->
|
||||||
<text class="onelist-hidden">{{ item.user.nickName }}的团</text>
|
<text class="onelist-hidden">{{ item.user.nickName }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="corwd_time">
|
<view class="corwd_time">
|
||||||
<view class="corwd_time_text">
|
<view class="corwd_time_text">
|
||||||
<!-- 进行中的团购-开团人数 -->
|
<!-- 进行中的团购-开团人数 -->
|
||||||
<text class="corwd_time_title onelist-hidden">还差<text>{{ item.people - item.actual_people }}</text>人成团</text>
|
<view class="corwd_time_title onelist-hidden">
|
||||||
|
<text>还差</text>
|
||||||
|
<text>{{ item.people - item.actual_people }}</text>
|
||||||
|
<text>人成团</text>
|
||||||
|
</view>
|
||||||
<!-- 进行中的团购-倒计时 -->
|
<!-- 进行中的团购-倒计时 -->
|
||||||
<text class="corwd_time_number col-9 onelist-hidden">剩余{{ countDownList[index].day }}天{{ countDownList[index].hou }}:{{ countDownList[index].min }}:{{ countDownList[index].sec }}</text>
|
<view class="corwd_time_number col-9 onelist-hidden">
|
||||||
|
<text class="prefix">剩余</text>
|
||||||
|
<countdown date="{{ item.end_time.text }}" separator="colon" style="text" />
|
||||||
|
</view>
|
||||||
|
<!-- <text
|
||||||
|
class="corwd_time_number col-9 onelist-hidden">剩余{{ countDownList[index].day }}天{{ countDownList[index].hou }}:{{ countDownList[index].min }}:{{ countDownList[index].sec }}</text> -->
|
||||||
</view>
|
</view>
|
||||||
<!-- 进行中的团购-按钮 -->
|
<!-- 进行中的团购-按钮 -->
|
||||||
<button>去参团</button>
|
<button>去参团</button>
|
||||||
@ -216,7 +228,9 @@
|
|||||||
</form>
|
</form>
|
||||||
<!-- 在线客服 -->
|
<!-- 在线客服 -->
|
||||||
<view class="goods-fixed-icon dis-flex flex-x-center flex-y-center">
|
<view class="goods-fixed-icon dis-flex flex-x-center flex-y-center">
|
||||||
<button open-type="contact" sessionFrom="weapp" size="27" style="opacity: 0;position:absolute;top:0px;left:0px;display:block;width:100%;height:100%;" type="default-light"></button>
|
<button open-type="contact" sessionFrom="weapp" size="27"
|
||||||
|
style="opacity: 0;position:absolute;top:0px;left:0px;display:block;width:100%;height:100%;"
|
||||||
|
type="default-light"></button>
|
||||||
<text class="iconfont icon-kefu"></text>
|
<text class="iconfont icon-kefu"></text>
|
||||||
</view>
|
</view>
|
||||||
<!-- 购买按钮 -->
|
<!-- 购买按钮 -->
|
||||||
@ -281,9 +295,12 @@
|
|||||||
<view class="goods-attr">
|
<view class="goods-attr">
|
||||||
<!-- 滚动容器 -->
|
<!-- 滚动容器 -->
|
||||||
<scroll-view class="goods-attr--scroll" scroll-y="{{ true }}">
|
<scroll-view class="goods-attr--scroll" scroll-y="{{ true }}">
|
||||||
<view class="group-item" wx:for="{{ goodsMultiSpec.spec_attr }}" wx:for-item="attr" wx:for-index="attr_idx" wx:key="this">
|
<view class="group-item" wx:for="{{ goodsMultiSpec.spec_attr }}" wx:for-item="attr" wx:for-index="attr_idx"
|
||||||
|
wx:key="this">
|
||||||
<view class="tips-text" data-id="{{ attr.group_id }}">{{ attr.group_name }}</view>
|
<view class="tips-text" data-id="{{ attr.group_id }}">{{ attr.group_name }}</view>
|
||||||
<view class="spec-item {{ item.checked ? 'cur' : '' }}" wx:for="{{ attr.spec_items }}" wx:for-index="item_idx" wx:key="this" data-attr-idx="{{ attr_idx }}" data-item-idx="{{ item_idx }}" catchtap="onSwitchSpec">
|
<view class="spec-item {{ item.checked ? 'cur' : '' }}" wx:for="{{ attr.spec_items }}"
|
||||||
|
wx:for-index="item_idx" wx:key="this" data-attr-idx="{{ attr_idx }}" data-item-idx="{{ item_idx }}"
|
||||||
|
catchtap="onSwitchSpec">
|
||||||
{{ item.spec_value }}
|
{{ item.spec_value }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -327,7 +344,9 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 分享按钮 -->
|
<!-- 分享按钮 -->
|
||||||
<zan-actionsheet show="{{ share.show }}" actions="{{ share.actions }}" cancel-text="{{ share.cancelText }}" cancel-with-mask="{{ share.cancelWithMask }}" bind:cancel="onCloseShare" bind:actionclick="onClickShareItem" mask-class="tiny" />
|
<zan-actionsheet show="{{ share.show }}" actions="{{ share.actions }}" cancel-text="{{ share.cancelText }}"
|
||||||
|
cancel-with-mask="{{ share.cancelWithMask }}" bind:cancel="onCloseShare" bind:actionclick="onClickShareItem"
|
||||||
|
mask-class="tiny" />
|
||||||
|
|
||||||
<!-- 商品海报 弹出层 -->
|
<!-- 商品海报 弹出层 -->
|
||||||
<zan-popup show="{{ share.showPopup }}" bindclose="onTogglePopup">
|
<zan-popup show="{{ share.showPopup }}" bindclose="onTogglePopup">
|
||||||
|
@ -62,13 +62,13 @@
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer-fixed .fixed-buttons .order-bt {
|
.footer-fixed .fixed-buttons .order-bt {
|
||||||
width: auto;
|
width: auto;
|
||||||
line-height: unset;
|
line-height: unset;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer-fixed .fixed-buttons .order-number {
|
.footer-fixed .fixed-buttons .order-number {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -578,9 +578,15 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.corwd_time_number {
|
.corwd_time_number {
|
||||||
display: block;
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
margin-top: 15rpx;
|
margin-top: 15rpx;
|
||||||
font-size: 23rpx;
|
font-size: 22rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.corwd_time_number .prefix {
|
||||||
|
margin-right: 6rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.corwd_time button {
|
.corwd_time button {
|
||||||
@ -597,4 +603,4 @@
|
|||||||
.corwd_time button:after {
|
.corwd_time button:after {
|
||||||
content: none;
|
content: none;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
@ -118,9 +118,6 @@ Page({
|
|||||||
rpx = systemInfo.windowWidth / 750, // 计算rpx
|
rpx = systemInfo.windowWidth / 750, // 计算rpx
|
||||||
tapHeight = Math.floor(rpx * 98), // tap高度
|
tapHeight = Math.floor(rpx * 98), // tap高度
|
||||||
scrollHeight = systemInfo.windowHeight - tapHeight; // swiper高度
|
scrollHeight = systemInfo.windowHeight - tapHeight; // swiper高度
|
||||||
console.log(
|
|
||||||
systemInfo.windowHeight
|
|
||||||
);
|
|
||||||
this.setData({
|
this.setData({
|
||||||
scrollHeight
|
scrollHeight
|
||||||
});
|
});
|
||||||
|
@ -129,8 +129,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onSelectPayType(e) {
|
onSelectPayType(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 隐藏支付方式弹窗
|
// 隐藏支付方式弹窗
|
||||||
_this.onTogglePayPopup();
|
_this.onTogglePayPopup();
|
||||||
if (!_this.data.showPayPopup) {
|
if (!_this.data.showPayPopup) {
|
||||||
|
@ -151,8 +151,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onSelectPayType(e) {
|
onSelectPayType(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 隐藏支付方式弹窗
|
// 隐藏支付方式弹窗
|
||||||
_this.onTogglePayPopup();
|
_this.onTogglePayPopup();
|
||||||
if (!_this.data.showPayPopup) {
|
if (!_this.data.showPayPopup) {
|
||||||
@ -227,15 +225,12 @@ Page({
|
|||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: './comment/comment?order_id=' + order_id,
|
url: './comment/comment?order_id=' + order_id,
|
||||||
})
|
})
|
||||||
console.log(order_id);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 跳转订单详情页
|
* 跳转订单详情页
|
||||||
*/
|
*/
|
||||||
navigateToDetail(e) {
|
navigateToDetail(e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
let order_id = e.detail.target.dataset.id;
|
let order_id = e.detail.target.dataset.id;
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: './detail/detail?order_id=' + order_id
|
url: './detail/detail?order_id=' + order_id
|
||||||
@ -246,8 +241,6 @@ Page({
|
|||||||
* 跳转到拼团详情
|
* 跳转到拼团详情
|
||||||
*/
|
*/
|
||||||
navigateToSharingActive(e) {
|
navigateToSharingActive(e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
let active_id = e.detail.target.dataset.id;
|
let active_id = e.detail.target.dataset.id;
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '../active/index?active_id=' + active_id
|
url: '../active/index?active_id=' + active_id
|
||||||
|
@ -48,8 +48,6 @@ Page({
|
|||||||
* 切换标签
|
* 切换标签
|
||||||
*/
|
*/
|
||||||
onSwitchService: function(e) {
|
onSwitchService: function(e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
this.setData({
|
this.setData({
|
||||||
serviceType: e.detail.target.dataset.type
|
serviceType: e.detail.target.dataset.type
|
||||||
});
|
});
|
||||||
@ -59,8 +57,6 @@ Page({
|
|||||||
* 跳转商品详情
|
* 跳转商品详情
|
||||||
*/
|
*/
|
||||||
onGoodsDetail: function(e) {
|
onGoodsDetail: function(e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '../../../goods/index?goods_id=' + e.detail.target.dataset.id
|
url: '../../../goods/index?goods_id=' + e.detail.target.dataset.id
|
||||||
});
|
});
|
||||||
@ -73,8 +69,6 @@ Page({
|
|||||||
let _this = this,
|
let _this = this,
|
||||||
index = e.currentTarget.dataset.index,
|
index = e.currentTarget.dataset.index,
|
||||||
imageList = _this.data.imageList;
|
imageList = _this.data.imageList;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 选择图片
|
// 选择图片
|
||||||
wx.chooseImage({
|
wx.chooseImage({
|
||||||
count: 6 - imageList.length,
|
count: 6 - imageList.length,
|
||||||
|
@ -45,8 +45,6 @@ Page({
|
|||||||
* 跳转商品详情
|
* 跳转商品详情
|
||||||
*/
|
*/
|
||||||
onGoodsDetail: function (e) {
|
onGoodsDetail: function (e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '../../../goods/index?goods_id=' + e.detail.target.dataset.id
|
url: '../../../goods/index?goods_id=' + e.detail.target.dataset.id
|
||||||
});
|
});
|
||||||
@ -82,8 +80,6 @@ Page({
|
|||||||
let _this = this,
|
let _this = this,
|
||||||
values = e.detail.value;
|
values = e.detail.value;
|
||||||
|
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
|
|
||||||
// 判断是否重复提交
|
// 判断是否重复提交
|
||||||
if (_this.disable === true) {
|
if (_this.disable === true) {
|
||||||
|
@ -1,17 +1,9 @@
|
|||||||
const App = getApp();
|
|
||||||
|
|
||||||
// 富文本插件
|
|
||||||
import wxParse from '../../../wxParse/wxParse.js';
|
import wxParse from '../../../wxParse/wxParse.js';
|
||||||
|
|
||||||
// 工具类
|
|
||||||
import util from '../../../utils/util.js';
|
import util from '../../../utils/util.js';
|
||||||
|
|
||||||
// 倒计时插件
|
|
||||||
import CountDown from '../../../utils/countdown.js';
|
|
||||||
|
|
||||||
// 枚举类:秒杀活动商品状态
|
|
||||||
import ActiveStatusEnum from '../../../utils/enum/sharp/GoodsStatus.js';
|
import ActiveStatusEnum from '../../../utils/enum/sharp/GoodsStatus.js';
|
||||||
|
|
||||||
|
const App = getApp();
|
||||||
|
|
||||||
// 记录规格的数组
|
// 记录规格的数组
|
||||||
let goodsSpecArr = [];
|
let goodsSpecArr = [];
|
||||||
|
|
||||||
@ -61,15 +53,11 @@ Page({
|
|||||||
// 返回顶部
|
// 返回顶部
|
||||||
showTopWidget: false,
|
showTopWidget: false,
|
||||||
|
|
||||||
// 倒计时
|
|
||||||
countDownObj: {
|
|
||||||
date: '',
|
|
||||||
dynamic: {}
|
|
||||||
},
|
|
||||||
|
|
||||||
active: {}, // 秒杀活动详情
|
active: {}, // 秒杀活动详情
|
||||||
goods: {}, // 商品详情
|
goods: {}, // 商品详情
|
||||||
|
|
||||||
|
countDownTime: false // 倒计时
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -151,14 +139,7 @@ Page({
|
|||||||
const countDownTime = data.active.active_status == ActiveStatusEnum.STATE_SOON.value ?
|
const countDownTime = data.active.active_status == ActiveStatusEnum.STATE_SOON.value ?
|
||||||
data.active.start_time : data.active.end_time
|
data.active.start_time : data.active.end_time
|
||||||
app.setData({
|
app.setData({
|
||||||
'countDownObj.date': countDownTime
|
countDownTime
|
||||||
})
|
|
||||||
// 执行倒计时
|
|
||||||
CountDown.start(0, app, 'countDownObj', () => {
|
|
||||||
// 倒计时结束刷新页面
|
|
||||||
setTimeout(() => {
|
|
||||||
app.onRefreshPage()
|
|
||||||
}, 800)
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -178,6 +159,15 @@ Page({
|
|||||||
return data;
|
return data;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 倒计时结束刷新页面
|
||||||
|
onCountDownEnd() {
|
||||||
|
const app = this
|
||||||
|
console.log('onCountDownEnd')
|
||||||
|
setTimeout(() => {
|
||||||
|
app.onRefreshPage()
|
||||||
|
}, 200)
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点击切换不同规格
|
* 点击切换不同规格
|
||||||
*/
|
*/
|
||||||
@ -186,8 +176,6 @@ Page({
|
|||||||
attrIdx = e.currentTarget.dataset.attrIdx,
|
attrIdx = e.currentTarget.dataset.attrIdx,
|
||||||
itemIdx = e.currentTarget.dataset.itemIdx,
|
itemIdx = e.currentTarget.dataset.itemIdx,
|
||||||
goodsMultiSpec = _this.data.goodsMultiSpec;
|
goodsMultiSpec = _this.data.goodsMultiSpec;
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
for (let i in goodsMultiSpec.spec_attr) {
|
for (let i in goodsMultiSpec.spec_attr) {
|
||||||
for (let j in goodsMultiSpec.spec_attr[i].spec_items) {
|
for (let j in goodsMultiSpec.spec_attr[i].spec_items) {
|
||||||
if (attrIdx == i) {
|
if (attrIdx == i) {
|
||||||
@ -302,8 +290,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onClickShare(e) {
|
onClickShare(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
_this.setData({
|
_this.setData({
|
||||||
'share.show': true
|
'share.show': true
|
||||||
});
|
});
|
||||||
@ -366,8 +352,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onSavePoster(e) {
|
onSavePoster(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.showLoading({
|
wx.showLoading({
|
||||||
title: '加载中',
|
title: '加载中',
|
||||||
});
|
});
|
||||||
@ -415,7 +399,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onIncGoodsNumber(e) {
|
onIncGoodsNumber(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
_this.setData({
|
_this.setData({
|
||||||
goods_num: ++_this.data.goods_num
|
goods_num: ++_this.data.goods_num
|
||||||
})
|
})
|
||||||
@ -426,7 +409,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onDecGoodsNumber(e) {
|
onDecGoodsNumber(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
if (_this.data.goods_num > 1) {
|
if (_this.data.goods_num > 1) {
|
||||||
_this.setData({
|
_this.setData({
|
||||||
goods_num: --_this.data.goods_num
|
goods_num: --_this.data.goods_num
|
||||||
@ -451,12 +433,8 @@ Page({
|
|||||||
/**
|
/**
|
||||||
* 确认购买弹窗
|
* 确认购买弹窗
|
||||||
*/
|
*/
|
||||||
onToggleTrade(e) {
|
onToggleTrade() {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
if (typeof e === 'object') {
|
|
||||||
// 记录formId
|
|
||||||
e.detail.hasOwnProperty('formId') && App.saveFormId(e.detail.formId);
|
|
||||||
}
|
|
||||||
_this.setData({
|
_this.setData({
|
||||||
showBottomPopup: !_this.data.showBottomPopup
|
showBottomPopup: !_this.data.showBottomPopup
|
||||||
});
|
});
|
||||||
@ -467,8 +445,6 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onCheckout(e) {
|
onCheckout(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
// 表单验证
|
// 表单验证
|
||||||
if (!_this._onVerify()) {
|
if (!_this._onVerify()) {
|
||||||
return false;
|
return false;
|
||||||
@ -514,8 +490,6 @@ Page({
|
|||||||
* 跳转到首页
|
* 跳转到首页
|
||||||
*/
|
*/
|
||||||
onTargetHome(e) {
|
onTargetHome(e) {
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.switchTab({
|
wx.switchTab({
|
||||||
url: '../../index/index',
|
url: '../../index/index',
|
||||||
})
|
})
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
"usingComponents": {
|
"usingComponents": {
|
||||||
"zan-actionsheet": "/components/actionsheet/index",
|
"zan-actionsheet": "/components/actionsheet/index",
|
||||||
"zan-popup": "/components/popup/index",
|
"zan-popup": "/components/popup/index",
|
||||||
"shortcut": "/components/shortcut/shortcut"
|
"shortcut": "/components/shortcut/shortcut",
|
||||||
|
"countdown": "/components/countdown/index"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -62,10 +62,11 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- 活动倒计时 -->
|
<!-- 活动倒计时 -->
|
||||||
<view wx:if="{{ active.active_status != ActiveStatusEnum.STATE_END.value }}"
|
<view wx:if="{{ active.active_status != ActiveStatusEnum.STATE_END.value }}"
|
||||||
class="info-item info-item_status info-item_countdown">
|
class="info-item info-item_status info-item_countdown dis-flex flex-y-center">
|
||||||
<text class="countdown-icon iconfont icon-naozhong"></text>
|
<text class="countdown-icon iconfont icon-naozhong"></text>
|
||||||
<text>距离秒杀{{ active.active_status == ActiveStatusEnum.STATE_SOON.value ? '开始' : '结束' }}</text>
|
<text>距离秒杀{{ active.active_status == ActiveStatusEnum.STATE_SOON.value ? '开始' : '结束' }}</text>
|
||||||
<text>还剩{{ countDownObj.dynamic.hou }}时{{ countDownObj.dynamic.min }}分{{ countDownObj.dynamic.sec }}秒</text>
|
<text class="m-r-10">还剩</text>
|
||||||
|
<countdown wx:if="{{ countDownTime }}" date="{{ countDownTime }}" bind:finish="onCountDownEnd" />
|
||||||
</view>
|
</view>
|
||||||
<!-- 活动已结束 -->
|
<!-- 活动已结束 -->
|
||||||
<view wx:else class="info-item info-item_status info-item_end">
|
<view wx:else class="info-item info-item_status info-item_end">
|
||||||
|
@ -1,14 +1,8 @@
|
|||||||
const App = getApp();
|
|
||||||
|
|
||||||
// 工具类
|
|
||||||
import util from '../../../utils/util.js';
|
import util from '../../../utils/util.js';
|
||||||
|
|
||||||
// 倒计时插件
|
|
||||||
import CountDown from '../../../utils/countdown.js';
|
|
||||||
|
|
||||||
// 枚举类:秒杀会场活动状态
|
|
||||||
import StateEnum from '../../../utils/enum/sharp/ActiveStatus.js';
|
import StateEnum from '../../../utils/enum/sharp/ActiveStatus.js';
|
||||||
|
|
||||||
|
const App = getApp()
|
||||||
|
|
||||||
Page({
|
Page({
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -25,11 +19,7 @@ Page({
|
|||||||
|
|
||||||
StateEnum, // 枚举类:秒杀会场活动状态
|
StateEnum, // 枚举类:秒杀会场活动状态
|
||||||
|
|
||||||
// 倒计时
|
countDownTime: false, // 倒计时日期
|
||||||
countDownObj: {
|
|
||||||
date: '',
|
|
||||||
dynamic: {}
|
|
||||||
},
|
|
||||||
|
|
||||||
// 秒杀活动场次
|
// 秒杀活动场次
|
||||||
tabbar: [],
|
tabbar: [],
|
||||||
@ -99,24 +89,25 @@ Page({
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化倒计时组件
|
* 初始化倒计时组件
|
||||||
* mix: 怎么才能每次执行这里的时候不重复触发定时器
|
|
||||||
*/
|
*/
|
||||||
_initCountDownData(countId = 0) {
|
_initCountDownData() {
|
||||||
const app = this,
|
const app = this,
|
||||||
curTabbar = app.data.tabbar[app.data.curTabIndex];
|
curTabbar = app.data.tabbar[app.data.curTabIndex];
|
||||||
// 记录倒计时的时间
|
// 记录倒计时的时间
|
||||||
app.setData({
|
app.setData({
|
||||||
'countDownObj.date': curTabbar.count_down_time
|
countDownTime: curTabbar.count_down_time
|
||||||
})
|
|
||||||
// 执行倒计时
|
|
||||||
CountDown.start(countId, app, 'countDownObj', () => {
|
|
||||||
// 倒计时结束刷新页面
|
|
||||||
setTimeout(() => {
|
|
||||||
app.onRefreshPage()
|
|
||||||
}, 800)
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 倒计时结束刷新页面
|
||||||
|
onCountDownEnd() {
|
||||||
|
console.log('onCountDownEnd')
|
||||||
|
const app = this
|
||||||
|
setTimeout(() => {
|
||||||
|
app.onRefreshPage()
|
||||||
|
}, 200)
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 切换tabbar
|
* 切换tabbar
|
||||||
*/
|
*/
|
||||||
@ -134,7 +125,7 @@ Page({
|
|||||||
// 获取列表数据
|
// 获取列表数据
|
||||||
_this.getGoodsList();
|
_this.getGoodsList();
|
||||||
// 初始化倒计时组件
|
// 初始化倒计时组件
|
||||||
_this._initCountDownData(curTabIndex);
|
_this._initCountDownData();
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
{
|
{
|
||||||
"navigationBarTitleText": "整点秒杀",
|
"navigationBarTitleText": "整点秒杀",
|
||||||
"enablePullDownRefresh": true
|
"enablePullDownRefresh": true,
|
||||||
|
"usingComponents": {
|
||||||
|
"countdown": "/components/countdown/index"
|
||||||
|
}
|
||||||
}
|
}
|
@ -29,26 +29,8 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- 倒计时 -->
|
<!-- 倒计时 -->
|
||||||
<view class="active--count-down dis-flex flex-y-center">
|
<view class="active--count-down dis-flex flex-y-center">
|
||||||
<view class="clock-text">
|
<text class="m-r-10">{{ tabbar[curTabIndex].status == StateEnum.ACTIVE_STATE_BEGIN.value ? '距结束' : '距开始' }}</text>
|
||||||
<text>{{ tabbar[curTabIndex].status == StateEnum.ACTIVE_STATE_BEGIN.value ? '距结束' : '距开始' }}</text>
|
<countdown wx:if="{{ countDownTime }}" date="{{ countDownTime }}" style="custom" bind:finish="onCountDownEnd" />
|
||||||
</view>
|
|
||||||
<view class="clock dis-flex">
|
|
||||||
<view class="clock-time">
|
|
||||||
<text>{{ countDownObj.dynamic.hou }}</text>
|
|
||||||
</view>
|
|
||||||
<view class="clock-symbol">
|
|
||||||
<text>:</text>
|
|
||||||
</view>
|
|
||||||
<view class="clock-time">
|
|
||||||
<text>{{ countDownObj.dynamic.min }}</text>
|
|
||||||
</view>
|
|
||||||
<view class="clock-symbol">
|
|
||||||
<text>:</text>
|
|
||||||
</view>
|
|
||||||
<view class="clock-time">
|
|
||||||
<text>{{ countDownObj.dynamic.sec }}</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 内容区域 -->
|
<!-- 内容区域 -->
|
||||||
|
@ -77,7 +77,7 @@ page, .container {
|
|||||||
.sharp-active .active-status {
|
.sharp-active .active-status {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
color: #fd4a5f;
|
color: #fd4a5f;
|
||||||
margin-bottom: 15rpx;
|
margin-bottom: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sharp-active .active-status .active-status--icon {
|
.sharp-active .active-status .active-status--icon {
|
||||||
@ -95,22 +95,6 @@ page, .container {
|
|||||||
height: 40rpx;
|
height: 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.active--count-down .clock-text {
|
|
||||||
margin-right: 10rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active--count-down .clock-time {
|
|
||||||
background: #252525;
|
|
||||||
color: #fff;
|
|
||||||
padding: 0 8rpx;
|
|
||||||
line-height: 40rpx;
|
|
||||||
border-radius: 8rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active--count-down .clock-symbol {
|
|
||||||
padding: 0 8rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 商品列表 */
|
/* 商品列表 */
|
||||||
|
|
||||||
.bargain-hall {
|
.bargain-hall {
|
||||||
|
@ -50,8 +50,6 @@ Page({
|
|||||||
if (!_this.onCheckLogin()) {
|
if (!_this.onCheckLogin()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
let urls = {
|
let urls = {
|
||||||
all: '/pages/order/index?type=all',
|
all: '/pages/order/index?type=all',
|
||||||
payment: '/pages/order/index?type=payment',
|
payment: '/pages/order/index?type=payment',
|
||||||
@ -72,8 +70,6 @@ Page({
|
|||||||
if (!_this.onCheckLogin()) {
|
if (!_this.onCheckLogin()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '/' + e.currentTarget.dataset.url
|
url: '/' + e.currentTarget.dataset.url
|
||||||
})
|
})
|
||||||
@ -87,8 +83,6 @@ Page({
|
|||||||
if (!_this.onCheckLogin()) {
|
if (!_this.onCheckLogin()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: './wallet/index'
|
url: './wallet/index'
|
||||||
})
|
})
|
||||||
@ -102,8 +96,6 @@ Page({
|
|||||||
if (!_this.onCheckLogin()) {
|
if (!_this.onCheckLogin()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '../points/log/index'
|
url: '../points/log/index'
|
||||||
});
|
});
|
||||||
|
@ -73,8 +73,6 @@ Page({
|
|||||||
onSubmit(e) {
|
onSubmit(e) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
|
|
||||||
// 记录formid
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
|
|
||||||
// 按钮禁用
|
// 按钮禁用
|
||||||
_this.setData({
|
_this.setData({
|
||||||
|
@ -39,8 +39,6 @@ Page({
|
|||||||
* 跳转充值页面
|
* 跳转充值页面
|
||||||
*/
|
*/
|
||||||
onTargetRecharge(e) {
|
onTargetRecharge(e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '../recharge/index'
|
url: '../recharge/index'
|
||||||
})
|
})
|
||||||
@ -50,8 +48,6 @@ Page({
|
|||||||
* 跳转充值记录页面
|
* 跳转充值记录页面
|
||||||
*/
|
*/
|
||||||
onTargetRechargeOrder(e) {
|
onTargetRechargeOrder(e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '../recharge/order/index'
|
url: '../recharge/order/index'
|
||||||
})
|
})
|
||||||
@ -61,8 +57,6 @@ Page({
|
|||||||
* 跳转账单详情页面
|
* 跳转账单详情页面
|
||||||
*/
|
*/
|
||||||
onTargetBalanceLog(e) {
|
onTargetBalanceLog(e) {
|
||||||
// 记录formId
|
|
||||||
App.saveFormId(e.detail.formId);
|
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '../wallet/balance/log'
|
url: '../wallet/balance/log'
|
||||||
})
|
})
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
/* iconfont */
|
/* iconfont */
|
||||||
@import "/utils/iconfont.wxss";
|
@import "/utils/iconfont.wxss";
|
||||||
|
|
||||||
.container, input {
|
.container,
|
||||||
|
input {
|
||||||
font-family: PingFang-Medium,
|
font-family: PingFang-Medium,
|
||||||
PingFangSC-Regular,
|
PingFangSC-Regular,
|
||||||
Heiti,
|
Heiti,
|
||||||
Heiti SC,
|
Heiti SC,
|
||||||
DroidSans,
|
DroidSans,
|
||||||
DroidSansFallback,
|
DroidSansFallback,
|
||||||
"Microsoft YaHei",
|
"Microsoft YaHei",
|
||||||
sans-serif;
|
sans-serif;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -279,6 +280,10 @@
|
|||||||
margin-left: 20rpx;
|
margin-left: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.m-r-10 {
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.p-bottom {
|
.p-bottom {
|
||||||
padding-bottom: 112rpx;
|
padding-bottom: 112rpx;
|
||||||
}
|
}
|
||||||
@ -362,4 +367,4 @@
|
|||||||
button:after {
|
button:after {
|
||||||
content: none;
|
content: none;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"version": "1.1.45"
|
"version": "1.1.46"
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user