page
This commit is contained in:
parent
396f5f32d5
commit
b1bffc6967
|
@ -0,0 +1,742 @@
|
||||||
|
// eaterplanet_ecommerce/pages/goods/buyRecords.js
|
||||||
|
var util = require('../../utils/util.js');
|
||||||
|
var status = require('../../utils/index.js');
|
||||||
|
|
||||||
|
var app = getApp();
|
||||||
|
var buyClearTime = null;
|
||||||
|
|
||||||
|
function count_down(that, total_micro_second) {
|
||||||
|
var second = Math.floor(total_micro_second / 1000);
|
||||||
|
var days = second / 3600 / 24;
|
||||||
|
var daysRound = Math.floor(days);
|
||||||
|
var hours = second / 3600 - (24 * daysRound);
|
||||||
|
var hoursRound = Math.floor(hours);
|
||||||
|
var minutes = second / 60 - (24 * 60 * daysRound) - (60 * hoursRound);
|
||||||
|
var minutesRound = Math.floor(minutes);
|
||||||
|
var seconds = second - (24 * 3600 * daysRound) - (3600 * hoursRound) - (60 * minutesRound);
|
||||||
|
|
||||||
|
that.setData({
|
||||||
|
endtime: {
|
||||||
|
days: fill_zero_prefix(daysRound),
|
||||||
|
hours: fill_zero_prefix(hoursRound),
|
||||||
|
minutes: fill_zero_prefix(minutesRound),
|
||||||
|
seconds: fill_zero_prefix(seconds),
|
||||||
|
show_detail: 1
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (total_micro_second <= 0) {
|
||||||
|
clearTimeout(buyClearTime);
|
||||||
|
that.setData({
|
||||||
|
endtime: {
|
||||||
|
days: "00",
|
||||||
|
hours: "00",
|
||||||
|
minutes: "00",
|
||||||
|
seconds: "00",
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
buyClearTime = setTimeout(function() {
|
||||||
|
total_micro_second -= 1000;
|
||||||
|
count_down(that, total_micro_second);
|
||||||
|
}, 1000)
|
||||||
|
|
||||||
|
}
|
||||||
|
// 位数不足补零
|
||||||
|
function fill_zero_prefix(num) {
|
||||||
|
return num < 10 ? "0" + num : num
|
||||||
|
}
|
||||||
|
|
||||||
|
Page({
|
||||||
|
mixins: [require('../../mixin/globalMixin.js')],
|
||||||
|
data: {
|
||||||
|
showData: 1,
|
||||||
|
goodDetail: {},
|
||||||
|
showTitle: "",
|
||||||
|
endTime: "",
|
||||||
|
loadText: "正在加载",
|
||||||
|
showBtn: true,
|
||||||
|
showSku: false,
|
||||||
|
skuList: [],
|
||||||
|
cartNum: 0,
|
||||||
|
type: 0,
|
||||||
|
goodsStatus: 0,
|
||||||
|
needAuth: false,
|
||||||
|
goodsIndex: 1,
|
||||||
|
goods_id: 0,
|
||||||
|
endtime: {
|
||||||
|
days: "00",
|
||||||
|
hours: "00",
|
||||||
|
minutes: "00",
|
||||||
|
seconds: "00",
|
||||||
|
},
|
||||||
|
rushList: [],
|
||||||
|
hasRefeshin: false,
|
||||||
|
pageNum: 1,
|
||||||
|
is_share_html: true,
|
||||||
|
iconArr: {
|
||||||
|
home: '',
|
||||||
|
car: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
goodId: 0,
|
||||||
|
community_id: '',
|
||||||
|
handlerGobackClick(delta) {
|
||||||
|
const pages = getCurrentPages();
|
||||||
|
if (pages.length >= 2) {
|
||||||
|
wx.navigateBack({
|
||||||
|
delta: delta
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handlerGohomeClick(url) {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad: function(options) {
|
||||||
|
var that = this;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
status.setIcon().then(function(iconArr) {
|
||||||
|
that.setData({ iconArr });
|
||||||
|
});
|
||||||
|
this.goodId = options.id;
|
||||||
|
this.community_id = options.community_id;
|
||||||
|
|
||||||
|
let currentCommunity = wx.getStorageSync('community');
|
||||||
|
let currentCommunity_id = (currentCommunity && currentCommunity.communityId) || '';
|
||||||
|
if (!currentCommunity_id) {
|
||||||
|
let community = {};
|
||||||
|
if (options.community_id !== void 0 && options.community_id > 0) {
|
||||||
|
community.communityId = options.community_id;
|
||||||
|
}
|
||||||
|
util.getCommunityInfo(community).then(function(res) {
|
||||||
|
console.log('step1')
|
||||||
|
paramHandle();
|
||||||
|
get_goods_details(res);
|
||||||
|
}).catch((param) => {
|
||||||
|
console.log('step4 新人')
|
||||||
|
if (Object.keys(param) != '') {
|
||||||
|
that.addhistory(param, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log('step3')
|
||||||
|
paramHandle();
|
||||||
|
get_goods_details();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (options.share_id != 'undefined' && options.share_id > 0) wx.setStorage({
|
||||||
|
key: "share_id",
|
||||||
|
data: options.share_id
|
||||||
|
})
|
||||||
|
|
||||||
|
function paramHandle() {
|
||||||
|
console.log('step2')
|
||||||
|
if (options.community_id != 'undefined' && options.community_id > 0) {
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'index.get_community_info',
|
||||||
|
'community_id': options.community_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {
|
||||||
|
if (res.data.code == 0) {
|
||||||
|
var community = res.data.data;
|
||||||
|
let community_id = currentCommunity_id;
|
||||||
|
if (options.community_id != community_id) {
|
||||||
|
wx.showModal({
|
||||||
|
title: '温馨提示',
|
||||||
|
content: '是否切换为分享人所在小区“' + community.communityName,
|
||||||
|
confirmColor: '#F75451',
|
||||||
|
success(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
app.globalData.community = community;
|
||||||
|
app.globalData.changedCommunity = true;
|
||||||
|
wx.setStorage({
|
||||||
|
key: "community",
|
||||||
|
data: community
|
||||||
|
})
|
||||||
|
token && that.addhistory(community);
|
||||||
|
get_goods_details(community);
|
||||||
|
console.log('用户点击确定')
|
||||||
|
} else if (res.cancel) {
|
||||||
|
that.showNoBindCommunity();
|
||||||
|
console.log('用户点击取消')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
that.setData({
|
||||||
|
goods_id: options.id
|
||||||
|
}, () => {
|
||||||
|
that.load_buy_record();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_goods_details(communityInfo) {
|
||||||
|
if (communityInfo) currentCommunity_id = communityInfo.communityId;
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'goods.get_goods_detail',
|
||||||
|
'token': token,
|
||||||
|
'id': options.id,
|
||||||
|
community_id: currentCommunity_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {
|
||||||
|
wx.hideLoading();
|
||||||
|
let goods = (res.data.data && res.data.data.goods) || '';
|
||||||
|
// 商品不存在
|
||||||
|
if (!goods || goods.length == 0 || Object.keys(goods) == '') {
|
||||||
|
wx.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '该商品不存在,回首页',
|
||||||
|
showCancel: false,
|
||||||
|
confirmColor: '#F75451',
|
||||||
|
success(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
let comment_list = res.data.comment_list;
|
||||||
|
comment_list.map(function(item) {
|
||||||
|
14 * item.content.length / app.globalData.systemInfo.windowWidth > 3 && (item.showOpen = true), item.isOpen = true;
|
||||||
|
})
|
||||||
|
that.setData({
|
||||||
|
order_comment_count: res.data.order_comment_count,
|
||||||
|
order_comment_images: res.data.order_comment_images,
|
||||||
|
comment_list: comment_list,
|
||||||
|
loadover: true,
|
||||||
|
goods: goods,
|
||||||
|
buy_record_arr: res.data.data.buy_record_arr,
|
||||||
|
site_name: res.data.data.site_name,
|
||||||
|
share_title: goods.share_title,
|
||||||
|
options: res.data.data.options,
|
||||||
|
goods_image: res.data.data.goods_image,
|
||||||
|
goods_image_length: res.data.data.goods_image.length,
|
||||||
|
service: goods.tag,
|
||||||
|
favgoods: goods.favgoods,
|
||||||
|
cur_time: res.data.data.cur_time,
|
||||||
|
order: {
|
||||||
|
goods_id: res.data.data.goods.goods_id,
|
||||||
|
pin_id: res.data.data.pin_id,
|
||||||
|
},
|
||||||
|
showSkeleton: false,
|
||||||
|
is_comunity_rest: res.data.is_comunity_rest,
|
||||||
|
goodsdetails_addcart_bg_color: res.data.goodsdetails_addcart_bg_color || 'linear-gradient(270deg, #f9c706 0%, #feb600 100%)',
|
||||||
|
goodsdetails_buy_bg_color: res.data.goodsdetails_buy_bg_color || 'linear-gradient(90deg, #ff5041 0%, #ff695c 100%)'
|
||||||
|
})
|
||||||
|
if (res.data.is_comunity_rest == 1) {
|
||||||
|
wx.showModal({
|
||||||
|
title: '温馨提示',
|
||||||
|
content: '团长休息中,欢迎下次光临!',
|
||||||
|
showCancel: false,
|
||||||
|
confirmColor: '#F75451',
|
||||||
|
confirmText: '好的',
|
||||||
|
success(res) {}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
let over_type = goods.over_type;
|
||||||
|
var seconds = 0;
|
||||||
|
if (over_type == 0) {
|
||||||
|
seconds = (goods.begin_time - res.data.data.cur_time) * 1000;
|
||||||
|
} else {
|
||||||
|
seconds = (goods.end_time - res.data.data.cur_time) * 1000;
|
||||||
|
}
|
||||||
|
if (seconds > 0) {
|
||||||
|
count_down(that, seconds);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
//未绑定提示
|
||||||
|
showNoBindCommunity: function() {
|
||||||
|
wx.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '您未绑定该小区,请切换后下单!',
|
||||||
|
showCancel: false,
|
||||||
|
confirmColor: '#F75451',
|
||||||
|
success(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/position/community',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 历史社区
|
||||||
|
*/
|
||||||
|
addhistory: function(community, isNew = false) {
|
||||||
|
var community_id = community.communityId;
|
||||||
|
console.log('addhistory');
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'index.addhistory_community',
|
||||||
|
community_id: community_id,
|
||||||
|
'token': token
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {
|
||||||
|
if (isNew) {
|
||||||
|
console.log('新人 社区')
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'index.get_community_info',
|
||||||
|
community_id: community_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(result) {
|
||||||
|
if (result.data.code == 0) {
|
||||||
|
let community = result.data.data;
|
||||||
|
app.globalData.community = community;
|
||||||
|
app.globalData.changedCommunity = true;
|
||||||
|
wx.setStorage({
|
||||||
|
key: "community",
|
||||||
|
data: community
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 授权成功回调
|
||||||
|
*/
|
||||||
|
authSuccess: function() {
|
||||||
|
var id = this.goodId;
|
||||||
|
let currentCommunity = wx.getStorageSync('community');
|
||||||
|
let community_id = (currentCommunity && currentCommunity.communityId) || (this.community_id || '');
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/goods/buyRecords?id=' + id + '&community_id=' + community_id,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
authModal: function () {
|
||||||
|
if (this.data.needAuth) {
|
||||||
|
this.setData({ showAuthModal: !this.data.showAuthModal });
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
|
load_buy_record: function() {
|
||||||
|
var that = this;
|
||||||
|
var goods_id = this.data.goods_id;
|
||||||
|
if (!that.data.hasRefeshin) {
|
||||||
|
that.setData({
|
||||||
|
hasRefeshin: true,
|
||||||
|
loadMore: true
|
||||||
|
});
|
||||||
|
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'goods.load_buy_recordlist',
|
||||||
|
goods_id: goods_id,
|
||||||
|
pageNum: that.data.pageNum,
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {
|
||||||
|
if (res.data.code == 0) {
|
||||||
|
let rushList = that.data.rushList.concat(res.data.data);
|
||||||
|
that.setData({
|
||||||
|
rushList: rushList,
|
||||||
|
pageNum: that.data.pageNum + 1,
|
||||||
|
loadMore: false,
|
||||||
|
hasRefeshin: false,
|
||||||
|
tip: ''
|
||||||
|
});
|
||||||
|
|
||||||
|
} else if (res.data.code == 1) {
|
||||||
|
//go data
|
||||||
|
that.setData({
|
||||||
|
loadMore: false,
|
||||||
|
tip: '^_^已经到底了'
|
||||||
|
})
|
||||||
|
|
||||||
|
} else if (res.data.code == 2) {
|
||||||
|
//no login
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
addToCart: function(e) {
|
||||||
|
if (!this.authModal()) return;
|
||||||
|
var that = this;
|
||||||
|
var from_id = e.detail.formId;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/user',
|
||||||
|
'data': {
|
||||||
|
controller: 'user.get_member_form_id',
|
||||||
|
'token': token,
|
||||||
|
"from_id": from_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {}
|
||||||
|
})
|
||||||
|
that.setData({
|
||||||
|
is_just_addcar: 1
|
||||||
|
})
|
||||||
|
//加入购物车
|
||||||
|
that.openSku();
|
||||||
|
},
|
||||||
|
|
||||||
|
openSku: function() {
|
||||||
|
var that = this;
|
||||||
|
var goods_id = this.data.goods_id;
|
||||||
|
var options = this.data.options;
|
||||||
|
|
||||||
|
that.setData({
|
||||||
|
addCar_goodsid: goods_id
|
||||||
|
})
|
||||||
|
|
||||||
|
let list = options.list || [];
|
||||||
|
let arr = [];
|
||||||
|
if (list.length > 0) {
|
||||||
|
for (let i = 0; i < list.length; i++) {
|
||||||
|
let sku = list[i]['option_value'][0];
|
||||||
|
let temp = {
|
||||||
|
name: sku['name'],
|
||||||
|
id: sku['option_value_id'],
|
||||||
|
index: i,
|
||||||
|
idx: 0
|
||||||
|
};
|
||||||
|
arr.push(temp);
|
||||||
|
}
|
||||||
|
//把单价剔除出来begin
|
||||||
|
|
||||||
|
var id = '';
|
||||||
|
for (let i = 0; i < arr.length; i++) {
|
||||||
|
if (i == arr.length - 1) {
|
||||||
|
id = id + arr[i]['id'];
|
||||||
|
} else {
|
||||||
|
id = id + arr[i]['id'] + "_";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var cur_sku_arr = options.sku_mu_list[id];
|
||||||
|
|
||||||
|
that.setData({
|
||||||
|
sku: arr,
|
||||||
|
sku_val: 1,
|
||||||
|
cur_sku_arr: cur_sku_arr,
|
||||||
|
skuList: options,
|
||||||
|
visible: true,
|
||||||
|
showSku: true
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
let goods = this.data.goods;
|
||||||
|
let cur_sku_arr = {
|
||||||
|
canBuyNum: goods.total,
|
||||||
|
spuName: goods.goodsname,
|
||||||
|
actPrice: goods.actPrice,
|
||||||
|
marketPrice: goods.marketPrice,
|
||||||
|
stock: goods.total,
|
||||||
|
skuImage: goods.image_thumb
|
||||||
|
}
|
||||||
|
that.setData({
|
||||||
|
sku: [],
|
||||||
|
sku_val: 1,
|
||||||
|
cur_sku_arr: cur_sku_arr,
|
||||||
|
skuList: []
|
||||||
|
})
|
||||||
|
let formIds = {
|
||||||
|
detail: {
|
||||||
|
formId: ""
|
||||||
|
}
|
||||||
|
};
|
||||||
|
formIds.detail.formId = "the formId is a mock one";
|
||||||
|
that.gocarfrom(formIds);
|
||||||
|
//todo...addcart
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
gocarfrom: function(e) {
|
||||||
|
var that = this;
|
||||||
|
var is_just_addcar = this.data.is_just_addcar;
|
||||||
|
wx.showLoading();
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/user',
|
||||||
|
'data': {
|
||||||
|
controller: 'user.get_member_form_id',
|
||||||
|
'token': token,
|
||||||
|
"from_id": e.detail.formId
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {}
|
||||||
|
})
|
||||||
|
|
||||||
|
that.goOrder();
|
||||||
|
},
|
||||||
|
|
||||||
|
closeSku: function() {
|
||||||
|
this.setData({
|
||||||
|
visible: 0,
|
||||||
|
stopClick: false,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
goOrder: function() {
|
||||||
|
var that = this;
|
||||||
|
if (that.data.can_car) {
|
||||||
|
that.data.can_car = false;
|
||||||
|
}
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
var community = wx.getStorageSync('community');
|
||||||
|
var goods_id = that.data.goods_id;
|
||||||
|
var community_id = community.communityId;
|
||||||
|
var quantity = that.data.sku_val;
|
||||||
|
var cur_sku_arr = that.data.cur_sku_arr;
|
||||||
|
var sku_str = '';
|
||||||
|
var is_just_addcar = that.data.is_just_addcar;
|
||||||
|
|
||||||
|
if (cur_sku_arr && cur_sku_arr.option_item_ids) {
|
||||||
|
sku_str = cur_sku_arr.option_item_ids;
|
||||||
|
}
|
||||||
|
|
||||||
|
let data = {
|
||||||
|
goods_id,
|
||||||
|
community_id,
|
||||||
|
quantity,
|
||||||
|
sku_str,
|
||||||
|
buy_type: 'dan',
|
||||||
|
pin_id: 0,
|
||||||
|
is_just_addcar
|
||||||
|
}
|
||||||
|
util.addCart(data).then(res=>{
|
||||||
|
if(res.showVipModal==1) {
|
||||||
|
let { pop_vipmember_buyimage } = res.data;
|
||||||
|
wx.hideLoading();
|
||||||
|
that.setData({ pop_vipmember_buyimage, showVipModal: true, visible: false })
|
||||||
|
} else {
|
||||||
|
if (res.data.code == 3 || res.data.code == 7) {
|
||||||
|
wx.showToast({
|
||||||
|
title: res.data.msg,
|
||||||
|
icon: 'none',
|
||||||
|
duration: 2000
|
||||||
|
})
|
||||||
|
} else if (res.data.code == 4) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '您未登录',
|
||||||
|
duration: 2000,
|
||||||
|
})
|
||||||
|
} else if (res.data.code == 6) {
|
||||||
|
var msg = res.data.msg;
|
||||||
|
let max_quantity = res.data.max_quantity || '';
|
||||||
|
(max_quantity > 0) && that.setData({ sku_val: max_quantity })
|
||||||
|
wx.showToast({
|
||||||
|
title: msg,
|
||||||
|
icon: 'none',
|
||||||
|
duration: 2000
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
if (is_just_addcar == 1) {
|
||||||
|
that.closeSku();
|
||||||
|
wx.showToast({
|
||||||
|
title: "已加入购物车",
|
||||||
|
image: "../../images/addShopCart.png"
|
||||||
|
})
|
||||||
|
app.globalData.cartNum = res.data.total
|
||||||
|
that.setData({
|
||||||
|
cartNum: res.data.total
|
||||||
|
});
|
||||||
|
status.indexListCarCount(goods_id);
|
||||||
|
} else {
|
||||||
|
var pages_all = getCurrentPages();
|
||||||
|
if (pages_all.length > 3) {
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/order/placeOrder?type=dan'
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
wx.navigateTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/order/placeOrder?type=dan'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).catch(res=>{
|
||||||
|
app.util.message(res||'请求失败', '', 'error');
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
selectSku: function(event) {
|
||||||
|
var that = this;
|
||||||
|
let str = event.currentTarget.dataset.type;
|
||||||
|
let obj = str.split("_");
|
||||||
|
let arr = that.data.sku;
|
||||||
|
let temp = {
|
||||||
|
name: obj[3],
|
||||||
|
id: obj[2],
|
||||||
|
index: obj[0],
|
||||||
|
idx: obj[1]
|
||||||
|
};
|
||||||
|
arr.splice(obj[0], 1, temp);
|
||||||
|
that.setData({
|
||||||
|
sku: arr
|
||||||
|
})
|
||||||
|
var id = '';
|
||||||
|
for (let i = 0; i < arr.length; i++) {
|
||||||
|
if (i == arr.length - 1) {
|
||||||
|
id = id + arr[i]['id'];
|
||||||
|
} else {
|
||||||
|
id = id + arr[i]['id'] + "_";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var options = this.data.skuList;
|
||||||
|
var cur_sku_arr = options.sku_mu_list[id];
|
||||||
|
|
||||||
|
that.setData({
|
||||||
|
cur_sku_arr: cur_sku_arr
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(id);
|
||||||
|
},
|
||||||
|
|
||||||
|
submit: function(e) {
|
||||||
|
var from_id = e.detail.formId;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/user',
|
||||||
|
'data': {
|
||||||
|
controller: 'user.get_member_form_id',
|
||||||
|
'token': token,
|
||||||
|
"from_id": from_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
balance: function(e) {
|
||||||
|
if (!this.authModal()) return;
|
||||||
|
this.setData({
|
||||||
|
is_just_addcar: 0
|
||||||
|
})
|
||||||
|
//加入购物车
|
||||||
|
this.openSku();
|
||||||
|
},
|
||||||
|
|
||||||
|
setNum: function(event) {
|
||||||
|
let types = event.currentTarget.dataset.type;
|
||||||
|
var that = this;
|
||||||
|
var num = 1;
|
||||||
|
let sku_val = this.data.sku_val * 1;
|
||||||
|
if (types == 'add') {
|
||||||
|
num = sku_val + 1;
|
||||||
|
} else if (types == 'decrease') {
|
||||||
|
if (sku_val > 1) {
|
||||||
|
num = sku_val - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let arr = that.data.sku;
|
||||||
|
var options = this.data.skuList;
|
||||||
|
|
||||||
|
|
||||||
|
var id = '';
|
||||||
|
for (let i = 0; i < arr.length; i++) {
|
||||||
|
if (i == arr.length - 1) {
|
||||||
|
id = id + arr[i]['id'];
|
||||||
|
} else {
|
||||||
|
id = id + arr[i]['id'] + "_";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var cur_sku_arr = options.sku_mu_list[id];
|
||||||
|
if (num > cur_sku_arr['canBuyNum']) {
|
||||||
|
num = num - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.setData({
|
||||||
|
sku_val: num
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面显示
|
||||||
|
*/
|
||||||
|
onShow: function() {
|
||||||
|
let that = this;
|
||||||
|
util.check_login_new().then((res) => {
|
||||||
|
if (!res) {
|
||||||
|
that.setData({
|
||||||
|
needAuth: true
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
(0, status.cartNum)('', true).then((res) => {
|
||||||
|
res.code == 0 && that.setData({
|
||||||
|
cartNum: res.data
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提交购物车
|
||||||
|
*/
|
||||||
|
confirmSku: function() {
|
||||||
|
var t = this;
|
||||||
|
this.closeSku();
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面卸载
|
||||||
|
*/
|
||||||
|
onUnload: function() {
|
||||||
|
clearTimeout(buyClearTime);
|
||||||
|
console.log('onUload')
|
||||||
|
this.setData({
|
||||||
|
showSku: false
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面上拉触底事件的处理函数
|
||||||
|
*/
|
||||||
|
onReachBottom: function() {
|
||||||
|
this.load_buy_record();
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"navigationBarBackgroundColor": "#FFF",
|
||||||
|
"navigationBarTextStyle": "black",
|
||||||
|
"navigationBarTitleText": "购买记录",
|
||||||
|
"usingComponents": {
|
||||||
|
"ep-navBar": "../../components/navigation-bar",
|
||||||
|
"i-new-auth": "../../components/new-auth/index",
|
||||||
|
"i-card": "../../components/card/index",
|
||||||
|
"i-img": "../../components/img/index",
|
||||||
|
"i-load-more": "../../components/load-more/index",
|
||||||
|
"i-sku": "../../components/sku/index"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
<ep-navBar title="购买记录" background='linear-gradient(270deg,#f9c706 0%,#feb600 100%)' back="{{true}}" iconTheme='white' color='#fff' bindback="handlerGobackClick"/>
|
||||||
|
<view>
|
||||||
|
<view class="goodsInfo">
|
||||||
|
<i-img class="goodsImg" defaultImage="../../images/placeholder-refund.png" height="90" iClass="img-class" loadImage="{{goods.one_image}}" width="90"></i-img>
|
||||||
|
<view class="goodsDetail">
|
||||||
|
<view class="detailTop">
|
||||||
|
<view class="detailTopInfo">
|
||||||
|
<view class="goodsName">{{goods.goodsname}}</view>
|
||||||
|
<view class="purchasing" wx:if="{{goods.one_limit_count > 0 || goods.total_limit_count > 0}}">
|
||||||
|
<text wx:if="{{goods.total_limit_count > 0}}">每人限购{{goods.total_limit_count}}份</text>
|
||||||
|
<text wx:if="{{goods.one_limit_count > 0}}"> 每单限购{{goods.one_limit_count}}份</text>
|
||||||
|
</view>
|
||||||
|
<view class="saleNum">已售{{goods.seller_count}}{{goods_sale_unit}},剩余{{goods.total}}{{goods_sale_unit}}</view>
|
||||||
|
</view>
|
||||||
|
<button class="shareBtn" hoverClass="none" openType="share">
|
||||||
|
<image class="shareImg" src="../../images/shareImg.png"></image>
|
||||||
|
</button>
|
||||||
|
</view>
|
||||||
|
<view class="detailBottom">
|
||||||
|
<view class="price">¥
|
||||||
|
<text class="salePrice">{{goods.price_front}}</text>.{{goods.price_after}}</view>
|
||||||
|
<view class="time">
|
||||||
|
<text wx:if="{{goods.over_type == 1}}">距结束</text>
|
||||||
|
<text class="endAct" wx:if="{{goods.over_type == 0}}">距开始</text>
|
||||||
|
<text class="endAct" wx:if="{{goods.over_type == 2}}">结束时间</text>
|
||||||
|
<text class="endAct" wx:if="{{goods.over_type == 2}}">{{goods.end_date}}</text>
|
||||||
|
<view class="countdown-class i-count-down" wx:else>
|
||||||
|
<em wx:if="{{endtime.days > 0}}">{{endtime.days}}天</em>
|
||||||
|
<span class="item-class">{{endtime.hours}}</span>:
|
||||||
|
<span class="item-class">{{endtime.minutes}}</span>:
|
||||||
|
<span class="item-class">{{endtime.seconds}}</span>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="noBuyList" style="height:{{containerHeight}}px" wx:if="{{rushList.length===0}}">
|
||||||
|
<view class="noBuyListCon">
|
||||||
|
<image class="noBuyListImg" src="../../images/noData.png"></image>
|
||||||
|
<view class="noBuyListTit">还没有人购买哦</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="buyRecords" wx:if="{{rushList.length>0}}">
|
||||||
|
<view class="buyListCon">
|
||||||
|
<i-card>
|
||||||
|
<view class="buyList" slot="content">
|
||||||
|
<view class="buyListInfo" wx:for="{{rushList}}" wx:key="key">
|
||||||
|
<i-img data-index="{{index}}" defaultImage="../../images/head-bitmap.png" height="36" iClass="userImg" imgType="5" loadImage="{{item.avatar}}" width="36"></i-img>
|
||||||
|
<view class="userName">{{item.username}}</view>
|
||||||
|
<view class="buyNum">买了
|
||||||
|
<text>{{item.quantity}}</text>份</view>
|
||||||
|
<view class="buyTime">{{item.pay_time}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-card>
|
||||||
|
<i-load-more iClass="loadMore" loading="{{loadMore}}" tip="{{loadText}}" wx:if="{{loadMore}}"></i-load-more>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!--底部按钮begin-->
|
||||||
|
<view class='i-fixed-bottom'>
|
||||||
|
<view class="goods-bottom-bar">
|
||||||
|
<view class="leftBtn">
|
||||||
|
<navigator hoverClass="none" openType="switchTab" url="/eaterplanet_ecommerce/pages/index/index">
|
||||||
|
<view class="bar-item back-to-index">
|
||||||
|
<image class="icon" src="{{iconArr.home}}"></image>
|
||||||
|
回首页
|
||||||
|
</view>
|
||||||
|
</navigator>
|
||||||
|
<navigator hoverClass="none" openType="switchTab" url="/eaterplanet_ecommerce/pages/order/shopCart">
|
||||||
|
<view class="bar-item shop-cart">
|
||||||
|
<view class="icon">
|
||||||
|
<image src="{{iconArr.car}}"></image>
|
||||||
|
<view class="cart-num" wx:if="{{cartNum}}">{{cartNum}}</view>
|
||||||
|
</view>
|
||||||
|
购物车
|
||||||
|
</view>
|
||||||
|
</navigator>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="goodsStatus" wx:if="{{goods.total<=0}}">已抢光</view>
|
||||||
|
<view class="goodsStatus" wx:elif="{{goods.total > 0 && goods.over_type ==2}}">已结束</view>
|
||||||
|
<view class="goodsStatus" wx:elif="{{goods.grounding != 1}}">已下架</view>
|
||||||
|
<view class="goodsStatus" wx:elif="{{goods.over_type == 0}}">即将开抢</view>
|
||||||
|
<view class="goodsStatus" wx:elif="{{is_comunity_rest == 1}}">团长休息中</view>
|
||||||
|
<view class="gobuy" wx:else>
|
||||||
|
<form bindsubmit="addToCart" reportSubmit="true">
|
||||||
|
<view class="bar-item add-to-cart" style='background: {{goodsdetails_addcart_bg_color}}'>加入购物车</view>
|
||||||
|
<button class="btn" formType="submit"></button>
|
||||||
|
</form>
|
||||||
|
<form bindsubmit="submit" reportSubmit="true">
|
||||||
|
<button hidden formType="submit" id="formId"></button>
|
||||||
|
</form>
|
||||||
|
<label class="balanceBtn" for="formId">
|
||||||
|
<view bindtap="balance" class="bar-item balance" style='background: {{goodsdetails_buy_bg_color}}'>立即购买</view>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!--底部按钮end-->
|
||||||
|
|
||||||
|
<view class="mask" bindtap='closeSku' hidden="{{!visible}}"></view>
|
||||||
|
<!---规格选择begin-->
|
||||||
|
<view bind:cancel="close" class='sku-content' scrollUp="{{true}}" hidden="{{!visible}}">
|
||||||
|
<view class="sku-card">
|
||||||
|
<view bindtap="closeSku" class="close">
|
||||||
|
<image src="../../images/icon-sku-close.png"></image>
|
||||||
|
</view>
|
||||||
|
<view class="sku-header">
|
||||||
|
|
||||||
|
<image src='{{cur_sku_arr.skuImage}}' style="width:80px;height:80px;" class='sku-img'></image>
|
||||||
|
<view class="sku-desc">
|
||||||
|
<view class="sku-title">
|
||||||
|
<span>{{cur_sku_arr.spuName}}</span>
|
||||||
|
</view>
|
||||||
|
<view class="sku-price">
|
||||||
|
<view class="sale-price">
|
||||||
|
¥
|
||||||
|
<span>{{cur_sku_arr.actPrice[0]}}</span>.{{cur_sku_arr.actPrice[1]}}
|
||||||
|
</view>
|
||||||
|
<view class="market-price">¥{{cur_sku_arr.marketPrice[0]}}.{{cur_sku_arr.marketPrice[1]}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="sku-switch-on" wx:if="{{cur_sku_arr.spec}}">已选择:{{cur_sku_arr.spec}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="sku-spec" wx:for="{{skuList.list}}" wx:key="{{index}}">
|
||||||
|
<view class="title">{{item.name}}</view>
|
||||||
|
<view class="spec-list">
|
||||||
|
<span bindtap="selectSku" class="{{idx==sku[index]['idx']?'on':''}}" data-disabled="{{item.canBuyNum-value<0}}" data-type="{{index}}_{{idx}}_{{value.option_value_id}}_{{value.name}}" wx:for-index="idx" data-idx="{{idx}}" wx:for="{{item.option_value}}"
|
||||||
|
wx:for-item="value">{{value.name}}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="sku-num-content">
|
||||||
|
<view class="title">数量</view>
|
||||||
|
|
||||||
|
<view class="i-class i-input-number i-input-number-size-{{size}}">
|
||||||
|
<view bindtap="setNum" data-type="decrease" class="i-input-number-minus {{value<=min?'i-input-number-disabled':''}}">
|
||||||
|
<image src="../../images/icon-input-reduce.png"></image>
|
||||||
|
</view>
|
||||||
|
<input bindblur="handleBlur" bindfocus="handleFocus" class="i-input-number-text {{min>=max?'i-input-number-disabled':''}}" disabled="true" type="number" value="{{sku_val}}"></input>
|
||||||
|
<view bindtap="setNum" data-type="add" class="i-input-number-plus {{value>=max?'i-input-number-disabled':''}}">
|
||||||
|
<image src="../../images/icon-input-add.png"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="msg" wx:if="{{skuList[current].isLimit}}">
|
||||||
|
<span wx:if="{{skuList[current].limitMemberNum>-1}}">每人限{{skuList[current].limitMemberNum}}单</span>
|
||||||
|
<span wx:if="{{skuList[current].limitOrderNum>-1}}">每单限{{skuList[current].limitOrderNum}}份</span>
|
||||||
|
<span></span>
|
||||||
|
</view>
|
||||||
|
<view class="even-num" wx:elif="{{!skuList[current].isLimit&&skuList[current].canBuyNum-value<=10&&skuList[current].canBuyNum-value>-1}}">还可以购买 {{skuList[current].canBuyNum-value}} 件</view>
|
||||||
|
</view>
|
||||||
|
<form bindsubmit="gocarfrom" report-submit="true">
|
||||||
|
<button formType="submit" class="sku-confirm" disabled='{{cur_sku_arr.stock==0 ? true : false}}'>
|
||||||
|
<view>{{cur_sku_arr.stock==0?"已抢光":"确定"}}</view>
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!---规格选择end-->
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<i-new-auth needAuth="{{needAuth&&showAuthModal}}" bind:authSuccess="authSuccess" bind:cancel="authModal" needPosition="{{needPosition}}"></i-new-auth>
|
||||||
|
|
||||||
|
<i-vip-modal visible="{{showVipModal}}" imgUrl="{{pop_vipmember_buyimage}}" />
|
|
@ -0,0 +1,384 @@
|
||||||
|
.noBuyList {
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.noBuyList .noBuyListCon {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
padding-bottom: 100rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.noBuyList .noBuyListCon .noBuyListImg {
|
||||||
|
width: 218rpx;
|
||||||
|
height: 218rpx;
|
||||||
|
margin-top: 200rpx;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.noBuyList .noBuyListCon .noBuyListTit {
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buyRecords {
|
||||||
|
padding-bottom: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buyRecords .buyListCon {
|
||||||
|
padding: 0 20rpx;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
margin-bottom: 120rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buyRecords .buyListCon .buyList .buyListInfo {
|
||||||
|
height: 120rpx;
|
||||||
|
padding-left: 30rpx;
|
||||||
|
border-bottom: 1rpx solid #efefef;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buyRecords .buyListCon .buyList .buyListInfo:last-child {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buyRecords .buyListCon .buyList .buyListInfo .userImg {
|
||||||
|
width: 72rpx;
|
||||||
|
height: 72rpx;
|
||||||
|
border-radius: 36rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buyRecords .buyListCon .buyList .buyListInfo .userName {
|
||||||
|
max-width: 200rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buyRecords .buyListCon .buyList .buyListInfo .buyNum {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buyRecords .buyListCon .buyList .buyListInfo .buyNum text {
|
||||||
|
color: #ff758c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buyRecords .buyListCon .buyList .buyListInfo .buyTime {
|
||||||
|
font-size: 22rpx;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.canvas-img {
|
||||||
|
position: absolute;
|
||||||
|
top: -20000rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
button::after {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo {
|
||||||
|
background: #fff;
|
||||||
|
padding: 30rpx;
|
||||||
|
border-top: 0.1rpx solid #efefef;
|
||||||
|
border-bottom: 0.1rpx solid #efefef;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsImg {
|
||||||
|
width: 180rpx;
|
||||||
|
margin-right: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsImg .img-class {
|
||||||
|
width: 180rpx;
|
||||||
|
height: 180rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail {
|
||||||
|
width: 480rpx;
|
||||||
|
min-height: 180rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailTop {
|
||||||
|
min-height: 120rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailTop .detailTopInfo {
|
||||||
|
width: 380rpx;
|
||||||
|
padding-right: 20rpx;
|
||||||
|
border-right: 2rpx dashed #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailTop .detailTopInfo .goodsName {
|
||||||
|
width: 380rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #444;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 32rpx;
|
||||||
|
margin-bottom: 6rpx;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: initial;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailTop .detailTopInfo .purchasing,
|
||||||
|
.goodsInfo .goodsDetail .detailTop .detailTopInfo .saleNum {
|
||||||
|
font-size: 22rpx;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailTop .shareBtn {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
background: #fff;
|
||||||
|
padding: 0;
|
||||||
|
margin-right: 4rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailTop .shareBtn .shareImg {
|
||||||
|
width: 42rpx;
|
||||||
|
height: 36rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailBottom {
|
||||||
|
margin-top: 10rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailBottom .price {
|
||||||
|
font-size: 20rpx;
|
||||||
|
color: #ff758c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailBottom .price text {
|
||||||
|
font-size: 36rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailBottom .time {
|
||||||
|
width: 290rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #444;
|
||||||
|
white-space: nowrap;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailBottom .time .countdown {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailBottom .time .countdown .itemTime {
|
||||||
|
width: 38rpx;
|
||||||
|
height: 32rpx;
|
||||||
|
background: #444;
|
||||||
|
border-radius: 4rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #fff;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***商品底部按钮begin **/
|
||||||
|
.goods-bottom-bar {
|
||||||
|
border-radius: 30rpx 30rpx 30rpx 30rpx;
|
||||||
|
height: 96rpx;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .leftBtn {
|
||||||
|
height: 96rpx;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .leftBtn .bar-item {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.goods-bottom-bar .leftBtn .back-to-index {
|
||||||
|
background-color: #36362D;
|
||||||
|
border-radius: 0rpx 8rpx 8rpx 0rpx;
|
||||||
|
width: 125rpx;
|
||||||
|
height: 96rpx;
|
||||||
|
font-size: 18rpx;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.goods-bottom-bar .leftBtn .back-to-index image {
|
||||||
|
width: 50rpx;
|
||||||
|
height: 50rpx;
|
||||||
|
}
|
||||||
|
.goods-bottom-bar .leftBtn .shop-cart {
|
||||||
|
|
||||||
|
border-radius: 8rpx 0rpx 0rpx 8rpx;
|
||||||
|
margin-left: 6rpx;
|
||||||
|
background-color: #36362D;
|
||||||
|
width: 125rpx;
|
||||||
|
height: 96rpx;
|
||||||
|
font-size: 18rpx;
|
||||||
|
color: #fff;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.goods-bottom-bar .leftBtn .shop-cart .icon {
|
||||||
|
|
||||||
|
width: 50rpx;
|
||||||
|
height: 50rpx;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .leftBtn .shop-cart .icon image {
|
||||||
|
|
||||||
|
padding-right: 40rpx;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .leftBtn .shop-cart .icon .cart-num {
|
||||||
|
position: absolute;
|
||||||
|
right: -16rpx;
|
||||||
|
top: -4rpx;
|
||||||
|
width: 36rpx;
|
||||||
|
height: 36rpx;
|
||||||
|
background: #ff758c;
|
||||||
|
border-radius: 36rpx;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 22rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .goodsStatus {
|
||||||
|
width: 100%;
|
||||||
|
height: 96rpx;
|
||||||
|
background: #dcdcdc;
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #fff;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .gobuy {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-weight: bold;
|
||||||
|
/**background-color: #1c1819;**/
|
||||||
|
overflow: hidden;
|
||||||
|
border-radius: 0rpx 40rpx 40rpx 0rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
.bar-item add-to-cart {
|
||||||
|
background: rgb(247, 112, 98);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.goods-bottom-bar .gobuy .add-to-cart {
|
||||||
|
width: 270rpx;
|
||||||
|
height: 96rpx;
|
||||||
|
background: #36362D!important;
|
||||||
|
border-left:2rpx solid #666;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 28rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .gobuy .btn {
|
||||||
|
width: 270rpx;
|
||||||
|
height: 96rpx;
|
||||||
|
position: absolute;
|
||||||
|
opacity: 0;
|
||||||
|
z-index: 9;
|
||||||
|
top: 0;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
box-shadow: 20rpx 20rpx 20rpx 0rpx rgba(0,0,0,0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .gobuy .balanceBtn {
|
||||||
|
display: flex;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .gobuy .balanceBtn .balance {
|
||||||
|
height: 96rpx;
|
||||||
|
flex: 1;
|
||||||
|
background: linear-gradient(270deg,rgb(253, 35, 70) 0%,#feb600 100%)!important;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 28rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 0rpx 0px 0px 0rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.i-fixed-bottom {
|
||||||
|
background-color: rgba(0,0,0,0.3);
|
||||||
|
position: fixed;
|
||||||
|
bottom: 40rpx;
|
||||||
|
z-index: 100;
|
||||||
|
overflow: hidden;
|
||||||
|
left: 30rpx;
|
||||||
|
right:30rpx;
|
||||||
|
border-radius: 48rpx 48rpx 48rpx 48rpx;
|
||||||
|
box-shadow: 0rpx 10rpx 20rpx 10rpx rgba(0,0,0,0.4);
|
||||||
|
|
||||||
|
}
|
||||||
|
.filter {
|
||||||
|
background-color: rgba(255, 255, 255, 0.8);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-around;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 40rpx;
|
||||||
|
left: 0;
|
||||||
|
z-index: 2;
|
||||||
|
width: 100%;
|
||||||
|
height: 96rpx;
|
||||||
|
backdrop-filter: blur(30rpx) ;
|
||||||
|
border-radius: 30rpx 30rpx 30rpx 30rpx;
|
||||||
|
margin-left: 20rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.i-fixed-bottom.iphoneX-height {
|
||||||
|
padding-bottom: 48rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.i-fixed-bottom.pb20 {
|
||||||
|
padding-bottom: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,748 @@
|
||||||
|
// pages/goods/comment.js
|
||||||
|
var util = require('../../utils/util.js');
|
||||||
|
var app = getApp();
|
||||||
|
var buyClearTime = null;
|
||||||
|
var status = require('../../utils/index.js');
|
||||||
|
|
||||||
|
function count_down(that, total_micro_second) {
|
||||||
|
var second = Math.floor(total_micro_second / 1000);
|
||||||
|
var days = second / 3600 / 24;
|
||||||
|
var daysRound = Math.floor(days);
|
||||||
|
var hours = second / 3600 - (24 * daysRound);
|
||||||
|
var hoursRound = Math.floor(hours);
|
||||||
|
var minutes = second / 60 - (24 * 60 * daysRound) - (60 * hoursRound);
|
||||||
|
var minutesRound = Math.floor(minutes);
|
||||||
|
var seconds = second - (24 * 3600 * daysRound) - (3600 * hoursRound) - (60 * minutesRound);
|
||||||
|
|
||||||
|
that.setData({
|
||||||
|
endtime: {
|
||||||
|
days: fill_zero_prefix(daysRound),
|
||||||
|
hours: fill_zero_prefix(hoursRound),
|
||||||
|
minutes: fill_zero_prefix(minutesRound),
|
||||||
|
seconds: fill_zero_prefix(seconds),
|
||||||
|
show_detail: 1
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (total_micro_second <= 0) {
|
||||||
|
clearTimeout(buyClearTime);
|
||||||
|
that.setData({
|
||||||
|
endtime: {
|
||||||
|
days: "00",
|
||||||
|
hours: "00",
|
||||||
|
minutes: "00",
|
||||||
|
seconds: "00",
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
buyClearTime = setTimeout(function() {
|
||||||
|
total_micro_second -= 1000;
|
||||||
|
count_down(that, total_micro_second);
|
||||||
|
}, 1000)
|
||||||
|
|
||||||
|
}
|
||||||
|
// 位数不足补零
|
||||||
|
function fill_zero_prefix(num) {
|
||||||
|
return num < 10 ? "0" + num : num
|
||||||
|
}
|
||||||
|
|
||||||
|
Page({
|
||||||
|
mixins: [require('../../mixin/globalMixin.js')],
|
||||||
|
data: {
|
||||||
|
showData: 1,
|
||||||
|
cartNum: 0,
|
||||||
|
needAuth: false,
|
||||||
|
iconArr: {
|
||||||
|
home: '',
|
||||||
|
car: ''
|
||||||
|
},
|
||||||
|
list: [],
|
||||||
|
loadMore: true,
|
||||||
|
tip: '加载中'
|
||||||
|
},
|
||||||
|
page: 1,
|
||||||
|
hasRefeshin: false,
|
||||||
|
goodId: 0,
|
||||||
|
community_id: 0,
|
||||||
|
handlerGobackClick(delta) {
|
||||||
|
const pages = getCurrentPages();
|
||||||
|
if (pages.length >= 2) {
|
||||||
|
wx.navigateBack({
|
||||||
|
delta: delta
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handlerGohomeClick(url) {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad: function(options) {
|
||||||
|
var that = this;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
status.setNavBgColor();
|
||||||
|
status.setIcon().then(function(iconArr) {
|
||||||
|
that.setData({iconArr});
|
||||||
|
});
|
||||||
|
|
||||||
|
this.goodId = options.id;
|
||||||
|
this.community_id = options.community_id;
|
||||||
|
let currentCommunity = wx.getStorageSync('community');
|
||||||
|
let currentCommunity_id = (currentCommunity && currentCommunity.communityId) || '';
|
||||||
|
if (!currentCommunity_id) {
|
||||||
|
let community = {};
|
||||||
|
if (options.community_id !== void 0 && options.community_id > 0) {
|
||||||
|
community.communityId = options.community_id;
|
||||||
|
}
|
||||||
|
util.getCommunityInfo(community).then(function (res) {
|
||||||
|
console.log('step1')
|
||||||
|
paramHandle();
|
||||||
|
get_goods_details(res);
|
||||||
|
}).catch((param) => {
|
||||||
|
console.log('step4 新人')
|
||||||
|
if (Object.keys(param) != '') {
|
||||||
|
that.addhistory(param, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log('step3')
|
||||||
|
paramHandle();
|
||||||
|
get_goods_details();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (options.share_id != 'undefined' && options.share_id > 0) wx.setStorage({ key: "share_id", data: options.share_id })
|
||||||
|
|
||||||
|
function paramHandle() {
|
||||||
|
console.log('step2')
|
||||||
|
if (options.community_id != 'undefined' && options.community_id > 0) {
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'index.get_community_info',
|
||||||
|
'community_id': options.community_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (res) {
|
||||||
|
if (res.data.code == 0) {
|
||||||
|
var community = res.data.data;
|
||||||
|
let hisCommunity = currentCommunity;
|
||||||
|
let community_id = currentCommunity_id;
|
||||||
|
if (options.community_id != community_id) {
|
||||||
|
wx.showModal({
|
||||||
|
title: '温馨提示',
|
||||||
|
content: '是否切换为分享人所在小区“' + community.communityName,
|
||||||
|
confirmColor: '#F75451',
|
||||||
|
success(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
app.globalData.community = community;
|
||||||
|
app.globalData.changedCommunity = true;
|
||||||
|
wx.setStorage({
|
||||||
|
key: "community",
|
||||||
|
data: community
|
||||||
|
})
|
||||||
|
token && that.addhistory(community);
|
||||||
|
get_goods_details(community);
|
||||||
|
console.log('用户点击确定')
|
||||||
|
} else if (res.cancel) {
|
||||||
|
that.showNoBindCommunity();
|
||||||
|
console.log('用户点击取消')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
that.setData({
|
||||||
|
goods_id: options.id
|
||||||
|
}, ()=>{
|
||||||
|
that.load_comment_list();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_goods_details(communityInfo) {
|
||||||
|
if (communityInfo) currentCommunity_id = communityInfo.communityId;
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'goods.get_goods_detail',
|
||||||
|
'token': token,
|
||||||
|
'id': options.id,
|
||||||
|
community_id: currentCommunity_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (res) {
|
||||||
|
wx.hideLoading();
|
||||||
|
let goods = (res.data.data && res.data.data.goods) || '';
|
||||||
|
// 商品不存在
|
||||||
|
if (!goods || goods.length == 0 || Object.keys(goods) == '') {
|
||||||
|
wx.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '该商品不存在,回首页',
|
||||||
|
showCancel: false,
|
||||||
|
confirmColor: '#F75451',
|
||||||
|
success(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
let comment_list = res.data.comment_list;
|
||||||
|
comment_list.map(function (item) {
|
||||||
|
14 * item.content.length / app.globalData.systemInfo.windowWidth > 3 && (item.showOpen = true), item.isOpen = true;
|
||||||
|
})
|
||||||
|
that.setData({
|
||||||
|
order_comment_count: res.data.order_comment_count,
|
||||||
|
order_comment_images: res.data.order_comment_images,
|
||||||
|
comment_list: comment_list,
|
||||||
|
loadover: true,
|
||||||
|
goods: goods,
|
||||||
|
buy_record_arr: res.data.data.buy_record_arr,
|
||||||
|
site_name: res.data.data.site_name,
|
||||||
|
share_title: goods.share_title,
|
||||||
|
options: res.data.data.options,
|
||||||
|
goods_image: res.data.data.goods_image,
|
||||||
|
goods_image_length: res.data.data.goods_image.length,
|
||||||
|
service: goods.tag,
|
||||||
|
favgoods: goods.favgoods,
|
||||||
|
cur_time: res.data.data.cur_time,
|
||||||
|
order: {
|
||||||
|
goods_id: res.data.data.goods.goods_id,
|
||||||
|
pin_id: res.data.data.pin_id,
|
||||||
|
},
|
||||||
|
showSkeleton: false,
|
||||||
|
is_comunity_rest: res.data.is_comunity_rest,
|
||||||
|
goodsdetails_addcart_bg_color: res.data.goodsdetails_addcart_bg_color || 'linear-gradient(270deg, #f9c706 0%, #feb600 100%)',
|
||||||
|
goodsdetails_buy_bg_color: res.data.goodsdetails_buy_bg_color || 'linear-gradient(90deg, #ff5041 0%, #ff695c 100%)'
|
||||||
|
})
|
||||||
|
if (res.data.is_comunity_rest == 1) {
|
||||||
|
wx.showModal({
|
||||||
|
title: '温馨提示',
|
||||||
|
content: '团长休息中,欢迎下次光临!',
|
||||||
|
showCancel: false,
|
||||||
|
confirmColor: '#F75451',
|
||||||
|
confirmText: '好的',
|
||||||
|
success(res) { }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
let over_type = goods.over_type;
|
||||||
|
var seconds = 0;
|
||||||
|
if (over_type == 0) {
|
||||||
|
seconds = (goods.begin_time - res.data.data.cur_time) * 1000;
|
||||||
|
} else {
|
||||||
|
seconds = (goods.end_time - res.data.data.cur_time) * 1000;
|
||||||
|
}
|
||||||
|
if (seconds > 0) {
|
||||||
|
count_down(that, seconds);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
//未绑定提示
|
||||||
|
showNoBindCommunity: function () {
|
||||||
|
wx.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '您未绑定该小区,请切换后下单!',
|
||||||
|
showCancel: false,
|
||||||
|
confirmColor: '#F75451',
|
||||||
|
success(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/position/community',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 历史社区
|
||||||
|
*/
|
||||||
|
addhistory: function (community, isNew = false) {
|
||||||
|
var community_id = community.communityId;
|
||||||
|
console.log('addhistory');
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'index.addhistory_community',
|
||||||
|
community_id: community_id,
|
||||||
|
'token': token
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (res) {
|
||||||
|
if (isNew) {
|
||||||
|
console.log('新人 社区')
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'index.get_community_info',
|
||||||
|
community_id: community_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (result) {
|
||||||
|
if (result.data.code == 0) {
|
||||||
|
let community = result.data.data;
|
||||||
|
app.globalData.community = community;
|
||||||
|
app.globalData.changedCommunity = true;
|
||||||
|
wx.setStorage({
|
||||||
|
key: "community",
|
||||||
|
data: community
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
load_comment_list: function(){
|
||||||
|
let goods_id = this.data.goods_id;
|
||||||
|
let token = wx.getStorageSync('token');
|
||||||
|
let that = this;
|
||||||
|
|
||||||
|
!this.hasRefeshin && (that.hasRefeshin = true, that.setData({ loadMore: true, tip: '加载中' }), app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'goods.comment_info',
|
||||||
|
token: token,
|
||||||
|
goods_id: goods_id,
|
||||||
|
page: that.page
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (res) {
|
||||||
|
if(res.data.code==0){
|
||||||
|
let commentList = res.data.list;
|
||||||
|
commentList.map(function (item) {
|
||||||
|
14 * item.content.length / app.globalData.systemInfo.windowWidth > 3 && (item.showOpen = true), item.isOpen = true;
|
||||||
|
})
|
||||||
|
let list = that.data.list.concat(commentList);
|
||||||
|
that.page++;
|
||||||
|
that.hasRefeshin = false;
|
||||||
|
that.setData({ list, loadMore: false, tip: '' })
|
||||||
|
} else if (res.data.code == 1) {
|
||||||
|
// 无数据
|
||||||
|
if (that.page == 1) that.setData({ showData:0 })
|
||||||
|
that.setData({
|
||||||
|
loadMore: false,
|
||||||
|
tip: '^_^已经到底了'
|
||||||
|
})
|
||||||
|
} else if(res.data.code == 2) {
|
||||||
|
//no login
|
||||||
|
} else {
|
||||||
|
//其他
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 授权成功回调
|
||||||
|
*/
|
||||||
|
authSuccess: function () {
|
||||||
|
var id = this.goodId;
|
||||||
|
let currentCommunity = wx.getStorageSync('community');
|
||||||
|
let community_id = (currentCommunity && currentCommunity.communityId) || (this.community_id || '');
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/goods/comment?id=' + id + '&community_id=' + community_id,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
authModal: function () {
|
||||||
|
if (this.data.needAuth) {
|
||||||
|
this.setData({ showAuthModal: !this.data.showAuthModal });
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
|
onShow: function() {
|
||||||
|
let that = this;
|
||||||
|
util.check_login_new().then((res) => {
|
||||||
|
if (!res) {
|
||||||
|
that.setData({
|
||||||
|
needAuth: true
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
(0, status.cartNum)('', true).then((res) => {
|
||||||
|
res.code == 0 && that.setData({
|
||||||
|
cartNum: res.data
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
//加入购物车
|
||||||
|
addToCart: function(e) {
|
||||||
|
if (!this.authModal()) return;
|
||||||
|
var that = this;
|
||||||
|
var from_id = e.detail.formId;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/user',
|
||||||
|
'data': {
|
||||||
|
controller: 'user.get_member_form_id',
|
||||||
|
'token': token,
|
||||||
|
"from_id": from_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {}
|
||||||
|
})
|
||||||
|
that.setData({
|
||||||
|
is_just_addcar: 1
|
||||||
|
})
|
||||||
|
|
||||||
|
//加入购物车
|
||||||
|
that.openSku();
|
||||||
|
},
|
||||||
|
|
||||||
|
// 打开选框
|
||||||
|
openSku: function() {
|
||||||
|
var that = this;
|
||||||
|
var goods_id = this.data.goods_id;
|
||||||
|
var options = this.data.options;
|
||||||
|
|
||||||
|
that.setData({
|
||||||
|
addCar_goodsid: goods_id
|
||||||
|
})
|
||||||
|
|
||||||
|
let list = options.list || [];
|
||||||
|
let arr = [];
|
||||||
|
if (list.length > 0) {
|
||||||
|
for (let i = 0; i < list.length; i++) {
|
||||||
|
let sku = list[i]['option_value'][0];
|
||||||
|
let temp = {
|
||||||
|
name: sku['name'],
|
||||||
|
id: sku['option_value_id'],
|
||||||
|
index: i,
|
||||||
|
idx: 0
|
||||||
|
};
|
||||||
|
arr.push(temp);
|
||||||
|
}
|
||||||
|
//把单价剔除出来begin
|
||||||
|
|
||||||
|
var id = '';
|
||||||
|
for (let i = 0; i < arr.length; i++) {
|
||||||
|
if (i == arr.length - 1) {
|
||||||
|
id = id + arr[i]['id'];
|
||||||
|
} else {
|
||||||
|
id = id + arr[i]['id'] + "_";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var cur_sku_arr = options.sku_mu_list[id];
|
||||||
|
that.setData({
|
||||||
|
sku: arr,
|
||||||
|
sku_val: 1,
|
||||||
|
cur_sku_arr: cur_sku_arr,
|
||||||
|
skuList: options,
|
||||||
|
visible: true,
|
||||||
|
showSku: true
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
let goods = this.data.goods;
|
||||||
|
let cur_sku_arr = {
|
||||||
|
canBuyNum: goods.total,
|
||||||
|
spuName: goods.goodsname,
|
||||||
|
actPrice: goods.actPrice,
|
||||||
|
marketPrice: goods.marketPrice,
|
||||||
|
stock: goods.total,
|
||||||
|
skuImage: goods.image_thumb
|
||||||
|
}
|
||||||
|
that.setData({
|
||||||
|
sku: [],
|
||||||
|
sku_val: 1,
|
||||||
|
cur_sku_arr: cur_sku_arr,
|
||||||
|
skuList: []
|
||||||
|
})
|
||||||
|
let formIds = {
|
||||||
|
detail: {
|
||||||
|
formId: ""
|
||||||
|
}
|
||||||
|
};
|
||||||
|
formIds.detail.formId = "the formId is a mock one";
|
||||||
|
that.gocarfrom(formIds);
|
||||||
|
//todo...addcart
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
gocarfrom: function(e) {
|
||||||
|
var that = this;
|
||||||
|
var is_just_addcar = this.data.is_just_addcar;
|
||||||
|
wx.showLoading();
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/user',
|
||||||
|
'data': {
|
||||||
|
controller: 'user.get_member_form_id',
|
||||||
|
'token': token,
|
||||||
|
"from_id": e.detail.formId
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {}
|
||||||
|
})
|
||||||
|
|
||||||
|
that.goOrder();
|
||||||
|
},
|
||||||
|
|
||||||
|
closeSku: function() {
|
||||||
|
this.setData({
|
||||||
|
visible: 0,
|
||||||
|
stopClick: false,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
goOrder: function() {
|
||||||
|
var that = this;
|
||||||
|
if (that.data.can_car) {
|
||||||
|
that.data.can_car = false;
|
||||||
|
}
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
var community = wx.getStorageSync('community');
|
||||||
|
var goods_id = that.data.goods_id;
|
||||||
|
var community_id = community.communityId;
|
||||||
|
var quantity = that.data.sku_val;
|
||||||
|
var cur_sku_arr = that.data.cur_sku_arr;
|
||||||
|
var sku_str = '';
|
||||||
|
var is_just_addcar = that.data.is_just_addcar;
|
||||||
|
if (cur_sku_arr && cur_sku_arr.option_item_ids) {
|
||||||
|
sku_str = cur_sku_arr.option_item_ids;
|
||||||
|
}
|
||||||
|
|
||||||
|
let data = {
|
||||||
|
goods_id,
|
||||||
|
community_id,
|
||||||
|
quantity,
|
||||||
|
sku_str,
|
||||||
|
buy_type: 'dan',
|
||||||
|
pin_id: 0,
|
||||||
|
is_just_addcar
|
||||||
|
}
|
||||||
|
util.addCart(data).then(res=>{
|
||||||
|
if(res.showVipModal==1) {
|
||||||
|
let { pop_vipmember_buyimage } = res.data;
|
||||||
|
wx.hideLoading();
|
||||||
|
that.setData({ pop_vipmember_buyimage, showVipModal: true, visible: false })
|
||||||
|
} else {
|
||||||
|
if (res.data.code == 3 || res.data.code == 7) {
|
||||||
|
wx.showToast({
|
||||||
|
title: res.data.msg,
|
||||||
|
icon: 'none',
|
||||||
|
duration: 2000
|
||||||
|
})
|
||||||
|
} else if (res.data.code == 4) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '您未登录',
|
||||||
|
duration: 2000,
|
||||||
|
})
|
||||||
|
} else if (res.data.code == 6) {
|
||||||
|
var msg = res.data.msg;
|
||||||
|
let max_quantity = res.data.max_quantity || '';
|
||||||
|
(max_quantity > 0) && that.setData({ sku_val: max_quantity })
|
||||||
|
wx.showToast({
|
||||||
|
title: msg,
|
||||||
|
icon: 'none',
|
||||||
|
duration: 2000
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
if (is_just_addcar == 1) {
|
||||||
|
that.closeSku();
|
||||||
|
wx.showToast({
|
||||||
|
title: "已加入购物车",
|
||||||
|
image: "../../images/addShopCart.png"
|
||||||
|
})
|
||||||
|
app.globalData.cartNum = res.data.total
|
||||||
|
that.setData({
|
||||||
|
cartNum: res.data.total
|
||||||
|
});
|
||||||
|
status.indexListCarCount(goods_id);
|
||||||
|
} else {
|
||||||
|
var pages_all = getCurrentPages();
|
||||||
|
if (pages_all.length > 3) {
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/order/placeOrder?type=dan'
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
wx.navigateTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/order/placeOrder?type=dan'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).catch(res=>{
|
||||||
|
app.util.message(res||'请求失败', '', 'error');
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
selectSku: function(event) {
|
||||||
|
var that = this;
|
||||||
|
let str = event.currentTarget.dataset.type;
|
||||||
|
let obj = str.split("_");
|
||||||
|
let arr = that.data.sku;
|
||||||
|
let temp = {
|
||||||
|
name: obj[3],
|
||||||
|
id: obj[2],
|
||||||
|
index: obj[0],
|
||||||
|
idx: obj[1]
|
||||||
|
};
|
||||||
|
arr.splice(obj[0], 1, temp);
|
||||||
|
that.setData({
|
||||||
|
sku: arr
|
||||||
|
})
|
||||||
|
var id = '';
|
||||||
|
for (let i = 0; i < arr.length; i++) {
|
||||||
|
if (i == arr.length - 1) {
|
||||||
|
id = id + arr[i]['id'];
|
||||||
|
} else {
|
||||||
|
id = id + arr[i]['id'] + "_";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var options = this.data.skuList;
|
||||||
|
var cur_sku_arr = options.sku_mu_list[id];
|
||||||
|
|
||||||
|
that.setData({
|
||||||
|
cur_sku_arr: cur_sku_arr
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(id);
|
||||||
|
},
|
||||||
|
|
||||||
|
submit: function(e) {
|
||||||
|
var from_id = e.detail.formId;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/user',
|
||||||
|
'data': {
|
||||||
|
controller: 'user.get_member_form_id',
|
||||||
|
'token': token,
|
||||||
|
"from_id": from_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
balance: function(e) {
|
||||||
|
if (!this.authModal()) return;
|
||||||
|
this.setData({
|
||||||
|
is_just_addcar: 0
|
||||||
|
})
|
||||||
|
//加入购物车
|
||||||
|
this.openSku();
|
||||||
|
},
|
||||||
|
|
||||||
|
//加减商品数量
|
||||||
|
setNum: function(event) {
|
||||||
|
let types = event.currentTarget.dataset.type;
|
||||||
|
var that = this;
|
||||||
|
var num = 1;
|
||||||
|
let sku_val = this.data.sku_val * 1;
|
||||||
|
if (types == 'add') {
|
||||||
|
num = sku_val + 1;
|
||||||
|
} else if (types == 'decrease') {
|
||||||
|
if (sku_val > 1) {
|
||||||
|
num = sku_val - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let arr = that.data.sku;
|
||||||
|
var options = this.data.skuList;
|
||||||
|
|
||||||
|
|
||||||
|
var id = '';
|
||||||
|
for (let i = 0; i < arr.length; i++) {
|
||||||
|
if (i == arr.length - 1) {
|
||||||
|
id = id + arr[i]['id'];
|
||||||
|
} else {
|
||||||
|
id = id + arr[i]['id'] + "_";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var cur_sku_arr = options.sku_mu_list[id];
|
||||||
|
if (num > cur_sku_arr['canBuyNum']) {
|
||||||
|
num = num - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.setData({
|
||||||
|
sku_val: num
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图片预览
|
||||||
|
*/
|
||||||
|
preview: function(t) {
|
||||||
|
var a = t.currentTarget.dataset.index,
|
||||||
|
e = t.currentTarget.dataset.idx;
|
||||||
|
wx.previewImage({
|
||||||
|
urls: this.data.list[a].images,
|
||||||
|
current: this.data.list[a].images[e],
|
||||||
|
fail: function(t) {
|
||||||
|
wx.showToast({
|
||||||
|
title: "预览图片失败,请重试",
|
||||||
|
icon: "none"
|
||||||
|
}), console.log(t);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复制内容
|
||||||
|
*/
|
||||||
|
copy: function(t) {
|
||||||
|
wx.setClipboardData({
|
||||||
|
data: t.currentTarget.dataset.val,
|
||||||
|
success: function() {
|
||||||
|
wx.showToast({
|
||||||
|
title: "内容复制成功!",
|
||||||
|
icon: "none"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 展开收起
|
||||||
|
*/
|
||||||
|
bindOpen: function(t) {
|
||||||
|
var idx = t.currentTarget.dataset.idx;
|
||||||
|
if (this.data.list[idx].isOpen) {
|
||||||
|
this.data.list[idx].isOpen = false;
|
||||||
|
var list = this.data.list;
|
||||||
|
this.setData({
|
||||||
|
list: list
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.data.list[idx].isOpen = true;
|
||||||
|
var list = this.data.list;
|
||||||
|
this.setData({
|
||||||
|
list: list
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onReachBottom: function () {
|
||||||
|
console.log('我是底线');
|
||||||
|
this.load_comment_list();
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"navigationBarBackgroundColor": "#FFF",
|
||||||
|
"navigationBarTextStyle": "black",
|
||||||
|
"navigationBarTitleText": "商品评价",
|
||||||
|
"usingComponents": {
|
||||||
|
"ep-navBar": "../../components/navigation-bar",
|
||||||
|
"i-card": "../../components/card/index",
|
||||||
|
"i-img": "../../components/img/index",
|
||||||
|
"i-new-auth": "../../components/new-auth/index",
|
||||||
|
"i-load-more": "../../components/load-more/index"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,177 @@
|
||||||
|
<ep-navBar title="商品评价" background='#4facfe' back="{{true}}" iconTheme='white' color='#fff' bindback="handlerGobackClick"/>
|
||||||
|
<view>
|
||||||
|
<view class="goodsInfo">
|
||||||
|
<i-img class="goodsImg" defaultImage="../../images/placeholder-refund.png" height="90" iClass="img-class" loadImage="{{goods.one_image}}" width="90"></i-img>
|
||||||
|
<view class="goodsDetail">
|
||||||
|
<view class="detailTop">
|
||||||
|
<view class="detailTopInfo">
|
||||||
|
<view class="goodsName">{{goods.goodsname}}</view>
|
||||||
|
<view class="purchasing" wx:if="{{goods.one_limit_count > 0 || goods.total_limit_count > 0}}">
|
||||||
|
<text wx:if="{{goods.total_limit_count > 0}}">每人限购{{goods.total_limit_count}}份</text>
|
||||||
|
<text wx:if="{{goods.one_limit_count > 0}}"> 每单限购{{goods.one_limit_count}}份</text>
|
||||||
|
</view>
|
||||||
|
<view class="saleNum">已售{{goods.seller_count}}{{goods_sale_unit}},剩余{{goods.total}}{{goods_sale_unit}}</view>
|
||||||
|
</view>
|
||||||
|
<button class="shareBtn" hoverClass="none" openType="share">
|
||||||
|
<image class="shareImg" src="../../images/shareImg.png"></image>
|
||||||
|
</button>
|
||||||
|
</view>
|
||||||
|
<view class="detailBottom">
|
||||||
|
<view class="price">¥
|
||||||
|
<text class="salePrice">{{goods.price_front}}</text>.{{goods.price_after}}</view>
|
||||||
|
<view class="time">
|
||||||
|
<text wx:if="{{goods.over_type == 1}}">距结束</text>
|
||||||
|
<text class="endAct" wx:if="{{goods.over_type == 0}}">距开始</text>
|
||||||
|
<text class="endAct" wx:if="{{goods.over_type == 2}}">结束时间</text>
|
||||||
|
<text class="endAct" wx:if="{{goods.over_type == 2}}">{{goods.end_date}}</text>
|
||||||
|
<view class="countdown-class i-count-down">
|
||||||
|
<em wx:if="{{endtime.days > 0}}">{{endtime.days}}天</em>
|
||||||
|
<span class="item-class">{{endtime.hours}}</span>:
|
||||||
|
<span class="item-class">{{endtime.minutes}}</span>:
|
||||||
|
<span class="item-class">{{endtime.seconds}}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="noComments" style="height:{{containerHeight}}px" wx:if="{{showData===0}}">
|
||||||
|
<view class="noCommentsCon">
|
||||||
|
<image class="noCommentsImg" src="../../images/noData.png"></image>
|
||||||
|
<view class="noCommentsTit">暂无评论</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="comments" wx:if="{{showData===1}}">
|
||||||
|
<view class="commentsDetail">
|
||||||
|
<view class="commentsList" wx:for="{{list}}" wx:key="id">
|
||||||
|
<i-card>
|
||||||
|
<view class="commentsListInfo" slot="content">
|
||||||
|
<view class='comment-user'>
|
||||||
|
<image src='{{item.avatar}}'></image>
|
||||||
|
<text>{{item.user_name}}</text>
|
||||||
|
</view>
|
||||||
|
<view bindlongpress="copy" bindtap="bindOpen" class="commentsCon {{item.isOpen&&item.showOpen?'doubleHidden':''}}" data-idx="{{index}}" data-val="{{item.content}}">{{item.content}}</view>
|
||||||
|
<view class="commentsOpen" wx:if="{{item.showOpen}}">
|
||||||
|
<text bindtap="bindOpen" data-idx="{{index}}">{{item.isOpen?'展开':'收起'}}</text>
|
||||||
|
<image class="commentsOpenImg {{item.isOpen?'down':''}}" src="../../images/commentsOpen.png"></image>
|
||||||
|
</view>
|
||||||
|
<view class="commentsImgCon" wx:if="{{item.images.length > 0}}">
|
||||||
|
<view class="commentsImg" wx:for="{{item.images}}" wx:for-index="idx" wx:for-item="imgItem" wx:key="index">
|
||||||
|
<i-img bindtap="preview" class="goodsImg" data-idx="{{idx}}" data-index="{{index}}" height="75" iClass="img-class" imgType="5" loadImage="{{imgItem}}" width="75"></i-img>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="commentsTime">{{item.add_time}}</view>
|
||||||
|
</view>
|
||||||
|
</i-card>
|
||||||
|
</view>
|
||||||
|
<i-load-more iClass="loadMore" loading="{{loadMore}}" tip="{{tip}}"></i-load-more>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!--底部按钮begin-->
|
||||||
|
<view class='i-fixed-bottom'>
|
||||||
|
<view class="goods-bottom-bar">
|
||||||
|
<view class="leftBtn">
|
||||||
|
<navigator hoverClass="none" openType="switchTab" url="/eaterplanet_ecommerce/pages/index/index">
|
||||||
|
<view class="bar-item back-to-index">
|
||||||
|
<image class="icon" src="{{iconArr.home}}"></image>
|
||||||
|
回首页
|
||||||
|
</view>
|
||||||
|
</navigator>
|
||||||
|
<navigator hoverClass="none" openType="switchTab" url="/eaterplanet_ecommerce/pages/order/shopCart">
|
||||||
|
<view class="bar-item shop-cart">
|
||||||
|
<view class="icon">
|
||||||
|
<image src="{{iconArr.car}}"></image>
|
||||||
|
<view class="cart-num" wx:if="{{cartNum}}">{{cartNum}}</view>
|
||||||
|
</view>
|
||||||
|
购物车
|
||||||
|
</view>
|
||||||
|
</navigator>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="goodsStatus" wx:if="{{goods.total<=0}}">已抢光</view>
|
||||||
|
<view class="goodsStatus" wx:elif="{{goods.total > 0 && goods.over_type ==2}}">已结束</view>
|
||||||
|
<view class="goodsStatus" wx:elif="{{goods.grounding != 1}}">已下架</view>
|
||||||
|
<view class="goodsStatus" wx:elif="{{goods.over_type == 0}}">即将开抢</view>
|
||||||
|
<view class="goodsStatus" wx:elif="{{is_comunity_rest == 1}}">团长休息中</view>
|
||||||
|
<view class="gobuy" wx:else>
|
||||||
|
<form bindsubmit="addToCart" reportSubmit="true">
|
||||||
|
<view class="bar-item add-to-cart" style='background: {{goodsdetails_addcart_bg_color}}'>加入购物车</view>
|
||||||
|
<button class="btn" formType="submit"></button>
|
||||||
|
</form>
|
||||||
|
<form bindsubmit="submit" reportSubmit="true">
|
||||||
|
<button hidden formType="submit" id="formId"></button>
|
||||||
|
</form>
|
||||||
|
<label class="balanceBtn" for="formId">
|
||||||
|
<view bindtap="balance" class="bar-item balance" style='background: {{goodsdetails_buy_bg_color}}'>立即购买</view>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!--底部按钮end-->
|
||||||
|
|
||||||
|
<view class="mask" bindtap='closeSku' hidden="{{!visible}}"></view>
|
||||||
|
<!---规格选择begin-->
|
||||||
|
<view bind:cancel="close" class='sku-content' scrollUp="{{true}}" hidden="{{!visible}}">
|
||||||
|
<view class="sku-card">
|
||||||
|
<view bindtap="closeSku" class="close">
|
||||||
|
<image src="../../images/icon-sku-close.png"></image>
|
||||||
|
</view>
|
||||||
|
<view class="sku-header">
|
||||||
|
|
||||||
|
<image src='{{cur_sku_arr.skuImage}}' style="width:80px;height:80px;" class='sku-img'></image>
|
||||||
|
<view class="sku-desc">
|
||||||
|
<view class="sku-title">
|
||||||
|
<span>{{cur_sku_arr.spuName}}</span>
|
||||||
|
</view>
|
||||||
|
<view class="sku-price">
|
||||||
|
<view class="sale-price">
|
||||||
|
¥
|
||||||
|
<span>{{cur_sku_arr.actPrice[0]}}</span>.{{cur_sku_arr.actPrice[1]}}
|
||||||
|
</view>
|
||||||
|
<view class="market-price">¥{{cur_sku_arr.marketPrice[0]}}.{{cur_sku_arr.marketPrice[1]}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="sku-switch-on" wx:if="{{cur_sku_arr.spec}}">已选择:{{cur_sku_arr.spec}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="sku-spec" wx:for="{{skuList.list}}" wx:key="id">
|
||||||
|
<view class="title">{{item.name}}</view>
|
||||||
|
<view class="spec-list">
|
||||||
|
<span bindtap="selectSku" class="{{idx==sku[index]['idx']?'on':''}}" data-disabled="{{item.canBuyNum-value<0}}" data-type="{{index}}_{{idx}}_{{value.option_value_id}}_{{value.name}}" wx:for-index="idx" data-idx="{{idx}}" wx:for="{{item.option_value}}"
|
||||||
|
wx:for-item="value">{{value.name}}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="sku-num-content">
|
||||||
|
<view class="title">数量</view>
|
||||||
|
|
||||||
|
<view class="i-class i-input-number i-input-number-size-{{size}}">
|
||||||
|
<view bindtap="setNum" data-type="decrease" class="i-input-number-minus {{value<=min?'i-input-number-disabled':''}}">
|
||||||
|
<image src="../../images/icon-input-reduce.png"></image>
|
||||||
|
</view>
|
||||||
|
<input bindblur="handleBlur" bindfocus="handleFocus" class="i-input-number-text {{min>=max?'i-input-number-disabled':''}}" disabled="true" type="number" value="{{sku_val}}"></input>
|
||||||
|
<view bindtap="setNum" data-type="add" class="i-input-number-plus {{value>=max?'i-input-number-disabled':''}}">
|
||||||
|
<image src="../../images/icon-input-add.png"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="msg" wx:if="{{skuList[current].isLimit}}">
|
||||||
|
<span wx:if="{{skuList[current].limitMemberNum>-1}}">每人限{{skuList[current].limitMemberNum}}单</span>
|
||||||
|
<span wx:if="{{skuList[current].limitOrderNum>-1}}">每单限{{skuList[current].limitOrderNum}}份</span>
|
||||||
|
<span></span>
|
||||||
|
</view>
|
||||||
|
<view class="even-num" wx:elif="{{!skuList[current].isLimit&&skuList[current].canBuyNum-value<=10&&skuList[current].canBuyNum-value>-1}}">还可以购买 {{skuList[current].canBuyNum-value}} 件</view>
|
||||||
|
</view>
|
||||||
|
<form bindsubmit="gocarfrom" report-submit="true">
|
||||||
|
<button formType="submit" class="sku-confirm" disabled='{{cur_sku_arr.stock==0 ? true : false}}'>
|
||||||
|
<view>{{cur_sku_arr.stock==0?"已抢光":"确定"}}</view>
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!---规格选择end-->
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<i-new-auth needAuth="{{needAuth&&showAuthModal}}" bind:authSuccess="authSuccess" bind:cancel="authModal" needPosition="{{needPosition}}"></i-new-auth>
|
||||||
|
|
||||||
|
<i-vip-modal visible="{{showVipModal}}" imgUrl="{{pop_vipmember_buyimage}}" />
|
|
@ -0,0 +1,395 @@
|
||||||
|
.noComments {
|
||||||
|
height: 100%;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.noComments .noCommentsCon {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
padding-bottom: 260rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.noComments .noCommentsCon .noCommentsImg {
|
||||||
|
width: 218rpx;
|
||||||
|
height: 218rpx;
|
||||||
|
margin-top: 260rpx;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.noComments .noCommentsCon .noCommentsTit {
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments {
|
||||||
|
padding-bottom: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments .commentsDetail {
|
||||||
|
padding: 0 20rpx;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
margin-bottom: 120rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments .commentsDetail .commentsList {
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments .commentsDetail .commentsList .commentsListInfo {
|
||||||
|
padding: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments .commentsDetail .commentsList .commentsListInfo .commentsCon {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666;
|
||||||
|
line-height: 44rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments .commentsDetail .commentsList .commentsListInfo .doubleHidden {
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 3;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: initial;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments .commentsDetail .commentsList .commentsListInfo .commentsOpen {
|
||||||
|
height: 22rpx;
|
||||||
|
font-size: 22rpx;
|
||||||
|
color: #444;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments .commentsDetail .commentsList .commentsListInfo .commentsOpen .commentsOpenImg {
|
||||||
|
width: 16rpx;
|
||||||
|
height: 8rpx;
|
||||||
|
margin-left: 6rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments .commentsDetail .commentsList .commentsListInfo .commentsOpen .down {
|
||||||
|
transform: rotate(180deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments .commentsDetail .commentsList .commentsListInfo .commentsImgCon {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments .commentsDetail .commentsList .commentsListInfo .commentsImgCon .commentsImg {
|
||||||
|
margin-right: 16rpx;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments .commentsDetail .commentsList .commentsListInfo .commentsImgCon .commentsImg .goodsImg {
|
||||||
|
width: 150rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments .commentsDetail .commentsList .commentsListInfo .commentsImgCon .commentsImg .goodsImg .img-class {
|
||||||
|
width: 150rpx;
|
||||||
|
height: 150rpx;
|
||||||
|
border-radius: 4rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments .commentsDetail .commentsList .commentsListInfo .commentsImgCon .commentsImg:last-child {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comments .commentsDetail .commentsList .commentsListInfo .commentsTime {
|
||||||
|
font-size: 22rpx;
|
||||||
|
color: #aaa;
|
||||||
|
line-height: 22rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.canvas-img {
|
||||||
|
position: absolute;
|
||||||
|
top: -20000rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
button::after {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo {
|
||||||
|
background: #fff;
|
||||||
|
padding: 30rpx;
|
||||||
|
border-top: 0.1rpx solid #efefef;
|
||||||
|
border-bottom: 0.1rpx solid #efefef;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsImg {
|
||||||
|
width: 180rpx;
|
||||||
|
margin-right: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsImg .img-class {
|
||||||
|
width: 180rpx;
|
||||||
|
height: 180rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail {
|
||||||
|
width: 480rpx;
|
||||||
|
min-height: 180rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailTop {
|
||||||
|
min-height: 120rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailTop .detailTopInfo {
|
||||||
|
width: 380rpx;
|
||||||
|
padding-right: 20rpx;
|
||||||
|
border-right: 2rpx dashed #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailTop .detailTopInfo .goodsName {
|
||||||
|
width: 380rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #444;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 32rpx;
|
||||||
|
margin-bottom: 6rpx;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: initial;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailTop .detailTopInfo .purchasing,
|
||||||
|
.goodsInfo .goodsDetail .detailTop .detailTopInfo .saleNum {
|
||||||
|
font-size: 22rpx;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailTop .shareBtn {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
background: #fff;
|
||||||
|
padding: 0;
|
||||||
|
margin-right: 4rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailTop .shareBtn .shareImg {
|
||||||
|
width: 42rpx;
|
||||||
|
height: 36rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailBottom {
|
||||||
|
margin-top: 10rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailBottom .price {
|
||||||
|
font-size: 20rpx;
|
||||||
|
color: #ff758c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailBottom .price text {
|
||||||
|
font-size: 36rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailBottom .time {
|
||||||
|
width: 290rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #444;
|
||||||
|
white-space: nowrap;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailBottom .time .countdown {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goodsInfo .goodsDetail .detailBottom .time .countdown .itemTime {
|
||||||
|
width: 38rpx;
|
||||||
|
height: 32rpx;
|
||||||
|
background: #444;
|
||||||
|
border-radius: 4rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #fff;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***商品底部按钮begin **/
|
||||||
|
|
||||||
|
.goods-bottom-bar {
|
||||||
|
height: 96rpx;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .leftBtn {
|
||||||
|
height: 94rpx;
|
||||||
|
display: flex;
|
||||||
|
border-top: 2rpx solid #efefef;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .leftBtn .bar-item {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .leftBtn .back-to-index {
|
||||||
|
width: 132rpx;
|
||||||
|
height: 94rpx;
|
||||||
|
font-size: 20rpx;
|
||||||
|
color: #707070;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .leftBtn .back-to-index image {
|
||||||
|
width: 54rpx;
|
||||||
|
height: 54rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .leftBtn .shop-cart {
|
||||||
|
width: 132rpx;
|
||||||
|
height: 96rpx;
|
||||||
|
font-size: 20rpx;
|
||||||
|
color: #707070;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .leftBtn .shop-cart .icon {
|
||||||
|
width: 54rpx;
|
||||||
|
height: 54rpx;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .leftBtn .shop-cart .icon image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .leftBtn .shop-cart .icon .cart-num {
|
||||||
|
position: absolute;
|
||||||
|
right: -16rpx;
|
||||||
|
top: -4rpx;
|
||||||
|
width: 36rpx;
|
||||||
|
height: 36rpx;
|
||||||
|
background: #ff758c;
|
||||||
|
border-radius: 36rpx;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 22rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .goodsStatus {
|
||||||
|
width: 100%;
|
||||||
|
height: 96rpx;
|
||||||
|
background: #dcdcdc;
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #fff;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .gobuy {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .gobuy .add-to-cart {
|
||||||
|
width: 240rpx;
|
||||||
|
height: 96rpx;
|
||||||
|
background: linear-gradient(270deg,#4facfe 0%,#00f2fe 100%);
|
||||||
|
color: #fff;
|
||||||
|
font-size: 30rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .gobuy .btn {
|
||||||
|
width: 208rpx;
|
||||||
|
height: 96rpx;
|
||||||
|
position: absolute;
|
||||||
|
opacity: 0;
|
||||||
|
z-index: 9;
|
||||||
|
top: 0;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .gobuy .balanceBtn {
|
||||||
|
display: flex;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-bottom-bar .gobuy .balanceBtn .balance {
|
||||||
|
height: 96rpx;
|
||||||
|
flex: 1;
|
||||||
|
background: linear-gradient(90deg,#4facfe 0%,#00f2fe 100%);
|
||||||
|
color: #fff;
|
||||||
|
font-size: 30rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.i-fixed-bottom {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0px;
|
||||||
|
z-index: 100;
|
||||||
|
width: 100%;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***商品底部按钮end **/
|
||||||
|
|
||||||
|
.comment-user {
|
||||||
|
line-height: 60rpx;
|
||||||
|
display: flex;
|
||||||
|
margin-bottom: 10rpx
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment-user image {
|
||||||
|
width: 60rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-right: 14rpx;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment-user text {
|
||||||
|
font-size: 26rpx;
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
"navigationBarTitleText": "商品详情",
|
||||||
|
"navigationBarBackgroundColor": "#007FAF",
|
||||||
|
"usingComponents": {
|
||||||
|
"ep-navBar": "../../components/navigation-bar",
|
||||||
|
"i-new-auth": "../../components/new-auth/index",
|
||||||
|
"i-order-notify": "../../components/order-notify/index",
|
||||||
|
"i-relative-goods-list": "./relativeGoodsList",
|
||||||
|
"i-change-community": "../../components/changeCommunity/index",
|
||||||
|
"guess-like": "../../components/guess-like/index",
|
||||||
|
"i-vip-price": "../../components/vipPrice/vipPrice",
|
||||||
|
"parser":"../../components/parser/parser",
|
||||||
|
"i-img": "../../components/img/index",
|
||||||
|
"i-modal": "../../components/modal/index",
|
||||||
|
"advimg": "../../components/advimg/index",
|
||||||
|
"i-painter": "../../components/painter/painter"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,587 @@
|
||||||
|
<ep-navBar ref='' backgroundColorTop='linear-gradient(90deg, #e7614d 0%, #e68475 100%);' color='#fff' iconTheme='white' bindback="handlerGobackClick" titleimg="{{true}}" ></ep-navBar>
|
||||||
|
<movable-area>
|
||||||
|
<view class='goods-wrapper'>
|
||||||
|
<view class='ui-mask' bindtap='hide_share_handler' hidden='{{is_share_html}}'></view>
|
||||||
|
<view class="model-services show" hidden='{{is_share_html}}'>
|
||||||
|
<view class="model-services-title">分享</view>
|
||||||
|
<view class="model-services-content">
|
||||||
|
<view class="service-list">
|
||||||
|
<view class="service-item">
|
||||||
|
<button open-type="share" class='none_btn' plain="true">
|
||||||
|
<text class="iconfont icon-weixin2 service-icon"></text>
|
||||||
|
<view class="cube-text">
|
||||||
|
<text>好友</text>
|
||||||
|
</view>
|
||||||
|
</button>
|
||||||
|
</view>
|
||||||
|
<view class="service-item" bindtap='get_share_img'>
|
||||||
|
<text class="iconfont icon-pengyouquan service-icon"></text>
|
||||||
|
<view class="cube-text">
|
||||||
|
<text>海报</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="spuInfoImg" style='height:{{imageSize.imageHeight}}px;background: url("/eaterplanet_ecommerce/images/index-comming-goods-bitmap.png"); background-size: 100% 100%;'>
|
||||||
|
<view wx:if="{{goods.label_info && goods.label_info.type==0}}" class='item-tag'>
|
||||||
|
<image class='item-tag-bg' mode='widthFix' src="../../images/tag.png"></image>
|
||||||
|
<view class='tag-name {{goods.label_info.len==2?"two-word":""}}'>{{goods.label_info.tagcontent}}</view>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{goods.label_info && goods.label_info.type==1}}" class='item-tag' style='background:url({{goods.label_info.tagcontent}}) no-repeat left top;background-size: 100%;'></view>
|
||||||
|
<text class="current" wx:if="{{fmShow==true}}">{{goodsIndex}}/{{goods_image_length}}</text>
|
||||||
|
<swiper bindchange="scrollImagesChange" duration="300" style='height:{{imageSize.imageHeight}}px' interval="5000" circular autoplay="{{!goods.video}}">
|
||||||
|
<swiper-item wx:for="{{goods_image}}" wx:key="id">
|
||||||
|
<block wx:if="{{goods.video!=''&&goods.video!=null}}">
|
||||||
|
<image wx:if="{{index!=0}}" src="{{item.image}}" mode="widthFix" bindload="imageLoad" lazy-load="true" bindtap='previewImg' data-idx="{{index}}"></image>
|
||||||
|
<view class='video-wrap i-flex i-flex-alc' style="background:#000;" wx:else>
|
||||||
|
<view wx:if="{{fmShow==true}}" style="width: 100%;">
|
||||||
|
<view class='btn_view centerboth' wx:if="{{item.video==''}}"></view>
|
||||||
|
<view class='btn_view centerboth' wx:else bindtap='btnPlay'>
|
||||||
|
<image src='../../images/play.png'></image>
|
||||||
|
</view>
|
||||||
|
<image src="{{item.image}}" mode="widthFix" bindload="imageLoad" lazy-load="true" data-idx="{{index}}"></image>
|
||||||
|
</view>
|
||||||
|
<video class='swiper-video' bindloadedmetadata="handleLoadedMetaData" hidden="{{fmShow}}" id="myVideo" src="{{goods.video}}" bindended="videEnd" object-fit="contain" style='{{videoStyle}}'></video>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<image wx:else src="{{item.image}}" mode="widthFix" bindload="imageLoad" lazy-load="true" bindtap='previewImg' data-idx="{{index}}"></image>
|
||||||
|
</swiper-item>
|
||||||
|
</swiper>
|
||||||
|
</view>
|
||||||
|
<view hidden="{{fmShow}}" class='end-play' bindtap='endPlay'>
|
||||||
|
<text class='btn'>退出播放</text>
|
||||||
|
</view>
|
||||||
|
<view class="spuInfo" style='z-index: {{fmShow==false?-1:2}}'>
|
||||||
|
<view class="spuPrice">
|
||||||
|
<image class='spuPriceBg' src='{{goods_details_price_bg?goods_details_price_bg:"../../images/shareBottomBg.png"}}'></image>
|
||||||
|
<!-- 预售商品价格信息 -->
|
||||||
|
<block class="price" wx:if="{{buy_type=='presale'}}">
|
||||||
|
<view class="price" wx:if="{{presale_goods_info.presale_type==0}}">
|
||||||
|
<view>定金:¥{{presale_goods_info.presale_ding_money}} <text class="fsz-22 ml10 weight" style="color:#f8e71c;">可抵扣:¥{{presale_goods_info.presale_deduction_money}}</text></view>
|
||||||
|
<view>预售价:¥{{goods.price}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="price" wx:else>
|
||||||
|
<view>预售价:¥{{goods.price}}</view>
|
||||||
|
<view>原价:¥{{goods.productprice}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="time">
|
||||||
|
<text wx:if="{{presaleState == 1}}">预售{{presale_goods_info.presale_type==0?'定金':''}}截止</text>
|
||||||
|
<text class="endAct" wx:if="{{presaleState == 0}}">距开始预售</text>
|
||||||
|
<text class="endAct" wx:if="{{presaleState == 2}}">结束时间</text>
|
||||||
|
<text class="endAct" wx:if="{{presaleState == 2}}">{{presale_goods_info.presale_ding_time_end_date}}</text>
|
||||||
|
<view class="countdown-class i-count-down" wx:else>
|
||||||
|
<em wx:if="{{endtime.days > 0}}">{{endtime.days}}天</em>
|
||||||
|
<span class="item-class">{{endtime.hours}}</span>:
|
||||||
|
<span class="item-class">{{endtime.minutes}}</span>:
|
||||||
|
<span class="item-class">{{endtime.seconds}}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<!-- 其他商品价格信息 -->
|
||||||
|
<block wx:else>
|
||||||
|
<view class="price">
|
||||||
|
<block wx:if="{{buy_type=='integral'}}">
|
||||||
|
<text class="salePrice">{{goods.price_front}}</text>积分
|
||||||
|
<text class="storePrice">¥{{goods.productprice}}</text>
|
||||||
|
</block>
|
||||||
|
<block wx:else>
|
||||||
|
¥<text class="salePrice">{{goods.price_front}}</text>.{{goods.price_after}}
|
||||||
|
<text class="storePrice">¥{{goods.productprice}}</text>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view class="time" wx:if="{{is_close_details_time==0}}">
|
||||||
|
<text wx:if="{{goods.over_type == 1}}">距结束</text>
|
||||||
|
<text class="endAct" wx:if="{{goods.over_type == 0}}">距开始</text>
|
||||||
|
<text class="endAct" wx:if="{{goods.over_type == 2}}">结束时间</text>
|
||||||
|
<text class="endAct" wx:if="{{goods.over_type == 2}}">{{goods.end_date}}</text>
|
||||||
|
<view class="countdown-class i-count-down" wx:else>
|
||||||
|
<em wx:if="{{endtime.days > 0}}">{{endtime.days}}天</em>
|
||||||
|
<span class="item-class">{{endtime.hours}}</span>:
|
||||||
|
<span class="item-class">{{endtime.minutes}}</span>:
|
||||||
|
<span class="item-class">{{endtime.seconds}}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view class="spuDetailInfo">
|
||||||
|
<view class="spuName">
|
||||||
|
<text wx:if="{{goods.is_seckill==1}}" class="red" style="font-size:30rpx;">[秒杀] </text>
|
||||||
|
<text wx:elif="{{goods.type=='presale'}}" class="red" style="font-size:30rpx;">[预售] </text>
|
||||||
|
{{goods.goodsname}}
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{goods.subtitle}}" class="fsz-26 p5 text-gray">{{goods.subtitle}}</view>
|
||||||
|
<view wx:if="{{buy_type=='virtualcard'}}" class="u-m-t-15 u-m-l-10">
|
||||||
|
可兑换<text class="weight" style="color: #ff5344;"> {{virtualcard_goods_info.code_money}} </text>元
|
||||||
|
</view>
|
||||||
|
<block wx:if="{{buy_type!='presale'&&buy_type!='virtualcard'}}">
|
||||||
|
<!-- 核销自提 -->
|
||||||
|
<view class="fsz-22 i-flex mt10 i-aic" wx:if="{{is_only_hexiao==1}}">
|
||||||
|
<view class="hexiao text-6"><text class="iconfont icon-gou red fsz-22"></text> 自提商品</view>
|
||||||
|
<view class="hexiao text-6" bindtap="handleHexiaoModal" wx:if="{{hx_len}}">
|
||||||
|
<text class="iconfont icon-gou red fsz-22"></text> 支持多点自提
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<block wx:if="{{buy_type!='integral'}}">
|
||||||
|
<view class="comiss" wx:if="{{is_commiss_mb==1&&commiss_mb_money>0&&!hideCommissInfo}}">
|
||||||
|
<text class="con">{{groupInfo.commiss_diy_name}}预估佣金:¥{{commiss_mb_money}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="comiss" wx:if="{{is_goods_head_mb==1&&goods_head_money>0&&!hideCommissInfo}}">
|
||||||
|
<text class="con">{{groupInfo.owner_name}}预估佣金:¥{{goods_head_money}}</text>
|
||||||
|
</view>
|
||||||
|
<!-- 会员、等级价格 -->
|
||||||
|
<i-vip-price wx:if="{{is_open_vipcard_buy==1&&goods.is_take_vipcard==1}}" price="{{goods.card_price}}"></i-vip-price>
|
||||||
|
<i-vip-price wx:if="{{is_member_level_buy==1&&goods.is_mb_level_buy==1&&(goods.price!=goods.levelprice)}}" price="{{goods.levelprice}}" type="1"></i-vip-price>
|
||||||
|
</block>
|
||||||
|
<view class="remind" wx:if="{{is_show_ziti_time==1&&goods.is_show_arrive==1&&delivery_type_ziti==1}}">
|
||||||
|
<image class="remindImg" src="../../images/icon-give.png"></image>
|
||||||
|
<text>现在下单,预计({{goods.pick_up_modify}})可自提</text>
|
||||||
|
</view>
|
||||||
|
<view class="remind" wx:if="{{goods.diy_arrive_switch==1&&goods.diy_arrive_details}}">
|
||||||
|
<image class="remindImg" src="../../images/icon-give.png"></image>
|
||||||
|
<text>{{goods.diy_arrive_details}}</text>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<view class="preferential i-flex" wx:if="{{buy_type!='integral'&&buy_type!='presale'&&buy_type!='virtualcard'&&(goods.is_take_fullreduction==1||goods.is_modify_sendscore==1)}}">
|
||||||
|
<view wx:if="{{goods.is_take_fullreduction==1}}">
|
||||||
|
<text class="tit">满减</text>
|
||||||
|
<text class="con">满{{goods.full_money}}元减{{goods.full_reducemoney}}元</text>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{goods.is_modify_sendscore==1&&goods.open_buy_send_score==1}}">
|
||||||
|
<text class="tit">赠送</text>
|
||||||
|
<text class="con">下单预估赠送{{goods.send_socre}}积分</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="purchasing pb10" wx:if="{{goods.one_limit_count > 0 || goods.total_limit_count > 0}}">
|
||||||
|
<text class="purTit">限购</text>
|
||||||
|
<text wx:if="{{goods.total_limit_count > 0}}">每人限购{{goods.total_limit_count}}份</text>
|
||||||
|
<text wx:if="{{goods.one_limit_count > 0}}"> 每单限购{{goods.one_limit_count}}份</text>
|
||||||
|
</view>
|
||||||
|
<view class="saleNum" wx:if="{{buy_type=='presale'}}">
|
||||||
|
<view class="stock">已预订<text class="remaining"> {{goods.seller_count}} </text>{{goods_sale_unit}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="saleNum" wx:if="{{is_hide_details_count!=1&&buy_type!='presale'}}">
|
||||||
|
<text class="purTit">销量</text>
|
||||||
|
<view class="stock">已售
|
||||||
|
<text class="remaining"> {{goods.seller_count}} </text>{{goods_sale_unit}},仅剩
|
||||||
|
<text class="remaining"> {{goods.total}} </text>{{goods_sale_unit}}</view>
|
||||||
|
</view>
|
||||||
|
<!-- 会员 -->
|
||||||
|
<!-- 是会员 不是会员商品 不显示 -->
|
||||||
|
<block wx:if="{{goods.is_take_vipcard==1&&is_vip_card_member==1&&is_open_vipcard_buy==1}}">
|
||||||
|
<view class="vip i-flex i-flex-spb" bindtap="goLink" data-link="/eaterplanet_ecommerce/moduleA/vip/upgrade">
|
||||||
|
<view class="i-flex vip-name">
|
||||||
|
<image src="{{modify_vipcard_logo}}" wx:if="{{modify_vipcard_logo}}" class="vip-logo"></image>
|
||||||
|
<text class="iconfont icon-huiyuan" style="font-size:30rpx;" wx:else></text> “{{modify_vipcard_name}}”
|
||||||
|
<block wx:if="{{goods.is_take_vipcard==1}}">会员立省{{goods.feePrice}}元</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view class="vip i-flex i-flex-spb" wx:if="{{is_open_vipcard_buy==1&&is_vip_card_member!=1}}" bindtap="goLink" data-link="/eaterplanet_ecommerce/moduleA/vip/upgrade">
|
||||||
|
<view class="i-flex vip-name">
|
||||||
|
<image src="{{modify_vipcard_logo}}" wx:if="{{modify_vipcard_logo}}" class="vip-logo"></image>
|
||||||
|
<text class="iconfont icon-huiyuan" style="font-size:30rpx;" wx:else></text>
|
||||||
|
<block wx:if="{{goods.is_take_vipcard==1}}">开通“{{modify_vipcard_name}}”立省{{goods.feePrice}}元</block>
|
||||||
|
<block wx:else>“{{modify_vipcard_name}}” 尊享特权·会员专享价</block>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{is_vip_card_member==0}}">立即开通
|
||||||
|
<text class="iconfont icon-youjiantou goright"></text>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{is_vip_card_member==2}}">
|
||||||
|
<text style="color:#5c5c5c;">已到期,</text>立即续费
|
||||||
|
<text class="iconfont icon-youjiantou goright"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 弹窗广告 -->
|
||||||
|
<advimg pos="1" />
|
||||||
|
|
||||||
|
<!-- 尾款信息 -->
|
||||||
|
<view class="buyRecords py10" wx:if="{{buy_type=='presale'&&presale_goods_info.presale_type==0}}">
|
||||||
|
<view class="i-flex pl20 dingjin i-flex-alc">
|
||||||
|
<view class="fsz-26 weight">尾款</view>
|
||||||
|
<view class="i-flex-item ml30">
|
||||||
|
<view class="price fsz-24">
|
||||||
|
¥<text class="fsz-34 weight">{{presaleBalance}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="fsz-24 text-gray">({{presale_goods_info.presale_ding_time_start_date}}-{{presale_goods_info.presale_ding_time_end_date}})</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="i-flex pl20 dingjin i-flex-alc mt10">
|
||||||
|
<view class="fsz-26 weight">流程</view>
|
||||||
|
<view class="i-flex-item ml30">
|
||||||
|
<view class="fsz-28">
|
||||||
|
1.付定金 - 2.付尾款 - 3.商家发货
|
||||||
|
</view>
|
||||||
|
<view class="fsz-24 text-gray">
|
||||||
|
<block wx:if="{{presale_goods_info.presale_sendorder_type==0}}">{{presale_goods_info.presale_sendorder_datetime}}开始发货</block>
|
||||||
|
<block wx:else>付款成功后{{presale_goods_info.presale_sendorder_afterday}}日内发货</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<block wx:if="{{buy_type!='presale'&&buy_type!='virtualcard'}}">
|
||||||
|
<!-- 团长信息 -->
|
||||||
|
<view class='group' bindtap="changeCommunity" wx:if="{{is_show_goodsdetails_communityinfo==1&&community&&community.communityName}}">
|
||||||
|
<view class="group-avatar">
|
||||||
|
<image src='{{community.headImg||community.disUserHeadImg}}'></image>
|
||||||
|
</view>
|
||||||
|
<view class='group-m'>
|
||||||
|
<view class='group-title'>{{community.communityName}}</view>
|
||||||
|
<view class='group-desc'><text style="color:#333;">取货地址:</text>{{community.fullAddress}}</view>
|
||||||
|
</view>
|
||||||
|
<view class='group-r' wx:if="{{hide_community_change_btn==0}}">
|
||||||
|
<image class="group-r-icon" src="../../images/community-right-arrow.png"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 团长群 -->
|
||||||
|
<view class='group' wx:if="{{isopen_community_group_share==1&&group_share_info}}" bindtap="showGroupCode">
|
||||||
|
<view class="group-avatar">
|
||||||
|
<image src='{{group_share_info.share_avatar}}'></image>
|
||||||
|
</view>
|
||||||
|
<view class='group-m'>
|
||||||
|
<view class='group-title'>{{group_share_info.share_title}}</view>
|
||||||
|
<view class='group-desc'>{{group_share_info.share_desc}}</view>
|
||||||
|
</view>
|
||||||
|
<view class='group-r'>
|
||||||
|
<view class='group-btn' style="background:{{skin.color}}">马上加群</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<!-- 评价 -->
|
||||||
|
<view wx:if="{{order_comment_count > 0 && is_show_comment_list == 1}}">
|
||||||
|
<view class="straightInLive">
|
||||||
|
<view class="title">
|
||||||
|
商品评价
|
||||||
|
<text class="commentsNum">({{order_comment_count}})</text>
|
||||||
|
</view>
|
||||||
|
<view class="comments" wx:for="{{comment_list}}" wx:key="comment_id">
|
||||||
|
<view class='comment-user'>
|
||||||
|
<image src='{{item.avatar}}'></image>
|
||||||
|
<text>{{item.user_name}}</text>
|
||||||
|
</view>
|
||||||
|
<view bindtap="bindOpen" class="commentsCon {{item.isOpen&&item.showOpen?'doubleHidden':''}}" data-idx="{{index}}">{{item.content}}</view>
|
||||||
|
<view class="commentsOpen" wx:if="{{item.showOpen}}">
|
||||||
|
<text bindtap="bindOpen" data-idx="{{index}}">{{item.isOpen?'展开':'收起'}}</text>
|
||||||
|
<image class="commentsOpenImg down" src="../../images/commentsOpen.png"></image>
|
||||||
|
</view>
|
||||||
|
<view class="allImg" wx:if="{{item.images.length > 0}}">
|
||||||
|
<view class="commentsImg" wx:for="{{item.images}}" wx:for-index="idx" wx:for-item="imgItem" wx:key="id">
|
||||||
|
<i-img class="goodsImg" height="75" iClass="img-class" imgType="5" loadImage="{{imgItem}}" width="75"></i-img>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<navigator class="checkComments" hoverClass="none" url="/eaterplanet_ecommerce/pages/goods/comment?id={{item.goods_id}}">查看全部评论</navigator>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 购买记录 -->
|
||||||
|
<view wx:if="{{buy_record_arr.count>0 && is_show_buy_record==1}}">
|
||||||
|
<view class="buyRecords">
|
||||||
|
<navigator class="moreBuyer" hoverClass="none" url="/eaterplanet_ecommerce/pages/goods/buyRecords?id={{goods_id}}">
|
||||||
|
<view class="title">
|
||||||
|
购买记录
|
||||||
|
<view class="buyNum">
|
||||||
|
已有
|
||||||
|
<text>{{buy_record_arr.count}}</text> 人购买,商品共销售
|
||||||
|
<text>{{goods.seller_count}}</text> 份
|
||||||
|
<image class="goBuyRecords" src="../../images/community-right-arrow.png"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</navigator>
|
||||||
|
<view class="buyerList">
|
||||||
|
<image wx:for="{{buy_record_arr.list}}" wx:key="id" src='{{item.avatar}}' class='buyerImg img-class' style='height:90rpx;height:90rpx;'></image>
|
||||||
|
<navigator class="moreBuyer" hoverClass="none" url="/eaterplanet_ecommerce/pages/goods/buyRecords?id={{goods_id}}">
|
||||||
|
<image class="buyerImg" src="../../images/moreBuyer.png"></image>
|
||||||
|
</navigator>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 关联商品 -->
|
||||||
|
<i-relative-goods-list list="{{relative_goods_list}}" bind:openSku="openSku" needAuth="{{needAuth}}" bind:authModal="authModal" wx:if="{{loaded}}"></i-relative-goods-list>
|
||||||
|
<!-- 详情 -->
|
||||||
|
<view class="spuDetail" wx:if="{{ishide_details_desc!=1}}">
|
||||||
|
<image class="goodsDetailTitleImg" src="{{goods_details_title_bg?goods_details_title_bg:'../../images/goodsDetailTitle.png'}}" mode="widthFix"></image>
|
||||||
|
<view class="warmPrompt">
|
||||||
|
<view class="wxParse">
|
||||||
|
<parser html="{{goods.description}}" use-cache lazy-load bind:imgtap="bindimgtap" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="service">
|
||||||
|
<view class="detailLogo">
|
||||||
|
<text></text>
|
||||||
|
<image wx:if="{{goods_details_middle_image}}" mode='widthFix' class="detailLogoImg" src="{{goods_details_middle_image}}"></image>
|
||||||
|
<text></text>
|
||||||
|
</view>
|
||||||
|
<view class="instructions" wx:if="{{!noIns}}">
|
||||||
|
<view class="wxParse">
|
||||||
|
<parser html="{{instructions}}" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<navigator url='/eaterplanet_ecommerce/pages/goods/industrial?id={{goods_id}}' class='cell' wx:if="{{goods_industrial_switch==1&&goods_industrial}}">
|
||||||
|
<view class='cell-left'>
|
||||||
|
<image class='cell-icon' mode='widthFix' src='data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCABLAEsDASIAAhEBAxEB/8QAHQAAAgIDAQEBAAAAAAAAAAAABgcECAIDBQEACf/EADcQAAEDAwIDBwEGBQUAAAAAAAECAwQABRESIQYxQQcTFCJRYXGBMkJSkbHBFSNyodEWQ4Lh8P/EABsBAAMAAwEBAAAAAAAAAAAAAAUGBwIDBAAB/8QAMREAAQMCBAMHBAEFAAAAAAAAAQIDEQAEBQYSITFBcVFhgZGhscETItHhFDJCUmLw/9oADAMBAAIRAxEAPwC5dfEivulCPHnFqeG2C8tVuZYSB30mZK7tDKlHCQUpBUonBwB6VpffQwjWs7VtZZW8sIQJJrpXfiJq3zTE/ht0lqCQSqLG1pGehVkAH/IoS4p7SWbSyoyl22yJ6LuMpK3v+LDRKifYkVXbtw48j8Uz4UW1zXpTETvHHpegtCQ85pB0IzkISlKQM78/kiNhsCpbfjJpWzGxq1DCSoepJ5D3pWucWfUTpVA6CfmqbYZFZbs0XeIr0T/bB1d0b8T2EdaYnGHbH4q7IXboRujSVYfkXJOlTqPwNNpOGE9cjKsgZph8Dds0GUy2ym6MlfLwd3c7p4eyJAGhwf1AH1pJwYlleYmKhWiVNZjsalOsxi4lB1JGdSufPp68scoTtotFzjrctThbeQPMjJwD11JO4HuM0NRcONr1oUQe389vjRm4wjBX2gyppbYTtqO/H/IcvCPKrfx+PohZC3rPdEZGcsoQ+g/CkKOaLIchEmM1IbzodQFpyN8EZFfntGem2W6tOALZfivJcCNRA1JUD06bVaDs/wC12FLaahQnGJeoFSIT6yzJYH2lJBIKXEp3wcjajNnjS0ri5O3aBw60rZjyO7h7aXbU60neRw9z708K8POsGHEutJcQoKSoBSSDkEHrWZ50zgyJqe1HuUlMSA9JVybQVf2qvPbOkyezjiGX3peWuTDdcJVkhQcKT+opydpVwVFsDkdtGVPbKVqxoGRvy332pL32C2/wPxHAbWtx5+2rdLZzkLaUlf57Gp3mTEpxVm3SrZPEd5/UedOOVmg04m5J4LT5BQJqvMNnxEtljOO8WlGfTJxRzf58W1S4kC62wTI3hVKXFS6prSogpb3G/lxnHr/YHhvqjTGZTf2mnErH0OaO7/YHb+1EurU2GwhTagp2Q7oSpIOQoE59SPkVrcUEkFXCrNmBTKb+3/lGGoVvJEK6jhUTh67cVcKWVliCY6YnEQy2C/kkDU3sAod0cq+1z2G+K5hcRww7Nt023hV8jSkaZSJOpCED7aMDZerPOiq12HhaPCbYmrtUiS2B3jxmqwpR3JSUuJGBjGQPT1rkTeDmZtyU7a7la0RHFJIjiVqcbBwCNO523xk/WsA+jUZEd8caDW+L4Y8+4l46QZKjBTqIP276jy2iN/SonaHDLciLMwnS6jShQz504BSfkZx9Kl9ijanOPmCn7kZ9Xx5CP1IqJ2iSlCWzbOQjFR0dUZwAD74GfqK7HYbG13i6TFnShmF3Wv8ACXFgfok1i8vRbKUew0RZcWjLRLnMEDoTA9KtT2ZS0iCq2JeLiI6ElvJztyI+M9PejE86S/Z9ORZOIAG8vRXsoUorI0A4yrlvvgU6AdqY8n3xucOCFKlSNj05VBsZtvoXRjgd6HOOGELiIdcALZCm3M8sEZ/Y0mrTIjIvbiHHj4RKi04paN3EEEEHryPWm12hrnmMGIriu7UglxsJBK9+hO+R7evxSmcbQh5KG192lasFWMqOeQ+KRs1OITiy1N8RE9QPxFHsvJBtlBXP0qvHEVsds19nWl4YXEfWz8gHY/UYP1oj4Nfd8I0GZiQtkq8p8xbBVndB5oPp6k0R9vNgcRJjcSNDX3iUxppA/wBwD+Ws/wBSdvlPvS7tFpmXCc3FY0tOraU6guHSFJSknY9ScHHrRph9FwyHAdiKsals41g6FLWEkcSd4IG/56UzLJ4dlh7Sm2Qi4suOAQ1kOg9c6gCN+Qz8b5rlPp7qC6xHbhw44UpamkNFtO/JThV5tPLy/NBcS3LcYiKansIMlzQUFZT3XPdXQDA9awetUlqPKeUtvRHkBhQ1HK1Hlgddt6+pZSlRM0Cby0A6dVyDJGxB7Y5nfuqPcnS9cZDpeL2t1Sg4Tkq3503OyGAIXBj0txQS7cX1LSCnOptAKQD7ElVK632K4zL7Gs3h3GJL6gMOJI0p6rPsACc+1WBVERa7fEjRlgR2m0tNtEAgoSMb+55/JoVjdyG2A2Dur2onmi9aRbtWbZBmD4Dh5n2rscCNtXB2MwySp12UEugJxoQnfAx0wDTvA2qv/Ck66xLmZkFzw7JcCVaWgsrJI8oyDuRz60/xypkyN9P+O6B/VIny2+ai+Zmyi5B5GubxFDMuES2nLrfmSPUdR/70pWX5lqIt6cwNLqkHA5AK6npvTO4ruUu22/vIUZTzzh0pVjKUe5Gd/ilNxBNmyHluS1KQtZJP8oN/tQTPLdqbpJQYcj7hG0ct+346V7AEOKP+vWuW5FXNszrN1IlQZSC282djg9QehGxB6GldfeFIFjkxo10fv16WpJ8GzAjhCNAPLWc+blkBNMRb7q1iO2hbiSdm0HGf8CpBMt0PsrzpfSQ622+UK5fdKTlJ2xtS3h945bAoUftPhT9a3TtmokGAd4ED9jwieE0skWDUnLXZXeFp/E9OdCz9NI/SoUy02dpaGp3DvFXDzqlDu1pBkN6unlUlJ/I5rp3rs+nvTe9tl9UtlSvMJzqg619RkL+mDRjwnZXbJb3G2bjOmLXgOPSHlBsb/cQTgfJ3o05dttICw5Pir5J9qOP4klpsLQ5JPKV7ddRUPQzXnBnCz9qlvy5M3xt1lAITIUjR3bKQAEhJ5E4GfjHTcktjb778m2S3StCwNKuqT6itDSHlMIeUstlsaUlCgcjnv+daRPlQniuIod4djlGon5Hr0zSxcvOXThUs/qld1TtyVEkE+URwiOHhTB4Osbcq8NLS1iDAOoeinPujcb/iP0pkjlSj7OuNLyLrFsk6Ch6O8rQ2plASts7kqI6j15Y503BuBVeyk3bosB9EyZ+7aN/+4UgY21cNXOl7s23nasJLDchlTTqQpCuYoZunDz4BVGWH0fgXsf8ABorrE8qJYngtniQAfTuOBGxHjQ1l9bRlJpPcQWeTGU+n+HrjLdT3aHUNbE88ZHrQ40hTcEw1sBt4EjvCeoBPz0NWErSWGe9Dnct68/a0jP50ovZAaUqW3iB3ifkUdYzEttGlSJ8ars/DnzHy4wmZ7hMZR5deXWpsXvG1IVIaWsNp7vQ4koOd9xnnn9qsFWt9ttwAONoWM8lDP61m7kJtSNIeM9P3XQrNClgJLYgd/wCqSPDFrkyZrr3h1GO95Q2E5B/Kiz/SlwlJS2xFahNn7SlYTgfA3z+VMNtKUJCUJCQOgGBWYrbZ5EtW1annCruGw+T61wXOOvOr1pEUO8KcH22wuGUjVImqTpU+5zAPMJHQHH/dEWKyrw86dba2atmw20mEjlQh59x9ZW4ZNf/Z'></image>
|
||||||
|
<text>工商资质</text>
|
||||||
|
</view>
|
||||||
|
<image class='icon-right' src='../../images/rightArrowImg.png'></image>
|
||||||
|
</navigator>
|
||||||
|
|
||||||
|
<!-- 猜你喜欢 -->
|
||||||
|
<guess-like bind:openSku="openSku" iClass="guessLike" bind:changeCartNum="changeCartNum" bind:vipModal="vipModal" likeTitle="猜你喜欢" controller="goods.goods_guess_like" gid="{{goods_id}}" wx:if="{{goods_id&&loaded}}"></guess-like>
|
||||||
|
|
||||||
|
<image class="sloganImg" src="{{index_bottom_image?index_bottom_image:'../../images/icon-index-slogan.png'}}"></image>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!--底部按钮begin-->
|
||||||
|
<view class='i-fixed-bottom'>
|
||||||
|
<view class="goods-bottom-bar">
|
||||||
|
<view class="leftBtn">
|
||||||
|
<navigator hoverClass="none" openType="switchTab" url="/eaterplanet_ecommerce/pages/index/index">
|
||||||
|
<view class="bar-item back-to-index">
|
||||||
|
<image class="icon" src="{{iconArr.home}}"></image>
|
||||||
|
回首页
|
||||||
|
</view>
|
||||||
|
</navigator>
|
||||||
|
<navigator hoverClass="none" openType="switchTab" url="/eaterplanet_ecommerce/pages/order/shopCart">
|
||||||
|
<view class="bar-item shop-cart">
|
||||||
|
<view class="icon">
|
||||||
|
<image src="{{iconArr.car}}"></image>
|
||||||
|
<view class="cart-num" wx:if="{{cartNum}}">{{cartNum}}</view>
|
||||||
|
</view>
|
||||||
|
购物车
|
||||||
|
</view>
|
||||||
|
</navigator>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<button class="goodsStatus" wx:if="{{!loaded}}" loading style="border-radius:0;background:{{goodsdetails_addcart_bg_color}}">加载中</button>
|
||||||
|
<view class="goodsStatus" wx:elif="{{goods.over_type==0&&buy_type!='presale'}}">即将开抢</view>
|
||||||
|
<view class="goodsStatus" wx:elif="{{goods.total<=0}}">已抢光</view>
|
||||||
|
<view class="goodsStatus" wx:elif="{{goods.total>0&&goods.over_type ==2&&buy_type!='presale'}}">已结束</view>
|
||||||
|
<view class="goodsStatus" wx:elif="{{goods.grounding != 1}}">已下架</view>
|
||||||
|
<view class="goodsStatus" wx:elif="{{is_comunity_rest == 1}}">团长休息中</view>
|
||||||
|
<view class="gobuy" wx:elif="{{buy_type == 'integral'}}">
|
||||||
|
<form bindsubmit="submit" reportSubmit="true">
|
||||||
|
<button hidden formType="submit" id="formId"></button>
|
||||||
|
</form>
|
||||||
|
<label class="balanceBtn" for="formId">
|
||||||
|
<view bindtap="balance" class="bar-item balance" style='background: {{goodsdetails_buy_bg_color}}'>立即兑换</view>
|
||||||
|
</label>
|
||||||
|
</view>
|
||||||
|
<!-- 预售 -->
|
||||||
|
<view class="gobuy" wx:elif="{{buy_type == 'presale'}}">
|
||||||
|
<label class="balanceBtn">
|
||||||
|
<view bindtap="balance" class="bar-item balance i-flex" wx:if="{{presaleState==1}}">
|
||||||
|
<view class="fsz-24 presaleTime">
|
||||||
|
<view>{{presale_goods_info.presale_ding_time_end_date}}结束</view>
|
||||||
|
<view wx:if="{{presale_goods_info.presale_sendorder_type==0}}">{{presale_goods_info.presale_sendorder_datetime}}开始发货</view>
|
||||||
|
<view wx:else>付款成功后{{presale_goods_info.presale_sendorder_afterday}}日内发货</view>
|
||||||
|
</view>
|
||||||
|
<view class="text-center" style="flex:2;">支付定金</view>
|
||||||
|
</view>
|
||||||
|
<view wx:elif="{{presaleState==0}}" class="goodsStatus">即将开抢</view>
|
||||||
|
<view wx:elif="{{presaleState==2}}" class="goodsStatus">已结束</view>
|
||||||
|
</label>
|
||||||
|
</view>
|
||||||
|
<!-- 礼品卡 -->
|
||||||
|
<view class="gobuy" wx:elif="{{buy_type == 'virtualcard'}}">
|
||||||
|
<label class="balanceBtn">
|
||||||
|
<view bindtap="balance" class="bar-item balance i-flex">
|
||||||
|
<view class="text-center" style="flex:2;">立即购买</view>
|
||||||
|
</view>
|
||||||
|
</label>
|
||||||
|
</view>
|
||||||
|
<view class="gobuy" wx:else>
|
||||||
|
<form bindsubmit="addToCart" reportSubmit="true">
|
||||||
|
<view class="bar-item add-to-cart" >加入购物车</view>
|
||||||
|
<button class="btn" formType="submit"></button>
|
||||||
|
</form>
|
||||||
|
<form bindsubmit="submit" reportSubmit="true">
|
||||||
|
<button hidden formType="submit" id="formId"></button>
|
||||||
|
</form>
|
||||||
|
<label class="balanceBtn" for="formId">
|
||||||
|
<view bindtap="balance" class="bar-item balance">
|
||||||
|
{{goods.is_seckill==1?"马上抢购":"立即购买"}}
|
||||||
|
</view>
|
||||||
|
</label>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!--底部按钮end-->
|
||||||
|
|
||||||
|
<view class="mask" bindtap='closeSku' hidden="{{!visible}}"></view>
|
||||||
|
<!---规格选择begin-->
|
||||||
|
<view bind:cancel="close" class='sku-content' scrollUp="{{true}}" hidden="{{!visible}}">
|
||||||
|
<view class="sku-card">
|
||||||
|
<view bindtap="closeSku" class="close">
|
||||||
|
<image src="../../images/icon-sku-close.png"></image>
|
||||||
|
</view>
|
||||||
|
<view class="sku-header">
|
||||||
|
<image src='{{cur_sku_arr.skuImage}}' style="width:80px;height:80px;" class='sku-img'></image>
|
||||||
|
<view class="sku-desc">
|
||||||
|
<view class="sku-title">
|
||||||
|
<span>{{cur_sku_arr.spuName}}</span>
|
||||||
|
</view>
|
||||||
|
<!-- 预售价格显示 -->
|
||||||
|
<view class="sku-price" wx:if="{{buy_type=='presale'}}">
|
||||||
|
<view class="sale-price">
|
||||||
|
¥ <span>{{presale_goods_info.presale_type==0?presale_goods_info.presale_ding_money:presaleBalance}}</span>
|
||||||
|
</view>
|
||||||
|
<view class="market-price" style="text-decoration:none;" wx:if="{{presale_goods_info.presale_type==0}}">尾款:¥{{presaleBalance}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="sku-price" wx:else>
|
||||||
|
<view class="sale-price" wx:if="{{buy_type=='integral'}}">
|
||||||
|
<span>{{cur_sku_arr.actPrice[0]}}</span> 积分
|
||||||
|
</view>
|
||||||
|
<block wx:else>
|
||||||
|
<view class="sale-price">
|
||||||
|
¥ <span>{{cur_sku_arr.actPrice[0]}}</span>.{{cur_sku_arr.actPrice[1]}}
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view class="market-price">
|
||||||
|
<block wx:if="{{buy_type=='integral'}}">¥{{cur_sku_arr.marketPrice[0]}}</block>
|
||||||
|
<block wx:else>¥{{cur_sku_arr.marketPrice[0]}}.{{cur_sku_arr.marketPrice[1]}}</block>
|
||||||
|
</view>
|
||||||
|
<block wx:if="{{buy_type!='integral'}}">
|
||||||
|
<!-- 会员价 -->
|
||||||
|
<i-vip-price wx:if="{{is_open_vipcard_buy==1&&is_vip_card_member==1&&goods.is_take_vipcard==1}}" price="{{cur_sku_arr.card_price}}"></i-vip-price>
|
||||||
|
<block wx:elif="{{is_member_level_buy==1&&goods.is_mb_level_buy==1}}">
|
||||||
|
<i-vip-price wx:if="{{is_open_vipcard_buy==1&&is_vip_card_member!=1}}" price="{{cur_sku_arr.levelprice}}" type="1"></i-vip-price>
|
||||||
|
<i-vip-price wx:if="{{is_open_vipcard_buy!=1}}" price="{{cur_sku_arr.levelprice}}" type="1"></i-vip-price>
|
||||||
|
</block>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view class="sku-switch-on" wx:if="{{cur_sku_arr.spec}}">已选择:{{cur_sku_arr.spec}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="sku-spec" wx:for="{{skuList.list}}" wx:key="id">
|
||||||
|
<view class="title">{{item.name}}</view>
|
||||||
|
<view class="spec-list">
|
||||||
|
<span bindtap="selectSku" class="{{idx==sku[index]['idx']?'on':''}}" data-disabled="{{item.canBuyNum-value<0}}" data-type="{{index}}_{{idx}}_{{value.option_value_id}}_{{value.name}}" wx:for-index="idx" wx:key="idx" data-idx="{{idx}}" wx:for="{{item.option_value}}"
|
||||||
|
wx:for-item="value" style="{{idx==sku[index]['idx']?'color:'+skin.color+';border-color:'+skin.color:''}}">{{value.name}}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="sku-num-content">
|
||||||
|
<view class="title">数量</view>
|
||||||
|
<view class="i-class i-input-number i-input-number-size-{{size}}">
|
||||||
|
<view bindtap="setNum" data-type="decrease" class="i-input-number-minus">
|
||||||
|
<image src="../../images/icon-input-reduce.png"></image>
|
||||||
|
</view>
|
||||||
|
<input bindblur="handleBlur" bindfocus="handleFocus" bindinput="changeNumber" class="i-input-number-text" type="number" value="{{sku_val}}"></input>
|
||||||
|
<view bindtap="setNum" data-type="add" class="i-input-number-plus">
|
||||||
|
<image src="../../images/icon-input-add.png"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="msg" wx:if="{{cur_sku_arr.one_limit_count>0||cur_sku_arr.total_limit_count>0||cur_sku_arr.oneday_limit_count>0}}">
|
||||||
|
<span wx:if="{{cur_sku_arr.one_limit_count>0}}">每单限{{cur_sku_arr.one_limit_count}}份</span>
|
||||||
|
<span style="margin-left:8rpx;" wx:if="{{cur_sku_arr.total_limit_count>0}}">每人限购{{cur_sku_arr.total_limit_count}}份</span>
|
||||||
|
<span></span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="sku-num-content">
|
||||||
|
<view class="even-num" wx:if="{{showLimitTip}}">
|
||||||
|
购物车总数已满或超出{{showLimitType==1?'每次':(showLimitType==2?'每天':'最多')}}购买数量
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<form bindsubmit="gocarfrom" report-submit="true">
|
||||||
|
<button wx:if="{{noEougnStock}}" class="sku-confirm" disabled='true'>
|
||||||
|
<view>抢光了</view>
|
||||||
|
</button>
|
||||||
|
<button wx:else formType="submit" class="sku-confirm" disabled='{{cur_sku_arr.stock==0?true:false}}'>
|
||||||
|
<view>{{cur_sku_arr.stock==0?"已抢光":"确定"}}</view>
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!---规格选择end-->
|
||||||
|
</view>
|
||||||
|
<view class="fixed-aside">
|
||||||
|
<movable-view y="900rpx" direction="vertical" bindtap="share_handler" class="fixed-share" >
|
||||||
|
<text class="iconfont icon-fenxiang"></text>
|
||||||
|
<view>分享</view>
|
||||||
|
</movable-view>
|
||||||
|
<movable-view y="990rpx" direction="vertical" class="fixed-service" openType="contact" wx:if="{{isShowContactBtn==1}}">
|
||||||
|
<text class="iconfont icon-kefu"></text>
|
||||||
|
<view>客服</view>
|
||||||
|
</movable-view>
|
||||||
|
<movable-view y="1040rpx" direction="vertical" bindtap="backTop" class="fixed-top" hidden="{{!isSticky}}" wx:if="{{ishow_index_gotop==1}}">
|
||||||
|
<text class="iconfont icon-fanhuidingbu"></text>
|
||||||
|
<view>顶部</view>
|
||||||
|
</movable-view>
|
||||||
|
</view>
|
||||||
|
<i-order-notify i-class="order-notify" wx:if="{{order_notify_switch==1}}" stopNotify="{{stopNotify}}" />
|
||||||
|
|
||||||
|
<i-new-auth needAuth="{{needAuth&&showAuthModal}}" bind:authSuccess="authSuccess" bind:cancel="authModal" needPosition="{{needPosition}}"></i-new-auth>
|
||||||
|
<!-- 新分享形式 Start -->
|
||||||
|
<view class='share-modal' bindtap='closeShareModal' hidden='{{hideModal}}'>
|
||||||
|
<view class='share-modal-content'>
|
||||||
|
<view class='share-modal-img'>
|
||||||
|
<image mode='widthFix' src='{{shareImgUrl}}'></image>
|
||||||
|
</view>
|
||||||
|
<view class="share-modal-btn-list">
|
||||||
|
<view class="share-modal-btn-item">
|
||||||
|
<button open-type="share" class='none_btn' plain="true">
|
||||||
|
<text class="iconfont icon-weixin1 btn-icon"></text>
|
||||||
|
<view class="btn-text">
|
||||||
|
<text>分享好友</text>
|
||||||
|
</view>
|
||||||
|
</button>
|
||||||
|
</view>
|
||||||
|
<view class="share-modal-btn-item" catchtap='saveThumb'>
|
||||||
|
<text class="iconfont icon-zhaopian btn-icon"></text>
|
||||||
|
<view class="btn-text">
|
||||||
|
<text>保存相册</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 团长切换 -->
|
||||||
|
<i-change-community wx:if="{{showChangeCommunity}}" visible="{{showChangeCommunity}}" changeCommunity="{{changeCommunity}}" community="{{community}}" bind:changeComunity="confrimChangeCommunity" canChange="{{hide_community_change_btn==0}}" groupInfo="{{groupInfo}}" bind:noChange="cancelChangeCommunity" cancelFn="{{true}}"></i-change-community>
|
||||||
|
<canvas canvasId="myCanvas" class="canvas-img" style="width: {{canvasWidth}}px;height: {{canvasHeight}}px;"></canvas>
|
||||||
|
|
||||||
|
<i-vip-modal visible="{{showVipModal}}" imgUrl="{{pop_vipmember_buyimage}}" />
|
||||||
|
|
||||||
|
<!-- 核销弹窗 -->
|
||||||
|
<i-modal scrollUp="{{true}}" visible="{{showHexiaoModal}}" bind:cancel="handleHexiaoModal">
|
||||||
|
<view class="sku-card">
|
||||||
|
<view class="title text-gray mb10 fsz-26 i-flex i-alc">
|
||||||
|
<view class="i-flex-item">共 <text class="red bold">{{hx_len}}</text> 个自提点</view>
|
||||||
|
<text class="iconfont icon-guanbi fsz-34 text-3" bindtap="handleHexiaoModal"></text>
|
||||||
|
</view>
|
||||||
|
<scroll-view scroll-y style="height: 60vh;">
|
||||||
|
<view class="border-bottom py10" wx:for="{{hexiao_arr}}" wx:key="index">
|
||||||
|
<view class="fsz-28 weight mb5">{{item.room_name}}</view>
|
||||||
|
<view class="fsz-22">{{item.room_address}}</view>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
</i-modal>
|
||||||
|
|
||||||
|
<!-- 全屏视频 -->
|
||||||
|
<scroll-view scrollY="false" style="height:100vh;" class="coverVideo" wx:if="{{showCoverVideo}}">
|
||||||
|
<view class="main">
|
||||||
|
<view class="section">
|
||||||
|
<video autoplay loop autoPauseIfOpenNative="true" controls="{{false}}" direction="0" id="coverVideo" objectFit="{{is_heng==0?'fill':'contain'}}" showFullscreenBtn="{{false}}" src="{{goods.video}}" bindended="coverVideoEnd"></video>
|
||||||
|
</view>
|
||||||
|
<cover-view bindtap="closeCoverVideo" class="goods" data-id="{{goods.id}}" wx:if="{{goods}}">
|
||||||
|
<cover-view class="good-img">
|
||||||
|
<cover-image src="{{goods.image_thumb?goods.image_thumb:'../../images/placeholder-refund.png'}}"></cover-image>
|
||||||
|
</cover-view>
|
||||||
|
<cover-view style="display: flex;flex-direction: column;justify-content: space-between;margin-right:10rpx;flex:1;">
|
||||||
|
<cover-view class="good-title .text-overflow2">{{goods.goodsname}}</cover-view>
|
||||||
|
<cover-view class="xqbottom">
|
||||||
|
<cover-view class="good-price">¥{{goods.price_front}}.{{goods.price_after}}</cover-view>
|
||||||
|
</cover-view>
|
||||||
|
</cover-view>
|
||||||
|
</cover-view>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
<i-painter customStyle='position: absolute; left: -9999rpx;' palette="{{template}}" bind:imgOK="onImgOK"/>
|
||||||
|
</movable-area>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,33 @@
|
||||||
|
var app = getApp();
|
||||||
|
|
||||||
|
Page({
|
||||||
|
data: {
|
||||||
|
goods_industrial: []
|
||||||
|
},
|
||||||
|
|
||||||
|
onLoad: function (options) {
|
||||||
|
let goods_id = options.id || '';
|
||||||
|
wx.showLoading();
|
||||||
|
this.getData(goods_id);
|
||||||
|
},
|
||||||
|
|
||||||
|
getData(goods_id){
|
||||||
|
let that = this;
|
||||||
|
app.util.request({
|
||||||
|
url: 'entry/wxapp/index',
|
||||||
|
data: {
|
||||||
|
controller: 'goods.get_instructions',
|
||||||
|
goods_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (res) {
|
||||||
|
wx.hideLoading();
|
||||||
|
if (res.data.code == 0) {
|
||||||
|
that.setData({
|
||||||
|
goods_industrial: res.data.data.goods_industrial || []
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"navigationBarTitleText": "工商资质",
|
||||||
|
"usingComponents": {}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
<view class="wrap" wx:if="{{goods_industrial.length>0}}">
|
||||||
|
<image class='img' src='{{item}}' mode='widthFix' wx:for="{{goods_industrial}}" wx:key="index"></image>
|
||||||
|
</view>
|
|
@ -0,0 +1,3 @@
|
||||||
|
.img {
|
||||||
|
width: 100%;
|
||||||
|
}
|
|
@ -0,0 +1,45 @@
|
||||||
|
Component({
|
||||||
|
properties: {
|
||||||
|
list: {
|
||||||
|
type: Array,
|
||||||
|
value: []
|
||||||
|
},
|
||||||
|
needAuth: {
|
||||||
|
type: Boolean,
|
||||||
|
value: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
data: {
|
||||||
|
disabled: false
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
openSku: function (e) {
|
||||||
|
if (this.data.needAuth) {
|
||||||
|
this.triggerEvent("authModal");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let idx = e.currentTarget.dataset.idx;
|
||||||
|
this.setData({ disabled: false })
|
||||||
|
let spuItem = this.data.list[idx];
|
||||||
|
this.triggerEvent("openSku", {
|
||||||
|
actId: spuItem.actId,
|
||||||
|
skuList: spuItem.skuList,
|
||||||
|
promotionDTO: spuItem.promotionDTO || '',
|
||||||
|
allData: {
|
||||||
|
spuName: spuItem.spuName,
|
||||||
|
skuImage: spuItem.skuImage,
|
||||||
|
actPrice: spuItem.actPrice,
|
||||||
|
canBuyNum: spuItem.spuCanBuyNum,
|
||||||
|
stock: spuItem.spuCanBuyNum,
|
||||||
|
marketPrice: spuItem.marketPrice,
|
||||||
|
oneday_limit_count: spuItem.oneday_limit_count,
|
||||||
|
total_limit_count: spuItem.total_limit_count,
|
||||||
|
one_limit_count: spuItem.one_limit_count,
|
||||||
|
goods_start_count: spuItem.goods_start_count
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"component": true,
|
||||||
|
"usingComponents": {
|
||||||
|
"i-img": "../../components/img/index",
|
||||||
|
"i-button": "../../components/button/index",
|
||||||
|
"i-router-link": "../../components/router-link/router-link"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
<!-- 关联商品 -->
|
||||||
|
<view class='new-comers' wx:if="{{list.length}}">
|
||||||
|
<view class='new-comers-title'>大家常买</view>
|
||||||
|
<scroll-view class='new-comers-scroll' scroll-x>
|
||||||
|
<view class='new-comers-wrap'>
|
||||||
|
<i-router-link routerClass="new-comers-item" url="/eaterplanet_ecommerce/pages/goods/goodsDetail?id={{item.actId}}" wx:for="{{list}}" wx:key="id">
|
||||||
|
<i-img defaultImage="../../images/placeholder-refund.png" height="200" width="180" iClass="new-img" loadImage="{{item.skuImage}}"></i-img>
|
||||||
|
<view class="act-end" wx:if="{{item.spuCanBuyNum==0}}">已抢光</view>
|
||||||
|
<view class='title'>{{item.spuName}}</view>
|
||||||
|
<view class='new-bot'>
|
||||||
|
<view class='price'>¥{{item.actPrice[0]}}.{{item.actPrice[1]}}</view>
|
||||||
|
<i-button iClass="add-cart" wx:if="{{disabled||item.spuCanBuyNum==0}}">
|
||||||
|
<image class='img' src="../../images/icon-add-shopCart-disabled.png"></image>
|
||||||
|
</i-button>
|
||||||
|
<i-button bind:click="openSku" data-idx="{{index}}" iClass="add-cart" wx:else>
|
||||||
|
<image class='img' src="../../images/icon-add-shopCart.png"></image>
|
||||||
|
</i-button>
|
||||||
|
</view>
|
||||||
|
</i-router-link>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
|
@ -0,0 +1,98 @@
|
||||||
|
.new-comers {
|
||||||
|
position: relative;
|
||||||
|
margin: 20rpx;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding: 30rpx 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-comers-title {
|
||||||
|
position: relative;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #333;
|
||||||
|
padding-left: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-comers-title::before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
border-left: 8rpx solid #e7614d;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-comers-scroll {
|
||||||
|
max-height: 340rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-comers-wrap {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-comers-item {
|
||||||
|
width: 240rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 20rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-comers-item .new-img {
|
||||||
|
width: 200rpx;
|
||||||
|
height: 180rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-comers-item .title {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-comers-item .new-bot {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-comers-item .add-cart {
|
||||||
|
width: 44rpx;
|
||||||
|
height: 44rpx;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-comers-item .add-cart .img {
|
||||||
|
width: 44rpx;
|
||||||
|
height: 44rpx;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-comers-item .price {
|
||||||
|
color: #ff758c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-comers-item {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-comers-item .act-end {
|
||||||
|
position: absolute;
|
||||||
|
height: 60rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
background: rgba(0, 0, 0, 0.5);
|
||||||
|
color: #fff;
|
||||||
|
font-size: 28rpx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 60rpx;
|
||||||
|
left: 50%;
|
||||||
|
top: 80rpx;
|
||||||
|
padding: 0 12rpx;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
|
@ -0,0 +1,66 @@
|
||||||
|
var _extends = Object.assign || function(e) {
|
||||||
|
for (var t = 1; t < arguments.length; t++) {
|
||||||
|
var o = arguments[t];
|
||||||
|
for (var a in o) Object.prototype.hasOwnProperty.call(o, a) && (e[a] = o[a]);
|
||||||
|
}
|
||||||
|
return e;
|
||||||
|
}, util = require("../../utils/util.js"), status = require("../../utils/index.js"), wcache = require("../../utils/wcache.js"), app = getApp();
|
||||||
|
|
||||||
|
Page({
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
mixins: [ require("../../mixin/globalMixin.js") ],
|
||||||
|
data: {
|
||||||
|
isIpx: true,
|
||||||
|
common_header_backgroundimage: "",
|
||||||
|
},
|
||||||
|
|
||||||
|
getCopyright: function() {
|
||||||
|
var C = this;
|
||||||
|
app.util.request({
|
||||||
|
url: "entry/wxapp/user",
|
||||||
|
data: {
|
||||||
|
controller: "user.get_copyright"
|
||||||
|
},
|
||||||
|
dataType: "json",
|
||||||
|
success: function(e) {
|
||||||
|
if (0 == e.data.code) {
|
||||||
|
var t = e.data, c = t.supply_diy_name, h = t.common_header_backgroundimage;
|
||||||
|
C.setData({
|
||||||
|
common_header_backgroundimage: h || ""
|
||||||
|
}, );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
onShow: function() {
|
||||||
|
var t = this;
|
||||||
|
t.getCopyright();
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
onReady() {
|
||||||
|
//5s后跳转
|
||||||
|
this.data.Time = setInterval(() => {
|
||||||
|
this.setData({
|
||||||
|
time: --this.data.time
|
||||||
|
})
|
||||||
|
if (this.data.time <= 0) {
|
||||||
|
clearInterval(this.data.Time)
|
||||||
|
this.goHome()
|
||||||
|
}
|
||||||
|
}, 1000)
|
||||||
|
},
|
||||||
|
goHome() {
|
||||||
|
clearInterval(this.data.Time)
|
||||||
|
wx.reLaunch({
|
||||||
|
url: '../index/index'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
time: 5,
|
||||||
|
},
|
||||||
|
})
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"navigationBarTextStyle": "white",
|
||||||
|
"backgroundColor": "#fff",
|
||||||
|
"disableScroll": true,
|
||||||
|
"usingComponents": {}
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
<view class="upimg">
|
||||||
|
<view class='container'>
|
||||||
|
<view class="welcome">
|
||||||
|
<image src="{{common_header_backgroundimage}}"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
<view class="bottom">
|
||||||
|
|
||||||
|
<view class="logohdimg {{isIpx?'pb20':''}}" >
|
||||||
|
<image class='logo' src="../../images/logohdimg.png"></image>
|
||||||
|
</view>
|
||||||
|
<text class='time' catchtap="goHome">点击跳过{{time}}S</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
|
@ -0,0 +1,122 @@
|
||||||
|
|
||||||
|
.pb20 {
|
||||||
|
padding-bottom: 60rpx;
|
||||||
|
}
|
||||||
|
.upimg {
|
||||||
|
width: 100%;
|
||||||
|
top:0;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topic {
|
||||||
|
border-radius: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topic-img {
|
||||||
|
margin-bottom: 0rpx;
|
||||||
|
position: relative;
|
||||||
|
right: 0rpx;
|
||||||
|
border-radius: 0rpx!important;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.logohdimg .pb20 {
|
||||||
|
padding-bottom: 50rpx;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
.bottom {
|
||||||
|
width:100%;
|
||||||
|
padding-bottom: calc(env(safe-area-inset-bottom) + 30rpx)
|
||||||
|
}
|
||||||
|
.bottomimg {
|
||||||
|
width:100%;
|
||||||
|
height: 175rpx;
|
||||||
|
position: absolute;
|
||||||
|
filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.7));
|
||||||
|
}
|
||||||
|
.container {
|
||||||
|
width:100%;
|
||||||
|
height:100%;
|
||||||
|
/**background:linear-gradient(90deg,#007FAF 0%,#42ADD5 100%);**/
|
||||||
|
}
|
||||||
|
.welcome {
|
||||||
|
/**margin-top: 400rpx;**/
|
||||||
|
width: 100%;
|
||||||
|
height:100%;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.welcome .bottom{
|
||||||
|
margin-bottom: 100rpx;
|
||||||
|
}
|
||||||
|
.welcome image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100vh;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.welcome button {
|
||||||
|
background: #00AFBE;
|
||||||
|
color: #fff;
|
||||||
|
width: 260rpx;
|
||||||
|
opacity: 0;
|
||||||
|
font-size:32rpx;
|
||||||
|
animation: op 2s infinite;
|
||||||
|
line-height: 60rpx;
|
||||||
|
border:2px solid #fff;
|
||||||
|
margin:100rpx 0
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes op {
|
||||||
|
0% {
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
25% {
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
75% {
|
||||||
|
opacity: 0.6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.time {
|
||||||
|
height: 60rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 100rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
line-height: 60rpx;
|
||||||
|
right: 60rpx;
|
||||||
|
padding:0 20rpx;
|
||||||
|
background: rgba(255, 255, 255, 0.542);
|
||||||
|
}
|
||||||
|
|
||||||
|
.logohdimg{
|
||||||
|
color: #fff;
|
||||||
|
height: 100rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 50rpx;
|
||||||
|
bottom: 10rpx;
|
||||||
|
padding-bottom: 60rpx;
|
||||||
|
filter: drop-shadow(0 0rpx 5rpx rgba(0, 0, 8, 0.4));
|
||||||
|
margin-left: 0rpx;
|
||||||
|
margin-right: 0rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logohdimg .logo{
|
||||||
|
height: 80rpx;
|
||||||
|
width: 331rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
<template name="banner">
|
||||||
|
<view class="swipe" style="margin-top: {{item.marginTop}}px">
|
||||||
|
<swiper indicatorDots class="swiper-content" duration="400" autoplay indicatorActiveColor="{{item.textColor}}"
|
||||||
|
indicatorColor="#E7E9E7" interval="5000" circular>
|
||||||
|
<swiper-item wx:for="{{item.list}}" wx:key="id" wx:for-item="sliderItem">
|
||||||
|
<!-- 客服按钮 后台待添加 -->
|
||||||
|
<button class="banner nav-contact" openType="contact" wx:if="{{sliderItem.linktype==5}}">
|
||||||
|
<i-img iClass="banner-img" loadImage="{{sliderItem.imageUrl}}"></i-img>
|
||||||
|
</button>
|
||||||
|
<view class='banner' bindtap='goDiysliderUrl' data-link="{{sliderItem.link}}" wx:else>
|
||||||
|
<i-img iClass="banner-img" loadImage="{{sliderItem.imageUrl}}"></i-img>
|
||||||
|
</view>
|
||||||
|
</swiper-item>
|
||||||
|
</swiper>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,3 @@
|
||||||
|
<template name="blank">
|
||||||
|
<view style="margin: 0 {{item.marginLeftRight+'px'}};background-color: {{item.backgroundColor}};height: {{item.height+'px'}}"></view>
|
||||||
|
</template>
|
|
@ -0,0 +1,55 @@
|
||||||
|
<template name="communityShow">
|
||||||
|
<view class="header-content" style="background: {{item.backgroundColor}}">
|
||||||
|
<view class="location" wx:if="{{item.style==1}}" style='color: {{item.textColor}}'>
|
||||||
|
<view class="location-left" wx:if="{{community&&community.communityName}}">
|
||||||
|
<navigator hoverClass="router-hover" url="/eaterplanet_ecommerce/pages/position/community"
|
||||||
|
wx:if="{{hide_community_change_btn==0&&open_danhead_model!=1}}">
|
||||||
|
<view class="community-title">
|
||||||
|
<view class="text-overflow1" style="max-width: 360rpx;">{{community.communityName}}</view>
|
||||||
|
<text class='community-change' wx:if="{{hide_community_change_word==0}}">切换</text>
|
||||||
|
<text class="iconfont icon-youjiantou"></text>
|
||||||
|
</view>
|
||||||
|
</navigator>
|
||||||
|
<view wx:else>
|
||||||
|
<view class="community-title">
|
||||||
|
<span>{{community.communityName}}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="community-address" bindtap='gotoMap' wx:if="{{index_hide_headdetail_address==0}}">
|
||||||
|
<text class="iconfont icon-weizhi-tianchong"></text>
|
||||||
|
{{community.address||community.communityAddress||community.fullAddress}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="location-left" wx:else>
|
||||||
|
<navigator hoverClass="router-hover" url="/eaterplanet_ecommerce/pages/position/community">
|
||||||
|
您还没有选择{{groupInfo.owner_name}},轻触去选择 <text class="iconfont icon-weizhi-tianchong"></text>
|
||||||
|
</navigator>
|
||||||
|
</view>
|
||||||
|
<view class="location-right">
|
||||||
|
<image src='{{community.headImg ? community.headImg: community.disUserHeadImg}}' class='img'></image>
|
||||||
|
<text>{{community.disUserName}}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="location-theme2" style='color: {{item.textColor}}' wx:else>
|
||||||
|
<block wx:if="{{community&&community.communityName}}">
|
||||||
|
<view class="loc-l">
|
||||||
|
<image src='{{community.headImg ? community.headImg: community.disUserHeadImg}}' class='img'></image>
|
||||||
|
</view>
|
||||||
|
<view class="loc-m" wx:if="{{hide_community_change_btn==0&&open_danhead_model!=1}}" bindtap="goLink" data-link="/eaterplanet_ecommerce/pages/position/community">
|
||||||
|
{{community.communityName}}
|
||||||
|
<text style='font-size:20rpx;' wx:if="{{hide_community_change_word==0}}" class="u-m-l-20">切换</text>
|
||||||
|
<text class="iconfont icon-youjiantou" style='font-size:18rpx;'></text>
|
||||||
|
</view>
|
||||||
|
<view class="loc-m" wx:else>{{community.communityName}}</view>
|
||||||
|
</block>
|
||||||
|
<view class="loc-l" wx:else>
|
||||||
|
<navigator hoverClass="router-hover" url="/eaterplanet_ecommerce/pages/position/community">
|
||||||
|
您还没有选择{{groupInfo.owner_name}},轻触去选择 <text class="iconfont icon-weizhi-tianchong"></text>
|
||||||
|
</navigator>
|
||||||
|
</view>
|
||||||
|
<view class="top-search" bindtap="goLink" data-link="/eaterplanet_ecommerce/pages/type/search">
|
||||||
|
<text class="iconfont icon-sousuo1"></text>搜索
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,27 @@
|
||||||
|
<template name="coupon">
|
||||||
|
<view wx:if="{{hasCoupon}}" class="promotion">
|
||||||
|
<view class="slider">
|
||||||
|
<view class="slider-wraper">
|
||||||
|
<view class="list">
|
||||||
|
<view bindtap='receiveCoupon' wx:for="{{quan}}" wx:key="id" data-quan_id="{{qItem.id}}" wx:for-index="idx" wx:for-item='qItem'
|
||||||
|
class="card-content list-item {{(qItem.is_get==1&&qItem.is_hide>0)? 'get':''}}">
|
||||||
|
<view class="card">
|
||||||
|
<view class="card-price span">
|
||||||
|
<view class="card-price--unit span">¥</view>
|
||||||
|
<view class="card-price--num span">{{qItem.credit}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="card-desc span" wx:if="{{qItem.limit_money >0}}">
|
||||||
|
满{{qItem.limit_money}}元可用</view>
|
||||||
|
<view class='card-desc span fsz-16' wx:if="{{qItem.is_limit_goods_buy==0}}">使用范围:所有商品</view>
|
||||||
|
<view class='card-desc span fsz-16' wx:elif="{{qItem.is_limit_goods_buy==1}}">使用范围:指定商品</view>
|
||||||
|
<view class='card-desc span fsz-16' wx:elif="{{qItem.is_limit_goods_buy==2}}">使用范围:指定分类</view>
|
||||||
|
<view class="card-tag span {{(qItem.is_get==1&&qItem.is_hide>0)? 'card-tag--get':''}}">
|
||||||
|
<view class="card-tag--text span">已领取</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,85 @@
|
||||||
|
.coupon-item2 {
|
||||||
|
position: relative;
|
||||||
|
width: 280rpx;
|
||||||
|
height: 126rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon-item2 .coupon-item2-bg {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 280rpx;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon-item2 .coupon-intro {
|
||||||
|
position: relative;
|
||||||
|
flex: 1;
|
||||||
|
padding-left: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon-item2 .coupon-btn {
|
||||||
|
position: relative;
|
||||||
|
width: 40rpx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 36rpx;
|
||||||
|
padding: 0 12rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.promotion.coupon-style3 {
|
||||||
|
padding: 16rpx;
|
||||||
|
margin-left: 20rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
background-color: transparent;
|
||||||
|
background-size: cover;
|
||||||
|
border-radius: 16rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon-item3 {
|
||||||
|
position: relative;
|
||||||
|
width: 220rpx;
|
||||||
|
height: 268rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon-item3 .coupon-item3-bg {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 220rpx;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon-item3 .coupon-intro {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon-item3 .price {
|
||||||
|
font-size: 48rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon-item3 .coupon-desc {
|
||||||
|
color: #777777;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon-item3 .coupon-btn {
|
||||||
|
position: absolute;
|
||||||
|
width: 132rpx;
|
||||||
|
bottom: 20rpx;
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -66rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
line-height: 56rpx;
|
||||||
|
background-color: #FF4544;
|
||||||
|
border-radius: 60rpx;
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
<template name="cube">
|
||||||
|
<view class="rubik-cube" style="{{'background:'+(item.backgroundColor)+';'}}">
|
||||||
|
<block wx:for="{{item.list}}" wx:for-item="cubeItem" wx:for-index="idx" wx:key="idx">
|
||||||
|
<view class="item {{item.selectedTemplate}}" bindtap="goDiysliderUrl" data-link="{{cubeItem.link}}" style="padding:{{item.imageGap}}rpx">
|
||||||
|
<image src="{{cubeItem.imageUrl}}" mode="widthFix"></image>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,156 @@
|
||||||
|
.rubik-cube {
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 20rpx;
|
||||||
|
/* display: flex;
|
||||||
|
flex-wrap: wrap; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item {
|
||||||
|
float: left;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item image {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
/* max-height: 388rpx; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-of2 {
|
||||||
|
width: 50%;
|
||||||
|
padding-bottom: 0!important;
|
||||||
|
padding-top: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-of2:nth-child(1) {
|
||||||
|
padding-left: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-of2:nth-child(2) {
|
||||||
|
padding-right: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-of3 {
|
||||||
|
width: 33.33%;
|
||||||
|
padding-bottom: 0!important;
|
||||||
|
padding-top: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-of3:nth-child(1) {
|
||||||
|
padding-left: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-of3:nth-child(3) {
|
||||||
|
padding-right: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-of4 {
|
||||||
|
width: 25%;
|
||||||
|
padding-bottom: 0!important;
|
||||||
|
padding-top: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-of4:nth-child(1) {
|
||||||
|
padding-left: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-of4:nth-child(4) {
|
||||||
|
padding-right: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row2-lt-of2-rt {
|
||||||
|
width: 50%;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row2-lt-of2-rt:nth-child(1) {
|
||||||
|
padding-left: 0!important;
|
||||||
|
padding-top: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row2-lt-of2-rt:nth-child(2) {
|
||||||
|
padding-right: 0!important;
|
||||||
|
padding-top: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row2-lt-of2-rt:nth-child(3) {
|
||||||
|
padding-left: 0!important;
|
||||||
|
padding-bottom: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row2-lt-of2-rt:nth-child(4) {
|
||||||
|
padding-right: 0!important;
|
||||||
|
padding-bottom: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-lt-of2-rt {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-lt-of2-rt:nth-child(1) {
|
||||||
|
width: 48%;
|
||||||
|
padding-left: 0!important;
|
||||||
|
padding-top: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-lt-of2-rt:nth-child(2) {
|
||||||
|
float: right;
|
||||||
|
padding-top: 0!important;
|
||||||
|
padding-right: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-lt-of2-rt:nth-child(3) {
|
||||||
|
float: right;
|
||||||
|
padding-bottom: 0!important;
|
||||||
|
padding-right: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-tp-of2-bm:nth-child(1) {
|
||||||
|
width: 100%;
|
||||||
|
padding-left: 0!important;
|
||||||
|
padding-top: 0!important;
|
||||||
|
padding-right: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-tp-of2-bm:nth-child(2) {
|
||||||
|
padding-left: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-tp-of2-bm:nth-child(3) {
|
||||||
|
padding-right: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-tp-of2-bm:nth-child(2),
|
||||||
|
.rubik-cube .item.row1-tp-of2-bm:nth-child(3) {
|
||||||
|
width: 50%;
|
||||||
|
padding-bottom: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-lt-of1-tp-of2-bm:nth-child(1) {
|
||||||
|
width: 50%;
|
||||||
|
padding-left: 0!important;
|
||||||
|
padding-top: 0!important;
|
||||||
|
padding-bottom: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-lt-of1-tp-of2-bm:nth-child(2) {
|
||||||
|
width: 50%;
|
||||||
|
padding-right: 0!important;
|
||||||
|
padding-top: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-lt-of1-tp-of2-bm:nth-child(3) {
|
||||||
|
/* padding-left: 0!important; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-lt-of1-tp-of2-bm:nth-child(4) {
|
||||||
|
/* padding-right: 0!important; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.rubik-cube .item.row1-lt-of1-tp-of2-bm:nth-child(3),
|
||||||
|
.rubik-cube .item.row1-lt-of1-tp-of2-bm:nth-child(4) {
|
||||||
|
width: 25%;
|
||||||
|
padding-bottom: 0!important;
|
||||||
|
}
|
|
@ -0,0 +1,65 @@
|
||||||
|
<template name="diyCoupon">
|
||||||
|
<view wx:if="{{hasCoupon&&item.style!=3}}" class="promotion" style="padding:30rpx;margin-top:{{item.marginTop*2+'rpx'}};background-color:{{item.style==1?item.backgroundColor:'transparent'}};">
|
||||||
|
<view class="slider">
|
||||||
|
<view class="slider-wraper">
|
||||||
|
<view class="list">
|
||||||
|
<!-- 样式一 -->
|
||||||
|
<block wx:if="{{item.style==1}}" wx:for="{{quan}}" wx:key="id" wx:for-index="idx" wx:for-item='qItem'>
|
||||||
|
<view bindtap='receiveCoupon' data-quan_id="{{qItem.id}}" class="card-content list-item {{(qItem.is_get==1&&qItem.is_hide>0)? 'get':''}}" wx:if="{{idx<item.couponCount}}">
|
||||||
|
<view class="card">
|
||||||
|
<view class="card-price span">
|
||||||
|
<view class="card-price--unit span">¥</view>
|
||||||
|
<view class="card-price--num span">{{qItem.credit}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="card-desc span" wx:if="{{qItem.limit_money >0}}">
|
||||||
|
满{{qItem.limit_money}}元可用</view>
|
||||||
|
<view class='card-desc span fsz-16' wx:if="{{qItem.is_limit_goods_buy==0}}">使用范围:所有商品</view>
|
||||||
|
<view class='card-desc span fsz-16' wx:elif="{{qItem.is_limit_goods_buy==1}}">使用范围:指定商品</view>
|
||||||
|
<view class='card-desc span fsz-16' wx:elif="{{qItem.is_limit_goods_buy==2}}">使用范围:指定分类</view>
|
||||||
|
<view class="card-tag span {{(qItem.is_get==1&&qItem.is_hide>0)? 'card-tag--get':''}}">
|
||||||
|
<view class="card-tag--text span">已领取</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<!-- 样式二 -->
|
||||||
|
<block wx:if="{{item.style==2}}" wx:for="{{quan}}" wx:key="id" wx:for-index="idx" wx:for-item='qItem'>
|
||||||
|
<view bindtap='receiveCoupon' data-quan_id="{{qItem.id}}" class="coupon-item2">
|
||||||
|
<image class="coupon-item2-bg" src="{{item.host+'/static/diycomponent/coupon/img/coupon_bg.png'}}"></image>
|
||||||
|
<view class="coupon-intro u-font-24 w0">
|
||||||
|
<view class="coupon-price red">¥<text class="u-font-40 weight">{{qItem.credit}}</text></view>
|
||||||
|
<view class="coupon-desc red u-m-t-5" wx:if="{{qItem.limit_money >0}}">满{{qItem.limit_money}}元可用</view>
|
||||||
|
<view class='coupon-desc red text-overflow1 u-m-t-5' wx:elif="{{qItem.is_limit_goods_buy==0}}">使用范围:所有商品</view>
|
||||||
|
<view class='coupon-desc red text-overflow1 u-m-t-5' wx:elif="{{qItem.is_limit_goods_buy==1}}">使用范围:指定商品</view>
|
||||||
|
<view class='coupon-desc red text-overflow1 u-m-t-5' wx:elif="{{qItem.is_limit_goods_buy==2}}">使用范围:指定分类</view>
|
||||||
|
</view>
|
||||||
|
<view class="coupon-btn red u-font-28">{{qItem.is_get==1&&qItem.is_hide>0?'已领取':'领取'}}</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 样式三 -->
|
||||||
|
<view wx:if="{{hasCoupon&&item.style==3}}" class="promotion coupon-style3" style="margin-top:{{item.marginTop*2+'rpx'}};{{('background-image:url('+item.host+'/static/diycomponent/coupon/img/style3-bg-1.png)')}}">
|
||||||
|
<view class="slider">
|
||||||
|
<view class="slider-wraper">
|
||||||
|
<view class="list">
|
||||||
|
<block wx:if="{{item.style==3}}" wx:for="{{quan}}" wx:key="id" wx:for-index="idx" wx:for-item='qItem'>
|
||||||
|
<view bindtap='receiveCoupon' data-quan_id="{{qItem.id}}" class="coupon-item3">
|
||||||
|
<image class="coupon-item3-bg" src="{{item.host+'/static/diycomponent/coupon/img/style3-bg-2.png'}}"></image>
|
||||||
|
<view class="coupon-intro u-font-24 u-p-t-30 text-center">
|
||||||
|
<view class="coupon-price red">¥<text class="price weight">{{qItem.credit}}</text></view>
|
||||||
|
<view class="red u-m-t-10 u-m-b-10" wx:if="{{qItem.limit_money >0}}">满{{qItem.limit_money}}元可用</view>
|
||||||
|
<view class='coupon-desc red text-overflow1 u-m-t-5' wx:if="{{qItem.is_limit_goods_buy==0}}">所有商品</view>
|
||||||
|
<view class='coupon-desc red text-overflow1 u-m-t-5' wx:elif="{{qItem.is_limit_goods_buy==1}}">指定商品</view>
|
||||||
|
<view class='coupon-desc red text-overflow1 u-m-t-5' wx:elif="{{qItem.is_limit_goods_buy==2}}">指定分类</view>
|
||||||
|
</view>
|
||||||
|
<view class="coupon-btn u-font-24 text-center">{{qItem.is_get==1&&qItem.is_hide>0?'已领取':'领取'}}</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,71 @@
|
||||||
|
<template name="diySeckill">
|
||||||
|
<view class="seckill" style="margin-top:{{diyInfo.marginTop*2+'rpx'}};">
|
||||||
|
<block wx:if="{{diyInfo.style==1}}">
|
||||||
|
<view class="seckill-head i-flex" style="background:{{diyInfo.backgroundColor}}">
|
||||||
|
<view class="tit">
|
||||||
|
<view>整点</view>
|
||||||
|
<view>秒杀</view>
|
||||||
|
</view>
|
||||||
|
<view class="i-flex-item i-flex">
|
||||||
|
<view class="seckill-head-item {{secKillActiveIdx==index?'active':''}}" wx:for="{{scekillTimeList}}" wx:key="id"
|
||||||
|
data-time="{{item.seckillTime}}" data-idx="{{index}}" bindtap="changeSecKillTime">
|
||||||
|
<view class="time">{{item.timeStr}}</view>
|
||||||
|
<view class="desc" style="{{secKillActiveIdx==index?('color:'+diyInfo.backgroundColor):''}}">{{item.desc}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="more" bindtap="goLink"
|
||||||
|
data-link="/eaterplanet_ecommerce/moduleA/seckill/list?time={{scekillTimeList[secKillActiveIdx].seckillTime}}">
|
||||||
|
更多 <text class="iconfont icon-gengduo"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="seckill-list" wx:if="{{secRushList.length}}">
|
||||||
|
<swiper indicatorDots class="sec-swiper-content" autoplay duration="400" circular indicator-dots="{{false}}"
|
||||||
|
bindchange="scrollSecKillGoodsChange">
|
||||||
|
<swiper-item wx:for="{{secRushList}}" wx:key="id">
|
||||||
|
<i-seckill-spu spuItem="{{item}}" begin="{{scekillTimeList[secKillActiveIdx].state==2?1:0}}"
|
||||||
|
needAuth="{{needAuth}}"></i-seckill-spu>
|
||||||
|
</swiper-item>
|
||||||
|
</swiper>
|
||||||
|
<text class="current" wx:if="{{secRushList.length}}">{{secKillGoodsIndex}}/{{secRushList.length}}</text>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<block wx:if="{{diyInfo.style==2}}">
|
||||||
|
<view class="seckill-head2 i-flex i-flex-alc u-p-t-40 u-p-l-30 u-p-r-30 u-p-b-10">
|
||||||
|
<view class="i-flex-item">
|
||||||
|
<image style="width:206rpx;height:32rpx" src="{{diyInfo.host+diyInfo.list[1].imageUrl}}"></image>
|
||||||
|
<view style="color:rgba(255, 69, 68, .6);" class="u-font-28">
|
||||||
|
<block wx:for="{{scekillTimeList}}" wx:key="id" wx:if="{{secKillActiveIdx==index}}">
|
||||||
|
{{item.desc}} <text class="seckill-time-i">{{item.timeArr[0]}}</text>:<text class="seckill-time-i">{{item.timeArr[1]}}</text>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="text-gray u-font-24" bindtap="goLink" data-link="/eaterplanet_ecommerce/moduleA/seckill/list?time={{scekillTimeList[secKillActiveIdx].seckillTime}}">
|
||||||
|
更多秒杀<text class="iconfont icon-youjiantou u-font-22"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="seckill-list" wx:if="{{secRushList.length}}">
|
||||||
|
<view wx:for="{{secRushList}}" wx:key="id">
|
||||||
|
<i-seckill-spu spuItem="{{item}}" begin="{{scekillTimeList[secKillActiveIdx].state==2?1:0}}" needAuth="{{needAuth}}"></i-seckill-spu>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<block wx:if="{{diyInfo.style==3}}">
|
||||||
|
<view class="seckill-head2 text-center u-p-t-50 u-p-l-30 u-p-r-30 u-p-b-10">
|
||||||
|
<view><image style="width:348rpx;height:34rpx" src="{{diyInfo.host+diyInfo.list[2].imageUrl}}"></image></view>
|
||||||
|
<view style="color:rgba(255, 69, 68, .6);" class="u-font-24 u-m-t-10">
|
||||||
|
<block wx:for="{{scekillTimeList}}" wx:key="id" wx:if="{{secKillActiveIdx==index}}">
|
||||||
|
{{item.desc}} <text class="seckill-time-i">{{item.timeArr[0]}}</text>:<text class="seckill-time-i">{{item.timeArr[1]}}</text>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="seckill-list u-m-t-20" wx:if="{{secRushList.length}}">
|
||||||
|
<view wx:for="{{secRushList}}" wx:key="id">
|
||||||
|
<i-seckill-spu spuItem="{{item}}" begin="{{scekillTimeList[secKillActiveIdx].state==2?1:0}}" needAuth="{{needAuth}}"></i-seckill-spu>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="text-gray u-font-24 text-center border-top u-p-t-30 u-p-b-30 u-m-l-20 u-m-r-20" bindtap="goLink" data-link="/eaterplanet_ecommerce/moduleA/seckill/list?time={{scekillTimeList[secKillActiveIdx].seckillTime}}">
|
||||||
|
更多秒杀<text class="iconfont icon-youjiantou u-font-22"></text>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,13 @@
|
||||||
|
.seckill-time-i {
|
||||||
|
display: inline-block;
|
||||||
|
width: 32rpx;
|
||||||
|
height: 32rpx;
|
||||||
|
border-radius: 4rpx;
|
||||||
|
background-color: #303133;
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: center;
|
||||||
|
margin: 0 6rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
line-height: 32rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
<template name="diySingleImg">
|
||||||
|
<view style="margin-top: {{item.marginTop*2}}rpx;padding-left: {{item.paddingLeftRight*2}}rpx;padding-right: {{item.paddingLeftRight*2}}rpx;">
|
||||||
|
<block wx:for="{{item.list}}" wx:for-item="imgs" wx:for-index="kk" wx:key="kk">
|
||||||
|
<image src="{{imgs.imageUrl}}" mode="widthFix" bindtap="goDiysliderUrl" data-link="{{imgs.link}}" style="width:100%;vertical-align:top;margin-top:{{kk>0?(item.imageGap*2):0}}rpx;border-radius:{{item.topRadius*2}}rpx {{item.topRadius*2}}rpx {{item.bottomRadius*2}}rpx {{item.bottomRadius*2}}rpx;"></image>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,16 @@
|
||||||
|
<template name="floatBtn">
|
||||||
|
<view class="diyFloatBtn fixed-{{item.bottomPosition}}"
|
||||||
|
style="{{item.bottomPosition==3||item.bottomPosition==4?'bottom:'+(item.baseBtnBottom*1+item.btnBottom*1)+'px;':''}} {{item.bottomPosition==1||item.bottomPosition==2?'top:'+(item.baseBtnBottom*1+item.btnBottom*1)+'px;':''}}">
|
||||||
|
<block wx:for='{{item.list}}' wx:for-item='btnItem' wx:for-index='idx' wx:key="idx">
|
||||||
|
<button class="diyFloatBtn-item" wx:if="{{btnItem.linktype=='custom'}}" open-type="contact">
|
||||||
|
<image class="diyFloatBtn-img" src="{{btnItem.imageUrl}}"></image>
|
||||||
|
</button>
|
||||||
|
<button class="diyFloatBtn-item" wx:elif="{{btnItem.linktype=='gotop'}}" bindtap="backTop">
|
||||||
|
<image class="diyFloatBtn-img" src="{{btnItem.imageUrl}}"></image>
|
||||||
|
</button>
|
||||||
|
<button class="diyFloatBtn-item" bindtap="goDiysliderUrl" data-link="{{btnItem.link}}" wx:else>
|
||||||
|
<image class="diyFloatBtn-img" src="{{btnItem.imageUrl}}"></image>
|
||||||
|
</button>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,36 @@
|
||||||
|
.diyFloatBtn {
|
||||||
|
position: fixed;
|
||||||
|
z-index: 999;
|
||||||
|
width: 80rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diyFloatBtn.fixed-1,
|
||||||
|
.diyFloatBtn.fixed-3 {
|
||||||
|
left: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diyFloatBtn.fixed-2,
|
||||||
|
.diyFloatBtn.fixed-4 {
|
||||||
|
right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diyFloatBtn-item {
|
||||||
|
display: inline-block;
|
||||||
|
width: 80rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
text-align: center;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
line-height: 1;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diyFloatBtn-item::after {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diyFloatBtn-img {
|
||||||
|
width: 80rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
}
|
|
@ -0,0 +1,86 @@
|
||||||
|
<template name="goodsList">
|
||||||
|
<block wx:if="{{rushList.length>0}}">
|
||||||
|
<!-- 样式一 Start -->
|
||||||
|
<block wx:for="{{rushList}}" wx:key="idx" wx:for-item="rush" wx:for-index="idx" wx:if="{{rushList.length>0 && value.style==1}}">
|
||||||
|
<skeleton wx:for="{{rush}}" wx:key="id">
|
||||||
|
<view class="active-item">
|
||||||
|
<view class="list-item-tag-content" wx:if="{{isShowListTimer==1}}">
|
||||||
|
<view class="empty-1"></view>
|
||||||
|
<view class="empty-2" wx:if="{{item.spuDescribe}}"></view>
|
||||||
|
<view class="empty-3"></view>
|
||||||
|
<view class="list-item-count-down" style="color:{{skin.color}}"
|
||||||
|
wx:if="{{item.spuCanBuyNum!=0 && !actEndMap[item.end_time]}}" data-xx="{{item.spuCanBuyNum}}">
|
||||||
|
仅剩
|
||||||
|
<em wx:if="{{countDownMap[item.end_time].day>0}}">{{countDownMap[item.end_time].day}}天</em>
|
||||||
|
<span class="item-class">{{countDownMap[item.end_time].hour}}</span>:
|
||||||
|
<span class="item-class">{{countDownMap[item.end_time].minute}}</span>:
|
||||||
|
<span class="item-class">{{countDownMap[item.end_time].second}}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<i-new-rush-spu actEnd="{{actEndMap[item.end_time]}}" stopClick="{{stopClick}}" bind:openSku="openSku"
|
||||||
|
spuItem="{{item}}" reduction="{{reduction}}" isShowListCount="{{isShowListCount}}"
|
||||||
|
bind:changeCartNum="changeCartNum" changeCarCount="{{changeCarCount}}" bind:authModal="authModal"
|
||||||
|
needAuth="{{needAuth}}" is_open_vipcard_buy="{{is_open_vipcard_buy}}" canLevelBuy="{{canLevelBuy}}"
|
||||||
|
isShowListTimer="{{isShowListTimer==1}}" showPickTime="{{ishow_index_pickup_time==1}}"
|
||||||
|
bind:vipModal="vipModal" skin="{{skin}}" saleUnit="{{goods_sale_unit}}" diyInfo="{{value}}"></i-new-rush-spu>
|
||||||
|
</view>
|
||||||
|
</skeleton>
|
||||||
|
</block>
|
||||||
|
<!-- 样式一 End -->
|
||||||
|
<!-- 样式二 Start -->
|
||||||
|
<block wx:for="{{rushList}}" wx:key="idx" wx:for-item="rush" wx:for-index="idx"
|
||||||
|
wx:if="{{rushList.length>0&&value.style==2}}">
|
||||||
|
<skeleton wx:for="{{rush}}" wx:key="id">
|
||||||
|
<view class="active-item-two">
|
||||||
|
<view class="list-item-tag-content" wx:if="{{isShowListTimer==1}}">
|
||||||
|
<view class="list-item-count-down type-two" style="background:{{skin.color}}"
|
||||||
|
wx:if="{{item.spuCanBuyNum!=0 && !actEndMap[item.end_time]}}">
|
||||||
|
仅剩
|
||||||
|
<em wx:if="{{countDownMap[item.end_time].day>0}}">{{countDownMap[item.end_time].day}}天</em>
|
||||||
|
<span class="item-class">{{countDownMap[item.end_time].hour}}</span>:
|
||||||
|
<span class="item-class">{{countDownMap[item.end_time].minute}}</span>:
|
||||||
|
<span class="item-class">{{countDownMap[item.end_time].second}}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<i-rush-spu-big actEnd="{{actEndMap[item.end_time]}}" stopClick="{{stopClick}}" bind:openSku="openSku"
|
||||||
|
spuItem="{{item}}" reduction="{{reduction}}" isShowListCount="{{isShowListCount}}"
|
||||||
|
bind:changeCartNum="changeCartNum" changeCarCount="{{changeCarCount}}" bind:authModal="authModal"
|
||||||
|
needAuth="{{needAuth}}" is_open_vipcard_buy="{{is_open_vipcard_buy}}" canLevelBuy="{{canLevelBuy}}"
|
||||||
|
showPickTime="{{ishow_index_pickup_time==1}}" bind:vipModal="vipModal" skin="{{skin}}"
|
||||||
|
saleUnit="{{goods_sale_unit}}" diyInfo="{{value}}"></i-rush-spu-big>
|
||||||
|
</view>
|
||||||
|
</skeleton>
|
||||||
|
</block>
|
||||||
|
<!-- 样式二 End -->
|
||||||
|
<!-- 样式三 Start -->
|
||||||
|
<view class="theme3" wx:if="{{rushList.length>0 && value.style==3}}">
|
||||||
|
<image class='topic-img' src="{{cate_info.banner}}" mode="widthFix" wx:if="{{cate_info.banner}}" bindtap="goLink"
|
||||||
|
data-link="/eaterplanet_ecommerce/pages/type/details?id={{classificationId}}"></image>
|
||||||
|
<view class="theme3-list">
|
||||||
|
<block wx:for="{{rushList}}" wx:key="idx" wx:for-item="rush" wx:for-index="idx">
|
||||||
|
<block class="item" wx:for="{{rush}}" wx:key="actId">
|
||||||
|
<i-rush-spu spuItem="{{item}}" reduction="{{reduction}}" stopClick="{{stopClick}}" bind:openSku="openSku"
|
||||||
|
needAuth="{{needAuth}}" bind:authModal="authModal" bind:changeCartNum="changeCartNum"
|
||||||
|
changeCarCount="{{changeCarCount}}" is_open_vipcard_buy="{{is_open_vipcard_buy}}"
|
||||||
|
canLevelBuy="{{canLevelBuy}}" bind:vipModal="vipModal" actEnd="{{actEndMap[item.end_time]}}" diyInfo="{{value}}"></i-rush-spu>
|
||||||
|
</block>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 样式三 End -->
|
||||||
|
<!-- 样式4 Start -->
|
||||||
|
<view class="comming-list themeTwo" wx:if="{{rushList.length>0&&value.style==4}}">
|
||||||
|
<block wx:for="{{rushList}}" wx:key="idx" wx:for-item="rush" wx:for-index="idx">
|
||||||
|
<skeleton wx:for="{{rush}}" wx:key="id" class="comming-spu-item">
|
||||||
|
<i-tworow actEnd="{{actEndMap[item.end_time]}}" stopClick="{{stopClick}}" bind:openSku="openSku"
|
||||||
|
spuItem="{{item}}" reduction="{{reduction}}" isShowListCount="{{isShowListCount}}"
|
||||||
|
bind:changeCartNum="changeCartNum" changeCarCount="{{changeCarCount}}" bind:authModal="authModal"
|
||||||
|
needAuth="{{needAuth}}" is_open_vipcard_buy="{{is_open_vipcard_buy}}" canLevelBuy="{{canLevelBuy}}"
|
||||||
|
isShowListTimer="{{isShowListTimer==1}}" showPickTime="{{ishow_index_pickup_time==1}}"
|
||||||
|
bind:vipModal="vipModal" skin="{{skin}}" saleUnit="{{goods_sale_unit}}" diyInfo="{{value}}"></i-tworow>
|
||||||
|
</skeleton>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<!-- 样式4 End -->
|
||||||
|
</block>
|
||||||
|
</template>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,41 @@
|
||||||
|
{
|
||||||
|
"enablePullDownRefresh": true,
|
||||||
|
"backgroundTextStyle": "light",
|
||||||
|
"navigationBarTextStyle": "white",
|
||||||
|
"backgroundColor": "#4d9ee9",
|
||||||
|
"usingComponents": {
|
||||||
|
"ep-navBar": "../../components/navigation-bar",
|
||||||
|
"i-tabbar": "../../components/tabbar/index",
|
||||||
|
"i-router-link": "../../components/router-link/router-link",
|
||||||
|
"i-rush-spu-big": "../../components/rush-spu-big/index",
|
||||||
|
"i-comming-spu": "../../components/comming-spu-disabled/index",
|
||||||
|
"i-img": "../../components/img/index",
|
||||||
|
"i-sku": "../../components/sku/index",
|
||||||
|
"i-count-down": "../../components/count-down/index",
|
||||||
|
"i-load-more": "../../components/load-more/index",
|
||||||
|
"i-tabs": "../../components/tabs/index",
|
||||||
|
"i-modal": "../../components/modal/index",
|
||||||
|
"i-order-notify": "../../components/order-notify/index",
|
||||||
|
"i-new-rush-spu": "../../components/new-rush-spu/index",
|
||||||
|
"i-new-comer": "../../components/new-comer/index",
|
||||||
|
"i-spike": "../../components/spike/index",
|
||||||
|
"i-topic": "../../components/topic/topic",
|
||||||
|
"i-new-auth": "../../components/new-auth/index",
|
||||||
|
"i-change-community": "../../components/changeCommunity/index",
|
||||||
|
"i-rush-spu": "../../components/rush-spu-col/index",
|
||||||
|
"i-seckill-spu": "../../components/seckillItem/seckillItem",
|
||||||
|
"i-vip-price": "../../components/vipPrice/vipPrice",
|
||||||
|
"i-vip-modal": "../../components/vipModal/index",
|
||||||
|
"i-tworow": "../../components/tworow/index",
|
||||||
|
"skeleton": "../../components/skeleton/skeleton",
|
||||||
|
"ad-alert": "../../components/ad-alert/index",
|
||||||
|
"advimg": "../../components/advimg/index",
|
||||||
|
"form-apply": "../../components/form/apply",
|
||||||
|
"parser":"../../components/parser/parser",
|
||||||
|
"diy-goods-list":"../../components/diy-goods-list/index",
|
||||||
|
"diy-many-goods-list":"../../components/diy-many-goods-list/index",
|
||||||
|
"diy-pintuan":"../../components/diy-pintuan/index",
|
||||||
|
"i-empty":"../../components/empty/index",
|
||||||
|
"diy-nav":"../../components/diy-nav/index"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,553 @@
|
||||||
|
<wxs module="test" src="./test.wxs"></wxs>
|
||||||
|
<page-meta bindscroll="{{test.funcA}}">
|
||||||
|
<image class="header-bg" src="{{shop_info.common_header_backgroundimage?shop_info.common_header_backgroundimage:'../../images/TOP_background@2x.png'}}" wx:if="{{shop_info.index_top_img_bg_open==0}}"></image>
|
||||||
|
<ep-navBar ref='' background='{{background}}' backgroundColorTop='#4d9ee9' color='#fff' iconTheme='white' titleimg="{{true}}" titleimgplus="{{true}}"></ep-navBar>
|
||||||
|
<view class="group" style="background-color:rgba(00, 00, 00, 0);height:{{statusBarHeight}}"></view>
|
||||||
|
<movable-area>
|
||||||
|
<view class='index-box pb100 {{showNewCoupon?"preventTouchMove":""}}' wx:if="{{(isDiy==1||loadOver)&&isblack!=1&&isparse_formdata!=1}}">
|
||||||
|
<import src="template/pin.wxml"></import>
|
||||||
|
<import src="template/pinrow.wxml"></import>
|
||||||
|
<import src="template/cube.wxml"></import>
|
||||||
|
<import src="template/seckill.wxml"></import>
|
||||||
|
<import src="template/video.wxml"></import>
|
||||||
|
<import src="template/navlist.wxml"></import>
|
||||||
|
<import src="template/presalerow.wxml"></import>
|
||||||
|
<import src="coupon.wxml"></import>
|
||||||
|
<import src="template/virtualcardrow.wxml"></import>
|
||||||
|
|
||||||
|
<view class="miniAppTip" wx:if="{{isTipShow}}">
|
||||||
|
<view bindtap="handleProxy" class="add-myapp" style="{{'top: ' + searchBarHeight + 92}}">
|
||||||
|
<text>添加到「我的小程序」团购更方便</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view bindtap="handleHideProxy" class="guide" wx:if="{{isShowGuide}}">
|
||||||
|
<image mode="widthFix" src="{{index_lead_image}}"></image>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 旧版首页 -->
|
||||||
|
<block wx:if="{{isDiy==0}}">
|
||||||
|
<view class="bg-ff">
|
||||||
|
<view class="header-content" wx:if="{{hide_top_community==0}}">
|
||||||
|
<view class="header-logoimg">
|
||||||
|
<image class="header-logoimage" src="../../images/logoimg.png"></image>
|
||||||
|
</view>
|
||||||
|
<view class="location" style='color: {{shop_info.index_top_font_color}}' wx:if="{{shop_info.index_communityinfo_showtype!=1}}">
|
||||||
|
<view class="location-left" wx:if="{{community&&community.communityName}}">
|
||||||
|
<navigator hoverClass="router-hover" url="/eaterplanet_ecommerce/pages/position/community" wx:if="{{hide_community_change_btn==0&&open_danhead_model!=1}}">
|
||||||
|
<view class="community-title">
|
||||||
|
<view class="text-overflow1" style="max-width: 360rpx;">{{community.communityName}}</view>
|
||||||
|
<text class='community-change' wx:if="{{hide_community_change_word==0}}">切换</text>
|
||||||
|
<text class="iconfont icon-youjiantou"></text>
|
||||||
|
</view>
|
||||||
|
</navigator>
|
||||||
|
<view wx:else>
|
||||||
|
<view class="community-title">
|
||||||
|
<span>{{community.communityName}}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="community-address" bindtap='gotoMap' wx:if="{{index_hide_headdetail_address==0}}">
|
||||||
|
<text class="iconfont icon-weizhi-tianchong"></text>{{community.address||community.communityAddress||community.fullAddress}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="location-left" wx:else>
|
||||||
|
<navigator hoverClass="router-hover" url="/eaterplanet_ecommerce/pages/position/community">
|
||||||
|
您还没有选择{{groupInfo.owner_name}},轻触去选择 <text class="iconfont icon-weizhi-tianchong"></text>
|
||||||
|
</navigator>
|
||||||
|
</view>
|
||||||
|
<view class="location-right">
|
||||||
|
<image src='{{community.headImg ? community.headImg: community.disUserHeadImg}}' class='img'></image>
|
||||||
|
<text>{{community.disUserName}}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="location-theme2" style='color: {{shop_info.index_top_font_color}}' wx:else>
|
||||||
|
<block wx:if="{{community&&community.communityName}}">
|
||||||
|
|
||||||
|
<view class="loc-m" wx:if="{{hide_community_change_btn==0&&open_danhead_model!=1}}" bindtap="goLink" data-link="/eaterplanet_ecommerce/pages/position/community">
|
||||||
|
{{community.communityName}} <text style='font-size:12px;' wx:if="{{hide_community_change_word==0}}">切换</text><text class="iconfont icon-youjiantou" style='font-size:12px;'></text>
|
||||||
|
</view>
|
||||||
|
<view class="loc-m" wx:else>{{community.communityName}}</view>
|
||||||
|
<view class="loc-l">
|
||||||
|
<image src='{{community.headImg ? community.headImg: community.disUserHeadImg}}' class='img'></image>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view class="loc-l" wx:else>
|
||||||
|
<navigator hoverClass="router-hover" style="margin-top: 16rpx" url="/eaterplanet_ecommerce/pages/position/community">
|
||||||
|
您还没有选择{{groupInfo.owner_name}},轻触去选择 <text class="iconfont icon-weizhi-tianchong"></text>
|
||||||
|
</navigator>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 幻灯片 -->
|
||||||
|
<view class="swipe" wx:if="{{slider_list.length>0}}">
|
||||||
|
<swiper indicatorDots class="swiper-content" duration="400" autoplay indicatorActiveColor="#4facfe" indicatorColor="#fff" interval="5000" circular>
|
||||||
|
<swiper-item wx:for="{{slider_list}}" wx:key="id">
|
||||||
|
<button class="banner nav-contact" openType="contact" wx:if="{{item.linktype==5}}">
|
||||||
|
<i-img iClass="banner-img" loadImage="{{item.image}}"></i-img>
|
||||||
|
</button>
|
||||||
|
<view class='banner' bindtap='goBannerUrl' data-idx="{{index}}" wx:else>
|
||||||
|
<i-img iClass="banner-img" loadImage="{{item.image}}"></i-img>
|
||||||
|
</view>
|
||||||
|
</swiper-item>
|
||||||
|
</swiper>
|
||||||
|
</view>
|
||||||
|
<!-- 导航列表 -->
|
||||||
|
<template is="navlist" data="{{navigat, navigatEmpty, navigatSwiper, skin}}"></template>
|
||||||
|
|
||||||
|
<!-- 弹窗广告 -->
|
||||||
|
<view style="position: relative;z-index: 3">
|
||||||
|
<advimg pos="0" bind:switchType="goIndexType" />
|
||||||
|
</view>
|
||||||
|
<!-- 优惠券 -->
|
||||||
|
<template is="coupon" data="{{hasCoupon, quan}}"></template>
|
||||||
|
|
||||||
|
<!-- 公告 -->
|
||||||
|
<view style="padding-bottom:5rpx; z-index: 3; position: relative" wx:if="{{notice_list.length>0}}">
|
||||||
|
<view class="top-msg" style="color: {{notice_setting.font_color}};background:{{notice_setting.background_color}};">
|
||||||
|
<image wx:if="{{notice_setting.horn}}" src="{{notice_setting.horn}}"></image>
|
||||||
|
<text wx:else class="iconfont icon-laba"></text>
|
||||||
|
<swiper class='notice-swipe' autoplay interval="3000" vertical circular>
|
||||||
|
<block wx:for="{{notice_list}}" wx:key="id">
|
||||||
|
<swiper-item class='notice-swipe-item' bindtap='showNoticeTextHandle' data-status="{{true}}" data-idx="{{index}}">
|
||||||
|
{{item.content}}
|
||||||
|
</swiper-item>
|
||||||
|
</block>
|
||||||
|
</swiper>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 魔方图 -->
|
||||||
|
<template is="cube" data="{{data:cube}}"></template>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 列表 Start -->
|
||||||
|
<view class="list-content" style="z-index: 666;">
|
||||||
|
|
||||||
|
<!-- 拼团 -->
|
||||||
|
<template is="pin" data="{{pinList:pinList,skin}}"></template>
|
||||||
|
<!-- 新人专享 -->
|
||||||
|
<i-new-comer bind:openSku="openSku" refresh="{{newComerRefresh}}" wx:if="{{is_show_new_buy==1}}" skin="{{skin}}" />
|
||||||
|
<!-- 限时秒杀 -->
|
||||||
|
<i-spike bind:openSku="openSku" refresh="{{newComerRefresh}}" wx:if="{{is_show_spike_buy==1}}" skin="{{skin}}" />
|
||||||
|
|
||||||
|
<!-- 多时段整点秒杀 -->
|
||||||
|
<template is="seckill" style="background: linear-gradient(180deg,#94cefe 0%, #4d9ee9 100%)" data="{{secRushList:secRushList,skin,scekillTimeList,secKillActiveIdx,secKillGoodsIndex,needAuth,seckill_bg_color}}" wx:if="{{seckill_is_open==1&&seckill_is_show_index==1}}"></template>
|
||||||
|
|
||||||
|
<!-- 专题 -->
|
||||||
|
<i-topic refresh="{{couponRefresh}}" bind:openSku="openSku" showPos="0" />
|
||||||
|
|
||||||
|
<!-- 分类专题 -->
|
||||||
|
<view class="theme3 bg-ff" wx:if="{{typeTopicList.length&&(typeItem.banner||typeItem.list.length)}}" wx:for="{{typeTopicList}}" wx:key="id" wx:for-index="idx" wx:for-item="typeItem">
|
||||||
|
<image class='topic-img' src="{{typeItem.banner}}" mode="widthFix" wx:if="{{typeItem.banner}}" bindtap="goLink" data-link="/eaterplanet_ecommerce/pages/type/details?id={{typeItem.id}}"></image>
|
||||||
|
<view class="theme3-list">
|
||||||
|
<i-rush-spu class="item" wx:for="{{typeItem.list}}" wx:if="{{typeItem.list.length}}" wx:for-item="item" wx:key="actId" spuItem="{{item}}" reduction="{{reduction}}" stopClick="{{stopClick}}" bind:openSku="openSku" needAuth="{{needAuth}}" bind:authModal="authModal" bind:changeCartNum="changeNotListCartNum" notNum="{{true}}" is_open_vipcard_buy="{{is_open_vipcard_buy}}" canLevelBuy="{{canLevelBuy}}"></i-rush-spu>
|
||||||
|
</view>
|
||||||
|
<view class="theme3-more" bindtap="goLink" data-link="/eaterplanet_ecommerce/pages/type/details?id={{typeItem.id}}" wx:if="{{typeItem.list.length}}">
|
||||||
|
查看全部 <text class="iconfont icon-youjiantou"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 预售 -->
|
||||||
|
<template is="presalerow" data="{{data:presale_index_info,skin}}"></template>
|
||||||
|
|
||||||
|
<!-- 礼品卡 -->
|
||||||
|
<template is="virtualcardrow" data="{{data:virtualcard_info,skin}}"></template>
|
||||||
|
|
||||||
|
<!-- 拼团展示2 -->
|
||||||
|
<template is="pinrow" data="{{pinList:pinList,skin,goods_sale_unit}}"></template>
|
||||||
|
|
||||||
|
<!-- 视频 -->
|
||||||
|
<template is="video" data="{{data:index_video_arr,fmShow,imageSize}}" wx:if="{{index_video_arr&&index_video_arr.enabled==1}}"></template>
|
||||||
|
|
||||||
|
<image id='rush-title' wx:if="{{shop_info.index_list_top_image&&shop_info.index_list_top_image_on!=1}}" class="rush-list-title" src="{{shop_info.index_list_top_image}}"></image>
|
||||||
|
|
||||||
|
<!--搜索框begin-->
|
||||||
|
<form bindsubmit="goResult" style="display: block;width: 100%;padding-bottom: 16rpx;background: linear-gradient(180deg,#94cefe 0%, #4d9ee9 100%)" wx:if="{{index_switch_search==1}}">
|
||||||
|
<view class='search-bar'>
|
||||||
|
<view class='search-box'>
|
||||||
|
<input class='ipt' placeholder="搜索商品" confirm-type="搜索" type="text" name="keyword" bindconfirm="goResult"></input>
|
||||||
|
<view class='search-icon'>
|
||||||
|
<text class="iconfont icon-sousuo1"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</form>
|
||||||
|
<!--搜索框end-->
|
||||||
|
|
||||||
|
<!-- 分类导航 Start -->
|
||||||
|
<block wx:if="{{ishide_index_goodslist!=1}}">
|
||||||
|
<view class='sticky-cate' wx:if="{{index_change_cate_btn==1}}" background='{{background}}' style="{{'top: ' + statusBarHeight}}">
|
||||||
|
<block wx:if="{{hide_index_type!=1}}">
|
||||||
|
<view hidden="{{!isShowClassification||tabIdx!==0}}">
|
||||||
|
<i-tabs activeIndex="{{classification.activeIndex}}" bind:activeIndexChange="classificationChange" data-idx="1" fontColor="#FFF" iClass="category-list" tabs="{{classification.tabs}}" lineBgColor="{{'background:linear-gradient(to right, '+skin.color+', '+skin.light+')'}}"></i-tabs>
|
||||||
|
</view>
|
||||||
|
<view class="tab-nav-query"></view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view wx:else class="sticky-content {{isSticky?'sticky-top':''}} {{scrollDirect==='up'&&isSticky?'tab-nav-sticky':''}}" background='{{background}}' style="{{'top: ' + searchBarHeight}}">
|
||||||
|
<view class="tab-nav tab-nav-query" style='border-color:{{qgtab.bottom_color?qgtab.bottom_color:"#4facfe"}}'>
|
||||||
|
<view bindtap="tabSwitch" class="tab-nav-item {{tabIdx===0?'active':''}}" data-idx="0">
|
||||||
|
<image wx:if="{{tabIdx===0}}" src="{{qgtab.one_select?qgtab.one_select:'../../images/index-tab-left-active.png'}}"></image>
|
||||||
|
<image wx:else src="{{qgtab.one_selected?qgtab.one_selected:'../../images/index-tab-left-disabled.png'}}"></image>
|
||||||
|
<span>{{index_qgtab_text[0]?index_qgtab_text[0]:'正在抢购'}}</span>
|
||||||
|
</view>
|
||||||
|
<view bindtap="tabSwitch" class="tab-nav-item {{tabIdx===1?'active':''}}" data-idx="1">
|
||||||
|
<image wx:if="{{tabIdx===1}}" src="{{qgtab.two_select?qgtab.two_select:'../../images/index-tab-right-active.png'}}"></image>
|
||||||
|
<image wx:else src="{{qgtab.two_selected?qgtab.two_selected:'../../images/index-tab-right-disabled.png'}}"></image>
|
||||||
|
<span>{{index_qgtab_text[1]?index_qgtab_text[1]:'即将开抢'}}
|
||||||
|
</span>
|
||||||
|
</view>
|
||||||
|
<view class="count-down-content" wx:if="{{tabIdx===0}}">
|
||||||
|
<i-count-down countdownClass="count-down" itemClass="item-time" showDay="true" target="{{rushEndTime}}" wx:if="{{rushEndTime&&!stopNotify&&index_qgtab_counttime!=1}}" clearTimer="{{stopNotify}}">
|
||||||
|
<span class="count-down-left-text">仅剩</span>
|
||||||
|
</i-count-down>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<block wx:if="{{hide_index_type!=1}}">
|
||||||
|
<view hidden="{{!isShowClassification||tabIdx!==0}}">
|
||||||
|
<i-tabs activeIndex="{{classification.activeIndex}}" bind:activeIndexChange="classificationChange" data-idx="1" fontColor="#FFF" iClass="category-list" tabs="{{classification.tabs}}" lineBgColor="{{'background:linear-gradient(to right, '+skin.color+', '+skin.light+')'}}"></i-tabs>
|
||||||
|
</view>
|
||||||
|
<view hidden="{{!isShowCommingClassification||tabIdx!==1}}">
|
||||||
|
<i-tabs activeIndex="{{commingClassification.activeIndex}}" bind:activeIndexChange="commingClassificationChange" data-idx="2" fontColor="#FFF" iClass="category-list" tabs="{{classification.tabs}}" lineBgColor="{{'background:linear-gradient(to right, '+skin.color+', '+skin.light+')'}}"></i-tabs>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<!-- 分类导航 End -->
|
||||||
|
<view class='rush-list-box'>
|
||||||
|
<!-- <view wx:if="{{hide_index_type!=1}}" style="height: {{isSticky?'70rpx':'0'}}"></view> -->
|
||||||
|
<block wx:if="{{rushList.length>0 && tabIdx===0}}">
|
||||||
|
<!-- 样式一 Start -->
|
||||||
|
<block wx:for="{{rushList}}" wx:key="idx" wx:for-item="rush" wx:for-index="idx" wx:if="{{rushList.length>0 && theme==0}}">
|
||||||
|
<skeleton wx:for="{{rush}}" wx:key="id">
|
||||||
|
<view class="active-item">
|
||||||
|
<view class="list-item-tag-content" wx:if="{{isShowListTimer==1}}">
|
||||||
|
<view class="empty-1"></view>
|
||||||
|
<view class="empty-2" wx:if="{{item.spuDescribe}}"></view>
|
||||||
|
<view class="empty-3"></view>
|
||||||
|
<view class="list-item-count-down" style="color:{{skin.color}}" wx:if="{{item.spuCanBuyNum!=0 && !actEndMap[item.end_time]}}" data-xx="{{item.spuCanBuyNum}}">
|
||||||
|
仅剩
|
||||||
|
<em wx:if="{{countDownMap[item.end_time].day>0}}">{{countDownMap[item.end_time].day}}天</em>
|
||||||
|
<span class="item-class">{{countDownMap[item.end_time].hour}}</span>:
|
||||||
|
<span class="item-class">{{countDownMap[item.end_time].minute}}</span>:
|
||||||
|
<span class="item-class">{{countDownMap[item.end_time].second}}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<i-new-rush-spu actEnd="{{actEndMap[item.end_time]}}" stopClick="{{stopClick}}" bind:openSku="openSku" spuItem="{{item}}" reduction="{{reduction}}" isShowListCount="{{isShowListCount}}" bind:changeCartNum="changeCartNum" changeCarCount="{{changeCarCount}}" bind:authModal="authModal" needAuth="{{needAuth}}" is_open_vipcard_buy="{{is_open_vipcard_buy}}" canLevelBuy="{{canLevelBuy}}" isShowListTimer="{{isShowListTimer==1}}" showPickTime="{{ishow_index_pickup_time==1}}" bind:vipModal="vipModal" skin="{{skin}}" saleUnit="{{goods_sale_unit}}"></i-new-rush-spu>
|
||||||
|
</view>
|
||||||
|
</skeleton>
|
||||||
|
</block>
|
||||||
|
<!-- 样式一 End -->
|
||||||
|
<!-- 样式二 Start -->
|
||||||
|
<block wx:for="{{rushList}}" wx:key="idx" wx:for-item="rush" wx:for-index="idx" wx:if="{{rushList.length>0&&theme==1}}">
|
||||||
|
<skeleton wx:for="{{rush}}" wx:key="id">
|
||||||
|
<view class="active-item-two">
|
||||||
|
<view class="list-item-tag-content" wx:if="{{isShowListTimer==1}}">
|
||||||
|
<view class="list-item-count-down type-two" style="background:{{skin.color}}" wx:if="{{item.spuCanBuyNum!=0 && !actEndMap[item.end_time]}}">
|
||||||
|
仅剩
|
||||||
|
<em wx:if="{{countDownMap[item.end_time].day>0}}">{{countDownMap[item.end_time].day}}天</em>
|
||||||
|
<span class="item-class">{{countDownMap[item.end_time].hour}}</span>:
|
||||||
|
<span class="item-class">{{countDownMap[item.end_time].minute}}</span>:
|
||||||
|
<span class="item-class">{{countDownMap[item.end_time].second}}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<i-rush-spu-big actEnd="{{actEndMap[item.end_time]}}" stopClick="{{stopClick}}" bind:openSku="openSku" spuItem="{{item}}" reduction="{{reduction}}" isShowListCount="{{isShowListCount}}" bind:changeCartNum="changeCartNum" changeCarCount="{{changeCarCount}}" bind:authModal="authModal" needAuth="{{needAuth}}" is_open_vipcard_buy="{{is_open_vipcard_buy}}" canLevelBuy="{{canLevelBuy}}" showPickTime="{{ishow_index_pickup_time==1}}" bind:vipModal="vipModal" skin="{{skin}}" saleUnit="{{goods_sale_unit}}"></i-rush-spu-big>
|
||||||
|
</view>
|
||||||
|
</skeleton>
|
||||||
|
</block>
|
||||||
|
<!-- 样式二 End -->
|
||||||
|
<!-- 样式三 Start -->
|
||||||
|
<view class="theme3" wx:if="{{rushList.length>0 && theme==2}}">
|
||||||
|
<image class='topic-img' src="{{cate_info.banner}}" mode="widthFix" wx:if="{{cate_info.banner}}" bindtap="goLink" data-link="/eaterplanet_ecommerce/pages/type/details?id={{classificationId}}"></image>
|
||||||
|
<view class="theme3-list">
|
||||||
|
<block wx:for="{{rushList}}" wx:key="idx" wx:for-item="rush" wx:for-index="idx">
|
||||||
|
<block class="item" wx:for="{{rush}}" wx:key="actId">
|
||||||
|
<i-rush-spu spuItem="{{item}}" reduction="{{reduction}}" stopClick="{{stopClick}}" bind:openSku="openSku" needAuth="{{needAuth}}" bind:authModal="authModal" bind:changeCartNum="changeCartNum" changeCarCount="{{changeCarCount}}" is_open_vipcard_buy="{{is_open_vipcard_buy}}" canLevelBuy="{{canLevelBuy}}" bind:vipModal="vipModal" actEnd="{{actEndMap[item.end_time]}}"></i-rush-spu>
|
||||||
|
</block>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 样式三 End -->
|
||||||
|
<!-- 样式4 Start -->
|
||||||
|
<view class="comming-list themeTwo" wx:if="{{rushList.length>0&&theme==3}}">
|
||||||
|
<block wx:for="{{rushList}}" wx:key="idx" wx:for-item="rush" wx:for-index="idx">
|
||||||
|
<skeleton wx:for="{{rush}}" wx:key="id" class="comming-spu-item">
|
||||||
|
<i-tworow actEnd="{{actEndMap[item.end_time]}}" stopClick="{{stopClick}}" bind:openSku="openSku" spuItem="{{item}}" reduction="{{reduction}}" isShowListCount="{{isShowListCount}}" bind:changeCartNum="changeCartNum" changeCarCount="{{changeCarCount}}" bind:authModal="authModal" needAuth="{{needAuth}}" is_open_vipcard_buy="{{is_open_vipcard_buy}}" canLevelBuy="{{canLevelBuy}}" isShowListTimer="{{isShowListTimer==1}}" showPickTime="{{ishow_index_pickup_time==1}}" bind:vipModal="vipModal" skin="{{skin}}" saleUnit="{{goods_sale_unit}}"></i-tworow>
|
||||||
|
</skeleton>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<!-- 样式4 End -->
|
||||||
|
<i-load-more iClass="loadMore" loading="{{loadMore}}" tip="{{loadText}}" wx:if="{{loadMore}}"></i-load-more>
|
||||||
|
</block>
|
||||||
|
<block wx:if="{{tabIdx===1}}">
|
||||||
|
<view class="comming-list" wx:if="{{commingList.length}}">
|
||||||
|
<i-comming-spu category="{{commingClassification.tabs[commingClassification.activeIndex].name}}" class="comming-spu-item" spuItem="{{item}}" wx:if="{{commingList.length}}" wx:for="{{commingList}}" wx:key="id"></i-comming-spu>
|
||||||
|
<i-load-more iClass="loadMore" loading="{{commigLoadMore}}" tip="{{commigTip}}" wx:if="{{commigLoadMore}}"></i-load-more>
|
||||||
|
</view>
|
||||||
|
<view class="none-rush-list" wx:if="{{showCommingEmpty}}">
|
||||||
|
<image class="img-block" src="../../images/icon-index-empty.png"></image>
|
||||||
|
<view class="h1">本类商品暂时没有了哦</view>
|
||||||
|
<view class="h2">我们正在为您加紧准备中</view>
|
||||||
|
</view>
|
||||||
|
<view class="slogan" wx:if="{{!commigLoadMore&&commingList.length}}">
|
||||||
|
<image src="{{indexBottomImage?indexBottomImage:'../../images/icon-index-slogan.png'}}"></image>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<block wx:if="{{tabIdx===0}}">
|
||||||
|
<view class="none-rush-list" wx:if="{{showEmpty}}">
|
||||||
|
<image class="img-block" src="../../images/icon-index-empty.png"></image>
|
||||||
|
<view class="h1">本类商品暂时没有了哦</view>
|
||||||
|
<view class="h2">我们正在为您加紧准备中</view>
|
||||||
|
</view>
|
||||||
|
<view class="slogan" wx:if="{{!loadMore&&rushList.length}}">
|
||||||
|
<image src="{{indexBottomImage?indexBottomImage:'../../images/icon-index-slogan.png'}}"></image>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<!-- 专题 -->
|
||||||
|
<i-topic refresh="{{couponRefresh}}" bind:openSku="openSku" showPos="1" />
|
||||||
|
</view>
|
||||||
|
<!-- 列表 End -->
|
||||||
|
|
||||||
|
|
||||||
|
<view class="fixed-aside">
|
||||||
|
<movable-view y="770rpx" direction="vertical" bindtap='showCopyTextHandle' data-status="{{true}}" class="fixed-copytext" wx:if="{{ishow_index_copy_text==1}}">
|
||||||
|
|
||||||
|
<view>一键复制</view>
|
||||||
|
|
||||||
|
</movable-view>
|
||||||
|
<movable-view y="860rpx" direction="vertical" bindtap="share_handler" class="fixed-share" wx:if="{{isShowShareBtn==1}}">
|
||||||
|
<text class="iconfont icon-fenxiang"></text>
|
||||||
|
<view>分享</view>
|
||||||
|
|
||||||
|
</movable-view>
|
||||||
|
|
||||||
|
<movable-view y="950rpx" direction="vertical">
|
||||||
|
<button open-type="contact" wx:if="{{isShowContactBtn==1}}" class="contact-service">
|
||||||
|
<text class="iconfont icon-kefu"></text>
|
||||||
|
<view>客服</view>
|
||||||
|
</button>
|
||||||
|
</movable-view>
|
||||||
|
|
||||||
|
<movable-view y="1040rpx" direction="vertical" bindtap="backTop" class="fixed-top" hidden="{{!isSticky}}" wx:if="{{ishow_index_gotop==1}}">
|
||||||
|
<text class="iconfont icon-fanhuidingbu"></text>
|
||||||
|
<view>顶部</view>
|
||||||
|
|
||||||
|
</movable-view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<!-- diy组件 -->
|
||||||
|
<view wx:if="{{isDiy==1&&diyLoaded}}" class="diy-box safebottom" style="background: url({{globalDiyData.bgUrl}}) no-repeat top center {{globalDiyData.bgColor}};background-size: 100%;">
|
||||||
|
<import src="communityShow.wxml"></import>
|
||||||
|
<import src="richtext.wxml"></import>
|
||||||
|
<import src="text.wxml"></import>
|
||||||
|
<import src="blank.wxml"></import>
|
||||||
|
<import src="banner.wxml"></import>
|
||||||
|
<import src="notice.wxml"></import>
|
||||||
|
<import src="search.wxml"></import>
|
||||||
|
<import src="line.wxml"></import>
|
||||||
|
<import src="floatBtn.wxml"></import>
|
||||||
|
<import src="cube.wxml"></import>
|
||||||
|
<import src="goodsList.wxml"></import>
|
||||||
|
<import src="diySeckill.wxml"></import>
|
||||||
|
<import src="video.wxml"></import>
|
||||||
|
<import src="diySingleImg.wxml"></import>
|
||||||
|
<import src="diyCoupon.wxml"></import>
|
||||||
|
|
||||||
|
<block wx:for="{{diyJson}}" wx:key="index">
|
||||||
|
<!-- 社区展示 -->
|
||||||
|
<template is="communityShow" data="{{item, community, hide_community_change_btn, open_danhead_model, index_hide_headdetail_address, hide_community_change_word}}" wx:if="{{item.controller=='CommunityShow'}}"></template>
|
||||||
|
<!-- 导航图标 -->
|
||||||
|
<diy-nav list="{{item}}" skin="{{skin}}" wx:if="{{item.controller=='GraphicNav'}}"></diy-nav>
|
||||||
|
<!-- 公告 -->
|
||||||
|
<template is="notice" data="{{item}}" wx:if="{{item.controller=='Notice'}}"></template>
|
||||||
|
<!-- 优惠券 -->
|
||||||
|
<template is="diyCoupon" data="{{hasCoupon, quan, item}}" wx:if="{{item.controller=='Coupon'}}"></template>
|
||||||
|
<!-- 幻灯片 -->
|
||||||
|
<template is="banner" data="{{item}}" wx:if="{{item.controller=='Slider'}}"></template>
|
||||||
|
<!-- 搜索框 -->
|
||||||
|
<template is="search" data="{{item}}" wx:if="{{item.controller=='Search'}}"></template>
|
||||||
|
<!-- 辅助线 -->
|
||||||
|
<template is="line" data="{{item}}" wx:if="{{item.controller=='HorzLine'}}"></template>
|
||||||
|
<!-- 辅助空白 -->
|
||||||
|
<template is="blank" data="{{item}}" wx:if="{{item.controller=='HorzBlank'}}"></template>
|
||||||
|
<!-- 富文本 -->
|
||||||
|
<template is="richtext" data="{{item}}" wx:if="{{item.controller=='RichText'}}"></template>
|
||||||
|
<!-- 文本 -->
|
||||||
|
<template is="text" data="{{item}}" wx:if="{{item.controller=='Text'}}"></template>
|
||||||
|
<!-- 浮动按钮 -->
|
||||||
|
<template is="floatBtn" data="{{item}}" wx:if="{{item.controller=='FloatBtn'}}"></template>
|
||||||
|
<!-- 图片魔方 -->
|
||||||
|
<template is="cube" data="{{item}}" wx:if="{{item.controller=='RubikCube'}}"></template>
|
||||||
|
<!-- 商品列表 -->
|
||||||
|
<block wx:if="{{item.controller=='GoodsList'}}">
|
||||||
|
<diy-goods-list value="{{item}}" idx="{{index}}" bind:diyGoodsList="getDiyGoodsList">
|
||||||
|
<template is="goodsList" data="{{rushList: diyGoodsList[index], value: item, isShowListTimer, actEndMap, countDownMap, stopClick, isShowListCount, needAuth, is_open_vipcard_buy, ishow_index_pickup_time, skin, goods_sale_unit}}" wx:if="{{diyGoodsList.length}}"></template>
|
||||||
|
</diy-goods-list>
|
||||||
|
</block>
|
||||||
|
<!-- 拼团 -->
|
||||||
|
<diy-pintuan refresh="{{couponRefresh}}" diyInfo="{{item}}" wx:if="{{item.controller=='Pintuan'}}" skin="{{skin}}" />
|
||||||
|
<!-- 多时段限时秒杀 -->
|
||||||
|
<template is="diySeckill" wx:if="{{item.controller=='Seckill'}}" data="{{secRushList:secRushList,skin,scekillTimeList,secKillActiveIdx,secKillGoodsIndex,needAuth,diyInfo:item}}"></template>
|
||||||
|
<!-- 视频 -->
|
||||||
|
<template is="video" data="{{item}}" wx:if="{{item.controller=='Video'}}"></template>
|
||||||
|
<!-- 新人专享 -->
|
||||||
|
<block wx:if="{{item.controller=='Newcome'}}">
|
||||||
|
<i-new-comer bind:openSku="openSku" refresh="{{newComerRefresh}}" diyData="{{item}}" skin="{{skin}}" />
|
||||||
|
</block>
|
||||||
|
<!-- 专题 -->
|
||||||
|
<block wx:if="{{item.controller=='Special'}}">
|
||||||
|
<i-topic refresh="{{couponRefresh}}" bind:openSku="openSku" showPos="0" diyInfo="{{item}}" />
|
||||||
|
</block>
|
||||||
|
<!-- 多商品组 -->
|
||||||
|
<block wx:if="{{item.controller=='ManyGoodsList'}}">
|
||||||
|
<diy-many-goods-list value="{{item}}" idx="{{index}}" bind:diyGoodsList="getDiyManyGoodsList">
|
||||||
|
<template is="goodsList" data="{{rushList: diyManyGoodsList, value: item, isShowListTimer, actEndMap, countDownMap, stopClick, isShowListCount, needAuth, is_open_vipcard_buy, ishow_index_pickup_time, skin, goods_sale_unit}}" wx:if="{{diyManyGoodsList.length}}"></template>
|
||||||
|
<view wx:else>
|
||||||
|
<i-empty>暂无商品~</i-empty>
|
||||||
|
</view>
|
||||||
|
</diy-many-goods-list>
|
||||||
|
</block>
|
||||||
|
<!-- 单图组 -->
|
||||||
|
<template is="diySingleImg" data="{{item}}" wx:if="{{item.controller=='SingleImg'}}"></template>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<view style="height:100rpx;"></view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<i-tabbar currentIdx='0' cartNum='{{cartNum}}' needAuth="{{needAuth}}" tabbarRefresh="{{tabbarRefresh}}" bind:authModal="authModal" />
|
||||||
|
<i-order-notify i-class="order-notify" wx:if="{{shop_info.order_notify_switch==1}}" stopNotify="{{stopNotify}}" />
|
||||||
|
|
||||||
|
<i-change-community wx:if="{{showChangeCommunity}}" wx:if="{{showChangeCommunity}}" visible="{{showChangeCommunity}}" changeCommunity="{{changeCommunity}}" community="{{community}}" bind:changeComunity="confrimChangeCommunity" canChange="{{hide_community_change_btn==0}}" groupInfo="{{groupInfo}}"></i-change-community>
|
||||||
|
|
||||||
|
<!-- 弹窗优惠券begin -->
|
||||||
|
<view class='new-coupou' wx:if="{{showCouponModal && hasAlertCoupon && !showChangeCommunity}}">
|
||||||
|
<view class='new-coupou-content'>
|
||||||
|
<view class='new-coupou-body'>
|
||||||
|
<view class='new-coupou-body-head'>恭喜你获得{{totalAlertMoney}}元红包券</view>
|
||||||
|
<view class='new-coupou-body-scroll'>
|
||||||
|
<scroll-view scroll-y style='max-height:580rpx;'>
|
||||||
|
<view class='new-coupou-item' wx:for="{{alert_quan_list}}" wx:key="id">
|
||||||
|
<view class="m-coupon-l">
|
||||||
|
<view class='m-coupou-price'><text>¥</text>{{item.credit}}</view>
|
||||||
|
</view>
|
||||||
|
<view class='m-coupou-m'>
|
||||||
|
<view class='m-coupou-name'>{{item.voucher_title}}</view>
|
||||||
|
<view class='m-coupou-title' wx:if="{{item.limit_money >0}}">满{{item.limit_money}}元可用</view>
|
||||||
|
<view class='m-coupou-title' wx:if="{{item.is_limit_goods_buy==0}}">使用范围:所有商品</view>
|
||||||
|
<view class='m-coupou-title' wx:elif="{{item.is_limit_goods_buy==1}}">使用范围:指定商品</view>
|
||||||
|
<view class='m-coupou-title' wx:elif="{{item.is_limit_goods_buy==2}}">使用范围:指定分类</view>
|
||||||
|
</view>
|
||||||
|
<view class='m-coupou-r'>
|
||||||
|
<view class='new-coupou-use kong' bindtap='goUse' data-idx='{{index}}'>去使用</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
<view class='new-coupou-body-foot'>
|
||||||
|
<view class='new-coupou-body-btn' bindtap='toggleCoupon' data-auth="true">立即使用</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class='new-coupou-foot'>
|
||||||
|
<text class="iconfont icon-guanbi" bindtap='toggleCoupon'></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 弹窗优惠券end -->
|
||||||
|
<!-- 弹窗广告 -->
|
||||||
|
<ad-alert pop_page="0" wx:else />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 禁用界面 -->
|
||||||
|
<view class="forbid i-flex-col i-flex-alc" wx:if="{{isblack==1}}">
|
||||||
|
<text class="iconfont icon-icon-test1"></text>
|
||||||
|
<view class="h1">您已被禁止访问</view>
|
||||||
|
<view class="h2">请联系管理员</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!---规格选择begin-->
|
||||||
|
<i-sku visible="{{visible}}" skin="{{skin}}" skuList="{{skuList}}" cur_sku_arr="{{cur_sku_arr}}" bind:cancel="closeSku" sku_val="{{sku_val}}" sku="{{sku}}" goodsid="{{addCar_goodsid}}" bind:changeCartNum="changeCartNum" bind:vipModal="vipModal"></i-sku>
|
||||||
|
<!---规格选择end-->
|
||||||
|
|
||||||
|
<!-- 会员表单申请 -->
|
||||||
|
|
||||||
|
<!-- {{isparse_formdata}} -->
|
||||||
|
<!-- 2023-03-21 会员申请屏蔽 -->
|
||||||
|
<form-apply wx:if="{{isparse_formdata==1}}"></form-apply>
|
||||||
|
|
||||||
|
<!-- 分享 -->
|
||||||
|
<view class='ui-mask' bindtap='hide_share_handler' hidden='{{is_share_html}}'></view>
|
||||||
|
<view class="model-services show" hidden='{{is_share_html}}'>
|
||||||
|
<view class="model-services-title">分享</view>
|
||||||
|
<view class="model-services-content">
|
||||||
|
<view class="service-list">
|
||||||
|
<view class="service-item">
|
||||||
|
<button open-type="share" class='none_btn' plain="true">
|
||||||
|
<text class="iconfont icon-weixin2 service-icon"></text>
|
||||||
|
<view class="cube-text">
|
||||||
|
<text>好友</text>
|
||||||
|
</view>
|
||||||
|
</button>
|
||||||
|
</view>
|
||||||
|
<view class="service-item" bindtap="goLink" data-link='/eaterplanet_ecommerce/pages/index/share' data-needauth="{{true}}">
|
||||||
|
<text class="iconfont icon-pengyouquan service-icon"></text>
|
||||||
|
<view class="cube-text">
|
||||||
|
<text>海报</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 分享 End -->
|
||||||
|
|
||||||
|
<!-- 文本复制 Begin -->
|
||||||
|
<i-modal scrollUp="{{false}}" visible="{{showCopyText}}">
|
||||||
|
<view class="copytext">
|
||||||
|
<view class="copytext-title" style="background:{{skin.color}}">
|
||||||
|
- {{groupInfo.owner_name}}信息 -
|
||||||
|
<text class="iconfont icon-guanbi copytext-close" bindtap='showCopyTextHandle' data-status="{{false}}"></text>
|
||||||
|
</view>
|
||||||
|
<view class="copytext-p">小区:{{community.communityName}}</view>
|
||||||
|
<view class="copytext-p">{{groupInfo.owner_name}}:{{community.disUserName}}</view>
|
||||||
|
<view class="copytext-p">自提点:{{community.address||community.communityAddress||community.fullAddress}}</view>
|
||||||
|
<view class="copytext-h3">今日推荐</view>
|
||||||
|
<scroll-view class="copytext-content" scroll-y>
|
||||||
|
<view class="copytext-item" wx:for="{{copy_text_arr}}" wx:key="id" wx:if="{{copy_text_arr.length}}">
|
||||||
|
{{index+1}}. 【{{item.goods_name}}】 <text>团购价{{item.price}}元</text>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
<i-button class="community-content-btn" iClass="btn" bindtap="copyText" style="background:{{skin.color}}">一键复制</i-button>
|
||||||
|
</view>
|
||||||
|
</i-modal>
|
||||||
|
<!-- 文本复制 End -->
|
||||||
|
|
||||||
|
<i-new-auth needAuth="{{needAuth&&showAuthModal}}" bind:authSuccess="authSuccess" bind:cancel="authModal" needPosition="{{needPosition}}"></i-new-auth>
|
||||||
|
|
||||||
|
<i-vip-modal visible="{{showVipModal}}" imgUrl="{{pop_vipmember_buyimage}}" />
|
||||||
|
|
||||||
|
<!-- 公众号关注组件 -->
|
||||||
|
<view class="mp-account" wx:if="{{show_index_wechat_oa==1&&!hideMpAccount}}">
|
||||||
|
<text class="iconfont icon-guanbi" bindtap="closeMpaccount"></text>
|
||||||
|
<official-account binderror="binderror" bindload="bindload"></official-account>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 公告弹窗 Begin -->
|
||||||
|
<i-modal scrollUp="{{false}}" visible="{{showNoticeText}}">
|
||||||
|
<view class="copytext">
|
||||||
|
<view class="copytext-title" style="background:{{skin.color}}">
|
||||||
|
- 公告 -
|
||||||
|
<text class="iconfont icon-guanbi copytext-close" bindtap='showNoticeTextHandle' data-status="{{false}}"></text>
|
||||||
|
</view>
|
||||||
|
<scroll-view class="copytext-content" scroll-y>
|
||||||
|
<view class="copytext-item" wx:if="{{noticeIdx>=0}}">
|
||||||
|
{{notice_list[noticeIdx].content}}
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
</i-modal>
|
||||||
|
<!-- 公告弹窗 End -->
|
||||||
|
</movable-area>
|
||||||
|
</page-meta>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,3 @@
|
||||||
|
<template name="line">
|
||||||
|
<view style="border-top: 1rpx {{item.borderStyle}} {{item.color}};margin:{{item.margin}}px {{item.padding}}px;"></view>
|
||||||
|
</template>
|
|
@ -0,0 +1,15 @@
|
||||||
|
<template name="notice">
|
||||||
|
<view style="margin-top: {{item.marginTop}}px;">
|
||||||
|
<view class="top-msg" style="color: {{item.textColor}};background:{{item.backgroundColor}};">
|
||||||
|
<image wx:if="{{item.leftImg!='/static/diycomponent/notice/img/notice.png'}}" src="{{item.leftImg}}"></image>
|
||||||
|
<text wx:else class="iconfont icon-laba"></text>
|
||||||
|
<swiper class='notice-swipe' autoplay interval="3000" vertical circular>
|
||||||
|
<block wx:for="{{item.list}}" wx:for-item="noticeItem" wx:key="id">
|
||||||
|
<swiper-item class='notice-swipe-item' data-content="{{noticeItem.title}}">
|
||||||
|
{{noticeItem.title}}
|
||||||
|
</swiper-item>
|
||||||
|
</block>
|
||||||
|
</swiper>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<template name="richtext">
|
||||||
|
<view style="margin: {{item.marginTop*2+'rpx'}} 20rpx 0;background-color: {{item.backgroundColor}};border-radius:10rpx;">
|
||||||
|
<parser html="{{item.html}}" />
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<template name="search">
|
||||||
|
<form bindsubmit="goResult" style="display:block;width: 100%;">
|
||||||
|
<view class='diy-search-bar u-p-l-20 u-p-r-20 u-p-t-10 u-p-b-10' style="background-color:{{item.backgroundColor}}">
|
||||||
|
<view class='search-box' style="{{item.borderType==1?'border-radius:0;':''}};text-align:{{item.textAlign}}">
|
||||||
|
<input class="ipt {{item.borderType==2?'radius':''}}" placeholder="{{item.title?item.title:'搜索商品'}}" confirm-type="search" bindconfirm="goResult" type="text" name="keyword" style="background-color:{{item.bgColor}};color:{{item.textColor}};" placeholder-style="color:{{item.textColor}};"></input>
|
||||||
|
<view class='diy-search-icon'>
|
||||||
|
<text class="iconfont icon-sousuo1" style="color:{{item.textColor}}"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</form>
|
||||||
|
</template>
|
|
@ -0,0 +1,42 @@
|
||||||
|
.diy-search-bar {
|
||||||
|
background-color: transparent;
|
||||||
|
width: 94%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin:0 auto;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diy-search-bar .search-box {
|
||||||
|
position: relative;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
height: 76rpx;
|
||||||
|
line-height: 76rpx;
|
||||||
|
border-radius: 76rpx;
|
||||||
|
color: #acacac;
|
||||||
|
display: flex;
|
||||||
|
align-content: center;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diy-search-bar .search-box .ipt {
|
||||||
|
padding: 0 30rpx;
|
||||||
|
line-height: 76rpx;
|
||||||
|
height: 76rpx;
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diy-search-bar .search-box .ipt.radius {
|
||||||
|
border-radius: 76rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diy-search-bar .diy-search-icon {
|
||||||
|
position: absolute;
|
||||||
|
right: 12px;
|
||||||
|
top: 50%;
|
||||||
|
margin-top: -30rpx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 60rpx;
|
||||||
|
}
|
|
@ -0,0 +1,128 @@
|
||||||
|
var app = getApp();
|
||||||
|
Page({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
goodShareImg: ''
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad: function (options) {
|
||||||
|
let type = options.type || '';
|
||||||
|
if (type == 'commiss'){
|
||||||
|
this.getCommissShareImage();
|
||||||
|
}else {
|
||||||
|
this.getShareImage();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handlerGobackClick(delta) {
|
||||||
|
const pages = getCurrentPages();
|
||||||
|
if (pages.length >= 2) {
|
||||||
|
wx.navigateBack({
|
||||||
|
delta: delta
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handlerGohomeClick(url) {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 商品列表分享图
|
||||||
|
*/
|
||||||
|
getShareImage: function () {
|
||||||
|
wx.showLoading({ title: '获取中' })
|
||||||
|
var that = this;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
var community_id = wx.getStorageSync('community').communityId;
|
||||||
|
app.util.request({
|
||||||
|
url: 'entry/wxapp/user',
|
||||||
|
data: {
|
||||||
|
controller: 'user.user_index_shareqrcode',
|
||||||
|
community_id,
|
||||||
|
token: token
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
method: 'POST',
|
||||||
|
success: function (res) {
|
||||||
|
if (res.data.code == 0) {
|
||||||
|
let goodShareImg = res.data.image_path;
|
||||||
|
that.setData({ goodShareImg });
|
||||||
|
wx.hideLoading();
|
||||||
|
// var image_path = res.data.image_path;
|
||||||
|
// wx.getImageInfo({
|
||||||
|
// src: image_path,
|
||||||
|
// success: function (res) {
|
||||||
|
// var real_path = res.path;
|
||||||
|
// wx.saveImageToPhotosAlbum({
|
||||||
|
// filePath: real_path,
|
||||||
|
// success(res) {
|
||||||
|
// wx.showToast({
|
||||||
|
// title: '图片保存成功,可以分享了',
|
||||||
|
// icon: 'none',
|
||||||
|
// duration: 2000
|
||||||
|
// })
|
||||||
|
// that.setData({
|
||||||
|
// is_share_html: true
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员分销分享图
|
||||||
|
*/
|
||||||
|
getCommissShareImage: function () {
|
||||||
|
wx.showLoading({ title: '获取中' })
|
||||||
|
var that = this;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
app.util.request({
|
||||||
|
url: 'entry/wxapp/user',
|
||||||
|
data: {
|
||||||
|
controller: 'distribution.get_haibao',
|
||||||
|
token: token
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
method: 'POST',
|
||||||
|
success: function (res) {
|
||||||
|
if (res.data.code == 0) {
|
||||||
|
let goodShareImg = res.data.commiss_qrcode;
|
||||||
|
that.setData({ goodShareImg });
|
||||||
|
wx.hideLoading();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
//图片点击事件
|
||||||
|
preImg: function (event) {
|
||||||
|
var src = event.currentTarget.dataset.src;//获取data-src
|
||||||
|
var goodShareImg = this.data.goodShareImg;//获取data-list
|
||||||
|
//图片预览
|
||||||
|
wx.previewImage({
|
||||||
|
current: src, // 当前显示图片的http链接
|
||||||
|
urls: [goodShareImg] // 需要预览的图片http链接列表
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面显示
|
||||||
|
*/
|
||||||
|
onShow: function () {
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"navigationBarBackgroundColor": "#FFF",
|
||||||
|
"navigationBarTitleText": "分享图片",
|
||||||
|
"navigationBarTextStyle": "black",
|
||||||
|
"usingComponents": {
|
||||||
|
"ep-navBar": "../../components/navigation-bar"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
<ep-navBar title="分享" background='#4facfe' back="{{true}}" iconTheme='white' color='#fff' bindback="handlerGobackClick"/>
|
||||||
|
<view class='share-box'>
|
||||||
|
<view class='tip'>点击图片预览,长按保存图片,发送至群。</view>
|
||||||
|
<image bindtap='preImg' mode='widthFix' class='img' src='{{goodShareImg}}' data-src='{{goodShareImg}}'></image>
|
||||||
|
</view>
|
|
@ -0,0 +1,18 @@
|
||||||
|
/* eaterplanet_ecommerce/pages/index/share.wxss */
|
||||||
|
page {
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-box {
|
||||||
|
padding: 0 30rpx 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-box .tip {
|
||||||
|
line-height: 2.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-box .img {
|
||||||
|
width: 100%;
|
||||||
|
border-radius: 30rpx 30rpx 30rpx 30rpx;
|
||||||
|
box-shadow: 0 0 20rpx rgba(0,0,0,0.3);
|
||||||
|
}
|
|
@ -0,0 +1,102 @@
|
||||||
|
<!-- 魔方图 -->
|
||||||
|
<template name="cube">
|
||||||
|
<view class="cube" wx:if="{{data.length}}">
|
||||||
|
<block wx:for="{{data}}" wx:key="id">
|
||||||
|
<!-- 1张 -->
|
||||||
|
<view class='cube-item' wx:if="{{item.type==1}}">
|
||||||
|
<button class="nav-contact" openType="contact" wx:if="{{item.thumb.linktype[0]==7}}">
|
||||||
|
<image src="{{item.thumb.cover[0]}}" class="cube-one rounded" mode="widthFix"></image>
|
||||||
|
</button>
|
||||||
|
<image wx:else src="{{item.thumb.cover[0]}}" class="cube-one rounded" mode="widthFix" data-index="{{index}}" data-idx="0" bindtap="goCube"></image>
|
||||||
|
</view>
|
||||||
|
<!-- 2张 -->
|
||||||
|
<view class='cube-item' wx:if="{{item.type==2}}">
|
||||||
|
<button class="cube-left nav-contact" openType="contact" wx:if="{{item.thumb.linktype[0]==7}}">
|
||||||
|
<i-img iClass="cube-left rounded" loadImage="{{item.thumb.cover[0]}}" width="295" height="365"></i-img>
|
||||||
|
</button>
|
||||||
|
<i-img wx:else iClass="cube-left rounded" loadImage="{{item.thumb.cover[0]}}" width="295" height="365" data-index="{{index}}" data-idx="0" bindtap="goCube"></i-img>
|
||||||
|
<button class="cube-two nav-contact" openType="contact" wx:if="{{item.thumb.linktype[1]==7}}">
|
||||||
|
<i-img iClass="cube-two rounded" loadImage="{{item.thumb.cover[1]}}" width="450" height="365"></i-img>
|
||||||
|
</button>
|
||||||
|
<i-img wx:else iClass="cube-two rounded" loadImage="{{item.thumb.cover[1]}}" width="450" height="365" data-index="{{index}}" data-idx="1" bindtap="goCube"></i-img>
|
||||||
|
</view>
|
||||||
|
<!-- 3张 -->
|
||||||
|
<view class='cube-item' wx:if="{{item.type==3}}">
|
||||||
|
<button class="nav-contact" openType="contact" wx:if="{{item.thumb.linktype[0]==7}}">
|
||||||
|
<i-img iClass="cube-left rounded" loadImage="{{item.thumb.cover[0]}}" width="275" height="365"></i-img>
|
||||||
|
</button>
|
||||||
|
<i-img wx:else iClass="cube-left rounded" loadImage="{{item.thumb.cover[0]}}" width="275" height="365" data-index="{{index}}" data-idx="0" bindtap="goCube"></i-img>
|
||||||
|
<view class="i-flex-col i-flex-spb">
|
||||||
|
<button class="nav-contact" openType="contact" wx:if="{{item.thumb.linktype[1]==7}}">
|
||||||
|
<i-img iClass="cube-three rounded" loadImage="{{item.thumb.cover[1]}}" width="430" height="180"></i-img>
|
||||||
|
</button>
|
||||||
|
<i-img wx:else iClass="cube-three rounded" loadImage="{{item.thumb.cover[1]}}" width="430" height="180" data-index="{{index}}" data-idx="1" bindtap="goCube"></i-img>
|
||||||
|
<button class="nav-contact" openType="contact" wx:if="{{item.thumb.linktype[2]==7}}">
|
||||||
|
<i-img iClass="cube-three rounded" loadImage="{{item.thumb.cover[2]}}" width="430" height="180"></i-img>
|
||||||
|
</button>
|
||||||
|
<i-img wx:else iClass="cube-three rounded" loadImage="{{item.thumb.cover[2]}}" width="430" height="180" data-index="{{index}}" data-idx="2" bindtap="goCube"></i-img>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 4张 -->
|
||||||
|
<view class='cube-item' wx:if="{{item.type==4}}">
|
||||||
|
<button class="nav-contact" openType="contact" wx:if="{{item.thumb.linktype[0]==7}}">
|
||||||
|
<i-img iClass="cube-left rounded" loadImage="{{item.thumb.cover[0]}}" width="275" height="365"></i-img>
|
||||||
|
</button>
|
||||||
|
<i-img wx:else iClass="cube-left rounded" loadImage="{{item.thumb.cover[0]}}" width="275" height="365" data-index="{{index}}" data-idx="0" bindtap="goCube"></i-img>
|
||||||
|
<view class="i-flex-col i-flex-spb">
|
||||||
|
<button class="nav-contact" openType="contact" wx:if="{{item.thumb.linktype[1]==7}}">
|
||||||
|
<i-img iClass="cube-three rounded" loadImage="{{item.thumb.cover[1]}}" width="430" height="180"></i-img>
|
||||||
|
</button>
|
||||||
|
<i-img wx:else iClass="cube-three rounded" loadImage="{{item.thumb.cover[1]}}" width="430" height="180" data-index="{{index}}" data-idx="1" bindtap="goCube"></i-img>
|
||||||
|
<view class="i-flex i-flex-spb w450">
|
||||||
|
<button class="nav-contact" openType="contact" wx:if="{{item.thumb.linktype[2]==7}}">
|
||||||
|
<i-img iClass="cube-four rounded" loadImage="{{item.thumb.cover[2]}}" width="212.5" height="180"></i-img>
|
||||||
|
</button>
|
||||||
|
<i-img wx:else iClass="cube-four rounded" loadImage="{{item.thumb.cover[2]}}" width="212.5" height="180" data-index="{{index}}" data-idx="2" bindtap="goCube"></i-img>
|
||||||
|
<button class="nav-contact" openType="contact" wx:if="{{item.thumb.linktype[3]==7}}">
|
||||||
|
<i-img iClass="cube-four rounded" loadImage="{{item.thumb.cover[3]}}" width="212.5" height="180"></i-img>
|
||||||
|
</button>
|
||||||
|
<i-img wx:else iClass="cube-four rounded" loadImage="{{item.thumb.cover[3]}}" width="212.5" height="180" data-index="{{index}}" data-idx="3" bindtap="goCube"></i-img>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 均分 -->
|
||||||
|
<!-- 2张 -->
|
||||||
|
<view class='cube-item' wx:if="{{item.type==5}}">
|
||||||
|
<block wx:for="{{item.thumb.cover}}" wx:for-index="idx" wx:for-item="imgItem" wx:key="idx">
|
||||||
|
<button class="cube-w nav-contact" openType="contact" wx:if="{{item.thumb.linktype[idx]==7}}">
|
||||||
|
<image src="{{imgItem}}" class="w100p" mode="widthFix"></image>
|
||||||
|
</button>
|
||||||
|
<image wx:else src="{{imgItem}}" class="cube-w" mode="widthFix" data-index="{{index}}" data-idx="{{idx}}" bindtap="goCube"></image>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<!-- 3张 -->
|
||||||
|
<view class='cube-item' wx:if="{{item.type==6}}">
|
||||||
|
<block wx:for="{{item.thumb.cover}}" wx:for-index="idx" wx:for-item="imgItem" wx:key="idx">
|
||||||
|
<button class="cube-w nav-contact" openType="contact" wx:if="{{item.thumb.linktype[idx]==7}}">
|
||||||
|
<image src="{{imgItem}}" class="w100p" mode="widthFix"></image>
|
||||||
|
</button>
|
||||||
|
<image wx:else src="{{imgItem}}" class="cube-w" mode="widthFix" data-index="{{index}}" data-idx="{{idx}}" bindtap="goCube"></image>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<!-- 1*4张 -->
|
||||||
|
<view class='cube-item' wx:if="{{item.type==7}}">
|
||||||
|
<block wx:for="{{item.thumb.cover}}" wx:for-index="idx" wx:for-item="imgItem" wx:key="idx">
|
||||||
|
<button class="cube-w4 nav-contact" openType="contact" wx:if="{{item.thumb.linktype[idx]==7}}">
|
||||||
|
<image src="{{imgItem}}" class="w100p" mode="widthFix"></image>
|
||||||
|
</button>
|
||||||
|
<image wx:else src="{{imgItem}}" class="cube-w" mode="widthFix" data-index="{{index}}" data-idx="{{idx}}" bindtap="goCube"></image>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<!-- 2*2 -->
|
||||||
|
<view class='cube-item two-row' wx:if="{{item.type==8}}">
|
||||||
|
<block wx:for="{{item.thumb.cover}}" wx:for-index="idx" wx:for-item="imgItem" wx:key="idx">
|
||||||
|
<button class="cube-w nav-contact" openType="contact" wx:if="{{item.thumb.linktype[idx]==7}}">
|
||||||
|
<image src="{{imgItem}}" class="w100p" mode="widthFix"></image>
|
||||||
|
</button>
|
||||||
|
<image wx:else src="{{imgItem}}" class="cube-w" mode="widthFix" data-index="{{index}}" data-idx="{{idx}}" bindtap="goCube"></image>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,89 @@
|
||||||
|
.cube {
|
||||||
|
position: relative;
|
||||||
|
padding: 0 20rpx 20rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
z-index: 3;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.cube-item {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.cube-item:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cube-one {
|
||||||
|
border-radius: 20rpx;
|
||||||
|
width: 710rpx;
|
||||||
|
box-shadow: 0rpx 5rpx 15rpx 0rpx rgb(79, 129, 182);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cube-left {
|
||||||
|
border-radius: 20rpx;
|
||||||
|
width: 273rpx;
|
||||||
|
height: 371rpx;
|
||||||
|
box-shadow: 0rpx 5rpx 15rpx 0rpx rgb(79, 129, 182);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cube-two {
|
||||||
|
border-radius: 20rpx;
|
||||||
|
width: 430rpx;
|
||||||
|
height: 370rpx;
|
||||||
|
box-shadow: 0rpx 5rpx 15rpx 0rpx rgb(79, 129, 182);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cube-three {
|
||||||
|
border-radius: 20rpx;
|
||||||
|
width: 430rpx;
|
||||||
|
height: 181rpx;
|
||||||
|
box-shadow: 0rpx 5rpx 15rpx 0rpx rgb(79, 129, 182);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cube-four {
|
||||||
|
border-radius: 20rpx;
|
||||||
|
width: 211rpx;
|
||||||
|
height: 182rpx;
|
||||||
|
box-shadow: 0rpx 5rpx 15rpx 0rpx rgb(79, 129, 182);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cube-w {
|
||||||
|
border-radius: 20rpx;
|
||||||
|
width: 353rpx;
|
||||||
|
height: 212rpx;
|
||||||
|
box-shadow: 0rpx 5rpx 15rpx 0rpx rgb(79, 129, 182);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cube-w4 {
|
||||||
|
border-radius: 20rpx;
|
||||||
|
width: 173rpx;
|
||||||
|
height: 173rpx;
|
||||||
|
box-shadow: 0rpx 5rpx 15rpx 0rpx rgb(79, 129, 182);
|
||||||
|
}
|
||||||
|
|
||||||
|
.w450 {
|
||||||
|
width: 430rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cube-item.two-row {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.cube-item.two-row .cube-w {
|
||||||
|
flex: initial;
|
||||||
|
width: 355rpx;
|
||||||
|
height: 355rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cube-item.two-row .cube-w4 {
|
||||||
|
flex: initial;
|
||||||
|
width: 355rpx;
|
||||||
|
height: 355rpx;
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
<template name="navlist">
|
||||||
|
<view>
|
||||||
|
<block wx:if="{{navigatSwiper.totnav>10}}">
|
||||||
|
<swiper class="navswiper" style="height:{{navigatSwiper.totnav>5?'304':'152'}}rpx;" duration="400" wx:if="{{navigatSwiper.totnav>0}}" bindchange="navigatSwiperChange">
|
||||||
|
<swiper-item wx:for="{{navigat}}" wx:for-item="navItem" wx:key="index">
|
||||||
|
<view class='nav-list'>
|
||||||
|
<block wx:for="{{navItem}}" wx:key="id">
|
||||||
|
<view class='nav-list-item' bindtap='goNavUrl' data-idx="{{index}}" wx:if="{{item.type!=5}}">
|
||||||
|
<i-img height="86" iClass="nav-list-img" loadImage="{{item.thumb}}" width="86"></i-img>
|
||||||
|
<view class='nav-list-text'>{{item.navname}}</view>
|
||||||
|
</view>
|
||||||
|
<button class="nav-list-item nav-contact" openType="contact" wx:else>
|
||||||
|
<i-img height="86" iClass="nav-list-img" loadImage="{{item.thumb}}" width="86"></i-img>
|
||||||
|
<view class='nav-list-text'>{{item.navname}}</view>
|
||||||
|
</button>
|
||||||
|
</block>
|
||||||
|
<div style="width:20%;" wx:for="{{navigatEmpty}}" wx:if="{{navigatEmpty.length}}" wx:key="id"></div>
|
||||||
|
</view>
|
||||||
|
</swiper-item>
|
||||||
|
</swiper>
|
||||||
|
<view class="text-center navpage" wx:if="{{navigatSwiper.page>1}}">
|
||||||
|
<text class="item" style="{{navigatSwiper.current==index?'background:'+skin.color:''}}" wx:for="{{navigat}}" wx:key="index"></text>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<block wx:else>
|
||||||
|
<view class='nav-list' wx:for="{{navigat}}" wx:for-item="navItem" wx:key="index">
|
||||||
|
<block wx:for="{{navItem}}" wx:key="id">
|
||||||
|
<view class='nav-list-item' bindtap='goNavUrl' data-idx="{{index}}" wx:if="{{item.type!=5}}">
|
||||||
|
<i-img height="86" iClass="nav-list-img" loadImage="{{item.thumb}}" width="86"></i-img>
|
||||||
|
<view class='nav-list-text'>{{item.navname}}</view>
|
||||||
|
</view>
|
||||||
|
<button class="nav-list-item nav-contact" openType="contact" wx:else>
|
||||||
|
<i-img height="86" iClass="nav-list-img" loadImage="{{item.thumb}}" width="86"></i-img>
|
||||||
|
<view class='nav-list-text'>{{item.navname}}</view>
|
||||||
|
</button>
|
||||||
|
</block>
|
||||||
|
<div style="width:20%;" wx:for="{{navigatEmpty}}" wx:if="{{navigatEmpty.length}}" wx:key="id"></div>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,63 @@
|
||||||
|
/* 导航列表 S */
|
||||||
|
.navswiper {
|
||||||
|
margin: 30rpx 0 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-list {
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
display: flex;
|
||||||
|
padding: 0 20rpx;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-list-item {
|
||||||
|
width: 20%;
|
||||||
|
color: #333;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-list-item .nav-list-img {
|
||||||
|
width: 86rpx;
|
||||||
|
height: 86rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-list-item .nav-list-text {
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-contact {
|
||||||
|
font-size: inherit;
|
||||||
|
line-height: inherit;
|
||||||
|
border-radius: 0;
|
||||||
|
background: transparent;
|
||||||
|
color: inherit;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-contact::after {
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-list-item.nav-contact .nav-list-img {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navpage {
|
||||||
|
line-height: 6rpx;
|
||||||
|
padding-bottom: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navpage .item{
|
||||||
|
display: inline-block;
|
||||||
|
width: 30rpx;
|
||||||
|
height: 6rpx;
|
||||||
|
background-color: #e5e5e5;
|
||||||
|
margin: 0 5rpx;
|
||||||
|
line-height: 6rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 导航列表 E */
|
|
@ -0,0 +1,28 @@
|
||||||
|
<template name="pin">
|
||||||
|
<!-- 拼团 -->
|
||||||
|
<view class='pin-spec' wx:if="{{pinList.list&&pinList.list.length&&pinList.show==1}}" bindtap="goLink" data-link="/eaterplanet_ecommerce/moduleA/pin/index">
|
||||||
|
<image class="pin-spec-img" mode="widthFix" src="{{pinList.img}}" wx:if="{{pinList.img}}"></image>
|
||||||
|
<scroll-view class='pin-spec-scroll' scroll-x>
|
||||||
|
<view class='pin-spec-wrap'>
|
||||||
|
<view class="pin-spec-item" wx:for="{{pinList.list}}" wx:key="id">
|
||||||
|
<i-img defaultImage="../../images/placeholder-refund.png" height="200" width="200" iClass="pin-img" loadImage="{{item.skuImage}}"></i-img>
|
||||||
|
<view wx:if="{{item.label_info && item.label_info.type==0}}" class='item-tag'>
|
||||||
|
<image class='item-tag-bg' mode='widthFix' src="../../images/tag.png"></image>
|
||||||
|
<view class='tag-name {{item.label_info.len==2?"two-word":""}}'>{{item.label_info.tagcontent}}</view>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{item.label_info && item.label_info.type==1}}" class='item-tag' style='background:url({{item.label_info.tagcontent}}) no-repeat left top;background-size: 100%;'></view>
|
||||||
|
<view class="act-end" wx:if="{{item.spuCanBuyNum==0}}">已抢光</view>
|
||||||
|
<view class='title'>{{item.spuName}}</view>
|
||||||
|
<!-- <view class="spu-desc" wx:if="{{item.spuDescribe}}">
|
||||||
|
<text class="em">{{item.spuDescribe}}</text>
|
||||||
|
</view> -->
|
||||||
|
<text class="pin-tag" style="border-color:{{skin.color}};color:{{skin.color}}">{{item.pin_count}}人团</text>
|
||||||
|
<view class='new-bot'>
|
||||||
|
<view class='price'>¥{{item.actPrice[0]}}.{{item.actPrice[1]}}</view>
|
||||||
|
<view class="market-price">¥{{item.marketPrice[0]}}.{{item.marketPrice[1]}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,123 @@
|
||||||
|
.pin-spec {
|
||||||
|
position: relative;
|
||||||
|
background: #fff;
|
||||||
|
margin: 20rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pin-spec-img {
|
||||||
|
width: 100%;
|
||||||
|
vertical-align: top;
|
||||||
|
border-radius: 10rpx 10rpx 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pin-spec-scroll {
|
||||||
|
max-height: 380rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pin-spec-wrap {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pin-spec-item {
|
||||||
|
position: relative;
|
||||||
|
width: 240rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 20rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pin-spec-item .pin-img {
|
||||||
|
width: 200rpx;
|
||||||
|
height: 200rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pin-spec-item .title {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pin-spec-item .new-bot {
|
||||||
|
margin-top: 10rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pin-spec-item .price {
|
||||||
|
color: #ff5041;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pin-spec-item .act-end {
|
||||||
|
position: absolute;
|
||||||
|
height: 60rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
background: rgba(0, 0, 0, 0.5);
|
||||||
|
color: #fff;
|
||||||
|
font-size: 28rpx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 60rpx;
|
||||||
|
left: 50%;
|
||||||
|
top: 80rpx;
|
||||||
|
padding: 0 12rpx;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.pin-spec-item .market-price {
|
||||||
|
text-decoration: line-through;
|
||||||
|
color: #999;
|
||||||
|
font-size: 22rpx;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pin-spec-item .pin-tag {
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 22rpx;
|
||||||
|
padding: 0 6rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
border: 0.1rpx solid #ff758c;
|
||||||
|
vertical-align: middle;
|
||||||
|
color: #ff758c;
|
||||||
|
border-radius: 4rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 标签 */
|
||||||
|
|
||||||
|
.pin-spec .item-tag {
|
||||||
|
position: absolute;
|
||||||
|
left: 20rpx;
|
||||||
|
top: 20rpx;
|
||||||
|
width: 54rpx;
|
||||||
|
height: 62rpx;
|
||||||
|
z-index: 1;
|
||||||
|
color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-tag-bg {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 54rpx;
|
||||||
|
height: 62rpx;
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pin-spec .item-tag .tag-name {
|
||||||
|
position: relative;
|
||||||
|
padding-top: 6rpx;
|
||||||
|
font-size: 20rpx;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 600;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pin-spec .item-tag .tag-name.two-word {
|
||||||
|
font-size: 22rpx;
|
||||||
|
padding-top: 14rpx;
|
||||||
|
}
|
|
@ -0,0 +1,47 @@
|
||||||
|
<template name="pinrow">
|
||||||
|
<!-- 拼团 -->
|
||||||
|
<view class='pin-spec' wx:if="{{pinList.list&&pinList.list.length&&pinList.show==2}}">
|
||||||
|
<image class="pin-spec-img" mode="widthFix" src="{{pinList.img}}" wx:if="{{pinList.img}}" bindtap="goLink" data-link="/eaterplanet_ecommerce/moduleA/pin/index"></image>
|
||||||
|
<view class="pinrow-wrap">
|
||||||
|
<view class="border-bottom" wx:for="{{pinList.list}}" wx:key="id">
|
||||||
|
<i-router-link routerClass="spu-content" url="/eaterplanet_ecommerce/moduleA/pin/goodsDetail?&id={{item.actId}}">
|
||||||
|
<view class="item-top">
|
||||||
|
<i-img defaultImage="{{placeholdeImg?placeholdeImg:'../../images/placeholder-refund.png'}}" height="240" iClass="spu-img" lazyLoad="true" loadImage="{{item.bigImg?item.bigImg:item.skuImage}}" width="300"></i-img>
|
||||||
|
<view class="spu-play" wx:if="{{item.is_video}}"><image class="img" src="../../images/play.png"></image></view>
|
||||||
|
</view>
|
||||||
|
<view class="item-bottom">
|
||||||
|
<view class="spu-title">
|
||||||
|
<text class='span'>{{item.spuName}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="spu-desc" wx:if="{{item.spuDescribe}}">
|
||||||
|
<text class="em">{{item.spuDescribe}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="spu-count">
|
||||||
|
<text class="pin-tag" style="color:{{skin.color}};border-color:{{skin.color}}">{{item.pin_count}}人团</text>
|
||||||
|
<view>已拼{{item.soldNum}}{{goods_sale_unit}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="spu-price">
|
||||||
|
<view class="sale-price">
|
||||||
|
<text class='span'>¥{{item.actPrice[0]}}</text>.{{item.actPrice[1]}}
|
||||||
|
</view>
|
||||||
|
<view class="market-price">¥{{item.marketPrice[0]}}.{{item.marketPrice[1]}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<block wx:if="{{!isPast}}">
|
||||||
|
<i-button class="add-cart-disabled" disabled="{{item.spuCanBuyNum==0}}" wx:if="{{item.spuCanBuyNum==0}}">
|
||||||
|
已抢光
|
||||||
|
</i-button>
|
||||||
|
<i-button bind:click="goLink" iClass="add-cart" class="add-cart" style="background: linear-gradient(90deg, {{skin.color}} 0%, {{skin.light}} 100%);" wx:else>
|
||||||
|
去拼团
|
||||||
|
</i-button>
|
||||||
|
</block>
|
||||||
|
<view class="mask" wx:if="{{spuItem.spuCanBuyNum==0?'disabled':''}}"></view>
|
||||||
|
<view class="act-end act-out" wx:if="{{item.spuCanBuyNum==0}}">已抢光</view>
|
||||||
|
</i-router-link>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="pin-more" bindtap="goLink" data-link="/eaterplanet_ecommerce/moduleA/pin/index">
|
||||||
|
查看全部 <text class="iconfont icon-youjiantou fsz-22"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,190 @@
|
||||||
|
.pinrow-wrap .spu-content {
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
margin: 20rpx auto;
|
||||||
|
padding: 20rpx 20rpx 30rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-img {
|
||||||
|
width: 240rpx;
|
||||||
|
height: 240rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .item-top {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-content .item-bottom {
|
||||||
|
flex: 1;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin-left: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-content .spu-title {
|
||||||
|
color: #333;
|
||||||
|
font-size: 30rpx;
|
||||||
|
height: 32rpx;
|
||||||
|
width: 400rpx;
|
||||||
|
margin-bottom: 12rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-content .spu-title .span {
|
||||||
|
width: 100%;
|
||||||
|
height: 40rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: -4rpx;
|
||||||
|
line-height: 40rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-content .spu-desc {
|
||||||
|
font-size: 26rpx;
|
||||||
|
line-height: 26rpx;
|
||||||
|
color: #999;
|
||||||
|
position: relative;
|
||||||
|
width: 400rpx;
|
||||||
|
height: 26rpx;
|
||||||
|
margin-bottom: 12rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-content .spu-desc .em {
|
||||||
|
width: 100%;
|
||||||
|
height: 32rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: -2rpx;
|
||||||
|
line-height: 32rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-content .spu-price {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-end;
|
||||||
|
font-size: 26rpx;
|
||||||
|
line-height: 26rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-content .spu-price .sale-price {
|
||||||
|
font-family: 'DIN';
|
||||||
|
color: #ff758c;
|
||||||
|
margin-right: 12rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-content .spu-price .sale-price .span {
|
||||||
|
font-size: 46rpx;
|
||||||
|
line-height: 42rpx;
|
||||||
|
margin: 0;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-content .spu-price .market-price {
|
||||||
|
font-family: DIN;
|
||||||
|
text-decoration: line-through;
|
||||||
|
color: #999;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-content .spu-count {
|
||||||
|
margin-top: auto;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #999;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-content .spu-count .pin-tag {
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 22rpx;
|
||||||
|
padding: 0 6rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
border: 0.1rpx solid #ff5344;
|
||||||
|
vertical-align: middle;
|
||||||
|
color: #ff5344;
|
||||||
|
border-radius: 4rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-content .add-cart,
|
||||||
|
.pinrow-wrap .spu-content .add-cart-disabled {
|
||||||
|
width: 160rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
position: absolute;
|
||||||
|
right: 20rpx;
|
||||||
|
bottom: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
background: linear-gradient(90deg, #ff5041 0%, #ff695c 100%);
|
||||||
|
color: #fff;
|
||||||
|
border-radius: 30rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-content .add-cart-disabled {
|
||||||
|
background: #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-play {
|
||||||
|
position: absolute;
|
||||||
|
left: 120rpx;
|
||||||
|
top: 95rpx;
|
||||||
|
width: 100rpx;
|
||||||
|
height: 100rpx;
|
||||||
|
margin-left: -50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .spu-play .img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .mask {
|
||||||
|
background: rgba(255, 255, 255, 0.5);
|
||||||
|
width: 300rpx;
|
||||||
|
height: 240rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 25rpx;
|
||||||
|
top: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pinrow-wrap .act-end {
|
||||||
|
position: absolute;
|
||||||
|
height: 60rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
background: rgba(0, 0, 0, 0.5);
|
||||||
|
color: #fff;
|
||||||
|
font-size: 28rpx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 60rpx;
|
||||||
|
left: 130rpx;
|
||||||
|
top: 120rpx;
|
||||||
|
padding: 0 12rpx;
|
||||||
|
margin-left: -45rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pin-more {
|
||||||
|
text-align: center;
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
|
@ -0,0 +1,67 @@
|
||||||
|
<template name="presalerow">
|
||||||
|
<!-- 预售 -->
|
||||||
|
<view class='pin-spec' wx:if="{{data.goods_list&&data.goods_list.length&&data.show_presale_index_goods==1}}">
|
||||||
|
<image class="pin-spec-img" mode="widthFix" src="{{data.presale_index_coming_img}}" wx:if="{{data.presale_index_coming_img}}" bindtap="goLink" data-link="/eaterplanet_ecommerce/moduleB/presale/index"></image>
|
||||||
|
<view class="pinrow-wrap presalerow">
|
||||||
|
<view class="border-bottom" wx:for="{{data.goods_list}}" wx:key="id">
|
||||||
|
<i-router-link routerClass="spu-content" url="/eaterplanet_ecommerce/pages/goods/goodsDetail?id={{item.actId}}&type=presale">
|
||||||
|
<view class="item-top">
|
||||||
|
<!-- 标签 -->
|
||||||
|
<view wx:if="{{item.label_info && item.label_info.type==0}}" class='item-tag'>
|
||||||
|
<image class='item-tag-bg' mode='widthFix' src="../../images/tag.png"></image>
|
||||||
|
<view class='tag-name {{item.label_info.len==2?"two-word":""}}'>{{item.label_info.tagcontent}}</view>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{item.label_info && item.label_info.type==1}}" class='item-tag' style='background:url({{item.label_info.tagcontent}}) no-repeat left top;background-size: 100%;'></view>
|
||||||
|
<i-img defaultImage="{{placeholdeImg?placeholdeImg:'../../images/placeholder-refund.png'}}" height="240" iClass="spu-img" lazyLoad="true" loadImage="{{item.bigImg?item.bigImg:item.skuImage}}" width="300"></i-img>
|
||||||
|
<view class="spu-play" wx:if="{{item.is_video}}"><image class="img" src="../../images/play.png"></image></view>
|
||||||
|
</view>
|
||||||
|
<view class="item-bottom">
|
||||||
|
<view class="spu-title">
|
||||||
|
<text class='span'>{{item.spuName}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="spu-desc" wx:if="{{item.spuDescribe}}">
|
||||||
|
<text class="em">{{item.spuDescribe}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="spu-count">
|
||||||
|
<text class="pin-tag" style="color:{{skin.color}};border-color:{{skin.color}}">
|
||||||
|
<block wx:if="{{item.presale_type==0}}">定金¥{{item.presale_ding_money}}可抵¥{{item.presale_deduction_money}}</block>
|
||||||
|
<block wx:else>全款预售</block>
|
||||||
|
</text>
|
||||||
|
<view wx:if="{{item.presale_type==0}}">尾款:¥{{item.weikuan}}</view>
|
||||||
|
<view>预售时间:{{item.presale_ding_time_start}}-{{item.presale_ding_time_end}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="spu-price">
|
||||||
|
<view class="sale-price">
|
||||||
|
<block wx:if="{{item.presale_type==0}}">
|
||||||
|
<text class='span'>¥{{item.dingArr[0]}}</text>.{{item.dingArr[1]}}
|
||||||
|
</block>
|
||||||
|
<block wx:else>
|
||||||
|
<text class='span'>¥{{item.actPrice[0]}}</text>.{{item.actPrice[1]}}
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view class="market-price">¥{{item.marketPrice[0]}}.{{item.marketPrice[1]}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<block wx:if="{{!isPast}}">
|
||||||
|
<i-button class="add-cart-disabled" disabled="{{item.spuCanBuyNum==0}}" wx:if="{{item.spuCanBuyNum==0}}">
|
||||||
|
已抢光
|
||||||
|
</i-button>
|
||||||
|
<i-button class="add-cart-disabled" disabled="{{item.saleStatus!=1}}" wx:elif="{{item.saleStatus!=1}}">
|
||||||
|
{{item.saleStatus==0?'即将开抢':'已结束'}}
|
||||||
|
</i-button>
|
||||||
|
<i-button iClass="add-cart" class="add-cart" style="background: linear-gradient(90deg, {{skin.color}} 0%, {{skin.light}} 100%);" wx:else>
|
||||||
|
去抢购
|
||||||
|
</i-button>
|
||||||
|
</block>
|
||||||
|
<view class="mask" wx:if="{{spuItem.spuCanBuyNum==0||item.saleStatus!=1?'disabled':''}}"></view>
|
||||||
|
<view class="act-end act-out" wx:if="{{item.spuCanBuyNum==0}}">已抢光</view>
|
||||||
|
<view class="act-end act-out" wx:if="{{item.saleStatus==0}}">即将开抢</view>
|
||||||
|
<view class="act-end act-out" wx:if="{{item.saleStatus==2}}">已结束</view>
|
||||||
|
</i-router-link>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="pin-more" bindtap="goLink" data-link="/eaterplanet_ecommerce/moduleB/presale/index">
|
||||||
|
查看全部 <text class="iconfont icon-youjiantou fsz-22"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,47 @@
|
||||||
|
.presalerow.pinrow-wrap .mask {
|
||||||
|
width: 240rpx;
|
||||||
|
height: 240rpx;
|
||||||
|
left: 20rpx;
|
||||||
|
top: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presalerow.pinrow-wrap .act-end {
|
||||||
|
z-index: 100;
|
||||||
|
top: 95rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 标签 */
|
||||||
|
|
||||||
|
.presalerow .item-tag {
|
||||||
|
position: absolute;
|
||||||
|
left: 10rpx;
|
||||||
|
top: 20rpx;
|
||||||
|
width: 54rpx;
|
||||||
|
height: 62rpx;
|
||||||
|
z-index: 1;
|
||||||
|
color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presalerow .item-tag-bg {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 54rpx;
|
||||||
|
height: 62rpx;
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presalerow .item-tag .tag-name {
|
||||||
|
position: relative;
|
||||||
|
padding-top: 6rpx;
|
||||||
|
font-size: 20rpx;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 600;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presalerow .item-tag .tag-name.two-word {
|
||||||
|
font-size: 22rpx;
|
||||||
|
padding-top: 14rpx;
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
<template name="seckill">
|
||||||
|
<view class="seckill-bg">
|
||||||
|
<view class="seckill">
|
||||||
|
<view class="seckill-head i-flex" style="background:{{seckill_bg_color}}">
|
||||||
|
<view class="tit">
|
||||||
|
<view>整点</view>
|
||||||
|
<view>秒杀</view>
|
||||||
|
</view>
|
||||||
|
<view class="i-flex-item i-flex">
|
||||||
|
<view class="seckill-head-item {{secKillActiveIdx==index?'active':''}}" wx:for="{{scekillTimeList}}" wx:key="id" data-time="{{item.seckillTime}}" data-idx="{{index}}" bindtap="changeSecKillTime">
|
||||||
|
<view class="time">{{item.timeStr}}</view>
|
||||||
|
<view class="desc" style="{{secKillActiveIdx==index?('color:'+seckill_bg_color):''}}">{{item.desc}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="more" bindtap="goLink" data-link="/eaterplanet_ecommerce/moduleA/seckill/list?time={{scekillTimeList[secKillActiveIdx].seckillTime}}">
|
||||||
|
更多 <text class="iconfont icon-gengduo"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="seckill-list" wx:if="{{secRushList.length}}">
|
||||||
|
<swiper indicatorDots class="sec-swiper-content" autoplay duration="400" circular indicator-dots="{{false}}" bindchange="scrollSecKillGoodsChange">
|
||||||
|
<swiper-item wx:for="{{secRushList}}" wx:key="id">
|
||||||
|
<i-seckill-spu spuItem="{{item}}" begin="{{scekillTimeList[secKillActiveIdx].state==2?1:0}}" needAuth="{{needAuth}}"></i-seckill-spu>
|
||||||
|
</swiper-item>
|
||||||
|
</swiper>
|
||||||
|
<text class="current" wx:if="{{secRushList.length}}">{{secKillGoodsIndex}}/{{secRushList.length}}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,81 @@
|
||||||
|
.seckill-bg {
|
||||||
|
background: #94cefe;
|
||||||
|
}
|
||||||
|
.seckill {
|
||||||
|
position: relative;
|
||||||
|
padding: 20rpx 20rpx 20rpx 20rpx;
|
||||||
|
z-index: 3;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.seckill-head {
|
||||||
|
color: #fff;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
align-items: center;
|
||||||
|
height: 100rpx;
|
||||||
|
background: linear-gradient(90deg, #ea404b 0%, #ed745d 100%);
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.seckill-head .tit {
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
padding-right: 20rpx;
|
||||||
|
border-right: 1px solid #fff;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.seckill .more {
|
||||||
|
font-size: 26rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.seckill .more .iconfont {
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.seckill-list {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sec-swiper-content {
|
||||||
|
width: 100%;
|
||||||
|
height: 290rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.seckill-head-item {
|
||||||
|
margin: 0 19rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.seckill-head-item .time{
|
||||||
|
font-size: 26rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.seckill-head-item .desc{
|
||||||
|
font-size: 22rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.seckill-head-item.active .desc {
|
||||||
|
color: #ea474e;
|
||||||
|
padding: 2rpx 10rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.seckill .current {
|
||||||
|
height: 32rpx;
|
||||||
|
line-height: 32rpx;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 24rpx;
|
||||||
|
background-color: #f8f8f8;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #c8c8c8;
|
||||||
|
position: absolute;
|
||||||
|
right: 20rpx;
|
||||||
|
top: 20rpx;
|
||||||
|
z-index: 1;
|
||||||
|
padding: 0 10rpx;
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
<template name="video">
|
||||||
|
<view class="index-video">
|
||||||
|
<view class="poster" bindtap="btnPlay" wx:if="{{fmShow}}">
|
||||||
|
<image class="img" src="{{data.poster}}" mode="widthFix" bindload="imageLoad" lazy-load></image>
|
||||||
|
<image class="play-img" src="../../images/play.png"></image>
|
||||||
|
</view>
|
||||||
|
<video wx:else src="{{data.url}}" controls style="height:{{imageSize.imageHeight}}px;width:100%;border-radius: 20rpx;" id="myVideo" bindended="videEnd"></video>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,21 @@
|
||||||
|
.index-video {
|
||||||
|
margin: 20rpx;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.index-video .poster .img {
|
||||||
|
width: 100%;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.index-video .poster .play-img {
|
||||||
|
width: 200rpx;
|
||||||
|
height: 200rpx;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
margin-top: -100rpx;
|
||||||
|
margin-left: -100rpx;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
|
@ -0,0 +1,66 @@
|
||||||
|
<template name="virtualcardrow">
|
||||||
|
<view class='pin-spec' wx:if="{{data.goods_list&&data.goods_list.length&&data.isopen_virtualcard==1}}">
|
||||||
|
<image class="pin-spec-img" mode="widthFix" src="{{data.virtualcard_index_coming_img}}"
|
||||||
|
wx:if="{{data.virtualcard_index_coming_img}}" bindtap="goLink"
|
||||||
|
data-link="/eaterplanet_ecommerce/moduleB/virtualcard/index"></image>
|
||||||
|
<view class="pinrow-wrap presalerow">
|
||||||
|
<view class="border-bottom" wx:for="{{data.goods_list}}" wx:key="id">
|
||||||
|
<i-router-link routerClass="spu-content"
|
||||||
|
url="/eaterplanet_ecommerce/pages/goods/goodsDetail?id={{item.actId}}&type=virtualcard">
|
||||||
|
<view class="item-top">
|
||||||
|
<!-- 标签 -->
|
||||||
|
<view wx:if="{{item.label_info && item.label_info.type==0}}" class='item-tag'>
|
||||||
|
<image class='item-tag-bg' mode='widthFix' src="../../images/tag.png"></image>
|
||||||
|
<view class='tag-name {{item.label_info.len==2?"two-word":""}}'>{{item.label_info.tagcontent}}</view>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{item.label_info && item.label_info.type==1}}" class='item-tag'
|
||||||
|
style='background:url({{item.label_info.tagcontent}}) no-repeat left top;background-size: 100%;'>
|
||||||
|
</view>
|
||||||
|
<i-img defaultImage="{{placeholdeImg?placeholdeImg:'../../images/placeholder-refund.png'}}" height="240"
|
||||||
|
iClass="spu-img" lazyLoad="true" loadImage="{{item.bigImg?item.bigImg:item.skuImage}}" width="300">
|
||||||
|
</i-img>
|
||||||
|
<view class="spu-play" wx:if="{{item.is_video}}">
|
||||||
|
<image class="img" src="../../images/play.png"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-bottom">
|
||||||
|
<view class="spu-title">
|
||||||
|
<text class='span'>{{item.spuName}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="spu-desc" wx:if="{{item.spuDescribe}}">
|
||||||
|
<text class="em">{{item.spuDescribe}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="spu-count">
|
||||||
|
<text class="pin-tag"
|
||||||
|
style="color:{{skin.color}};border-color:{{skin.color}}">可兑换{{item.code_money}}元</text>
|
||||||
|
</view>
|
||||||
|
<view class="spu-price">
|
||||||
|
<view class="sale-price">
|
||||||
|
<text class='span'>¥{{item.actPrice[0]}}</text>.{{item.actPrice[1]}}
|
||||||
|
</view>
|
||||||
|
<view class="market-price">¥{{item.marketPrice[0]}}.{{item.marketPrice[1]}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<block wx:if="{{!isPast}}">
|
||||||
|
<i-button class="add-cart-disabled" disabled="{{item.spuCanBuyNum==0}}" wx:if="{{item.spuCanBuyNum==0}}">
|
||||||
|
已抢光
|
||||||
|
</i-button>
|
||||||
|
<i-button class="add-cart-disabled" disabled="{{item.actEnd==1}}" wx:if="{{item.actEnd==1}}">
|
||||||
|
已结束
|
||||||
|
</i-button>
|
||||||
|
<i-button iClass="add-cart" class="add-cart"
|
||||||
|
style="background: linear-gradient(90deg, {{skin.color}} 0%, {{skin.light}} 100%);" wx:else>
|
||||||
|
去抢购
|
||||||
|
</i-button>
|
||||||
|
</block>
|
||||||
|
<view class="mask" wx:if="{{item.spuCanBuyNum==0||item.actEnd==1?'disabled':''}}"></view>
|
||||||
|
<view class="act-end act-out" wx:if="{{item.spuCanBuyNum==0}}">已抢光</view>
|
||||||
|
<view class="act-end act-out" wx:elif="{{item.actEnd==1}}">已结束</view>
|
||||||
|
</i-router-link>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="pin-more" bindtap="goLink" data-link="/eaterplanet_ecommerce/moduleB/virtualcard/index">
|
||||||
|
查看全部 <text class="iconfont icon-youjiantou fsz-22"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,16 @@
|
||||||
|
var funcA = function (e, ins) {
|
||||||
|
// console.log('source is', JSON.stringify(e))
|
||||||
|
var scrollTop = e.detail.scrollTop
|
||||||
|
if (scrollTop > 600) {
|
||||||
|
ins.selectComponent('.group').setStyle({
|
||||||
|
"background-color": 'rgba(77, 158, 233, 1)'
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
ins.selectComponent('.group').setStyle({
|
||||||
|
"background-color": 'rgba(77, 158, 233, ' + Math.max(0, (scrollTop) / 600) + ')'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
module.exports = {
|
||||||
|
funcA: funcA
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
<template name="text">
|
||||||
|
<view bindtap='goDiysliderUrl' data-link="{{item.link}}" style="margin: {{item.marginTop*2+'rpx'}} 20rpx 0;background-color: {{item.backgroundColor}};color:{{item.textColor}};font-size:{{item.fontSize*2}}rpx;text-align:{{item.alignStyle}};border-radius:10rpx;">
|
||||||
|
{{item.title}}
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<template name="video">
|
||||||
|
<view style="margin-top: {{item.marginTop}}px;">
|
||||||
|
<video src="{{videoItem.videoUrl}}" controls style="width:100%;height:auto;min-height:320rpx;" wx:for="{{item.list}}" wx:key="index" wx:for-item="videoItem"></video>
|
||||||
|
</view>
|
||||||
|
</template>
|
|
@ -0,0 +1,265 @@
|
||||||
|
// eaterplanet_ecommerce/pages/order/evaluate.js
|
||||||
|
var util = require('../../utils/util.js');
|
||||||
|
var app = getApp()
|
||||||
|
Page({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
order_id: 0,
|
||||||
|
goods_id: 0,
|
||||||
|
miaoshu_no: 0,
|
||||||
|
price_no: 0,
|
||||||
|
zhiliang_no: 0,
|
||||||
|
is_jifen: 0,
|
||||||
|
pinjia_text: '',
|
||||||
|
thumb_img: [],
|
||||||
|
image: [],
|
||||||
|
placeholder: "亲,您对这个商品满意吗?您的评价会帮助我们选择更好的商品哦~",
|
||||||
|
evaluate: "",
|
||||||
|
imgGroup: [],
|
||||||
|
imgMax: 4,
|
||||||
|
isIpx: false,
|
||||||
|
focus: false,
|
||||||
|
progressList: []
|
||||||
|
},
|
||||||
|
handlerGobackClick(delta) {
|
||||||
|
const pages = getCurrentPages();
|
||||||
|
if (pages.length >= 2) {
|
||||||
|
wx.navigateBack({
|
||||||
|
delta: delta
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handlerGohomeClick(url) {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad: function(options) {
|
||||||
|
//id=' + id + '&goods_id' + goods_id
|
||||||
|
var that = this;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
|
||||||
|
var order_id = options.id;
|
||||||
|
var goods_id = options.goods_id;
|
||||||
|
|
||||||
|
this.setData({
|
||||||
|
order_id: order_id,
|
||||||
|
goods_id: goods_id
|
||||||
|
})
|
||||||
|
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/user',
|
||||||
|
'data': {
|
||||||
|
controller: 'user.order_comment',
|
||||||
|
'token': token,
|
||||||
|
order_id: order_id,
|
||||||
|
goods_id: goods_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {
|
||||||
|
if (res.data.code == 3) {
|
||||||
|
//un login
|
||||||
|
} else if (res.data.code == 0) {
|
||||||
|
//code goods_image
|
||||||
|
that.setData({
|
||||||
|
goods_id: res.data.goods_id,
|
||||||
|
order_goods: res.data.order_goods,
|
||||||
|
goods_image: res.data.goods_image,
|
||||||
|
open_comment_gift: res.data.open_comment_gift,
|
||||||
|
comment_gift_publish: res.data.comment_gift_publish
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面初次渲染完成
|
||||||
|
*/
|
||||||
|
onReady: function() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
addImg: function() {
|
||||||
|
var that = this,
|
||||||
|
imgGroup = this.data.imgGroup;
|
||||||
|
wx.chooseMedia({
|
||||||
|
count: this.data.imgMax - imgGroup.length,
|
||||||
|
success: function(res) {
|
||||||
|
const tempFiles = res.tempFiles;
|
||||||
|
var new_thumb_img = that.data.thumb_img;
|
||||||
|
for (var i = 0; i < tempFiles.length; i++) {
|
||||||
|
wx.showLoading({
|
||||||
|
title: '上传中'
|
||||||
|
})
|
||||||
|
if (new_thumb_img.length >= 4) {
|
||||||
|
that.setData({
|
||||||
|
thumb_img: new_thumb_img
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
wx.uploadFile({
|
||||||
|
url: app.util.url('entry/wxapp/index', {
|
||||||
|
'm': 'eaterplanet_ecommerce',
|
||||||
|
'controller': 'goods.doPageUpload'
|
||||||
|
}),
|
||||||
|
filePath: tempFiles[i].tempFilePath,
|
||||||
|
name: 'upfile',
|
||||||
|
formData: {
|
||||||
|
'name': tempFiles[i].tempFilePath
|
||||||
|
},
|
||||||
|
header: {
|
||||||
|
'content-type': 'multipart/form-data'
|
||||||
|
},
|
||||||
|
success: function(res) {
|
||||||
|
|
||||||
|
wx.hideLoading();
|
||||||
|
var data = JSON.parse(res.data);
|
||||||
|
|
||||||
|
var image_thumb = data.image_thumb;
|
||||||
|
var image_o_full = data.image_o_full;
|
||||||
|
var orign_image = data.image_o;
|
||||||
|
var new_img = that.data.image;
|
||||||
|
|
||||||
|
var new_thumb_img = that.data.thumb_img;
|
||||||
|
new_img.push(orign_image);
|
||||||
|
new_thumb_img.push(image_thumb);
|
||||||
|
imgGroup.push(image_thumb);
|
||||||
|
|
||||||
|
that.setData({
|
||||||
|
thumb_img: new_thumb_img,
|
||||||
|
image: new_img,
|
||||||
|
imgGroup: imgGroup
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
textinput: function(event) {
|
||||||
|
var content = event.detail.value;
|
||||||
|
//pinjia_text
|
||||||
|
this.setData({
|
||||||
|
pinjia_text: content
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 删除图片
|
||||||
|
*/
|
||||||
|
choseImg: function(e) {
|
||||||
|
var idx = e.currentTarget.dataset.idx;
|
||||||
|
var imgGroup = this.data.imgGroup;
|
||||||
|
var new_img = this.data.image;
|
||||||
|
new_img.splice(idx, 1);
|
||||||
|
imgGroup.splice(idx, 1);
|
||||||
|
this.setData({
|
||||||
|
imgGroup: imgGroup,
|
||||||
|
image: new_img
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
sub_comment: function() {
|
||||||
|
var order_id = this.data.order_id;
|
||||||
|
var goods_id = this.data.goods_id;
|
||||||
|
|
||||||
|
var pinjia_text = this.data.pinjia_text;
|
||||||
|
var image = this.data.image;
|
||||||
|
var that = this;
|
||||||
|
|
||||||
|
if (pinjia_text == '') {
|
||||||
|
wx.showToast({
|
||||||
|
title: '请填写评价内容',
|
||||||
|
icon: 'success',
|
||||||
|
duration: 1000
|
||||||
|
})
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
wx.showLoading({
|
||||||
|
title: '评论中',
|
||||||
|
})
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
console.log(image);
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/user',
|
||||||
|
'data': {
|
||||||
|
controller: 'user.sub_comment',
|
||||||
|
'token': token,
|
||||||
|
order_id: order_id,
|
||||||
|
goods_id: goods_id,
|
||||||
|
comment_content: pinjia_text,
|
||||||
|
imgs: image
|
||||||
|
},
|
||||||
|
method: 'POST',
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(msg) {
|
||||||
|
wx.hideLoading();
|
||||||
|
if (msg.data.code == 3) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '未登录',
|
||||||
|
icon: 'loading',
|
||||||
|
duration: 1000
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
wx.showToast({
|
||||||
|
title: '评价成功',
|
||||||
|
icon: 'success',
|
||||||
|
duration: 1000,
|
||||||
|
success: function(res) {
|
||||||
|
//是否跳到积分
|
||||||
|
wx.redirectTo({
|
||||||
|
url: "/eaterplanet_ecommerce/pages/order/order?id=" + order_id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预览大图
|
||||||
|
*/
|
||||||
|
bigImg: function(e) {
|
||||||
|
var t = e.currentTarget.dataset.src,
|
||||||
|
list = e.currentTarget.dataset.list;
|
||||||
|
wx.previewImage({
|
||||||
|
current: t,
|
||||||
|
urls: list
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面显示
|
||||||
|
*/
|
||||||
|
onShow: function() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面隐藏
|
||||||
|
*/
|
||||||
|
onHide: function() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面卸载
|
||||||
|
*/
|
||||||
|
onUnload: function() {
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"navigationBarTitleText": "评价",
|
||||||
|
"usingComponents": {
|
||||||
|
"ep-navBar": "../../components/navigation-bar",
|
||||||
|
"parser":"../../components/parser/parser"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
<ep-navBar title="评价" background='#fff' back="{{true}}" bindback="handlerGobackClick"/>
|
||||||
|
<view>
|
||||||
|
<view class="good-card">
|
||||||
|
<view class="good">
|
||||||
|
<image src="{{order_goods.goods_images}}"></image>
|
||||||
|
<text>{{order_goods.name+' '+order_goods.option_str}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="evaluate-content">
|
||||||
|
<textarea bindinput="textinput" foucs="{{focus}}" maxlength="5000" Class="placeholder-class" placeholder="{{placeholder}}"></textarea>
|
||||||
|
<view class="img-group">
|
||||||
|
<view class="img-item" wx:if="{{imgGroup.length}}" wx:for="{{imgGroup}}" wx:key="id">
|
||||||
|
<view bindtap="choseImg" class="close" data-idx="{{index}}">
|
||||||
|
<image src="../../images/img-close.png"></image>
|
||||||
|
</view>
|
||||||
|
<image bindtap="bigImg" data-list="{{imgGroup}}" data-src="{{item}}" mode="aspectFill" src="{{item}}"></image>
|
||||||
|
<view class="progress {{progressList[index]===100?'hide-progress':''}}" style="display:none;">
|
||||||
|
<span style="width: {{progressList[index]+'%'}}"></span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view bindtap="addImg" class="img-item img-add" wx:if="{{imgGroup.length<imgMax}}">
|
||||||
|
<image class="cameraImg" src="../../images/icon-camera.png"></image>
|
||||||
|
<text>{{imgGroup.length?imgGroup.length+'/'+imgMax:'上传图片'}}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class='desc' wx:if="{{open_comment_gift==1}}">
|
||||||
|
<view class='h2'>说明:</view>
|
||||||
|
<view class="wxParse">
|
||||||
|
<parser html="{{comment_gift_publish}}" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<label class="submit {{isIpx?'mb20':''}}">提交评价
|
||||||
|
<button hidden bindtap="sub_comment"></button>
|
||||||
|
</label>
|
||||||
|
</view>
|
|
@ -0,0 +1,156 @@
|
||||||
|
.good-card {
|
||||||
|
height: 678rpx;
|
||||||
|
width: 710rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
background: #fff;
|
||||||
|
margin: 30rpx 20rpx;
|
||||||
|
padding-top: 20rpx;
|
||||||
|
z-index: 5;
|
||||||
|
box-shadow: 0 0 40rpx rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.good-card .good {
|
||||||
|
font-size: 28rpx;
|
||||||
|
height: 102rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 0rpx 20rpx 20rpx 20rpx;
|
||||||
|
background: #fff;
|
||||||
|
border-bottom: 0.1rpx solid #efefef;
|
||||||
|
}
|
||||||
|
|
||||||
|
.good-card .good image {
|
||||||
|
width: 80rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.good-card .good text {
|
||||||
|
flex: 1;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.good-card .evaluate-content {
|
||||||
|
min-height: 452rpx;
|
||||||
|
margin-bottom: 40rpx;
|
||||||
|
padding: 10rpx 26rpx;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.good-card .evaluate-content textarea {
|
||||||
|
width: 660rpx;
|
||||||
|
height: 320rpx;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.good-card .evaluate-content .placeholder-class {
|
||||||
|
color: #999;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.submit {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 28rpx;
|
||||||
|
line-height: 96rpx;
|
||||||
|
width: 750rpx;
|
||||||
|
background: #4facfe;
|
||||||
|
text-align: center;
|
||||||
|
display: block;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
padding-bottom: env(safe-area-inset-bottom);
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-group {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-group .img-item {
|
||||||
|
margin: 0 6rpx;
|
||||||
|
width: 150rpx;
|
||||||
|
height: 150rpx;
|
||||||
|
position: relative;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-group .img-item .progress {
|
||||||
|
position: absolute;
|
||||||
|
left: 16rpx;
|
||||||
|
bottom: 20rpx;
|
||||||
|
width: 120rpx;
|
||||||
|
height: 16rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
border: 2rpx solid #ddd;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-group .img-item .progress span {
|
||||||
|
height: 8rpx;
|
||||||
|
width: 0;
|
||||||
|
max-width: 112rpx;
|
||||||
|
border-radius: 12rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 4rpx;
|
||||||
|
top: 4rpx;
|
||||||
|
background: #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-group .img-item .hide-progress {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-group .img-item .close {
|
||||||
|
width: 32rpx;
|
||||||
|
height: 32rpx;
|
||||||
|
position: absolute;
|
||||||
|
right: -8rpx;
|
||||||
|
top: -8rpx;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-group .img-item image {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-group .img-item .closeImg {
|
||||||
|
font-size: 40rpx;
|
||||||
|
color: #a0a0a0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-group .img-add {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
border: 2rpx dashed #dedede;
|
||||||
|
color: #bcbcbc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-group .img-add .cameraImg {
|
||||||
|
width: 44rpx;
|
||||||
|
height: 44rpx;
|
||||||
|
color: #cdcdcd;
|
||||||
|
margin-bottom: 8rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.desc {
|
||||||
|
padding: 0 30rpx;
|
||||||
|
line-height: 1.6;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.desc .h2 {
|
||||||
|
font-size: 30rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
}
|
|
@ -0,0 +1,69 @@
|
||||||
|
// pages/order/goods_express.js
|
||||||
|
var app = getApp()
|
||||||
|
Page({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
|
||||||
|
},
|
||||||
|
handlerGobackClick(delta) {
|
||||||
|
const pages = getCurrentPages();
|
||||||
|
if (pages.length >= 2) {
|
||||||
|
wx.navigateBack({
|
||||||
|
delta: delta
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handlerGohomeClick(url) {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad: function (options) {
|
||||||
|
var that = this;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
var order_id = options.id;
|
||||||
|
wx.showLoading();
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'user.goods_express',
|
||||||
|
token: token,
|
||||||
|
order_id: order_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (res) {
|
||||||
|
wx.hideLoading();
|
||||||
|
if (res.data.code == 2) {
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index',
|
||||||
|
})
|
||||||
|
} else if (res.data.code == 0) {
|
||||||
|
let order_info = res.data.order_info;
|
||||||
|
let shipping_traces = order_info.shipping_traces;
|
||||||
|
if(shipping_traces) {
|
||||||
|
shipping_traces = shipping_traces.reverse();
|
||||||
|
}
|
||||||
|
|
||||||
|
that.setData({
|
||||||
|
seller_express: res.data.seller_express,
|
||||||
|
goods_info: res.data.goods_info,
|
||||||
|
order_info,
|
||||||
|
shipping_traces
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"navigationBarBackgroundColor": "#FFFFFF",
|
||||||
|
"navigationBarTitleText": "查看物流",
|
||||||
|
"navigationBarTextStyle": "black",
|
||||||
|
"usingComponents": {
|
||||||
|
"ep-navBar": "../../components/navigation-bar"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
<ep-navBar title="查看物流" background='#4facfe' back="{{true}}" iconTheme='white' color='#fff' bindback="handlerGobackClick"/>
|
||||||
|
<view class="dialog-content">
|
||||||
|
<view class="express-title flex">
|
||||||
|
<view class="goods-express-icon" >
|
||||||
|
<image src="{{goods_info.image}}"></image>
|
||||||
|
</view>
|
||||||
|
<view class='flex-item'>
|
||||||
|
<view class="express-header">
|
||||||
|
物流公司: <text class="span">{{seller_express.name}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="express-shipper">
|
||||||
|
运单编号: <text class="tracking-number span">{{order_info.shipping_no}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="express-tel"></view>
|
||||||
|
<div class="express-copy" style="display: none;"></div>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="express-main">
|
||||||
|
<view class="express-main-title">
|
||||||
|
订单跟踪
|
||||||
|
</view>
|
||||||
|
<view class="express-ui ul" wx:if="{{shipping_traces}}">
|
||||||
|
<view class="one-expre li" wx:for="{{shipping_traces}}" wx:key="{{index}}">
|
||||||
|
<view class="express-trace-info-dot express-trace-info-dot-green"></view>
|
||||||
|
<view class="express-trace-info">
|
||||||
|
<view class="_trace-info">
|
||||||
|
<view class="trace-detail">{{item.AcceptStation}}</view>
|
||||||
|
<view class="trace-time ">{{item.AcceptTime}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="p30 fsz-30 text-center" wx:else>暂无记录</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
|
@ -0,0 +1,158 @@
|
||||||
|
.dialog-content {
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-title {
|
||||||
|
background-color: white;
|
||||||
|
padding: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-express-icon {
|
||||||
|
float: left;
|
||||||
|
width: 120rpx;
|
||||||
|
height: 120rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-express-icon image {
|
||||||
|
width: 104rpx;
|
||||||
|
height: 104rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-header {
|
||||||
|
color: #151516;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-header .span {
|
||||||
|
color: #4facfe;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-shipper, .express-tel {
|
||||||
|
color: #9c9c9c;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-shipper .span, .express-tel .span {
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-main {
|
||||||
|
margin-top: 16rpx;
|
||||||
|
padding-top: 24rpx;
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
background-color: white;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-main-title {
|
||||||
|
padding-left: 20rpx;
|
||||||
|
padding-bottom: 24rpx;
|
||||||
|
margin-bottom: 74rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #111;
|
||||||
|
border-bottom: 1px solid #ededed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-ui {
|
||||||
|
font-size: 28rpx;
|
||||||
|
position: relative;
|
||||||
|
margin: 0 0 0 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-ui {
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-ui:before {
|
||||||
|
position: absolute;
|
||||||
|
line-height: 200%;
|
||||||
|
content: "";
|
||||||
|
width: 200%;
|
||||||
|
height: 200%;
|
||||||
|
transform-origin: 0 0;
|
||||||
|
transform: scale(0.5, 0.5);
|
||||||
|
box-sizing: border-box;
|
||||||
|
-webkit-transform-origin: 0 0;
|
||||||
|
-webkit-transform: scale(0.5, 0.5);
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.one-expre {
|
||||||
|
position: relative;
|
||||||
|
margin: 0;
|
||||||
|
padding-left: 46rpx;
|
||||||
|
border-left: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-trace-info-dot {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
position: absolute;
|
||||||
|
border-radius: 50%;
|
||||||
|
-webkit-border-radius: 50%;
|
||||||
|
top: -5px;
|
||||||
|
left: -5px;
|
||||||
|
background-color: #ddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-trace-info-dot-green {
|
||||||
|
background-color: #4facfe;
|
||||||
|
box-shadow: rgba(37, 174, 95, 0.3) 0 0 0 3px;
|
||||||
|
-webkit-box-shadow: rgba(37, 174, 95, 0.3) 0 0 0 3px;
|
||||||
|
-webkit-transform: translate(0, -0.08rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-trace-info {
|
||||||
|
width: 100%;
|
||||||
|
display: inline-block;
|
||||||
|
height: 100%;
|
||||||
|
margin-top: 0;
|
||||||
|
padding-bottom: 44rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-trace-info ._trace-info {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
margin-top: -18rpx;
|
||||||
|
padding-bottom: 30rpx;
|
||||||
|
width: 100%;
|
||||||
|
border-bottom: 1px solid #ededed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.one-expre:first-child .express-trace-info ._trace-info {
|
||||||
|
margin-top: -34rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-trace-info ._trace-info .trace-detail {
|
||||||
|
color: #9c9c9c;
|
||||||
|
line-height: 48rpx;
|
||||||
|
margin-right: 22rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.one-expre:first-child .express-trace-info ._trace-info .trace-detail {
|
||||||
|
color: #4facfe!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.express-trace-info ._trace-info .trace-time {
|
||||||
|
color: #9c9c9c;
|
||||||
|
font-size: 24rpx;
|
||||||
|
line-height: 24rpx;
|
||||||
|
margin-top: 12rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.one-expre:first-child .express-trace-info ._trace-info .trace-time {
|
||||||
|
color: #4facfe!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
page {
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.one-expre:last-child {
|
||||||
|
border-left: none !important;
|
||||||
|
}
|
|
@ -0,0 +1,322 @@
|
||||||
|
var app = getApp();
|
||||||
|
var util = require('../../utils/util.js');
|
||||||
|
var canpay = true;
|
||||||
|
|
||||||
|
Page({
|
||||||
|
mixins: [require('../../mixin/globalMixin.js')],
|
||||||
|
data: {
|
||||||
|
tablebar: 4,
|
||||||
|
page: 1,
|
||||||
|
theme_type: '',
|
||||||
|
order_status: -1,
|
||||||
|
no_order: 0,
|
||||||
|
hide_tip: true,
|
||||||
|
order: [],
|
||||||
|
tip: '正在加载',
|
||||||
|
is_empty: false,
|
||||||
|
tabs: [
|
||||||
|
{ id: -1, name: '全部' },
|
||||||
|
{ id: 3, name: '待付款' },
|
||||||
|
{ id: 1, name: '待配送' },
|
||||||
|
{ id: 14, name: '配送中' },
|
||||||
|
{ id: 4, name: '待提货' },
|
||||||
|
{ id: 6, name: '已提货' }
|
||||||
|
],
|
||||||
|
hexiaoStatus: ['','','','待付款','待使用','','','','','','','已完成']
|
||||||
|
},
|
||||||
|
handlerGobackClick(delta) {
|
||||||
|
const pages = getCurrentPages();
|
||||||
|
if (pages.length >= 2) {
|
||||||
|
wx.navigateBack({
|
||||||
|
delta: delta
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handlerGohomeClick(url) {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
onLoad: function(options) {
|
||||||
|
let { order_status, is_show_tip, isfail } = options;
|
||||||
|
|
||||||
|
wx.showLoading();
|
||||||
|
|
||||||
|
if (order_status == undefined) {
|
||||||
|
order_status = -1;
|
||||||
|
}
|
||||||
|
this.setData({
|
||||||
|
order_status: order_status,
|
||||||
|
})
|
||||||
|
|
||||||
|
if (is_show_tip != undefined && is_show_tip == 1) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '支付成功',
|
||||||
|
})
|
||||||
|
} else if (isfail != undefined && isfail == 1) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '支付失败',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.getData();
|
||||||
|
},
|
||||||
|
|
||||||
|
getData: function() {
|
||||||
|
this.setData({ isHideLoadMore: true })
|
||||||
|
this.data.no_order = 1
|
||||||
|
let that = this;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'order.orderlist',
|
||||||
|
token: token,
|
||||||
|
page: that.data.page,
|
||||||
|
order_status: that.data.order_status
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {
|
||||||
|
wx.hideLoading();
|
||||||
|
if (res.data.code == 0) {
|
||||||
|
let rushList = that.data.order.concat(res.data.data);
|
||||||
|
that.setData({
|
||||||
|
order: rushList,
|
||||||
|
hide_tip: true,
|
||||||
|
no_order: 0
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
if(that.data.page == 1 && that.data.order.length <= 0) that.setData({is_empty: true});
|
||||||
|
that.setData({
|
||||||
|
isHideLoadMore: true
|
||||||
|
})
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
goOrder: function(event) {
|
||||||
|
let id = event.currentTarget.dataset.type;
|
||||||
|
var pages_all = getCurrentPages();
|
||||||
|
let delivery = event.currentTarget.dataset.delivery || '';
|
||||||
|
let url = `/eaterplanet_ecommerce/pages/order/order?id=${id}&delivery=${delivery}`;
|
||||||
|
if (pages_all.length > 3) {
|
||||||
|
wx.redirectTo({ url })
|
||||||
|
} else {
|
||||||
|
wx.navigateTo({ url })
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
receivOrder: function(event) {
|
||||||
|
let id = event.currentTarget.dataset.type;
|
||||||
|
let delivery = event.currentTarget.dataset.delivery;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
if (delivery == "pickup") content = "确认提货";
|
||||||
|
var that = this;
|
||||||
|
wx.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '确认收货',
|
||||||
|
confirmColor: "#4facfe",
|
||||||
|
success(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'order.receive_order',
|
||||||
|
token: token,
|
||||||
|
order_id: id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {
|
||||||
|
if (res.data.code == 0) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '收货成功',
|
||||||
|
icon: 'success',
|
||||||
|
duration: 1000
|
||||||
|
})
|
||||||
|
that.order(that.data.order_status);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
cancelOrder: function(event) {
|
||||||
|
let id = event.currentTarget.dataset.type;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
var that = this;
|
||||||
|
wx.showModal({
|
||||||
|
title: '取消支付',
|
||||||
|
content: '好不容易挑出来,确定要取消吗?',
|
||||||
|
confirmColor: "#4facfe",
|
||||||
|
success(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'order.cancel_order',
|
||||||
|
token: token,
|
||||||
|
order_id: id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (res) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '取消成功',
|
||||||
|
icon: 'success',
|
||||||
|
duration: 1000
|
||||||
|
})
|
||||||
|
that.order(that.data.order_status);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
getOrder: function(event) {
|
||||||
|
this.setData({ is_empty: false })
|
||||||
|
wx.showLoading();
|
||||||
|
let starus = event.currentTarget.dataset.type;
|
||||||
|
this.order(starus);
|
||||||
|
},
|
||||||
|
|
||||||
|
order: function(starus) {
|
||||||
|
var that = this;
|
||||||
|
that.setData({
|
||||||
|
order_status: starus,
|
||||||
|
order: [],
|
||||||
|
no_order: 0,
|
||||||
|
page: 1
|
||||||
|
})
|
||||||
|
this.getData();
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付防抖
|
||||||
|
*/
|
||||||
|
preOrderPay: util.debounce(function(event) {
|
||||||
|
canpay&&this.orderPay(event);
|
||||||
|
}),
|
||||||
|
|
||||||
|
orderPay: function(event) {
|
||||||
|
canpay = false;
|
||||||
|
let that = this;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
let id = event[0].currentTarget.dataset.type;
|
||||||
|
let delivery = event[0].currentTarget.dataset.delivery;
|
||||||
|
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'car.wxpay',
|
||||||
|
token: token,
|
||||||
|
order_id: id,
|
||||||
|
scene: app.globalData.scene
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
method: 'POST',
|
||||||
|
success: function(res) {
|
||||||
|
if(res.data.code ==0)
|
||||||
|
{
|
||||||
|
var is_pin = res.data.is_pin;
|
||||||
|
// 交易组件
|
||||||
|
if(res.data.isRequestOrderPayment==1) {
|
||||||
|
wx.requestOrderPayment({
|
||||||
|
orderInfo: res.data.order_info,
|
||||||
|
timeStamp: res.data.timeStamp,
|
||||||
|
nonceStr: res.data.nonceStr,
|
||||||
|
package: res.data.package,
|
||||||
|
signType: res.data.signType,
|
||||||
|
paySign: res.data.paySign,
|
||||||
|
success: function (wxres) {
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/order/order?id=' + id + '&is_show=1&delivery='+delivery
|
||||||
|
})
|
||||||
|
},
|
||||||
|
fail: function (res) {
|
||||||
|
console.log(res);
|
||||||
|
},
|
||||||
|
complete: ()=>{
|
||||||
|
canpay = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
wx.requestPayment({
|
||||||
|
appId: res.data.appId,
|
||||||
|
timeStamp: res.data.timeStamp,
|
||||||
|
nonceStr: res.data.nonceStr,
|
||||||
|
package: res.data.package,
|
||||||
|
signType: res.data.signType,
|
||||||
|
paySign: res.data.paySign,
|
||||||
|
success: function (wxres) {
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/order/order?id=' + id + '&is_show=1&delivery='+delivery
|
||||||
|
})
|
||||||
|
},
|
||||||
|
fail: function (res) {
|
||||||
|
console.log(res);
|
||||||
|
},
|
||||||
|
complete: ()=>{
|
||||||
|
canpay = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else if (res.data.code == 1) {
|
||||||
|
wx.showToast({
|
||||||
|
title: res.data.RETURN_MSG || '支付错误',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
canpay = true;
|
||||||
|
} else if (res.data.code == 2) {
|
||||||
|
wx.showToast({
|
||||||
|
title: res.data.msg,
|
||||||
|
icon:'none'
|
||||||
|
})
|
||||||
|
canpay = true;
|
||||||
|
setTimeout(() => {
|
||||||
|
that.setData({
|
||||||
|
page: 1,
|
||||||
|
no_order: 0,
|
||||||
|
order: [],
|
||||||
|
tip: '正在加载',
|
||||||
|
is_empty: false
|
||||||
|
}, ()=>{
|
||||||
|
that.getData();
|
||||||
|
})
|
||||||
|
}, 1500);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fail: ()=>{
|
||||||
|
canpay = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
onReachBottom: function() {
|
||||||
|
if (this.data.no_order == 1) return false;
|
||||||
|
this.data.page += 1;
|
||||||
|
this.getData();
|
||||||
|
this.setData({
|
||||||
|
isHideLoadMore: false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
onPullDownRefresh: function () {
|
||||||
|
this.setData({
|
||||||
|
is_empty: false,
|
||||||
|
page: 1,
|
||||||
|
order: []
|
||||||
|
})
|
||||||
|
wx.showLoading();
|
||||||
|
this.getData();
|
||||||
|
wx.stopPullDownRefresh();
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"navigationBarBackgroundColor": "#fff",
|
||||||
|
"navigationBarTitleText": "我的订单",
|
||||||
|
"navigationBarTextStyle": "black",
|
||||||
|
"enablePullDownRefresh": true,
|
||||||
|
"usingComponents": {
|
||||||
|
"ep-navBar": "../../components/navigation-bar",
|
||||||
|
"i-card": "../../components/card/index",
|
||||||
|
"i-loadMore": "../../components/load-more/index",
|
||||||
|
"i-img": "../../components/img/index"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,86 @@
|
||||||
|
<ep-navBar background='#fff' title="我的订单" back="{{true}}" bindback="handlerGobackClick"/>
|
||||||
|
<view>
|
||||||
|
<view class="nav-bar">
|
||||||
|
<view class="nav-bar-inner">
|
||||||
|
<view bindtap="getOrder" wx:for="{{tabs}}" wx:key="id" class="nav-bar-item {{order_status==item.id?'current':''}}" data-type="{{item.id}}" style="{{order_status==item.id?'border-color:'+skin.color:''}}">
|
||||||
|
{{item.name}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class='nav-bar-content'>
|
||||||
|
<!-- 订单项目 S -->
|
||||||
|
<block wx:if="{{!is_empty}}">
|
||||||
|
<view class="card" wx:for="{{order}}" wx:key="id" bindtap="goOrder" data-type="{{item.order_id}}" data-delivery="{{item.delivery}}">
|
||||||
|
<i-card data-orderId="{{item.order_id}}" iClass="my-card" showModal="true">
|
||||||
|
<view class="card-header" slot="header">
|
||||||
|
<view>下单时间:
|
||||||
|
<text>{{item.createTime}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="bold {{item.order_status_id==3?'red':'gray'}}" style="{{item.order_status_id==3?'color:'+skin.color:''}}">
|
||||||
|
<block wx:if="{{item.delivery=='hexiao'&&(item.order_status_id==3||item.order_status_id==4||item.order_status_id==11)}}">{{hexiaoStatus[item.order_status_id]}}</block>
|
||||||
|
<block wx:else>{{item.status_name}}</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="card-content" slot="content">
|
||||||
|
<view class="content-wrap" wx:if="{{item.is_pin==1}}">
|
||||||
|
<i-img height="60" iClass="show-img mar-right-10" lazyLoad="true" loadImage="{{item.goods_list[0].goods_images}}" width="60"></i-img>
|
||||||
|
<view class="i-flex-item">
|
||||||
|
<view class="name bold">
|
||||||
|
<text class="pintag" style="background:{{skin.color}}">拼团</text>
|
||||||
|
{{item.goods_list[0].name}}
|
||||||
|
</view>
|
||||||
|
<view class="mount">{{item.goods_list[0].option_str}} x {{item.goods_list[0].quantity}}</view>
|
||||||
|
<view class="bottom-info">¥{{item.goods_list[0].price}} <text>¥{{item.goods_list[0].orign_price}}</text></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content-wrap" wx:else>
|
||||||
|
<view class='clearfix'>
|
||||||
|
<i-img wx:for="{{item.goods_list}}" wx:if="{{i_inx<4}}" wx:key="id" wx:for-item="img" wx:for-index="i_inx" height="60" iClass="show-img {{i_inx<4?'mar-right-10':''}}" lazyLoad="true" loadImage="{{img.goods_images}}" width="60"></i-img>
|
||||||
|
</view>
|
||||||
|
<view class="dot" wx:if="{{item.goods_list.length>=4}}">
|
||||||
|
<view class="dot-item"></view>
|
||||||
|
<view class="dot-item dot-middle"></view>
|
||||||
|
<view class="dot-item"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="card-footer" slot="footer">
|
||||||
|
<view>共
|
||||||
|
<text class="i-class">{{item.goods_list.length}}</text> 件商品
|
||||||
|
<view class="accual-pay" wx:if="{{item.orderStatus!=3}}">实付:
|
||||||
|
<view class="money" wx:if="{{item.type=='integral'}}">
|
||||||
|
<block wx:if="{{item.shipping_fare>0}}">¥{{item.shipping_fare}} + </block>{{item.score}}积分
|
||||||
|
</view>
|
||||||
|
<view class="money" wx:else>
|
||||||
|
¥{{item.total}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="button-group" wx:if="{{item.order_status_id==3}}">
|
||||||
|
<view catchtap="cancelOrder" data-type="{{item.order_id}}" class="my-button" data-show="cancelVisible">取消订单</view>
|
||||||
|
<view catchtap="preOrderPay" data-type="{{item.order_id}}" data-delivery="{{item.delivery}}" class="my-button-pay padding-15" style="background: linear-gradient(90deg, {{skin.color}} 0%, {{skin.light}} 100%)">
|
||||||
|
立即支付
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{item.order_status_id==4}}">
|
||||||
|
<view data-type="{{item.order_id}}" class="my-button" size="small" wx:if="{{item.delivery=='hexiao'}}">去使用</view>
|
||||||
|
<view data-type="{{item.order_id}}" class="get-goods" data-delivery="{{item.delivery}}" wx:else>
|
||||||
|
<view class="sure-get">{{item.delivery=="pickup"?"确认提货":"确认收货"}}</view>
|
||||||
|
<image class="right-arrow" src="../../images/rightArrowImg.png"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{item.order_status_id==1||item.order_status_id==6||item.order_status_id==11||item.order_status_id==14}}">
|
||||||
|
<view data-type="{{item.order_id}}" class="my-button" size="small">查看详情</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-card>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view class="empty-wrap" wx:else>
|
||||||
|
<image class="empty-img" src="../../images/noData.png"></image>
|
||||||
|
<view class="empty-txt">暂无任何订单记录~</view>
|
||||||
|
</view>
|
||||||
|
<!-- 订单项目 E -->
|
||||||
|
<i-loadMore tip="{{tip}}" wx:if="{{!isHideLoadMore}}"></i-loadMore>
|
||||||
|
</view>
|
||||||
|
</view>
|
|
@ -0,0 +1,724 @@
|
||||||
|
.tabs {
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
zoom: 1;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-bar, .tabs-link-bar {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-bar {
|
||||||
|
outline: none;
|
||||||
|
width: 100%;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-nav--container {
|
||||||
|
overflow: hidden;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
line-height: 1.5rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: relative;
|
||||||
|
white-space: nowrap;
|
||||||
|
margin-bottom: -1px;
|
||||||
|
zoom: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-nav--container:after, .tabs-nav--container:before {
|
||||||
|
content: " ";
|
||||||
|
display: table;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-nav--container:after {
|
||||||
|
clear: both;
|
||||||
|
visibility: hidden;
|
||||||
|
font-size: 0;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs.tabs-card>.tabs-bar .tabs-nav--wrap {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-nav--wrap {
|
||||||
|
overflow: hidden;
|
||||||
|
margin-bottom: -.01rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-nav {
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: -moz-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-left: 0;
|
||||||
|
-webkit-transition: -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||||
|
transition: -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||||
|
transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||||
|
transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1),
|
||||||
|
-webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||||
|
position: relative;
|
||||||
|
margin: 0;
|
||||||
|
list-style: none;
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-nav:after, .tabs-nav:before {
|
||||||
|
display: table;
|
||||||
|
content: " ";
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-nav:after {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-nav .tabs-tab {
|
||||||
|
display: block;
|
||||||
|
height: 2.2rem;
|
||||||
|
line-height: 2.2rem;
|
||||||
|
margin: 0 5px;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: relative;
|
||||||
|
-webkit-transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||||
|
transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||||
|
cursor: pointer;
|
||||||
|
text-decoration: none;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-nav .tabs-tab-active {
|
||||||
|
color: #4facfe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs.tabs-card>.tabs-bar .tabs-tab {
|
||||||
|
margin: 0;
|
||||||
|
border: 1px solid #d9d9d9;
|
||||||
|
border-bottom: 0;
|
||||||
|
border-radius: 0.06rem 0.06rem 0 0;
|
||||||
|
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||||
|
background: #f9f9f9;
|
||||||
|
margin-right: 0.02rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs.tabs-card>.tabs-bar .tabs-tab-active {
|
||||||
|
background: #fff;
|
||||||
|
color: #4facfe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs.tabs-card>.tabs-bar .tabs-tab-active {
|
||||||
|
color: #4facfe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs.tabs-card>.tabs-bar .tabs-tab.list-line {
|
||||||
|
border: 0;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs:not(.tabs-vertical) .tabs-content-animated {
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: -moz-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
-webkit-box-orient: horizontal;
|
||||||
|
-webkit-box-direction: normal;
|
||||||
|
-webkit-flex-direction: row;
|
||||||
|
-moz-box-orient: horizontal;
|
||||||
|
-moz-box-direction: normal;
|
||||||
|
-ms-flex-direction: row;
|
||||||
|
flex-direction: row;
|
||||||
|
will-change: transform;
|
||||||
|
transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||||
|
transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),
|
||||||
|
-webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs:not(.tabs-vertical) .tabs-tabpane {
|
||||||
|
-webkit-flex-shrink: 0;
|
||||||
|
-ms-flex-negative: 0;
|
||||||
|
flex-shrink: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.meili-all-vue-base-goodswall .module-list-wrap {
|
||||||
|
display: block !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.meili-all-vue-base-goodswall .module-list-wrap[data-v-498b2138] {
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: -moz-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
overflow: hidden;
|
||||||
|
-webkit-box-orient: horizontal;
|
||||||
|
-webkit-box-direction: normal;
|
||||||
|
-webkit-flex-flow: row wrap;
|
||||||
|
-moz-box-orient: horizontal;
|
||||||
|
-moz-box-direction: normal;
|
||||||
|
-ms-flex-flow: row wrap;
|
||||||
|
flex-flow: row wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.meili-all-vue-base-goodswall .show {
|
||||||
|
height: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.meili-all-vue-base-goodswall .module-item-wrap {
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order {
|
||||||
|
width: 100%;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-panel {
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shop-product, .shop-title {
|
||||||
|
padding: 0 10px;
|
||||||
|
margin: 0 -10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shop-title image {
|
||||||
|
width: 40rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
border-radius: 100%;
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: top;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.no_order {
|
||||||
|
margin-top: 30%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shop-title {
|
||||||
|
border: 1px solid #e5e5e5;
|
||||||
|
border-right: none;
|
||||||
|
border-left: none;
|
||||||
|
font-size: 28rpx;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shop:first-child .shop-title {
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shop-title--name {
|
||||||
|
color: #333;
|
||||||
|
display: inline-block;
|
||||||
|
max-width: 10rem;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shop-title--status {
|
||||||
|
float: right;
|
||||||
|
margin-left: 0.2rem;
|
||||||
|
color: #4facfe;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shop-product, .shop-title {
|
||||||
|
padding: 0 10px;
|
||||||
|
margin: 0 -10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product {
|
||||||
|
border-bottom: 1px solid #ddd;
|
||||||
|
min-height: 1.8rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-list {
|
||||||
|
padding: 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product.is-noborder {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-wrap {
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: -moz-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-pic {
|
||||||
|
width: 150rpx;
|
||||||
|
height: 150rpx;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-pic image {
|
||||||
|
width: 150rpx;
|
||||||
|
height: 150rpx;
|
||||||
|
visibility: inherit;
|
||||||
|
display: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-des {
|
||||||
|
-webkit-box-flex: 1;
|
||||||
|
-webkit-flex: 1;
|
||||||
|
-moz-box-flex: 1;
|
||||||
|
-ms-flex: 1;
|
||||||
|
flex: 1;
|
||||||
|
margin: 0 10px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.red {
|
||||||
|
color: #4facfe;
|
||||||
|
padding-right: 5rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-des--name {
|
||||||
|
color: #333;
|
||||||
|
font-size: 28rpx;
|
||||||
|
height: 46px;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
overflow: hidden;
|
||||||
|
display: block;
|
||||||
|
margin-bottom: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-des--sku {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.meili-all-order-list-order-shop .product-des--sku view {
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-price {
|
||||||
|
text-align: right;
|
||||||
|
line-height: 1rem;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-price--origin {
|
||||||
|
text-decoration: line-through;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-price--number {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-panel--operate {
|
||||||
|
border-top: 1px solid #e5e5e5;
|
||||||
|
margin: 0 -10px;
|
||||||
|
vertical-align: middle;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.operate-button {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.meili-all-vue-base-button {
|
||||||
|
display: inline-block;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
padding: 5px 10px;
|
||||||
|
border-radius: 5px;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin: 10px 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
min-width: 5rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.primary {
|
||||||
|
color: #fff;
|
||||||
|
background: #4facfe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.operate-button .meili-all-vue-base-button {
|
||||||
|
width: 6rem;
|
||||||
|
height: 1.8rem;
|
||||||
|
line-height: 1.8rem;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
padding: 0;
|
||||||
|
margin: 10px;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.operate-button--white.primary {
|
||||||
|
color: #666;
|
||||||
|
border: 1px solid #999;
|
||||||
|
background: #fdfdfd;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buy {
|
||||||
|
margin-bottom: 116rpxpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-panel--price {
|
||||||
|
margin: 0 -10px;
|
||||||
|
padding: 10px;
|
||||||
|
border-top: 1px solid #e5e5e5;
|
||||||
|
text-align: right;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pay {
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pay-delivery {
|
||||||
|
margin-right: -5px;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pay-price {
|
||||||
|
line-height: 1rem;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pay-price--content {
|
||||||
|
font-size: 0.75rem;
|
||||||
|
color: #4facfe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-loading {
|
||||||
|
margin: 0 5px;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
-webkit-animation: weuiLoading 1s steps(12, end) infinite;
|
||||||
|
animation: weuiLoading 1s steps(12, end) infinite;
|
||||||
|
background: transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=) no-repeat;
|
||||||
|
background-size: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-loadmore {
|
||||||
|
width: 65%;
|
||||||
|
margin: 1.5em auto;
|
||||||
|
line-height: 1.6em;
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-loadmore__tips {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* lottery begin */
|
||||||
|
|
||||||
|
.orders-lottery-status {
|
||||||
|
z-index: 99;
|
||||||
|
position: absolute;
|
||||||
|
width: 67px;
|
||||||
|
height: 67px;
|
||||||
|
right: 12px;
|
||||||
|
top: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-lottery-lucky,.order-lottery-not,.order-lottery-wait {
|
||||||
|
background-image: url(https://wxapp.ch871.com/Common/image/sprites_stamps-02e13e88f3.png);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: 299.83425px 299.83425px;
|
||||||
|
background-position: -199.8895px -99.94475px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-lottery-lucky {
|
||||||
|
background-position: -99.94475px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-lottery-not {
|
||||||
|
background-position: -199.8895px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-lottery-wait {
|
||||||
|
background-position: -199.8895px -99.94475px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* lottery end */
|
||||||
|
|
||||||
|
/* 20181206 */
|
||||||
|
|
||||||
|
.nav-bar {
|
||||||
|
width: 100%;
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-bar .nav-bar-inner {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 0 40rpx;
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-bar .nav-bar-item {
|
||||||
|
position: relative;
|
||||||
|
word-break: keep-all;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #666;
|
||||||
|
padding: 20rpx 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-bar .current.nav-bar-item::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
height: 3px;
|
||||||
|
background: linear-gradient(90deg,#4facfe 0%,#00f2fe 100%);
|
||||||
|
box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(255,89,0,0.25);
|
||||||
|
border-radius: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-bar-content {
|
||||||
|
margin-top:49px;
|
||||||
|
padding-bottom: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar-right-10 {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card {
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
margin-left: 20rpx;
|
||||||
|
color: #444;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card .card-header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 30rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card .card-content {
|
||||||
|
padding: 30rpx;
|
||||||
|
border-top: 0.1rpx solid #efefef;
|
||||||
|
border-bottom: 0.1rpx solid #efefef;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card .card-content .content-wrap {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card .card-content .show-img {
|
||||||
|
float: left;
|
||||||
|
width: 120rpx !important;
|
||||||
|
height: 120rpx !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clearfix:after {
|
||||||
|
visibility: hidden;
|
||||||
|
display: block;
|
||||||
|
font-size: 0;
|
||||||
|
content: " ";
|
||||||
|
clear: both;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card .card-content .dot {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card .card-content .dot .dot-item {
|
||||||
|
width: 12rpx;
|
||||||
|
height: 12rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #d8d8d8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card .card-content .dot .dot-middle {
|
||||||
|
margin: 0 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card .card-footer {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 30rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card .card-footer .money {
|
||||||
|
font-family: DIN;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card .card-footer .accual-pay {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-wrap {
|
||||||
|
padding-top: 300rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-wrap .empty-img {
|
||||||
|
width: 218rpx;
|
||||||
|
height: 218rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-wrap .empty-txt {
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #777;
|
||||||
|
margin-top: 32rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.padding-15 {
|
||||||
|
margin-left: 16rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-group {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-button {
|
||||||
|
position: relative;
|
||||||
|
color: #666;
|
||||||
|
width: 136rpx;
|
||||||
|
height: 52rpx;
|
||||||
|
line-height: 52rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-button::after {
|
||||||
|
box-sizing: border-box;
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 200%;
|
||||||
|
height: 200%;
|
||||||
|
transform: scale(0.5);
|
||||||
|
transform-origin: 0 0;
|
||||||
|
border: 2rpx solid #b6b6b6;
|
||||||
|
border-radius: 52rpx;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.get-goods {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.get-goods .sure-get {
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-button-pay {
|
||||||
|
position: relative;
|
||||||
|
width: 136rpx;
|
||||||
|
height: 52rpx;
|
||||||
|
line-height: 52rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
text-align: center;
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
|
border-radius: 26rpx;
|
||||||
|
background: linear-gradient(100deg, #ff758c 0%, #ff7eb3 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.right-arrow {
|
||||||
|
width: 12rpx;
|
||||||
|
height: 22rpx;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bold {
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.red {
|
||||||
|
color: #4facfe;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gray {
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.name {
|
||||||
|
width: 510rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #444;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pintag {
|
||||||
|
background: linear-gradient(to right, #ff5041, #ff695c);
|
||||||
|
color: #fff;
|
||||||
|
font-size: 20rpx;
|
||||||
|
padding: 1rpx 8rpx;
|
||||||
|
border-radius: 6rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mount {
|
||||||
|
font-size: 22rpx;
|
||||||
|
color: #aaa;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom-info {
|
||||||
|
justify-content: space-between;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #444;
|
||||||
|
margin-top: 18rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom-info text {
|
||||||
|
text-decoration: line-through;
|
||||||
|
color: #999;
|
||||||
|
font-size: 22rpx;
|
||||||
|
}
|
|
@ -0,0 +1,862 @@
|
||||||
|
var util = require('../../utils/util.js');
|
||||||
|
var app = getApp();
|
||||||
|
var status = require('../../utils/index.js');
|
||||||
|
var location = require("../../utils/Location");
|
||||||
|
var canpay = true;
|
||||||
|
|
||||||
|
function count_down(that, total_micro_second) {
|
||||||
|
var second = Math.floor(total_micro_second / 1000);
|
||||||
|
var days = second / 3600 / 24;
|
||||||
|
var daysRound = Math.floor(days);
|
||||||
|
var hours = second / 3600 - (24 * daysRound);
|
||||||
|
var hoursRound = Math.floor(hours);
|
||||||
|
var minutes = second / 60 - (24 * 60 * daysRound) - (60 * hoursRound);
|
||||||
|
var minutesRound = Math.floor(minutes);
|
||||||
|
var seconds = second - (24 * 3600 * daysRound) - (3600 * hoursRound) - (60 * minutesRound);
|
||||||
|
|
||||||
|
that.setData({
|
||||||
|
endtime: {
|
||||||
|
days: daysRound,
|
||||||
|
hours: fill_zero_prefix(hoursRound),
|
||||||
|
minutes: fill_zero_prefix(minutesRound),
|
||||||
|
seconds: fill_zero_prefix(seconds),
|
||||||
|
show_detail: 1
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (total_micro_second <= 0) {
|
||||||
|
that.setData({
|
||||||
|
changeState: 1,
|
||||||
|
endtime: {
|
||||||
|
days: "00",
|
||||||
|
hours: "00",
|
||||||
|
minutes: "00",
|
||||||
|
seconds: "00",
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
total_micro_second -= 1000;
|
||||||
|
count_down(that, total_micro_second);
|
||||||
|
}, 1000)
|
||||||
|
|
||||||
|
}
|
||||||
|
// 位数不足补零
|
||||||
|
function fill_zero_prefix(num) {
|
||||||
|
return num < 10 ? "0" + num : num
|
||||||
|
}
|
||||||
|
|
||||||
|
Page({
|
||||||
|
mixins: [require('../../mixin/compoentCartMixin.js'), require('../../mixin/globalMixin.js')],
|
||||||
|
data: {
|
||||||
|
endtime: {
|
||||||
|
days: "00",
|
||||||
|
hours: "00",
|
||||||
|
minutes: "00",
|
||||||
|
seconds: "00",
|
||||||
|
},
|
||||||
|
cancelOrderVisible: false,
|
||||||
|
orderSkuResps: [],
|
||||||
|
tablebar: 4,
|
||||||
|
navState: 0,
|
||||||
|
theme_type: '',
|
||||||
|
loadover: false,
|
||||||
|
pingtai_deal: 0,
|
||||||
|
is_show: false,
|
||||||
|
order: {},
|
||||||
|
common_header_backgroundimage: '',
|
||||||
|
isShowModal: false,
|
||||||
|
userInfo: {},
|
||||||
|
groupInfo: {
|
||||||
|
group_name: '社区',
|
||||||
|
owner_name: '团长',
|
||||||
|
delivery_ziti_name: '社区自提',
|
||||||
|
delivery_tuanzshipping_name: '团长配送',
|
||||||
|
delivery_express_name: '快递配送',
|
||||||
|
localtown_modifypickingname: '包装费'
|
||||||
|
},
|
||||||
|
is_show_guess_like: 1,
|
||||||
|
showRefundModal: false,
|
||||||
|
order_hexiao_type: 0, //0订单,1按次,2混合
|
||||||
|
salesroomIdx: 0,
|
||||||
|
order_goods_list: '',
|
||||||
|
hx_receive_info: '',
|
||||||
|
salesroom_list: '',
|
||||||
|
goodsHexiaoIdx: 0,
|
||||||
|
share_title: '',
|
||||||
|
presale_info: '',
|
||||||
|
presalePickup: {
|
||||||
|
pickup: '自提', localtown_delivery:'配送', express:'发货', hexiao: '核销', tuanz_send: '配送'
|
||||||
|
},
|
||||||
|
showPresalePayModal: false
|
||||||
|
},
|
||||||
|
is_show_tip: '',
|
||||||
|
timeOut: function() {
|
||||||
|
console.log('计时完成')
|
||||||
|
},
|
||||||
|
options: '',
|
||||||
|
canCancel: true,
|
||||||
|
isFirst: 1,
|
||||||
|
handlerGobackClick(delta) {
|
||||||
|
const pages = getCurrentPages();
|
||||||
|
if (pages.length >= 2) {
|
||||||
|
wx.navigateBack({
|
||||||
|
delta: delta
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handlerGohomeClick(url) {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
onLoad: function(options) {
|
||||||
|
var that = this;
|
||||||
|
that.options = options;
|
||||||
|
|
||||||
|
var userInfo = wx.getStorageSync('userInfo');
|
||||||
|
userInfo && (userInfo.shareNickName = userInfo.nickName.length > 3 ? userInfo.nickName.substr(0, 3) + "..." : userInfo.nickName);
|
||||||
|
status.setGroupInfo().then((groupInfo) => {
|
||||||
|
that.setData({
|
||||||
|
groupInfo
|
||||||
|
})
|
||||||
|
});
|
||||||
|
util.check_login() ? this.setData({
|
||||||
|
needAuth: false
|
||||||
|
}) : this.setData({
|
||||||
|
needAuth: true
|
||||||
|
});
|
||||||
|
let delivery = options.delivery || '';
|
||||||
|
that.setData({
|
||||||
|
userInfo,
|
||||||
|
delivery
|
||||||
|
});
|
||||||
|
|
||||||
|
// wx.showLoading();
|
||||||
|
var is_show_tip = options && options.is_show || 0;
|
||||||
|
let isfail = options && options.isfail || '';
|
||||||
|
this.is_show_tip = is_show_tip;
|
||||||
|
|
||||||
|
if (isfail != undefined && isfail == 1) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '支付失败',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
let latitude = wx.getStorageSync('latitude2') || '';
|
||||||
|
let longitude = wx.getStorageSync('longitude2') || '';
|
||||||
|
if(delivery=='hexiao'&&!latitude) {
|
||||||
|
this.getMyLocal().then(res=>{
|
||||||
|
this.getData(options.id, res.latitude, res.longitude, is_show_tip, delivery);
|
||||||
|
}).catch(()=>{
|
||||||
|
this.getData(options.id, latitude, longitude, is_show_tip, delivery);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log('step2')
|
||||||
|
this.getData(options.id, latitude, longitude, is_show_tip, delivery);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
getData: function(id, latitude="", longitude="", is_show_tip='', delivery=''){
|
||||||
|
if (is_show_tip != undefined && is_show_tip == 1) {
|
||||||
|
//todo 弹出分享
|
||||||
|
} else {
|
||||||
|
wx.showLoading();
|
||||||
|
}
|
||||||
|
var that = this;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
|
||||||
|
app.util.request({
|
||||||
|
url: 'entry/wxapp/index',
|
||||||
|
data: {
|
||||||
|
controller: 'order.order_info',
|
||||||
|
token,
|
||||||
|
id,
|
||||||
|
latitude,
|
||||||
|
longitude
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
method: 'POST',
|
||||||
|
success: function(res) {
|
||||||
|
setTimeout(() => {
|
||||||
|
wx.hideLoading();
|
||||||
|
}, 1000);
|
||||||
|
if(res.data.code==0){
|
||||||
|
let order_info = res.data.data.order_info;
|
||||||
|
if (is_show_tip != undefined && is_show_tip == 1 && order_info.type == 'integral') {
|
||||||
|
wx.showToast({
|
||||||
|
title: '兑换成功'
|
||||||
|
})
|
||||||
|
} else if (is_show_tip != undefined && is_show_tip == 1) {
|
||||||
|
if (res.data.order_pay_after_share == 1) {
|
||||||
|
let share_img = res.data.data.share_img;
|
||||||
|
let share_title = res.data.data.share_title;
|
||||||
|
that.setData({
|
||||||
|
share_title,
|
||||||
|
share_img,
|
||||||
|
isShowModal: true
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
wx.showToast({
|
||||||
|
title: '支付成功'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (order_info.order_status_id == 3) {
|
||||||
|
var seconds = (order_info.over_buy_time - order_info.cur_time) * 1000;
|
||||||
|
if (seconds > 0) {
|
||||||
|
count_down(that, seconds);
|
||||||
|
} else {
|
||||||
|
order_info.open_auto_delete == 1 && that.setData({
|
||||||
|
changeState: 1
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let {
|
||||||
|
pingtai_deal,
|
||||||
|
order_refund,
|
||||||
|
order_can_del_cancle,
|
||||||
|
is_hidden_orderlist_phone,
|
||||||
|
is_show_guess_like,
|
||||||
|
user_service_switch,
|
||||||
|
common_header_backgroundimage,
|
||||||
|
order_can_shen_refund,
|
||||||
|
order_note_open,
|
||||||
|
order_note_name,
|
||||||
|
open_comment_gift,
|
||||||
|
presale_info,
|
||||||
|
virtualcard_info
|
||||||
|
} = res.data;
|
||||||
|
let order = res.data.data || {order_info: {}};
|
||||||
|
order.order_info.order_note_open = order_note_open || '';
|
||||||
|
order.order_info.order_note_name = order_note_name || '';
|
||||||
|
let markers = [];
|
||||||
|
// if(delivery=='hexiao'&&order.order_info.salesroom_list) {
|
||||||
|
// let marker = that.createMarker(order.order_info.salesroom_list[0].lat, order.order_info.salesroom_list[0].lon);
|
||||||
|
// markers.push(marker)
|
||||||
|
// }
|
||||||
|
|
||||||
|
let order_goods_list = order.order_goods_list || '';
|
||||||
|
let hx_receive_info = order.order_info.hx_receive_info || '';
|
||||||
|
let salesroom_list = order.salesroom_list || '';
|
||||||
|
|
||||||
|
// 预售订单
|
||||||
|
presale_info = Object.keys(presale_info).length>0 ? presale_info : '';
|
||||||
|
if(presale_info) {
|
||||||
|
if(presale_info.presale_type==0) {
|
||||||
|
let goodsTot = 0;
|
||||||
|
order_goods_list.forEach(goodsItem=>{ goodsTot += goodsItem.price*goodsItem.quantity; });
|
||||||
|
let { presale_deduction_money, presale_ding_money } = presale_info;
|
||||||
|
presale_deduction_money = presale_deduction_money>0?presale_deduction_money:presale_ding_money;
|
||||||
|
let payTot = order.order_info.total*1-presale_deduction_money*1;
|
||||||
|
presale_info.payTot = payTot>0?payTot.toFixed(2):0;
|
||||||
|
let weikuan = goodsTot - presale_deduction_money*1;
|
||||||
|
presale_info.weikuan = weikuan>0?weikuan.toFixed(2):0;
|
||||||
|
presale_info.presale_deduction_money = presale_deduction_money;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 礼品卡
|
||||||
|
virtualcard_info = Object.keys(virtualcard_info).length>0 ? virtualcard_info : '';
|
||||||
|
|
||||||
|
that.setData({
|
||||||
|
order,
|
||||||
|
order_goods_list,
|
||||||
|
hx_receive_info,
|
||||||
|
salesroom_list,
|
||||||
|
pingtai_deal: pingtai_deal,
|
||||||
|
order_refund: order_refund,
|
||||||
|
order_can_del_cancle: order_can_del_cancle,
|
||||||
|
loadover: true,
|
||||||
|
is_show: 1,
|
||||||
|
hide_lding: true,
|
||||||
|
is_hidden_orderlist_phone: is_hidden_orderlist_phone || 0,
|
||||||
|
is_show_guess_like: is_show_guess_like || 0,
|
||||||
|
user_service_switch: user_service_switch || 1,
|
||||||
|
common_header_backgroundimage,
|
||||||
|
order_can_shen_refund,
|
||||||
|
open_comment_gift,
|
||||||
|
latitude,
|
||||||
|
longitude,
|
||||||
|
markers,
|
||||||
|
presale_info,
|
||||||
|
virtualcard_info
|
||||||
|
})
|
||||||
|
that.caclGoodsTot(res.data.data);
|
||||||
|
that.hide_lding();
|
||||||
|
} else if(res.data.code==2){
|
||||||
|
that.setData({ needAuth: true })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
onShow: function(){
|
||||||
|
console.log(this.isFirst, 'onShow', this.options.id);
|
||||||
|
if (this.isFirst>1) this.reload_data();
|
||||||
|
this.isFirst++;
|
||||||
|
},
|
||||||
|
|
||||||
|
onHide: function(){
|
||||||
|
console.log('order Hide');
|
||||||
|
},
|
||||||
|
|
||||||
|
getMyLocal: function() {
|
||||||
|
let that = this;
|
||||||
|
return new Promise((resovle, reject)=>{
|
||||||
|
location.getGps().then(ret=>{
|
||||||
|
console.log('step1')
|
||||||
|
wx.getLocation({
|
||||||
|
type: 'wgs84',
|
||||||
|
success: (res) => {
|
||||||
|
resovle(res)
|
||||||
|
that.setData({
|
||||||
|
scale: 12,
|
||||||
|
longitude: res.longitude,
|
||||||
|
latitude: res.latitude
|
||||||
|
})
|
||||||
|
},
|
||||||
|
fail: ()=>{
|
||||||
|
reject();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}).catch(()=>{
|
||||||
|
console.log('step3')
|
||||||
|
reject();
|
||||||
|
app.util.message('地图功能开启失败,部分功能受影响', '', 'error');
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
caclGoodsTot: function(order){
|
||||||
|
if(order && order.order_goods_list) {
|
||||||
|
let order_goods_list = order.order_goods_list;
|
||||||
|
let goodsTot = 0;
|
||||||
|
Object.keys(order_goods_list).forEach(k=>{
|
||||||
|
if(order_goods_list[k].is_vipcard_buy==1 || order_goods_list[k].is_level_buy) {
|
||||||
|
goodsTot += order_goods_list[k].total;
|
||||||
|
} else {
|
||||||
|
goodsTot += order_goods_list[k].real_total;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.setData({ goodsTot: goodsTot.toFixed(2) })
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 授权成功回调
|
||||||
|
*/
|
||||||
|
authSuccess: function() {
|
||||||
|
this.onLoad(this.options);
|
||||||
|
},
|
||||||
|
|
||||||
|
reload_data: function() {
|
||||||
|
console.log('reload_data--', this.options.id);
|
||||||
|
var that = this;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
let id = this.options.id || '';
|
||||||
|
let latitude = wx.getStorageSync('latitude2');
|
||||||
|
let longitude = wx.getStorageSync('longitude2');
|
||||||
|
// this.getData(id, latitude, longitude, '', this.data.delivery)
|
||||||
|
|
||||||
|
id && app.util.request({
|
||||||
|
url: 'entry/wxapp/index',
|
||||||
|
data: {
|
||||||
|
controller: 'order.order_info',
|
||||||
|
token,
|
||||||
|
id,
|
||||||
|
latitude,
|
||||||
|
longitude
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
method: 'POST',
|
||||||
|
success: function(res) {
|
||||||
|
let order_info = res.data.data.order_info;
|
||||||
|
if (order_info.order_status_id == 3) {
|
||||||
|
var seconds = (order_info.over_buy_time - order_info.cur_time) * 1000;
|
||||||
|
if (seconds > 0) {
|
||||||
|
count_down(that, seconds);
|
||||||
|
} else {
|
||||||
|
that.setData({
|
||||||
|
changeState: 1
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
that.setData({
|
||||||
|
order: res.data.data,
|
||||||
|
pingtai_deal: res.data.pingtai_deal,
|
||||||
|
order_refund: res.data.order_refund,
|
||||||
|
loadover: true,
|
||||||
|
is_show: 1,
|
||||||
|
hide_lding: true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
receivOrder: function(event) {
|
||||||
|
let id = event.currentTarget.dataset.type || '';
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
var that = this;
|
||||||
|
var that = this;
|
||||||
|
wx.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '确认收货',
|
||||||
|
confirmColor: '#4facfe',
|
||||||
|
success(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'order.receive_order',
|
||||||
|
token: token,
|
||||||
|
order_id: id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {
|
||||||
|
if (res.data.code == 0) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '收货成功',
|
||||||
|
icon: 'success',
|
||||||
|
duration: 1000
|
||||||
|
})
|
||||||
|
that.reload_data();
|
||||||
|
} else {
|
||||||
|
app.util.message(res.data.msg||'收货失败', '', 'error');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
callDialog: function(e) {
|
||||||
|
var order_id = e.currentTarget.dataset.type || '';
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
wx.showModal({
|
||||||
|
title: '取消支付',
|
||||||
|
content: '好不容易挑出来,确定要取消吗?',
|
||||||
|
confirmColor: '#F75451',
|
||||||
|
success(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'order.cancel_order',
|
||||||
|
token: token,
|
||||||
|
order_id: order_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '取消成功',
|
||||||
|
icon: 'success',
|
||||||
|
complete: function() {
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/order/index'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
applyForService: function(e) {
|
||||||
|
var order_id = e.currentTarget.dataset.type || '';
|
||||||
|
var order_goods_id = e.currentTarget.dataset.order_goods_id;
|
||||||
|
|
||||||
|
order_id && wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/order/refund?id=' + order_id + '&order_goods_id=' + order_goods_id + '&delivery=' + this.data.delivery
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付防抖
|
||||||
|
*/
|
||||||
|
// preOrderPay: util.debounce(function(event) {
|
||||||
|
// canpay && this.payNow(event);
|
||||||
|
// }),
|
||||||
|
preOrderPay: function(event) {
|
||||||
|
canpay && this.payNow(event);
|
||||||
|
},
|
||||||
|
|
||||||
|
payNow: function(e) {
|
||||||
|
canpay = false;
|
||||||
|
let that = this;
|
||||||
|
var order_id = e.currentTarget.dataset.type || '';
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
|
||||||
|
order_id && app.util.request({
|
||||||
|
url: 'entry/wxapp/index',
|
||||||
|
data: {
|
||||||
|
controller: 'car.wxpay',
|
||||||
|
token,
|
||||||
|
order_id,
|
||||||
|
scene: app.globalData.scene
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
method: 'POST',
|
||||||
|
success: function(res) {
|
||||||
|
if (res.data.code == 0) {
|
||||||
|
// 交易组件
|
||||||
|
if(res.data.isRequestOrderPayment==1) {
|
||||||
|
wx.requestOrderPayment({
|
||||||
|
orderInfo: res.data.order_info,
|
||||||
|
timeStamp: res.data.timeStamp,
|
||||||
|
nonceStr: res.data.nonceStr,
|
||||||
|
package: res.data.package,
|
||||||
|
signType: res.data.signType,
|
||||||
|
paySign: res.data.paySign,
|
||||||
|
success: function(wxres) {
|
||||||
|
canpay = true;
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/order/order?id=' + order_id + '&is_show=1&delivery='+that.data.delivery
|
||||||
|
})
|
||||||
|
},
|
||||||
|
'fail': function(res) {
|
||||||
|
canpay = true;
|
||||||
|
console.log(res);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
wx.requestPayment({
|
||||||
|
"appId": res.data.appId,
|
||||||
|
"timeStamp": res.data.timeStamp,
|
||||||
|
"nonceStr": res.data.nonceStr,
|
||||||
|
"package": res.data.package,
|
||||||
|
"signType": res.data.signType,
|
||||||
|
"paySign": res.data.paySign,
|
||||||
|
'success': function(wxres) {
|
||||||
|
canpay = true;
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/order/order?id=' + order_id + '&is_show=1&delivery='+that.data.delivery
|
||||||
|
})
|
||||||
|
},
|
||||||
|
'fail': function(res) {
|
||||||
|
canpay = true;
|
||||||
|
console.log(res);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else if (res.data.code == 1) {
|
||||||
|
wx.showToast({
|
||||||
|
title: res.data.RETURN_MSG || '支付错误',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
canpay = true;
|
||||||
|
} else if (res.data.code == 2) {
|
||||||
|
wx.showToast({
|
||||||
|
title: res.data.msg,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
setTimeout(() => {
|
||||||
|
canpay = true;
|
||||||
|
that.reload_data();
|
||||||
|
}, 1500);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fail: ()=>{
|
||||||
|
canpay = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
hide_lding: function() {
|
||||||
|
wx.hideLoading();
|
||||||
|
this.setData({
|
||||||
|
is_show: true
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
call_mobile: function(event) {
|
||||||
|
let mobile = event.currentTarget.dataset.mobile;
|
||||||
|
wx.makePhoneCall({
|
||||||
|
phoneNumber: mobile
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
goComment: function(event) {
|
||||||
|
let id = event.currentTarget.dataset.type;
|
||||||
|
let order_goods_id = event.currentTarget.dataset.order_goods_id;
|
||||||
|
var goods_id = event.currentTarget.dataset.goods_id;
|
||||||
|
|
||||||
|
var pages_all = getCurrentPages();
|
||||||
|
if (pages_all.length > 3) {
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/order/evaluate?id=' + id + '&goods_id=' + goods_id + '&order_goods_id=' + order_goods_id
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
wx.navigateTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/order/evaluate?id=' + id + '&goods_id=' + goods_id + '&order_goods_id=' + order_goods_id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
gokefu: function(event) {
|
||||||
|
let id = event.currentTarget.dataset.s_id;
|
||||||
|
var pages_all = getCurrentPages();
|
||||||
|
if (pages_all.length > 3) {
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/pages/im/index?id=' + id
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
wx.navigateTo({
|
||||||
|
url: '/pages/im/index?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
goRefund: function(event) {
|
||||||
|
let id = event.currentTarget.dataset.id || 0;
|
||||||
|
if(id) {
|
||||||
|
var pages_all = getCurrentPages();
|
||||||
|
if (pages_all.length > 3) {
|
||||||
|
wx.redirectTo({
|
||||||
|
url: `/eaterplanet_ecommerce/pages/order/refunddetail?id=${id}`
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
wx.navigateTo({
|
||||||
|
url: `/eaterplanet_ecommerce/pages/order/refunddetail?id=${id}`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
closeModal: function(event) {
|
||||||
|
let h = {};
|
||||||
|
let type = event.currentTarget.dataset.type || 0;
|
||||||
|
if(type==1) {
|
||||||
|
h.showRefundModal = false;
|
||||||
|
} else {
|
||||||
|
h.isShowModal = false;
|
||||||
|
}
|
||||||
|
this.setData(h)
|
||||||
|
},
|
||||||
|
|
||||||
|
//取消订单
|
||||||
|
cancelOrder: function(e){
|
||||||
|
let that = this;
|
||||||
|
this.canCancel && wx.showModal({
|
||||||
|
title: '取消订单并退款',
|
||||||
|
content: '取消订单后,款项将原路退回到您的支付账户;详情请查看退款进度。',
|
||||||
|
confirmText: '取消订单',
|
||||||
|
confirmColor: '#ff5344',
|
||||||
|
cancelText: '再等等',
|
||||||
|
cancelColor: '#666666',
|
||||||
|
success(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
that.canCancel = false;
|
||||||
|
let order_id = e.currentTarget.dataset.type;
|
||||||
|
let token = wx.getStorageSync('token');
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'order.del_cancle_order',
|
||||||
|
token,
|
||||||
|
order_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
method: 'POST',
|
||||||
|
success: function (res) {
|
||||||
|
if(res.data.code==0){
|
||||||
|
//提交成功
|
||||||
|
wx.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '取消订单成功',
|
||||||
|
showCancel: false,
|
||||||
|
confirmColor: '#ff5344',
|
||||||
|
success(ret) {
|
||||||
|
if(ret.confirm) {
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/order/index'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
that.canCancel = true;
|
||||||
|
wx.showToast({
|
||||||
|
title: res.data.msg || '取消订单失败',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
console.log('用户点击确定')
|
||||||
|
} else if (res.cancel) {
|
||||||
|
that.canCancel = true;
|
||||||
|
console.log('用户点击取消')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 弹窗显示退款信息
|
||||||
|
* @param {*} res
|
||||||
|
*/
|
||||||
|
showRefundInfo: function(e) {
|
||||||
|
let idx = e.currentTarget.dataset.idx;
|
||||||
|
let hasrefund = e.currentTarget.dataset.hasrefund;
|
||||||
|
if(hasrefund>0) {
|
||||||
|
let order = this.data.order;
|
||||||
|
let refundGoodsInfo = order.order_goods_list[idx];
|
||||||
|
this.setData({
|
||||||
|
showRefundModal: true,
|
||||||
|
refundGoodsInfo
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查看地图
|
||||||
|
*/
|
||||||
|
gotoMap: function (e) {
|
||||||
|
let tot = e.currentTarget.dataset.tot || '';
|
||||||
|
let longitude = '';
|
||||||
|
let latitude = '';
|
||||||
|
let name = '';
|
||||||
|
let address = '';
|
||||||
|
if(tot==1) {
|
||||||
|
let salesroom_list = this.data.order.order_info.salesroom_list;
|
||||||
|
let salesroomIdx = this.data.salesroomIdx;
|
||||||
|
longitude = salesroom_list[salesroomIdx].lon;
|
||||||
|
latitude = salesroom_list[salesroomIdx].lat;
|
||||||
|
name = salesroom_list[salesroomIdx].room_name;
|
||||||
|
address = salesroom_list[salesroomIdx].room_address;
|
||||||
|
} else {
|
||||||
|
longitude = e.currentTarget.dataset.lon;
|
||||||
|
latitude = e.currentTarget.dataset.lat;
|
||||||
|
name = e.currentTarget.dataset.name;
|
||||||
|
address = e.currentTarget.dataset.address;
|
||||||
|
}
|
||||||
|
|
||||||
|
wx.openLocation({
|
||||||
|
latitude: parseFloat(latitude),
|
||||||
|
longitude: parseFloat(longitude),
|
||||||
|
name,
|
||||||
|
address,
|
||||||
|
scale: 28
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
createMarker: function(latitude, longitude){
|
||||||
|
let marker = {
|
||||||
|
iconPath: "../../images/location-red.png",
|
||||||
|
id: '',
|
||||||
|
title: '门店',
|
||||||
|
latitude: parseFloat(latitude),
|
||||||
|
longitude: parseFloat(longitude),
|
||||||
|
label:{
|
||||||
|
anchorX: -12,
|
||||||
|
anchorY: 0,
|
||||||
|
content: '门店'
|
||||||
|
},
|
||||||
|
width: 30,
|
||||||
|
height: 30
|
||||||
|
};
|
||||||
|
return marker;
|
||||||
|
},
|
||||||
|
|
||||||
|
handleHexiaoModal: function() {
|
||||||
|
this.setData({
|
||||||
|
showHexiaoModal: !this.data.showHexiaoModal
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
changeMendian: function(e) {
|
||||||
|
let salesroomIdx = e.currentTarget.dataset.idx;
|
||||||
|
this.setData({ salesroomIdx, showHexiaoModal: !this.data.showHexiaoModal })
|
||||||
|
},
|
||||||
|
|
||||||
|
handleHexiaoGoodsModal: function() {
|
||||||
|
this.setData({
|
||||||
|
showHexiaoGoodsModal: !this.data.showHexiaoGoodsModal
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
handleGoodsHexiao: function(e) {
|
||||||
|
let goodsHexiaoIdx = e.currentTarget.dataset.idx;
|
||||||
|
this.setData({ goodsHexiaoIdx, showHexiaoGoodsModal: true })
|
||||||
|
},
|
||||||
|
|
||||||
|
hanlePresaleModal: function(e) {
|
||||||
|
this.setData({
|
||||||
|
showPresaleDesc: !this.data.showPresaleDesc
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
hanlePresalePayModal: function(){
|
||||||
|
console.log(this.data.showPresalePayModal)
|
||||||
|
this.setData({
|
||||||
|
showPresalePayModal: !this.data.showPresalePayModal
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
copyCont: function(e) {
|
||||||
|
let data = e.currentTarget.dataset.code || "";
|
||||||
|
data&&wx.setClipboardData({
|
||||||
|
data,
|
||||||
|
success:function (res) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '复制成功',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
goLink: function(event) {
|
||||||
|
let url = event.currentTarget.dataset.link;
|
||||||
|
let needauth = event.currentTarget.dataset.needauth || '';
|
||||||
|
if(needauth){ if (!this.authModal()) return; }
|
||||||
|
url && wx.redirectTo({ url })
|
||||||
|
},
|
||||||
|
|
||||||
|
showFanliView: function() {
|
||||||
|
let pin_rebate = this.data.order.pin_rebate || '';
|
||||||
|
console.log(pin_rebate)
|
||||||
|
let text = "";
|
||||||
|
if(pin_rebate&&pin_rebate.rebate_reward==1) {
|
||||||
|
text = "拼团返利赠送"+ pin_rebate.reward_amount +"积分";
|
||||||
|
} else {
|
||||||
|
text = "拼团返利赠送余额:+"+ pin_rebate.reward_amount;
|
||||||
|
}
|
||||||
|
pin_rebate&&wx.showModal({
|
||||||
|
title: "返利详情",
|
||||||
|
content: text,
|
||||||
|
showCancel: false,
|
||||||
|
confirmText: "我知道了"
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
onShareAppMessage: function(res) {
|
||||||
|
var order_id = this.data.order.order_info.order_id || '';
|
||||||
|
let goods_share_image = this.data.order.order_goods_list[0].goods_share_image;
|
||||||
|
let share_img = this.data.share_img;
|
||||||
|
let share_title = this.data.share_title;
|
||||||
|
share_title = share_title?share_title:`@${this.data.order.order_info.ziti_name}${this.data.groupInfo.owner_name},我是${this.data.userInfo.shareNickName},刚在你这里下单啦!!!`;
|
||||||
|
if (order_id && this.is_show_tip == 1) {
|
||||||
|
return {
|
||||||
|
title: share_title,
|
||||||
|
path: "eaterplanet_ecommerce/pages/order/shareOrderInfo?order_id=" + order_id,
|
||||||
|
imageUrl: share_img ? share_img : goods_share_image
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"navigationBarBackgroundColor": "#FFF",
|
||||||
|
"navigationBarTitleText": "订单详情",
|
||||||
|
"navigationBarTextStyle": "black",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"usingComponents": {
|
||||||
|
"ep-navBar": "../../components/navigation-bar",
|
||||||
|
"i-auth": "../../components/auth/index",
|
||||||
|
"i-card": "../../components/card/index",
|
||||||
|
"i-fixedBottom": "../../components/fixed-bottom/index",
|
||||||
|
"i-dialog": "../../components/dialog/index",
|
||||||
|
"i-order-info-express": "../../components/order/orderInfoExpress",
|
||||||
|
"i-goods-info": "../../components/goodsInfo/index",
|
||||||
|
"i-order-info": "../../components/orderInfo/index",
|
||||||
|
"i-modal": "../../components/modal/index",
|
||||||
|
"i-orderComment": "../../components/orderComment/index",
|
||||||
|
"i-img": "../../components/img/index",
|
||||||
|
"sku": "../../components/sku/index",
|
||||||
|
"guess-like": "../../components/guess-like/index",
|
||||||
|
"i-aside-btn": "../../components/asideBtn/index",
|
||||||
|
"s-form-show": "../../components/s-form-show/index"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,717 @@
|
||||||
|
<ep-navBar title="订单详情" background='#4facfe' back="{{true}}" iconTheme='white' color='#fff' bindback="handlerGobackClick"/>
|
||||||
|
<i-auth bind:authSuccess="authSuccess" needAuth="{{needAuth}}">
|
||||||
|
<view class="orderpage">
|
||||||
|
<view class="head">
|
||||||
|
<view class="head">
|
||||||
|
|
||||||
|
<view class="to-pay-wrap" wx:if="{{order.order_info.order_status_id==3 && changeState!=1}}">
|
||||||
|
<view class="font-bold-30" wx:if="{{order.order_info.open_auto_delete == 1}}">
|
||||||
|
<view class="tradeStatus-index--count-down count-down">
|
||||||
|
<text wx:if="{{endtime.days >0}}">{{endtime.days}}天</text>{{endtime.hours}}:{{endtime.minutes}}:{{endtime.seconds}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="font-bold-30" wx:if="{{order.order_info.open_auto_delete == 0}}">
|
||||||
|
<view class="tradeStatus-index--count-down count-down">待付款</view>
|
||||||
|
</view>
|
||||||
|
<view class="font-12" wx:if="{{order.order_info.open_auto_delete==1}}">请尽快付款,超时将被自动取消</view>
|
||||||
|
<view class="font-12" wx:else>请尽快付款,不然就被抢光了</view>
|
||||||
|
</view>
|
||||||
|
<view class="to-get-wrap" wx:if="{{order.order_info.order_status_id==1}}">
|
||||||
|
<view class="font-bold-20">
|
||||||
|
<block wx:if="{{presale_info&&presale_info.id}}">
|
||||||
|
<view>{{order.order_status_info.name}}</view>
|
||||||
|
<view class="fsz-24">
|
||||||
|
发货时间:<block wx:if="{{presale_info.presale_sendorder_date}}">{{presale_info.presale_sendorder_date}}</block>
|
||||||
|
<block wx:else>{{presale_info.presale_sendorder_afterday}}日内</block>开始{{presalePickup[order.order_info.delivery]}}
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<block wx:else>备货中</block>
|
||||||
|
</view>
|
||||||
|
<image class="little-img" src="../../images/img_delivery@2x.png"></image>
|
||||||
|
</view>
|
||||||
|
<view class="to-get-wrap" wx:if="{{order.order_info.order_status_id==2}}">
|
||||||
|
<view class="font-bold-20">拼团中,已付款</view>
|
||||||
|
<image class="little-img" src="../../images/img_delivery@2x.png"></image>
|
||||||
|
</view>
|
||||||
|
<view class="to-get-wrap" wx:if="{{order.order_info.order_status_id==14}}">
|
||||||
|
<view class="font-bold-20">配送中</view>
|
||||||
|
<image class="little-img" src="../../images/img_delivery@2x.png"></image>
|
||||||
|
</view>
|
||||||
|
<view class="to-get-wrap" wx:if="{{order.order_info.order_status_id==4}}">
|
||||||
|
<view class="font-bold-20">
|
||||||
|
<view>{{order.order_status_info.name?order.order_status_info.name:"可提货"}}</view>
|
||||||
|
<view class="fsz-24" wx:if="{{presale_info}}">
|
||||||
|
发货时间:<block wx:if="{{presale_info.presale_sendorder_date}}">{{presale_info.presale_sendorder_date}}</block>
|
||||||
|
<block wx:else>{{presale_info.presale_sendorder_afterday}}日内</block>开始{{presalePickup[order.order_info.delivery]}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<image class="little-img" src="../../images/img_ready_to_get@2x.png"></image>
|
||||||
|
</view>
|
||||||
|
<view class="to-get-wrap" wx:if="{{order.order_info.order_status_id==6}}">
|
||||||
|
<view class="font-bold-20">已签收</view>
|
||||||
|
<image class="little-img" src="../../images/img_trade_succeed@2x.png"></image>
|
||||||
|
</view>
|
||||||
|
<view class="trade-cancel-wrap" wx:if="{{order.order_info.order_status_id==10}}">
|
||||||
|
<view class="font-bold-20 cancel-box">
|
||||||
|
<image class="cancel-img" src="../../images/icon_exclamation@2x.png"></image>等待退款
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="to-get-wrap" wx:if="{{order.order_info.order_status_id==11}}">
|
||||||
|
<view class="font-bold-20">交易完成</view>
|
||||||
|
<image class="little-img" src="../../images/img_trade_succeed@2x.png"></image>
|
||||||
|
</view>
|
||||||
|
<view class="trade-cancel-wrap" wx:if="{{order.order_info.order_status_id==12}}">
|
||||||
|
<view class="font-bold-20 cancel-box">
|
||||||
|
<image class="cancel-img" src="../../images/icon_exclamation@2x.png"></image>售后中
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="trade-cancel-wrap" wx:if="{{order.order_info.order_status_id==5 || changeState==1}}">
|
||||||
|
<view class="font-bold-20 cancel-box">
|
||||||
|
<block wx:if="{{presale_info&&presale_info.is_unpay_ding_cancle==1}}">
|
||||||
|
<view class="fsz-32">未在规定时间内支付,订单已取消</view>
|
||||||
|
<view class="fsz-24" wx:if="{{presale_info.presale_limit_balancepaytime==1}}">支付尾款时间:{{presale_info.balance_pay_begintime}} - {{presale_info.balance_pay_endtime}}</view>
|
||||||
|
</block>
|
||||||
|
<block wx:else><image class="cancel-img" src="../../images/icon_exclamation@2x.png"></image>交易取消</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="trade-cancel-wrap" wx:if="{{order.order_info.order_status_id==7}}">
|
||||||
|
<view class="font-bold-20 cancel-box">
|
||||||
|
<image class="cancel-img" src="../../images/icon_exclamation@2x.png"></image>已退款
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 预售订单状态 -->
|
||||||
|
<view class="to-get-wrap" wx:if="{{presale_info&&order.order_info.order_status_id==15}}">
|
||||||
|
<view class="font-bold-20">
|
||||||
|
<view>{{order.order_status_info.name}}</view>
|
||||||
|
<view class="fsz-24" wx:if="{{presale_info.presale_limit_balancepaytime==1}}">支付尾款时间:{{presale_info.balance_pay_begintime}} - {{presale_info.balance_pay_endtime}}</view>
|
||||||
|
</view>
|
||||||
|
<image class="little-img" src="../../images/img_delivery@2x.png"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content">
|
||||||
|
<!-- 核销 -->
|
||||||
|
<block wx:if="{{delivery=='hexiao'}}">
|
||||||
|
<!-- 券码已使用 -->
|
||||||
|
<block wx:if="{{hx_receive_info.goods_count==!hx_receive_info.receive_count}}">
|
||||||
|
<i-card>
|
||||||
|
<view slot="header" class="header">{{order.order_info.shopname}}</view>
|
||||||
|
<view slot="content" class="content-wrap middle">
|
||||||
|
<view class="each-item" wx:for="{{order_goods_list}}" wx:for-item="goodsInfo" wx:key="id">
|
||||||
|
<view style="margin-right: 10px">
|
||||||
|
<i-img height="60" iClass="show-img" lazyLoad="true" loadImage="{{goodsInfo.image}}" width="60"></i-img>
|
||||||
|
</view>
|
||||||
|
<view style="flex-grow: 1">
|
||||||
|
<view class="name bold-text">{{goodsInfo.name}}</view>
|
||||||
|
<view class="mount">
|
||||||
|
<block wx:if="{{goodsInfo.option_str}}">{{goodsInfo.option_str}} </block>
|
||||||
|
¥{{goodsInfo.price}} x {{goodsInfo.quantity}}
|
||||||
|
</view>
|
||||||
|
<view class="bottom-info i-flex i-flex-alc">
|
||||||
|
<view class='bold-text i-flex-item'>小计:¥{{goodsInfo.real_total}}</view>
|
||||||
|
<view class="card-btn" style="margin: 0;">
|
||||||
|
<view catchtap="hanlePresalePayModal" class="btn-1 mar-left-8" wx:if="{{presale_info.need_repay==2&&!presale_info.second_paytime}}">付尾款</view>
|
||||||
|
<block wx:if="{{goodsInfo.is_refund_state>0&&goodsInfo.order_refund_goods.ref_id}}">
|
||||||
|
<view class="btn-2 mar-left-8" catchtap="goRefund" data-id="{{goodsInfo.order_refund_goods.ref_id}}">
|
||||||
|
<block wx:if="{{goodsInfo.is_refund_state==1}}">
|
||||||
|
{{(goodsInfo.order_refund_goods&&goodsInfo.order_refund_goods.state==3)?'退款成功':'查看售后'}}
|
||||||
|
</block>
|
||||||
|
<block wx:else>退款成功</block>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view catchtap="applyForService" data-type="{{order.order_info.order_id}}" data-order_goods_id="{{goodsInfo.order_goods_id}}" class="btn-1 mar-left-8" wx:if="{{goodsInfo.is_statements_state==0&&goodsInfo.is_refund_state==0&&(order.order_info.order_status_id==6||order.order_info.order_status_id==11)&&order_can_shen_refund==1}}">申请售后</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view slot="footer">
|
||||||
|
<view class="footer">
|
||||||
|
共{{hx_receive_info.goods_count}}{{goods_sale_unit}}商品 小计:
|
||||||
|
<view class="money">¥{{goodsTot}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-card>
|
||||||
|
<!-- 已使用信息 -->
|
||||||
|
<view class="mt10"></view>
|
||||||
|
<i-card>
|
||||||
|
<view slot="header" class="header i-flex">
|
||||||
|
<view class="i-flex-item fsz-30">{{order.order_info.order_status_id==7?'已退款':'已收货'}}</view>
|
||||||
|
<view class="text-gray">{{hx_receive_info.goods_count}}{{goods_sale_unit}}商品</view>
|
||||||
|
</view>
|
||||||
|
<view slot="content" class="content-wrap p15 fsz-24">
|
||||||
|
<view>使用时间:{{hx_receive_info.use_time}}</view>
|
||||||
|
<view class="mt5">使用地址:{{hx_receive_info.salesroom_name}}</view>
|
||||||
|
<view class="i-flex mt5">
|
||||||
|
<view>券码:</view>
|
||||||
|
<view class="i-flex-item weight">
|
||||||
|
<view wx:for="{{hx_receive_info.volume_code_list}}" wx:key="index">
|
||||||
|
<text class="line-through">{{order.order_info.hexiao_volume_code}}</text> <text class="bule ml5" wx:if="{{order.order_info.order_status_id==7}}">已退款</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-card>
|
||||||
|
</block>
|
||||||
|
<!-- 券码未使用 -->
|
||||||
|
<block wx:else>
|
||||||
|
<i-card wx:if="{{order.order_info.order_status_id!=11&&order.order_info.order_status_id!=6}}">
|
||||||
|
<view slot="header" class="header">{{order.order_info.shopname}}</view>
|
||||||
|
<view slot="content" class="content-wrap">
|
||||||
|
<view class="text-center mt10" wx:if="{{order.order_info.hexiao_qr_code}}">
|
||||||
|
<image src="{{order.order_info.hexiao_qr_code}}" style="width:300rpx;height:300rpx;"></image>
|
||||||
|
</view>
|
||||||
|
<view class="text-center weight mt5 pt10">{{order.order_info.hexiao_volume_code}}</view>
|
||||||
|
<view class="text-center u-font-24 mt5 pb15 text-gray">出示二维码给店员核销</view>
|
||||||
|
</view>
|
||||||
|
</i-card>
|
||||||
|
<!-- 商品信息 -->
|
||||||
|
<block wx:for="{{order_goods_list}}" wx:for-item="goodsInfo" wx:key="id">
|
||||||
|
<view class="mt10"></view>
|
||||||
|
<i-card bindtap="handleGoodsHexiao" data-idx="{{index}}">
|
||||||
|
<view slot="header" class="header i-flex i-flex-spb" wx:if="{{goodsInfo.is_hexiao_expire==1}}">
|
||||||
|
<view class="red fsz-24">有效期至{{goodsInfo.effect_end_time}}</view>
|
||||||
|
<view class="red fsz-24" wx:if="{{goodsInfo.is_refund_state>0}}">已退款</view>
|
||||||
|
<view class="red fsz-24" wx:else>已过期</view>
|
||||||
|
</view>
|
||||||
|
<view slot="header" class="header i-flex i-flex-spb" wx:else>
|
||||||
|
<view class="red fsz-24">有效期至{{goodsInfo.effect_end_time}}</view>
|
||||||
|
<view class="red fsz-24" wx:if="{{goodsInfo.is_refund_state>0}}">{{goodsInfo.is_refund_state==1?'已退款':'部分退款'}}</view>
|
||||||
|
<view class="red fsz-24" wx:elif="{{goodsInfo.is_hexiao_over==1}}">已使用({{goodsInfo.hexiao_count-goodsInfo.remain_hexiao_count}}{{goodsInfo.hexiao_type==0?'份':'次'}})</view>
|
||||||
|
<view class="red fsz-24" wx:else>未使用({{goodsInfo.remain_hexiao_count ==0?'不限':goodsInfo.remain_hexiao_count}}{{goodsInfo.hexiao_type==0?'份':'次'}})</view>
|
||||||
|
</view>
|
||||||
|
<view slot="content" class="content-wrap middle">
|
||||||
|
<view class="each-item">
|
||||||
|
<view style="margin-right: 10px">
|
||||||
|
<i-img height="60" iClass="show-img" lazyLoad="true" loadImage="{{goodsInfo.image}}" width="60"></i-img>
|
||||||
|
</view>
|
||||||
|
<view style="flex-grow: 1">
|
||||||
|
<view class="name bold-text">{{goodsInfo.name}}</view>
|
||||||
|
<view class="mount">
|
||||||
|
<block wx:if="{{goodsInfo.option_str}}">{{goodsInfo.option_str}} </block>
|
||||||
|
¥{{goodsInfo.price}} x {{goodsInfo.quantity}}
|
||||||
|
</view>
|
||||||
|
<view class="bottom-info i-flex i-flex-alc">
|
||||||
|
<view class='bold-text i-flex-item'>小计:¥{{goodsInfo.real_total}}</view>
|
||||||
|
<view class="card-btn" style="margin: 0;">
|
||||||
|
<view catchtap="hanlePresalePayModal" class="btn-1 mar-left-8" wx:if="{{presale_info.need_repay==2&&!presale_info.second_paytime}}">付尾款</view>
|
||||||
|
<block wx:if="{{goodsInfo.is_refund_state>0&&goodsInfo.order_refund_goods.ref_id}}">
|
||||||
|
<view class="btn-2 mar-left-8" catchtap="goRefund" data-id="{{goodsInfo.order_refund_goods.ref_id}}">
|
||||||
|
<block wx:if="{{goodsInfo.is_refund_state==1}}">
|
||||||
|
{{(goodsInfo.order_refund_goods&&goodsInfo.order_refund_goods.state==3)?'退款成功':'查看售后'}}
|
||||||
|
</block>
|
||||||
|
<block wx:else>退款成功</block>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view catchtap="applyForService" data-type="{{order.order_info.order_id}}" data-order_goods_id="{{goodsInfo.order_goods_id}}" class="btn-1 mar-left-8" wx:if="{{goodsInfo.is_statements_state==0&&goodsInfo.is_refund_state==0&&(order.order_info.order_status_id==6||order.order_info.order_status_id==11)&&order_can_shen_refund==1}}">申请售后</view>
|
||||||
|
<text class="iconfont icon-erweima1 fsz-36 ml10" wx:if="{{order.order_info.order_status_id!=11&&order.order_info.order_status_id!=6}}"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-card>
|
||||||
|
</block>
|
||||||
|
<!-- 使用情况信息 -->
|
||||||
|
<block wx:if="{{hx_receive_info.goods_count!=hx_receive_info.receive_count&&hx_receive_info.receive_count>0}}">
|
||||||
|
<view class="mt10"></view>
|
||||||
|
<i-card>
|
||||||
|
<view slot="header" class="header i-flex">
|
||||||
|
<view class="i-flex-item fsz-28">
|
||||||
|
<block wx:if="{{hx_receive_info.receive_count}}">已收货{{hx_receive_info.receive_count}}份,</block>
|
||||||
|
<block wx:if="{{hx_receive_info.wait_count}}">待收货{{hx_receive_info.wait_count}}份</block>
|
||||||
|
<block wx:if="{{hx_receive_info.refund_goods_quantity}}">已退款{{hx_receive_info.refund_goods_quantity}}份</block>
|
||||||
|
</view>
|
||||||
|
<view class="text-gray">{{hx_receive_info.goods_count}}{{goods_sale_unit}}商品</view>
|
||||||
|
</view>
|
||||||
|
<view slot="content" class="content-wrap p15 fsz-24">
|
||||||
|
<view>使用时间:{{hx_receive_info.use_time}}</view>
|
||||||
|
<view class="mt5" wx:if="{{hx_receive_info.salesroom_name}}">使用地址:{{hx_receive_info.salesroom_name}}</view>
|
||||||
|
<view class="i-flex mt5">
|
||||||
|
<view>劵码:</view>
|
||||||
|
<view class="i-flex-item weight">
|
||||||
|
<view wx:for="{{hx_receive_info.volume_code_list}}" wx:key="index">
|
||||||
|
<text class="{{item.is_use==1?'line-through':''}}">{{item.hexiao_volume_code}}</text>
|
||||||
|
<text class="red" wx:if="{{item.is_hexiao_expire==1}}">已过期(有效期至{{item.effect_end_time}})</text>
|
||||||
|
<text class="bule" wx:elif="{{item.refund_quantity==1}}">已退款({{item.refund_quantity}}份)</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-card>
|
||||||
|
</block>
|
||||||
|
<view class="i-flex weight" style="background:#fbf1eb;margin:20rpx 0;padding:15rpx 20rpx;color:#f2792c;border-radius:5rpx;" wx:if="{{order.order_info.order_status_id!=11&&order.order_info.order_status_id!=6}}">
|
||||||
|
<text class="iconfont icon-laba" style="margin-right:10rpx;"></text>
|
||||||
|
商品门店信息请点击商品右下角二维码查看
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view class="mt10"></view>
|
||||||
|
</block>
|
||||||
|
<!-- 礼品卡 -->
|
||||||
|
<block wx:elif="{{virtualcard_info}}">
|
||||||
|
<i-card wx:if="{{virtualcard_info.state==1&&virtualcard_info.is_effect}}">
|
||||||
|
<view slot="header" class="header">礼品卡</view>
|
||||||
|
<view slot="content" class="content-wrap">
|
||||||
|
<view class="text-center weight mt5 pt10 pb15" bindtap="copyCont" data-code="{{virtualcard_info.code_sn}}">
|
||||||
|
{{virtualcard_info.code_sn}} <text class="bule">复制</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-card>
|
||||||
|
<!-- 商品信息 -->
|
||||||
|
<block wx:for="{{order_goods_list}}" wx:for-item="goodsInfo" wx:key="id">
|
||||||
|
<view class="mt10"></view>
|
||||||
|
<i-card data-idx="{{index}}">
|
||||||
|
<view slot="header" class="header i-flex i-flex-spb" wx:if="{{virtualcard_info.is_effect==0}}">
|
||||||
|
<view class="red fsz-24">{{virtualcard_info.effect_type==1?'有效期至'+virtualcard_info.effect_enddate:''}}</view>
|
||||||
|
<view class="red fsz-24" wx:if="{{goodsInfo.is_refund_state>0}}">已退款</view>
|
||||||
|
<view class="red fsz-24" wx:else>已过期</view>
|
||||||
|
</view>
|
||||||
|
<view slot="header" class="header i-flex i-flex-spb" wx:else>
|
||||||
|
<view class="red fsz-24">{{virtualcard_info.effect_type==1?'有效期至'+virtualcard_info.effect_enddate:''}}</view>
|
||||||
|
<view class="red fsz-24" wx:if="{{goodsInfo.is_refund_state>0}}">{{goodsInfo.is_refund_state==1?'已退款':'部分退款'}}</view>
|
||||||
|
<view class="red fsz-24" wx:elif="{{virtualcard_info.state==2}}">已使用</view>
|
||||||
|
<view class="red fsz-24" wx:else>未使用</view>
|
||||||
|
</view>
|
||||||
|
<view slot="content" class="content-wrap middle">
|
||||||
|
<view class="each-item">
|
||||||
|
<view style="margin-right: 10px">
|
||||||
|
<i-img height="60" iClass="show-img" lazyLoad="true" loadImage="{{goodsInfo.image}}" width="60"></i-img>
|
||||||
|
</view>
|
||||||
|
<view style="flex-grow: 1">
|
||||||
|
<view class="name bold-text">{{goodsInfo.name}}</view>
|
||||||
|
<view class="mount">
|
||||||
|
<block wx:if="{{goodsInfo.option_str}}">{{goodsInfo.option_str}} </block>
|
||||||
|
¥{{goodsInfo.price}} x {{goodsInfo.quantity}}
|
||||||
|
</view>
|
||||||
|
<view class="bottom-info i-flex i-flex-alc">
|
||||||
|
<view class='bold-text i-flex-item'>小计:¥{{goodsInfo.real_total}}</view>
|
||||||
|
<view class="card-btn" style="margin: 0;">
|
||||||
|
<block wx:if="{{goodsInfo.is_refund_state>0&&goodsInfo.order_refund_goods.ref_id}}">
|
||||||
|
<view class="btn-2 mar-left-8" catchtap="goRefund" data-id="{{goodsInfo.order_refund_goods.ref_id}}">
|
||||||
|
<block wx:if="{{goodsInfo.is_refund_state==1}}">
|
||||||
|
{{(goodsInfo.order_refund_goods&&goodsInfo.order_refund_goods.state==3)?'退款成功':'查看售后'}}
|
||||||
|
</block>
|
||||||
|
<block wx:else>退款成功</block>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view catchtap="applyForService" data-type="{{order.order_info.order_id}}" data-order_goods_id="{{goodsInfo.order_goods_id}}" class="btn-1 mar-left-8" wx:if="{{goodsInfo.is_statements_state==0&&goodsInfo.is_refund_state==0&&(order.order_info.order_status_id==6||order.order_info.order_status_id==11)&&order_can_shen_refund==1}}">申请售后</view>
|
||||||
|
<block wx:if="{{virtualcard_info.is_effect==1&&virtualcard_info.state==1}}">
|
||||||
|
<view class="btn-1 mar-left-8" bindtap="goLink" data-link="/eaterplanet_ecommerce/moduleB/virtualcard/exchange">去使用</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-card>
|
||||||
|
</block>
|
||||||
|
<view class="mt10"></view>
|
||||||
|
<block wx:if="{{virtualcard_info.state>=2}}">
|
||||||
|
<i-card>
|
||||||
|
<view slot="header" class="header">
|
||||||
|
<view class="i-flex-item fsz-30">{{order.order_info.order_status_id==7?'已退款':'已收货'}}</view>
|
||||||
|
</view>
|
||||||
|
<view slot="content" class="content-wrap p15 fsz-24">
|
||||||
|
<view wx:if="{{virtualcard_info.use_date}}">使用时间:{{virtualcard_info.use_date}}</view>
|
||||||
|
<view class="mt5" wx:if="{{virtualcard_info.use_member_name}}">兑换人:{{virtualcard_info.use_member_name}}</view>
|
||||||
|
<view class="i-flex mt5">
|
||||||
|
<view>兑换码:</view>
|
||||||
|
<view class="i-flex-item weight">
|
||||||
|
<view>
|
||||||
|
<text class="line-through">{{virtualcard_info.code_sn}}</text> <text class="bule ml5" wx:if="{{order.order_info.order_status_id==7}}">已退款</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-card>
|
||||||
|
<view class="mt10"></view>
|
||||||
|
</block>
|
||||||
|
</block>
|
||||||
|
<block wx:else>
|
||||||
|
<view class="goods-info" wx:if="{{order.order_info.delivery!='pickup'}}">
|
||||||
|
<i-order-info-express order="{{order}}" hidePhone="{{is_hidden_orderlist_phone}}" groupInfo="{{groupInfo}}" goodsTot="{{goodsTot}}" wx:if="{{order.order_info}}" goods_sale_unit="{{goods_sale_unit}}" presale="{{presale_info}}">
|
||||||
|
</i-order-info-express>
|
||||||
|
</view>
|
||||||
|
<view class="goods-info" wx:elif="{{order.order_info.order_status_id!=3&&order.order_info.order_status_id!=5}}">
|
||||||
|
<i-goods-info order="{{order}}" hidePhone="{{is_hidden_orderlist_phone}}" groupInfo="{{groupInfo}}" goodsTot="{{goodsTot}}" goods_sale_unit="{{goods_sale_unit}}">
|
||||||
|
</i-goods-info>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<block wx:if="{{presale_info&&presale_info.presale_type==0}}">
|
||||||
|
<i-card>
|
||||||
|
<view slot="header" class="header">预售信息</view>
|
||||||
|
<view slot="content" class="content-wrap middle p10">
|
||||||
|
<view class="red">预售价¥{{goodsTot}},付定金后再减¥{{presale_info.presale_deduction_money}},尾款需付金额¥{{presale_info.weikuan}}(若有优惠,优惠将在尾款时使用)</view>
|
||||||
|
<view>
|
||||||
|
<view class="presale-item red i-flex i-flex-spb">
|
||||||
|
<view class="presale-item-circle">定金({{presale_info.first_paytime>0?'已支付':'未支付'}}) <text class="iconfont icon-shuoming text-gray fsz-28" bindtap="hanlePresaleModal"></text></view>
|
||||||
|
<view>¥{{presale_info.presale_ding_money}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="presale-item i-flex i-flex-spb {{presale_info.second_paytime>0?'red':''}}">
|
||||||
|
<view class="presale-item-circle">尾款({{presale_info.is_unpay_ding_cancle==1?'已过期':(presale_info.second_paytime>0?'已支付':'未支付')}})</view>
|
||||||
|
<view>¥{{presale_info.weikuan}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="mt10 fsz-24 text-gray" wx:if="{{presale_info.presale_limit_balancepaytime==1}}">
|
||||||
|
{{presale_info.balance_pay_begintime}} - {{presale_info.balance_pay_endtime}} 开始支付尾款
|
||||||
|
</view>
|
||||||
|
<view class="mt10 fsz-24 i-flex i-flex-spb" wx:if="{{presale_info.presale_sendorder_date||presale_info.presale_sendorder_afterday}}">
|
||||||
|
<view>
|
||||||
|
<em wx:if="{{order.order_info.delivery=='express'}}">{{groupInfo.delivery_express_name}}</em>
|
||||||
|
<em wx:elif="{{order.order_info.delivery=='localtown_delivery'}}">同城配送</em>
|
||||||
|
<em wx:elif="{{order.order_info.delivery=='pickup'}}">{{groupInfo.delivery_ziti_name}}</em>
|
||||||
|
<em wx:else>{{groupInfo.delivery_tuanzshipping_name}}</em>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
{{!presale_info.second_paytime&&presale_info.presale_type==0?'尾款支付成功后':''}}
|
||||||
|
<block wx:if="{{presale_info.presale_sendorder_date}}">{{presale_info.presale_sendorder_date}}</block>
|
||||||
|
<block wx:else>{{presale_info.presale_sendorder_afterday}}日内</block>开始{{presalePickup[order.order_info.delivery]}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-card>
|
||||||
|
<view class="mt10"></view>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<view class="goods-card">
|
||||||
|
<view class="i-card">
|
||||||
|
<view class="header" slot="header">
|
||||||
|
<view class="goods-cancel bold-text" wx:if="{{order.order_info.order_status_id==5}}">已取消</view>
|
||||||
|
<view class="goods-ready bold-text" wx:if="{{order.order_info.order_status_id==1||order.order_info.order_status_id==14}}" style="color:{{skin.color}}">
|
||||||
|
<block wx:if="{{presale_info&&presale_info.id}}">
|
||||||
|
<block wx:if="{{presale_info.presale_sendorder_date}}">{{presale_info.presale_sendorder_date}}</block>
|
||||||
|
<block wx:else>{{presale_info.presale_sendorder_afterday}}日内</block>开始{{presalePickup[order.order_info.delivery]}}
|
||||||
|
</block>
|
||||||
|
<block wx:else>
|
||||||
|
<block wx:if="{{order.order_info.delivery=='pickup'}}">预计{{order.order_info.pick_up_time}}可提货</block>
|
||||||
|
<block wx:elif="{{order.order_info.delivery=='tuanz_send'}}">预计{{order.order_info.pick_up_time}}{{groupInfo.owner_name}}配送</block>
|
||||||
|
<block wx:elif="{{order.order_info.delivery=='localtown_delivery'}}">同城配送</block>
|
||||||
|
<block wx:else>{{groupInfo.delivery_express_name}}</block>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view class="goods-done bold-text" wx:if="{{order.order_info.order_status_id==6||order.order_info.order_status_id==11}}">{{showRealPickUpTime}}提货完成</view>
|
||||||
|
<view class="goods-num">{{order.goods_count}}{{goods_sale_unit}}商品</view>
|
||||||
|
</view>
|
||||||
|
<view class="middle" slot="content">
|
||||||
|
<block wx:for="{{order_goods_list}}" wx:for-item="goodsInfo" wx:key="id">
|
||||||
|
<view class="middle-line"></view>
|
||||||
|
<view class='each-item' bindtap="showRefundInfo" data-idx="{{index}}" data-hasrefund="{{goodsInfo.has_refund_quantity}}">
|
||||||
|
<view style="margin-right: 10px">
|
||||||
|
<i-img height="60" iClass="show-img" lazyLoad="true" loadImage="{{goodsInfo.image}}" width="60"></i-img>
|
||||||
|
</view>
|
||||||
|
<view style="flex-grow: 1 ">
|
||||||
|
<view class="name bold-text">
|
||||||
|
<text class="red" wx:if="{{presale_info}}">[预售]</text>
|
||||||
|
<text class="pintag" wx:if="{{order.order_info.is_pin==1}}" style="background:{{skin.color}}">拼团</text>
|
||||||
|
{{goodsInfo.name}}
|
||||||
|
</view>
|
||||||
|
<view class="mount">
|
||||||
|
<block wx:if="{{goodsInfo.option_str}}">{{goodsInfo.option_str}} </block>
|
||||||
|
<block wx:if="{{order.order_info.type!='integral'}}">¥</block>{{goodsInfo.price}}
|
||||||
|
<block wx:if="{{order.order_info.type=='integral'}}">积分</block> x {{goodsInfo.quantity}}
|
||||||
|
<block wx:if="{{goodsInfo.refund_info}}">
|
||||||
|
<text wx:if="{{goodsInfo.refund_info.state==0}}" class="bg-primary text-white tag">{{goodsInfo.refund_info.real_refund_quantity}}个 申请退款中</text>
|
||||||
|
<text wx:if="{{goodsInfo.refund_info.state==3}}" class="bg-sucess text-white tag">{{goodsInfo.refund_info.real_refund_quantity}}个 退款成功</text>
|
||||||
|
<text wx:if="{{goodsInfo.refund_info.state==4}}" class="bg-warning text-white tag">{{goodsInfo.refund_info.real_refund_quantity}}个 退款失败</text>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view class="bottom-info">
|
||||||
|
<view class='bold-text'>
|
||||||
|
小计:<block wx:if="{{order.order_info.type!='integral'}}">¥</block>{{goodsInfo.real_total}}
|
||||||
|
<block wx:if="{{order.order_info.type=='integral'}}">积分</block>
|
||||||
|
</view>
|
||||||
|
<i-dialog bind:cancel="callDialog" bind:confirm="confirmGoods" data-cancel="confirmGoodsVisible" text="确认该商品已经提货?" visible="{{confirmGoodsVisible}}"></i-dialog>
|
||||||
|
</view>
|
||||||
|
<view class="card-btn">
|
||||||
|
<block wx:if="{{goodsInfo.is_refund_state>0&&goodsInfo.order_refund_goods.ref_id}}">
|
||||||
|
<view class="btn-2 mar-left-8" catchtap="goRefund" data-id="{{goodsInfo.order_refund_goods.ref_id}}">
|
||||||
|
<block wx:if="{{goodsInfo.is_refund_state==1}}">
|
||||||
|
{{(goodsInfo.order_refund_goods&&goodsInfo.order_refund_goods.state==3)?'退款成功':'查看售后'}}
|
||||||
|
</block>
|
||||||
|
<block wx:else>退款成功</block>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view catchtap="goComment" data-order_goods_id="{{goodsInfo.order_goods_id}}" data-goods_id="{{goodsInfo.goods_id}}" data-type="{{order.order_info.order_id}}" class="btn-1" wx:if="{{goodsInfo.is_refund_state == 0 && order.order_info.order_status_id==6&& goodsInfo.hascomment == 0}}">{{open_comment_gift==1?'评价有礼':'去评价'}}</view>
|
||||||
|
<!-- <block wx:if="{{order_can_del_cancle==1}}">
|
||||||
|
<view catchtap="applyForService" data-type="{{order.order_info.order_id}}" data-order_goods_id="{{goodsInfo.order_goods_id}}" class="btn-1 mar-left-8" wx:if="{{goodsInfo.can_ti_refund!=0&&goodsInfo.is_refund_state==0&&order.order_info.order_status_id==4&&order_can_shen_refund==1}}">申请售后</view>
|
||||||
|
</block> -->
|
||||||
|
<view catchtap="applyForService" data-type="{{order.order_info.order_id}}" data-order_goods_id="{{goodsInfo.order_goods_id}}" class="btn-1 mar-left-8" wx:if="{{goodsInfo.can_ti_refund!=0&goodsInfo.is_statements_state==0&&goodsInfo.is_refund_state==0&&(order.order_info.order_status_id==6||order.order_info.order_status_id==11)&&order_can_shen_refund==1&&presale_info.presale_type!=1}}">申请售后</view>
|
||||||
|
<button class="btn-1 mar-left-8" openType="contact" sessionFrom="sobot|{{userInfo.nickName}}|{{userInfo.avatarUrl}}" wx:if="{{user_service_switch==1}}">
|
||||||
|
<text>联系客服</text>
|
||||||
|
</button>
|
||||||
|
<view class="btn-2 mar-left-8" wx:if="{{goodsInfo.is_refund_state == 0 && order.order_info.order_status_id==1}}">备货中</view>
|
||||||
|
<view class="btn-2 mar-left-8" wx:if="{{goodsInfo.is_refund_state == 0 && order.order_info.order_status_id==14}}">配送中</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view class="footer">
|
||||||
|
<view bindtap="hanlePresalePayModal" class="btn-1 mar-left-8" wx:if="{{presale_info.need_repay==2&&!presale_info.second_paytime}}">付尾款</view>
|
||||||
|
<view bindtap="cancelOrder" data-order_goods_id="0" data-type="{{order.order_info.order_id}}" class="btn-1 mar-left-8" wx:if="{{order.order_info.order_status_id==1&&order_can_del_cancle==1&&order.order_info.is_pin!=1}}">取消订单</view>
|
||||||
|
<view wx:if="{{order.order_info.is_pin==1&&order.order_info.order_status_id==7&&order.pin_rebate}}" class="btn-1" bindtap="showFanliView">返利详情</view>
|
||||||
|
<navigator url="/eaterplanet_ecommerce/moduleA/pin/share?id={{order.order_info.order_id}}" wx:if="{{order.order_info.is_pin==1&&order.order_info.order_status_id!=3}}" class="btn-1 mar-left-8">拼团详情</navigator>
|
||||||
|
<view catchtap="receivOrder" data-type="{{order.order_info.order_id}}" class="btn-3 mar-left-8" data-show="confirmGoodsVisible" wx:if="{{order.order_info.order_status_id==4&&order.order_info.is_can_received==1}}">{{order.order_info.delivery=='pickup'?"确认提货":"确认收货"}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="space-between-card" wx:if="{{index!==orderSkuResps.length-1}}"></view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<i-orderComment wx:if="{{order.order_info.comment}}" comment="{{order.order_info.comment}}" />
|
||||||
|
<view class="order-info">
|
||||||
|
<i-order-info orderInfo="{{order.order_info}}" order_goods_list="{{order_goods_list}}" groupInfo="{{groupInfo}}" goodsTot="{{goodsTot}}" wx:if="{{order.order_info}}"></i-order-info>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 下单表单 -->
|
||||||
|
<view class="rounded bg-f u-p-30" wx:if="{{order.order_form&&order.order_form.form_type}}">
|
||||||
|
<s-form-show formData="{{order.order_form}}"></s-form-show>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="foot" wx:if="{{order.order_info.order_status_id==3 && changeState!=1}}">
|
||||||
|
<i-fixedBottom>
|
||||||
|
<view class="btn-group" wx:if="{{order.order_info.order_status_id==3}}">
|
||||||
|
<label class="cancelBtn" for="formId">
|
||||||
|
<view bindtap="callDialog" data-type="{{order.order_info.order_id}}" class="cancel-btn" data-show="cancelOrderVisible">取消订单</view>
|
||||||
|
</label>
|
||||||
|
<label class="cancelBtn" for="formId2">
|
||||||
|
<view bindtap="preOrderPay" data-type="{{order.order_info.order_id}}" class="pay-btn" style="background:{{skin.color?skin.color:'#ff5344'}}">
|
||||||
|
立即付款
|
||||||
|
</view>
|
||||||
|
</label>
|
||||||
|
</view>
|
||||||
|
</i-fixedBottom>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<i-aside-btn showHome="{{true}}" showContact="{{user_service_switch==1}}" i-class="home-btn"></i-aside-btn>
|
||||||
|
<guess-like bind:openSku="openSku" wx:if="{{is_show_guess_like==1}}" updateCart="{{updateCart}}" likeTitle="猜你喜欢" bind:vipModal="vipModal"></guess-like>
|
||||||
|
</view>
|
||||||
|
</i-auth>
|
||||||
|
<i-dialog bind:cancel="callDialog" bind:confirm="cancelOrder" data-cancel="cancelOrderVisible" text="好不容易挑出来,确定要取消吗?" visible="{{cancelOrderVisible}}"></i-dialog>
|
||||||
|
|
||||||
|
<!-- 下单成功分享 begin -->
|
||||||
|
<i-modal scrollUp="{{false}}" visible="{{isShowModal}}" wx:if="{{order.order_info.ziti_name}}">
|
||||||
|
<view class="share-modal">
|
||||||
|
<image class='close-modal' src='../../images/img-close.png' bindtap='closeModal'></image>
|
||||||
|
<view class='share-modal-title' wx:if="{{share_title}}">{{share_title}}</view>
|
||||||
|
<view class='share-modal-title' wx:else>@{{order.order_info.ziti_name}}{{groupInfo.owner_name}},我是{{userInfo.shareNickName}},刚在你这里下单啦!!!</view>
|
||||||
|
<view class='share-modal-img'>
|
||||||
|
<image mode='widthFix' src='{{share_img?share_img:order_goods_list[0].goods_share_image}}'></image>
|
||||||
|
</view>
|
||||||
|
<view class='share-modal-btn'>
|
||||||
|
<button open-type='share' hover-class='none' class='btn-item share-btn' style="background:{{skin.color}}">
|
||||||
|
通知{{groupInfo.owner_name}}接单
|
||||||
|
</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-modal>
|
||||||
|
<!-- 下单成功分享 end -->
|
||||||
|
|
||||||
|
<sku visible="{{visible}}" skuList="{{skuList}}" cur_sku_arr="{{cur_sku_arr}}" bind:cancel="closeSku" sku_val="{{sku_val}}" sku="{{sku}}" goodsid="{{addCar_goodsid}}" bind:changeCartNum="changeCartNum" bind:vipModal="vipModal"></sku>
|
||||||
|
|
||||||
|
<i-vip-modal visible="{{showVipModal}}" imgUrl="{{pop_vipmember_buyimage}}" />
|
||||||
|
|
||||||
|
<i-modal scrollUp="{{false}}" visible="{{showRefundModal&&refundGoodsInfo}}">
|
||||||
|
<view class="refundModal">
|
||||||
|
<view class="refundScroll bg-f p15 rounded mb20">
|
||||||
|
<view class="goodinfo pos-r pb15">
|
||||||
|
<view class='i-flex'>
|
||||||
|
<view style="margin-right: 10px">
|
||||||
|
<i-img height="60" iClass="show-img" lazyLoad="true" loadImage="{{refundGoodsInfo.image}}" width="60"></i-img>
|
||||||
|
</view>
|
||||||
|
<view class="i-flex-item" style="width:0;">
|
||||||
|
<view class="weight text-overflow1"><text class="pintag" wx:if="{{order.order_info.is_pin==1}}">拼团</text> {{order_goods_list[refundIdx].name}}</view>
|
||||||
|
<view class="mount">
|
||||||
|
<block wx:if="{{refundGoodsInfo.option_str}}">{{refundGoodsInfo.option_str}} </block>
|
||||||
|
<block wx:if="{{order.order_info.type!='integral'}}">¥</block>{{refundGoodsInfo.price}}
|
||||||
|
<block wx:if="{{order.order_info.type=='integral'}}">积分</block> x {{refundGoodsInfo.quantity}}
|
||||||
|
</view>
|
||||||
|
<view class="weight mt5">
|
||||||
|
小计:<block wx:if="{{order.order_info.type!='integral'}}">¥</block>{{refundGoodsInfo.real_total}}
|
||||||
|
<block wx:if="{{order.order_info.type=='integral'}}">积分</block>
|
||||||
|
</view>
|
||||||
|
<view class="card-btn">
|
||||||
|
<block wx:if="{{refundGoodsInfo.is_refund_state>0&&refundGoodsInfo.order_refund_goods.ref_id}}">
|
||||||
|
<view class="btn-2 mar-left-8" bindtap="goRefund" data-id="{{refundGoodsInfo.order_refund_goods.ref_id}}">
|
||||||
|
<block wx:if="{{refundGoodsInfo.is_refund_state==1}}">
|
||||||
|
{{(refundGoodsInfo.order_refund_goods&&refundGoodsInfo.order_refund_goods.state==3)?'退款成功':'查看售后'}}
|
||||||
|
</block>
|
||||||
|
<block wx:else>退款成功</block>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<!-- <block wx:if="{{order_can_del_cancle==1}}">
|
||||||
|
<view bindtap="applyForService" data-type="{{order.order_info.order_id}}" data-order_goods_id="{{refundGoodsInfo.order_goods_id}}" class="btn-1 mar-left-8" wx:if="{{refundGoodsInfo.can_ti_refund!=0&&refundGoodsInfo.is_refund_state==0&&order.order_info.order_status_id==4}}">申请售后</view>
|
||||||
|
</block> -->
|
||||||
|
<view bindtap="applyForService" data-type="{{order.order_info.order_id}}" data-order_goods_id="{{refundGoodsInfo.order_goods_id}}" class="btn-1 mar-left-8" wx:if="{{refundGoodsInfo.is_statements_state==0&&refundGoodsInfo.is_refund_state==0&&(order.order_info.order_status_id==6||order.order_info.order_status_id==11)&&presale_info.presale_type!=1}}">申请售后</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="line"></view>
|
||||||
|
<view class="refundinfo">
|
||||||
|
<view class="m-head border-bottom i-flex i-flex-spb py10 mb10">
|
||||||
|
<view class="weight">已退款({{refundGoodsInfo.has_refund_quantity}}{{goods_sale_unit}})</view>
|
||||||
|
<view class="text-gray fsz-24">{{order.goods_count}}{{goods_sale_unit}}商品</view>
|
||||||
|
</view>
|
||||||
|
<block wx:if="{{refundGoodsInfo.order_goods_refund_list.length}}">
|
||||||
|
<view class="fsz-24 text-6" wx:for="{{refundGoodsInfo.order_goods_refund_list}}" wx:key="index">
|
||||||
|
<view class="mb5">退款时间:<text class="text-3">{{item.addtime}}</text></view>
|
||||||
|
<view class="mb5">退款金额:<text class="text-3">¥{{item.money}}</text></view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="close text-white text-center">
|
||||||
|
<text bindtap="closeModal" data-type="1" class="iconfont icon-guanbi fsz-60"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-modal>
|
||||||
|
|
||||||
|
<!-- 核销门店弹窗 -->
|
||||||
|
<i-modal scrollUp="{{true}}" visible="{{showHexiaoModal}}" bind:cancel="handleHexiaoModal">
|
||||||
|
<view class="sku-card">
|
||||||
|
<view class="title text-gray mb10 fsz-26 i-flex i-alc">
|
||||||
|
<view class="i-flex-item">共 <text class="red bold">{{order.order_info.salesroom_list.length}}</text> 个自提点</view>
|
||||||
|
<text class="iconfont icon-guanbi fsz-34 text-3" bindtap="handleHexiaoModal"></text>
|
||||||
|
</view>
|
||||||
|
<scroll-view scroll-y style="height: 60vh;">
|
||||||
|
<view class="border-bottom py10 i-flex i-flex-alc" wx:for="{{order.order_info.salesroom_list}}" wx:key="index" bindtap="changeMendian" data-idx="{{index}}">
|
||||||
|
<view class="i-flex-item">
|
||||||
|
<view class="fsz-28 weight mb5">{{item.room_name}}</view>
|
||||||
|
<view class="fsz-22">{{item.room_address}}</view>
|
||||||
|
</view>
|
||||||
|
<text class="iconfont icon-youjiantou fsz-28 text-gray"></text>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
</i-modal>
|
||||||
|
|
||||||
|
<!-- 商品核销详情弹窗 -->
|
||||||
|
<i-modal scrollUp="{{true}}" visible="{{showHexiaoGoodsModal}}" bind:cancel="handleHexiaoGoodsModal">
|
||||||
|
<view class="sku-card" style="padding: 40rpx 0 0;">
|
||||||
|
<view class="weight fsz-32 pb10 text-center" style="padding: 0 40rpx;">{{order.order_info.shopname}}</view>
|
||||||
|
<view class="mt10 border-bottom pb15" style="padding: 0 40rpx;">
|
||||||
|
<view class="text-center mt10" wx:if="{{order_goods_list[goodsHexiaoIdx].hexiao_qr_code}}">
|
||||||
|
<image src="{{order_goods_list[goodsHexiaoIdx].hexiao_qr_code}}" style="width:300rpx;height:300rpx;"></image>
|
||||||
|
</view>
|
||||||
|
<view class="text-center weight mt5 pt10">{{order_goods_list[goodsHexiaoIdx].hexiao_volume_code}}</view>
|
||||||
|
<view class="text-center u-font-24 mt5 pb15 text-gray">出示二维码给店员核销</view>
|
||||||
|
</view>
|
||||||
|
<scroll-view scroll-y style="max-height: 40vh;padding: 0 40rpx;" class="pb15 mt10">
|
||||||
|
<view class="i-flex border-bottom pb15">
|
||||||
|
<i-img height="60" iClass="show-img" lazyLoad="true" loadImage="{{order_goods_list[goodsHexiaoIdx].goods_images}}" width="60"></i-img>
|
||||||
|
<view class="i-flex-item ml10">
|
||||||
|
<view class="fsz-28">{{order_goods_list[goodsHexiaoIdx].name}}</view>
|
||||||
|
<view class="fsz-24 text-gray mt10">x {{order_goods_list[goodsHexiaoIdx].quantity}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 使用记录 -->
|
||||||
|
<view class="fsz-24 pb15 border-bottom">
|
||||||
|
<view class="fsz-28 weight mb10 mt10 i-flex">
|
||||||
|
使用情况
|
||||||
|
<view class="red" wx:if="{{order_goods_list[goodsHexiaoIdx].is_refund_state>0}}">(已退款)</view>
|
||||||
|
<view class="red" wx:elif="{{order_goods_list[goodsHexiaoIdx].is_hexiao_expire==1}}">
|
||||||
|
(已过期 <text class="fsz-24">有效期至{{order_goods_list[goodsHexiaoIdx].effect_end_time}}</text>)
|
||||||
|
</view>
|
||||||
|
<text class="red" wx:else>({{order_goods_list[goodsHexiaoIdx].is_hexiao_over==1?"核销完成":"未核销完成"}})</text>
|
||||||
|
</view>
|
||||||
|
<view class="mt10">
|
||||||
|
<view>总{{order_goods_list[goodsHexiaoIdx].hexiao_type==0?'份':'次'}}数:{{order_goods_list[goodsHexiaoIdx].hexiao_count == 0?'不限':order_goods_list[goodsHexiaoIdx].hexiao_count}}{{order_goods_list[goodsHexiaoIdx].hexiao_type==0?'份':'次'}}</view>
|
||||||
|
<view class="mt5">剩余{{order_goods_list[goodsHexiaoIdx].hexiao_type==0?'份':'次'}}数:{{order_goods_list[goodsHexiaoIdx].remain_hexiao_count == 0?'不限':order_goods_list[goodsHexiaoIdx].remain_hexiao_count}}{{order_goods_list[goodsHexiaoIdx].hexiao_type==0?'份':'次'}}</view>
|
||||||
|
<view class="mt5" wx:if="{{order_goods_list[goodsHexiaoIdx].has_refund_quantity>0}}">已退款:{{order_goods_list[goodsHexiaoIdx].has_refund_quantity}}{{order_goods_list[goodsHexiaoIdx].hexiao_type==0?'份':'次'}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<block wx:if="{{order_goods_list[goodsHexiaoIdx].salesroom_list.length}}">
|
||||||
|
<view class="fsz-28 weight mb10 mt10">适用门店({{order_goods_list[goodsHexiaoIdx].salesroom_list.length}})</view>
|
||||||
|
<view class="fsz-24">
|
||||||
|
<block wx:for="{{order_goods_list[goodsHexiaoIdx].salesroom_list}}" wx:key="index" wx:if="{{order_goods_list[goodsHexiaoIdx].salesroom_list}}">
|
||||||
|
<view class="i-flex i-flex-alc roomitem border-bottom" bindtap="gotoMap" data-lat="{{item.lat}}" data-lon="{{item.lon}}" data-name="{{item.room_name}}" data-address="{{item.room_address}}">
|
||||||
|
<view class="i-flex-item">
|
||||||
|
<view>门店名称:{{item.room_name}}<text class="red">(距你{{item.distance}}公里)</text></view>
|
||||||
|
<view class="mt5">门店地址:{{item.room_address}}</view>
|
||||||
|
</view>
|
||||||
|
<text class="iconfont icon-youjiantou fsz-28 text-3"></text>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</scroll-view>
|
||||||
|
<view class="shadow-top" style="padding: 20rpx 40rpx 0;">
|
||||||
|
<view class="text-center text-white bg-primary fsz-30" style="height: 74rpx;line-height: 74rpx;" bindtap="handleHexiaoGoodsModal">关闭</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-modal>
|
||||||
|
|
||||||
|
<!-- 预售说明 -->
|
||||||
|
<i-modal bind:cancel="hanlePresaleModal" iClass="confirm-modal-content" visible="{{showPresaleDesc}}">
|
||||||
|
<view class="confirm-coupon-modal" style="background:#fff;">
|
||||||
|
<view class='title'>预售协议</view>
|
||||||
|
<scroll-view class='list' scroll-y style="min-height: 300rpx;padding-top:30rpx;">
|
||||||
|
<text>{{presale_info.presale_agreement}}</text>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
</i-modal>
|
||||||
|
|
||||||
|
<!-- 预售尾款 -->
|
||||||
|
<i-modal bind:cancel="hanlePresalePayModal" iClass="confirm-modal-content" visible="{{showPresalePayModal}}">
|
||||||
|
<view class="confirm-presale-modal">
|
||||||
|
<view class="title text-center">预售尾款支付信息</view>
|
||||||
|
<view class="order-content">
|
||||||
|
<view class="msg-group">
|
||||||
|
<span>尾款金额:</span>
|
||||||
|
<em>+¥{{presale_info.weikuan}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:if="{{order.order_info.shipping_fare>0}}">
|
||||||
|
<span wx:if="{{order.order_info.delivery=='localtown_delivery'}}">同城配送费:</span>
|
||||||
|
<span wx:else>{{order.order_info.delivery=="express"?groupInfo.placeorder_trans_name:groupInfo.placeorder_tuan_name}}:</span>
|
||||||
|
<em>+ ¥{{order.order_info.shipping_fare}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:if="{{order.order_info.is_free_shipping_fare==1}}">
|
||||||
|
<span>满金额免{{order.order_info.delivery=="express"?groupInfo.placeorder_trans_name:groupInfo.placeorder_tuan_name}}:</span>
|
||||||
|
<em>- ¥{{order.order_info.fare_shipping_free}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:if="{{(order.order_info.score_for_money*1)>0}}">
|
||||||
|
<span>积分抵扣:</span>
|
||||||
|
<em>- ¥{{order.order_info.score_for_money}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:if="{{order.order_info.voucher_credit>0}}">
|
||||||
|
<span>优惠券:</span>
|
||||||
|
<em>- ¥{{order.order_info.voucher_credit}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:if="{{order.order_info.fullreduction_money>0}}">
|
||||||
|
<span>满减:</span>
|
||||||
|
<em>- ¥{{order.order_info.fullreduction_money}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:if="{{order.order_info.packing_fare>0}}">
|
||||||
|
<span>{{groupInfo.localtown_modifypickingname}}:</span>
|
||||||
|
<em>+ ¥{{order.order_info.packing_fare}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:if="{{order.order_info.localtown_add_shipping_fare>0}}">
|
||||||
|
<span>加价配送费:</span>
|
||||||
|
<em>+ ¥{{order.order_info.localtown_add_shipping_fare}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group">
|
||||||
|
<span>配送方式:</span>
|
||||||
|
<em wx:if="{{order.order_info.delivery=='express'}}">{{groupInfo.delivery_express_name}}</em>
|
||||||
|
<em wx:elif="{{order.order_info.delivery=='localtown_delivery'}}">同城配送</em>
|
||||||
|
<em wx:else>{{groupInfo.delivery_tuanzshipping_name}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:if="{{presale_info.presale_sendorder_date||presale_info.presale_sendorder_afterday}}">
|
||||||
|
<span>发货时间:</span>
|
||||||
|
<em>
|
||||||
|
{{!presale_info.second_paytime&&presale_info.presale_type==0?'尾款支付成功后':''}}
|
||||||
|
<block wx:if="{{presale_info.presale_sendorder_date}}">{{presale_info.presale_sendorder_date}}</block>
|
||||||
|
<block wx:else>{{presale_info.presale_sendorder_afterday}}日内</block>开始{{presalePickup[order.order_info.delivery]}}
|
||||||
|
</em>
|
||||||
|
</view>
|
||||||
|
<view class="total">
|
||||||
|
合计:<em>¥{{presale_info.payTot}}</em>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="button-group i-flex">
|
||||||
|
<i-button bindtap="hanlePresalePayModal" class="btn-content text-center" iClass="btn left-btn">取消</i-button>
|
||||||
|
<i-button class="btn-content text-center" iClass="btn right-btn" loading="{{payBtnLoading}}" bindtap="preOrderPay" data-type="{{order.order_info.order_id}}">
|
||||||
|
<view style="background:{{skin.color}};line-height:80rpx;color:#fff;">确认支付</view>
|
||||||
|
</i-button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-modal>
|
|
@ -0,0 +1,699 @@
|
||||||
|
|
||||||
|
.orderpage {
|
||||||
|
background: #4facfe;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.content {
|
||||||
|
padding: 0 20rpx;
|
||||||
|
padding-bottom: 80rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.back-to-home {
|
||||||
|
position: fixed;
|
||||||
|
right: 40rpx;
|
||||||
|
bottom: 200rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.back-to-home image {
|
||||||
|
width: 92rpx;
|
||||||
|
height: 92rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-info {
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-info {
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.foot {
|
||||||
|
width: 100%;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
z-index: 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mar-left-8 {
|
||||||
|
margin-left: 16rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.space-between-card {
|
||||||
|
height: 22rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-group {
|
||||||
|
display: flex;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 30rpx;
|
||||||
|
z-index: 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-group .cancelBtn {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-group .cancelBtn .cancel-btn {
|
||||||
|
background-color: white;
|
||||||
|
color: #666;
|
||||||
|
height: 96rpx;
|
||||||
|
line-height: 96rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-group .pay-btn {
|
||||||
|
background: linear-gradient(100deg, #ff758c 0%, #ff7eb3 100%);
|
||||||
|
color: white;
|
||||||
|
height: 96rpx;
|
||||||
|
line-height: 96rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
border-radius: 20px 0px 0px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-group .confirm-receipt {
|
||||||
|
width: 100%;
|
||||||
|
background-color: white;
|
||||||
|
color: #4facfe;
|
||||||
|
border-top: 0.1rpx solid rgba(0,0,0,0.1);
|
||||||
|
height: 96rpx;
|
||||||
|
line-height: 96rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-group .del-order {
|
||||||
|
margin: 20rpx 0 0 20rpx;
|
||||||
|
padding: 34rpx 276rpx;
|
||||||
|
background: linear-gradient(90deg,#4facfe 0%,#00f2fe 100%);
|
||||||
|
border-radius: 20rpx;
|
||||||
|
color: white;
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
/* 20181206 end */
|
||||||
|
|
||||||
|
/**订单状态begin**/
|
||||||
|
|
||||||
|
.font-bold-30 {
|
||||||
|
font-size: 60rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font-bold-20 {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 40rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font-12 {
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.head .little-img {
|
||||||
|
width: 230rpx;
|
||||||
|
height: 120rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.back-img-wrap {
|
||||||
|
width: 100%;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.back-img-wrap .back-img {
|
||||||
|
width: 100%;
|
||||||
|
height: 340rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.to-pay-wrap {
|
||||||
|
text-align: center;
|
||||||
|
padding: 46rpx 0;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.to-get-wrap {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 50rpx 50rpx 0 50rpx;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.trade-cancel-wrap {
|
||||||
|
padding: 50rpx 76rpx;
|
||||||
|
color: white;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cancel-box {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cancel-img {
|
||||||
|
margin-right: 10rpx;
|
||||||
|
width: 40rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.count-down {
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***订单状态end**/
|
||||||
|
|
||||||
|
/***goods begin **/
|
||||||
|
.header {
|
||||||
|
padding: 20rpx 30rpx;
|
||||||
|
color: #444;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-wrap {
|
||||||
|
border-top: 0.1rpx solid #efefef;
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-wrap .item {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 24rpx;
|
||||||
|
padding: 16rpx 30rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-wrap .item .title {
|
||||||
|
word-break: keep-all;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-wrap .item .detail {
|
||||||
|
color: #444;
|
||||||
|
text-align: right;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-wrap .item .detail .phone {
|
||||||
|
margin-left: 20rpx;
|
||||||
|
padding: 0 20rpx;
|
||||||
|
height: 44rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
border: 0.1rpx solid #efefef;
|
||||||
|
border-radius: 26rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-wrap .item .detail .phone .icon-phone {
|
||||||
|
width: 20rpx;
|
||||||
|
height: 20rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
/***goods end **/
|
||||||
|
|
||||||
|
/***goods card begin **/
|
||||||
|
.bold-text {
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
.show-img {
|
||||||
|
float: left;
|
||||||
|
width: 120rpx;
|
||||||
|
height: 120rpx;
|
||||||
|
}
|
||||||
|
.name {
|
||||||
|
margin-top: -8rpx;
|
||||||
|
width: 510rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #444;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.mount {
|
||||||
|
font-size: 22rpx;
|
||||||
|
color: #aaa;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom-info {
|
||||||
|
justify-content: space-between;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #444;
|
||||||
|
margin-top: 18rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bold-text {
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 30rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header .goods-num {
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header .goods-done {
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header .goods-ready {
|
||||||
|
color: #4facfe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header .goods-cancel {
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.middle .middle-line {
|
||||||
|
height: 0.1rpx;
|
||||||
|
background: #efefef;
|
||||||
|
}
|
||||||
|
|
||||||
|
.middle .each-item {
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
padding: 32rpx 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** goods card end **/
|
||||||
|
/** oprate begin **/
|
||||||
|
.mar-left-8 {
|
||||||
|
margin-left: 16rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-btn {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
float:right;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-btn .button-hover {
|
||||||
|
background: #b6b6b6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer .btn-1, .card-btn .btn-1 {
|
||||||
|
position: relative;
|
||||||
|
color: #666;
|
||||||
|
text-align: center;
|
||||||
|
padding: 0;
|
||||||
|
width: 136rpx;
|
||||||
|
height: 52rpx;
|
||||||
|
line-height: 52rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
border-radius: 26rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer .btn-1::after, .card-btn .btn-1::after {
|
||||||
|
box-sizing: border-box;
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 200%;
|
||||||
|
height: 200%;
|
||||||
|
transform: scale(0.5);
|
||||||
|
transform-origin: 0 0;
|
||||||
|
border: 2rpx solid #b6b6b6;
|
||||||
|
border-radius: 52rpx;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-btn .btn-2 {
|
||||||
|
text-align: center;
|
||||||
|
padding: 0;
|
||||||
|
width: 136rpx;
|
||||||
|
height: 52rpx;
|
||||||
|
line-height: 52rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
border-radius: 26rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
color: #aaa;
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-btn .btn-3 {
|
||||||
|
color: white;
|
||||||
|
background: linear-gradient(90deg,#4facfe 0%,#00f2fe 100%);
|
||||||
|
text-align: center;
|
||||||
|
padding: 0;
|
||||||
|
width: 136rpx;
|
||||||
|
height: 52rpx;
|
||||||
|
line-height: 52rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
border-radius: 26rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-btn .btn-5 {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-btn .arrow-right {
|
||||||
|
width: 12rpx;
|
||||||
|
height: 22rpx;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***operate end **/
|
||||||
|
/**order_info begin **/
|
||||||
|
.i-card {
|
||||||
|
width: 710rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
background: #fff;
|
||||||
|
box-shadow: 0 0 40rpx 0 rgba(0, 0, 0, 0.05);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.header {
|
||||||
|
padding: 20rpx 30rpx;
|
||||||
|
color: #444;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-wrap {
|
||||||
|
border-top: 0.1rpx solid #efefef;
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-wrap .item {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-size: 24rpx;
|
||||||
|
padding: 16rpx 30rpx;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-wrap .item .title {
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-wrap .item .detail {
|
||||||
|
color: #444;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
border-top: 0.1rpx solid #efefef;
|
||||||
|
padding: 32rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer .money {
|
||||||
|
color: #4facfe;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
/**order_info end **/
|
||||||
|
|
||||||
|
/* share-modal begin */
|
||||||
|
.share-modal {
|
||||||
|
position: relative;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
width: 600rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-modal-title {
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #333;
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-modal-img {
|
||||||
|
padding-bottom: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-modal-img image {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-modal-btn {
|
||||||
|
display: flex;
|
||||||
|
line-height: 90rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-item {
|
||||||
|
position: relative;
|
||||||
|
flex: 1;
|
||||||
|
font-size: 30rpx;
|
||||||
|
background: #4facfe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-btn {
|
||||||
|
color: #fff;
|
||||||
|
line-height: inherit;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-btn::after {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.close-modal {
|
||||||
|
position: absolute;
|
||||||
|
right: -16rpx;
|
||||||
|
top: -16rpx;
|
||||||
|
width: 48rpx;
|
||||||
|
height: 48rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-btn {
|
||||||
|
bottom: 40% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pintag {
|
||||||
|
background: linear-gradient(90deg,#4facfe 0%,#00f2fe 100%);
|
||||||
|
color: #fff;
|
||||||
|
font-size: 20rpx;
|
||||||
|
padding: 1rpx 8rpx;
|
||||||
|
border-radius: 6rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.refundModal {
|
||||||
|
position: relative;
|
||||||
|
width: 90%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.refund-btn {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
bottom: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-gray {
|
||||||
|
text-align: center;
|
||||||
|
padding: 0;
|
||||||
|
width: 136rpx;
|
||||||
|
height: 52rpx;
|
||||||
|
line-height: 52rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
border-radius: 26rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
color: #aaa;
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.line {
|
||||||
|
height: 10rpx;
|
||||||
|
border-radius: 5rpx;
|
||||||
|
background: #f6f6f6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.refundScroll {
|
||||||
|
max-height: 600rpx;
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mapbox {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map-distance {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
padding: 8rpx 15rpx;
|
||||||
|
background: rgba(0, 0, 0, 0.6);
|
||||||
|
color: #fff;
|
||||||
|
font-size: 24rpx;
|
||||||
|
z-index: 1000;
|
||||||
|
border-radius: 0 0 10rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.roomitem {
|
||||||
|
margin: 10rpx 0;
|
||||||
|
padding-bottom: 15rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mount .tag {
|
||||||
|
font-size: 20rpx;
|
||||||
|
padding: 4rpx 8rpx;
|
||||||
|
border-radius: 5rpx;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.presale-item {
|
||||||
|
padding: 15rpx 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presale-item-circle {
|
||||||
|
position: relative;
|
||||||
|
padding-left: 25rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presale-item-circle::before {
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
width: 14rpx;
|
||||||
|
height: 14rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #cccccc;
|
||||||
|
top: 50%;
|
||||||
|
margin-top: -7rpx;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presale-item.red .presale-item-circle::before {
|
||||||
|
background: #ff5344;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presale-item .presale-item-circle::after {
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
border-right: 1rpx solid #cccccc;
|
||||||
|
left: 7rpx;
|
||||||
|
bottom: 50%;
|
||||||
|
height: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presale-item.red .presale-item-circle::after {
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
border-right: 1rpx solid #ff5344;
|
||||||
|
left: 7rpx;
|
||||||
|
top: 50%;
|
||||||
|
height: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presale-item.red:last-child .presale-item-circle::after {
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
border-right: 1rpx solid #ff5344;
|
||||||
|
left: 7rpx;
|
||||||
|
bottom: 50%;
|
||||||
|
height: 50rpx;
|
||||||
|
top: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-coupon-modal {
|
||||||
|
background: #f6f6f6;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
position: relative;
|
||||||
|
padding-bottom: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-coupon-modal .title {
|
||||||
|
width: 100%;
|
||||||
|
border-bottom: 1rpx solid #efefef;
|
||||||
|
line-height: 2.5;
|
||||||
|
font-size: 32rpx;
|
||||||
|
text-align: center;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-coupon-modal .list {
|
||||||
|
width: 100%;
|
||||||
|
max-height: 700rpx;
|
||||||
|
overflow-y: auto;
|
||||||
|
padding: 0 20rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-presale-modal .button-group {
|
||||||
|
border-top: 1rpx solid rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-presale-modal .btn-content {
|
||||||
|
flex: 1;
|
||||||
|
height: 80rpx;
|
||||||
|
line-height:80rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-presale-modal .title {
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #444;
|
||||||
|
line-height: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
padding: 30rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-presale-modal .order-content {
|
||||||
|
width: 690rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding-top: 30rpx;
|
||||||
|
background: #f6f6f6;
|
||||||
|
margin: 0 auto 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-presale-modal .order-content .msg-group {
|
||||||
|
width: 690rpx;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
font-size: 24rpx;
|
||||||
|
line-height: 24rpx;
|
||||||
|
color: #444;
|
||||||
|
box-sizing: border-box;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-presale-modal .order-content .msg-group span {
|
||||||
|
font-weight: bold;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-presale-modal .order-content .msg-group em {
|
||||||
|
font-weight: 400;
|
||||||
|
flex: 1;
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-presale-modal .order-content .total {
|
||||||
|
line-height: 86rpx;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
text-align: right;
|
||||||
|
color: #444;
|
||||||
|
font-size: 30rpx;
|
||||||
|
border-top: 1rpx solid #e2e2e2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-presale-modal .order-content .total em {
|
||||||
|
color: #ff5344;
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"navigationBarTitleText": "提交订单",
|
||||||
|
"navigationBarBackgroundColor": "#ffffff",
|
||||||
|
"navigationBarTextStyle": "black",
|
||||||
|
"usingComponents": {
|
||||||
|
"ep-navBar": "../../components/navigation-bar",
|
||||||
|
"i-auth": "../../components/auth/index",
|
||||||
|
"i-card": "../../components/card/index",
|
||||||
|
"i-img": "../../components/img/index",
|
||||||
|
"i-button": "../../components/button/index",
|
||||||
|
"i-fixed-bottom": "../../components/fixed-bottom/index",
|
||||||
|
"i-modal": "../../components/modal/index",
|
||||||
|
"i-dialog": "../../components/dialog/index",
|
||||||
|
"i-vip-price": "../../components/vipPrice/vipPrice",
|
||||||
|
"s-form": "../../components/s-form/index"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,584 @@
|
||||||
|
<i-auth bind:authSuccess="authSuccess" needAuth="{{needAuth}}">
|
||||||
|
<ep-navBar ref='' backgroundColorTop='#fff' color='#000' title='提交订单' background='#fff' iconTheme='black' bindback="handlerGobackClick" back="{{true}}" ></ep-navBar>
|
||||||
|
<view class='placeOrderBox'>
|
||||||
|
<block wx:if="{{buy_type!='virtualcard'}}">
|
||||||
|
<view class="address-content">
|
||||||
|
<view class="tab-nav {{tabLength==1?'tab-nav-one':''}}" style="border-color:{{skin.color}}">
|
||||||
|
<view bindtap="tabSwitch" wx:for="{{tabList}}" wx:key="id" class="tab-nav-item {{tabIdx==item.id?'active':''}}" data-idx="{{item.id}}" wx:if="{{item.enabled}}" style="{{tabIdx==item.id?'background:'+skin.color:''}}">
|
||||||
|
<span>{{item.name}}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="receiver">
|
||||||
|
<text space="ensp">{{(tabIdx==0||tabIdx==4)?"提 货 人":"收 货 人"}}: </text>
|
||||||
|
<input bindinput="changeReceiverName" class="receive-name" placeholder="{{(tabIdx==0||tabIdx==4)?'提货人':'收货人'}}" type="text" value="{{tabAddress[tabIdx].name}}" focus='{{focus_name}}'></input>
|
||||||
|
</view>
|
||||||
|
<view class="receiver">
|
||||||
|
<text>手机号码:</text>
|
||||||
|
<input bindinput="bindReceiverMobile" class="mobile" placeholder="手机号码" type="text" value="{{tabAddress[tabIdx].mobile}}" focus='{{focus_mobile}}'></input>
|
||||||
|
</view>
|
||||||
|
<view class="receiver" wx:if="{{order_note_open==1&&(tabIdx==0||tabIdx==1||tabIdx==3)}}">
|
||||||
|
<text space="ensp">{{order_note_name}}: </text>
|
||||||
|
<input bindinput="changeNoteName" class="receive-name" placeholder="请填写{{order_note_name}}" type="text" value="{{order_note_content?order_note_content:''}}"></input>
|
||||||
|
</view>
|
||||||
|
<view class='address-box' wx:if="{{tabIdx!=0&&tabIdx!=4}}">
|
||||||
|
<block wx:if="{{tabIdx==2||tabIdx==3}}">
|
||||||
|
<view class="receiver">
|
||||||
|
<text>所在地区: </text>
|
||||||
|
<view class='sel-btn' bindtap='choseLocation'>{{tabAddress[tabIdx].region[0] || "选择地址"}}{{tabAddress[tabIdx].region[1]}}{{tabAddress[tabIdx].region[2]}}</view>
|
||||||
|
<image src='../../images/rightArrowImg.png' class='icon-right'></image>
|
||||||
|
</view>
|
||||||
|
<view class="receiver align-start">
|
||||||
|
<text>详细地址:</text>
|
||||||
|
<textarea hidden="{{showConfirmModal||showAlertTime}}" class="receive-name" bindinput="changeReceiverAddress" type="text" value="{{tabAddress[tabIdx].receiverAddress}}" placeholder="详细地址" focus='{{focus_addr}}' />
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<block wx:else>
|
||||||
|
<view class='receiver align-start' bindtap='choseLocation'>
|
||||||
|
<text>所在位置:</text>
|
||||||
|
<view class='sel-btn tuan-pos'>{{tabAddress[tabIdx].receiverAddress}}
|
||||||
|
<image class='icon-right' src='../../images/rightArrowImg.png'></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="receiver align-start">
|
||||||
|
<text>{{order_lou_meng_hao}}:</text>
|
||||||
|
<textarea wx:if="{{!showConfirmModal}}" class="receive-name" bindinput="changeTuanAddress" type="text" value="{{tabAddress[tabIdx].lou_meng_hao}}" placeholder="{{order_lou_meng_hao_placeholder}}" focus='{{focus_addr}}' />
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{tabIdx==2}}" class="use-wx-address" bindtap='getWxAddress' style="color:{{skin.color}}">+使用微信地址</view>
|
||||||
|
<block wx:if="{{tabIdx!=2&&tabIdx!=3&&is_hexiao!=1}}">
|
||||||
|
<p class="address-red">{{groupInfo.owner_name}}信息:{{disUserName}} ({{pickUpCommunityName}})</p>
|
||||||
|
<p class="address">{{tabIdx==0?"提货地点":groupInfo.owner_name+"位置"}}:{{pickUpAddress}}</p>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view class="address-line">
|
||||||
|
<image src="../../images/icon-address-line.png"></image>
|
||||||
|
</view>
|
||||||
|
<!-- 同城配送预计时间 -->
|
||||||
|
<view class="act-content" wx:if="{{tabIdx==3&&buy_type!='presale'}}">
|
||||||
|
<view class="cell" bindtap="handleTimeModal">
|
||||||
|
<block wx:if="{{curAlertTime==-1}}">
|
||||||
|
<span>立即送出</span>
|
||||||
|
<em class="red i-flex-item" style="text-align:right;">大约{{localtown_dispatchtime}}送达</em>
|
||||||
|
</block>
|
||||||
|
<block wx:else>
|
||||||
|
<span>送达时间</span>
|
||||||
|
<em class="red i-flex-item" style="text-align:right;">
|
||||||
|
<block wx:if="{{localtown_expected_delivery.localtown_delivery_space_month!=localtown_delivery_space_month}}">
|
||||||
|
{{localtown_delivery_space_month}}
|
||||||
|
</block>
|
||||||
|
{{localtown_expected_delivery.localtown_delivery_space_time_list[localtown_delivery_space_month][curAlertTime].time}}
|
||||||
|
</em>
|
||||||
|
</block>
|
||||||
|
<view wx:if="{{localtown_expected_delivery.localtown_expected_delivery_status&&localtown_expected_delivery.localtown_delivery_space_month}}">
|
||||||
|
<image class='icon-right' src='../../images/rightArrowImg.png' style="margin-top: -12rpx;"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view class="u-m-t-20" wx:else></view>
|
||||||
|
|
||||||
|
<view class="card-container" style="padding-bottom:0;" wx:for="{{seller_goodss}}" wx:for-index="key" wx:for-item="value" wx:key="key">
|
||||||
|
<i-card iClass="card-content">
|
||||||
|
<view class="card-header" slot="header" style="color:{{skin.color}}">
|
||||||
|
<view>{{buy_type=='virtualcard'?'礼品卡':''}}</view>
|
||||||
|
<view class="cart-header-right">{{value.goodsnum}}{{goods_sale_unit}}商品</view>
|
||||||
|
</view>
|
||||||
|
<view class="cart-item" slot="content">
|
||||||
|
<block wx:for="{{value.goods}}" wx:key="key">
|
||||||
|
<view class="sku-item">
|
||||||
|
<i-img defaultImage="../../images/placeholder-refund.png" height="60" iClass="sku-img" loadImage="{{item.image}}" width="60"></i-img>
|
||||||
|
<view class="sku-msg">
|
||||||
|
<view class="sku-title">
|
||||||
|
<text wx:if="{{buy_type=='presale'}}" class="red">[预售]</text> {{item.name}}
|
||||||
|
</view>
|
||||||
|
<view class="sku-spec" wx:if="{{item.option.length>0}}">规格:
|
||||||
|
<text wx:for="{{item.option}}" wx:key="option_id" wx:for-item="option">{{option.value}};</text>
|
||||||
|
</view>
|
||||||
|
<view class="original-price">
|
||||||
|
<block wx:if="{{buy_type!='integral'}}">¥</block>{{item.price}} ×{{item.quantity}}
|
||||||
|
<block wx:if="{{buy_type=='integral'}}">积分</block>
|
||||||
|
<i-vip-price wx:if="{{is_open_vipcard_buy==1&&item.is_take_vipcard==1&&is_vip_card_member==1}}" price="{{item.card_price}}"></i-vip-price>
|
||||||
|
<i-vip-price wx:elif="{{item.is_mb_level_buy}}" price="{{item.levelprice}}" type="1"></i-vip-price>
|
||||||
|
</view>
|
||||||
|
<view class="sku-price">小计:
|
||||||
|
<span>
|
||||||
|
<block wx:if="{{buy_type!='integral'}}">¥</block>{{item.total}}
|
||||||
|
<block wx:if="{{buy_type=='integral'}}">积分</block>
|
||||||
|
</span>
|
||||||
|
</view>
|
||||||
|
<block wx:if="{{buy_type!='presale'&&buy_type!='virtualcard'}}">
|
||||||
|
<view class="mt5" wx:if="{{tabIdx==0}}" style="color:{{skin.color}}">
|
||||||
|
<view class="picktime" wx:if="{{item.pick_up_type == 3}}">预计{{item.pick_up_time}}可自提</view>
|
||||||
|
<view class="picktime" wx:else>预计{{item.pick_up_time}}({{item.pick_up_weekday}})可自提</view>
|
||||||
|
</view>
|
||||||
|
<view class="mt5" wx:elif="{{tabIdx==1}}" style="color:{{skin.color}}">
|
||||||
|
<view class="picktime" wx:if="{{item.pick_up_type == 3}}">预计{{item.pick_up_time}}{{groupInfo.owner_name}}配送</view>
|
||||||
|
<view class="picktime" wx:else>预计{{item.pick_up_time}}({{item.pick_up_weekday}}){{groupInfo.owner_name}}配送</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view class="cart-footer" slot="footer" wx:if="{{is_open_order_message==1}}">
|
||||||
|
<input bindinput="bindInputMessage" class="order-message" placeholder="备注" type="text" data-idx="{{key}}"></input>
|
||||||
|
</view>
|
||||||
|
</i-card>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 优惠信息 -->
|
||||||
|
<view class="act-content">
|
||||||
|
<view class="cell" wx:if="{{is_vip_card_member==1&&is_open_vipcard_buy==1&&vipcard_save_money>0}}">
|
||||||
|
<span>会员优惠</span>
|
||||||
|
<em>- ¥ {{vipcard_save_money}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="cell" wx:if="{{levelAmount>0}}">
|
||||||
|
<span>等级折扣</span>
|
||||||
|
<em>- ¥ {{levelAmount}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="cell" wx:if="{{tabIdx==1&&delivery_tuanz_money>0}}">
|
||||||
|
<span>{{groupInfo.placeorder_tuan_name}}</span>
|
||||||
|
<em>+ ¥ {{delivery_tuanz_money}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="cell" wx:if="{{tabIdx==2&&trans_free_toal>0}}">
|
||||||
|
<span>{{groupInfo.placeorder_trans_name}}</span>
|
||||||
|
<em>+ ¥ {{trans_free_toal}}</em>
|
||||||
|
</view>
|
||||||
|
<!-- 同城配送 配送费 -->
|
||||||
|
<block wx:if="{{tabIdx==3}}">
|
||||||
|
<block wx:if="{{localtown_shipping_fare_arr.total_yl_shipping_fare>0}}">
|
||||||
|
<view class="cell">
|
||||||
|
<view style="line-height: 1;">
|
||||||
|
同城配送费
|
||||||
|
<view wx:if="{{localtown_shipping_fare_arr.shipping_fare>0}}" class="fsz-22 text-gray mt5">已减{{localtown_shipping_fare_arr.shipping_fare}}元</view>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<text class="localtownfare" wx:if="{{localtown_shipping_fare_arr.shipping_fare>0}}">¥{{localtown_shipping_fare_arr.total_yl_shipping_fare}}</text>
|
||||||
|
+ ¥ {{localtown_shipping_fare_arr.total_shipping_fare}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view class="cell" wx:if="{{localtown_makeup_delivery_money>0}}">
|
||||||
|
<span>加价配送费</span>
|
||||||
|
<em>+ ¥ {{localtown_makeup_delivery_money}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="cell" wx:if="{{pickingup_fare>0}}">
|
||||||
|
<span>{{localtown_modifypickingname}}</span>
|
||||||
|
<em>+ ¥ {{pickingup_fare}}</em>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view class="cell" wx:if="{{tabIdx!=0}}">
|
||||||
|
<block wx:if="{{tabIdx==1&&is_man_delivery_tuanz_fare>0}}">
|
||||||
|
<span>满{{man_free_tuanzshipping}}免{{groupInfo.placeorder_tuan_name}}</span>
|
||||||
|
<em>- ¥ {{fare_man_delivery_tuanz_fare_money}}</em>
|
||||||
|
</block>
|
||||||
|
<block wx:if="{{tabIdx==2&&is_man_shipping_fare>0&&buy_type!='pintuan'}}">
|
||||||
|
<span>满{{man_free_shipping}}免{{groupInfo.placeorder_trans_name}}</span>
|
||||||
|
<em>- ¥ {{fare_man_shipping_fare_money}}</em>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view class="cell" wx:if="{{reduce_money&&is_open_fullreduction}}">
|
||||||
|
<span>满减</span>
|
||||||
|
<em>- ¥ {{reduce_money}}</em>
|
||||||
|
</view>
|
||||||
|
<!-- 预售优惠暂时关闭 -->
|
||||||
|
<block wx:if="{{!presale_info}}">
|
||||||
|
<view class="cell" wx:if='{{seller_goodss[sgvKey].show_voucher==1}}' bindtap='show_voucher' data-seller_id="{{seller_goodss[sgvKey].store_info.s_id}}">
|
||||||
|
<view>
|
||||||
|
<span>优惠券</span>
|
||||||
|
<span class="cell-desc" wx:if="{{sel_chose_vouche.limit_money>0}}">满{{sel_chose_vouche.limit_money}}元优惠{{sel_chose_vouche.credit}}元</span>
|
||||||
|
<span class="cell-desc" wx:else="{{sel_chose_vouche.limit_money<=0}}">优惠{{sel_chose_vouche.credit}}元</span>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<em>- ¥ {{sel_chose_vouche.can_vouche_amount}}</em>
|
||||||
|
<image class='icon-right' src='../../images/rightArrowImg.png'></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell" wx:if="{{ssvoucher_list.length&&seller_goodss[sgvKey].show_voucher==0}}" bindtap='show_voucher' data-seller_id="{{seller_goodss[sgvKey].store_info.s_id}}">
|
||||||
|
<view>
|
||||||
|
<span>选择优惠券</span>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<image class='icon-right' src='../../images/rightArrowImg.png'></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell" wx:if="{{open_score_buy_score==1}}">
|
||||||
|
<span>
|
||||||
|
当前积分{{score}},本次<block wx:if="{{bue_use_score>0}}">可用{{bue_use_score}}积分抵扣{{score_for_money}}元</block><block wx:else>不可用积分支付</block>
|
||||||
|
</span>
|
||||||
|
<view><switch checked='{{use_score==1}}' bindchange="scoreChange" disabled="{{bue_use_score<=0}}" /></view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 预售信息 -->
|
||||||
|
<view class="act-content p10" style="box-sizing: border-box;" wx:if="{{buy_type=='presale'&&presale_info}}">
|
||||||
|
<block wx:if="{{presale_info.presale_type==1}}">
|
||||||
|
<view class="fsz-24 i-flex i-flex-spb">
|
||||||
|
<view>{{tabList[tabIdx].name}}</view>
|
||||||
|
<view>
|
||||||
|
<block wx:if="{{presale_info.presale_sendorder_type==0}}">{{presale_info.presale_sendorder_datetime}}开始{{presalePickup[tabIdx]}}</block>
|
||||||
|
<block wx:else>{{presale_info.presale_sendorder_afterday}}日内开始{{presalePickup[tabIdx]}}</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="mt10 i-flex i-flex-spb">
|
||||||
|
<view>
|
||||||
|
<view>同意支付定金 <text class="iconfont icon-shuoming text-gray fsz-28" bindtap="hanlePresaleModal"></text></view>
|
||||||
|
<view class="fsz-22 text-gray">预售商品,定金不退哦</view>
|
||||||
|
</view>
|
||||||
|
<view><switch checked='{{isAgreePresale}}' bindchange="agreePresaleChange" /></view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<block wx:else>
|
||||||
|
<view class="red">预售价¥{{presale_info.goods_price}},付定金后再减¥{{presale_info.totDeduction}},尾款需付金额¥{{presale_info.balance}}(若有优惠,优惠将在尾款时使用)</view>
|
||||||
|
<view class="presale-item red i-flex i-flex-spb">
|
||||||
|
<view class="presale-item-circle">定金</view>
|
||||||
|
<view>¥{{presale_info.totdingMoney}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="presale-item i-flex i-flex-spb">
|
||||||
|
<view class="presale-item-circle">尾款</view>
|
||||||
|
<view>¥{{presale_info.balance}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="mt10 fsz-24 text-gray">{{presale_info.balance_pay_begintime}} - {{presale_info.balance_pay_endtime}} 开始支付尾款</view>
|
||||||
|
<view class="mt10 fsz-24 i-flex i-flex-spb">
|
||||||
|
<view>{{tabList[tabIdx].name}}</view>
|
||||||
|
<view>
|
||||||
|
<block wx:if="{{presale_info.presale_sendorder_type==0}}">尾款支付成功后{{presale_info.presale_sendorder_datetime}}开始{{presalePickup[tabIdx]}}</block>
|
||||||
|
<block wx:else>尾款支付成功后{{presale_info.presale_sendorder_afterday}}日内开始{{presalePickup[tabIdx]}}</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="mt10 i-flex i-flex-spb">
|
||||||
|
<view>
|
||||||
|
<view>同意支付定金 <text class="iconfont icon-shuoming text-gray fsz-28" bindtap="hanlePresaleModal"></text></view>
|
||||||
|
<view class="fsz-22 text-gray">预售商品,定金不退哦</view>
|
||||||
|
</view>
|
||||||
|
<view><switch checked='{{isAgreePresale}}' bindchange="agreePresaleChange" /></view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<block wx:if="{{buy_type=='integral'}}">
|
||||||
|
<!-- 积分商品 -->
|
||||||
|
<view class="act-content" wx:if="{{total_free>0}}">
|
||||||
|
<view class="oc-payment" avalonctrl="oc_payment" bindtap="ck_wxpays">
|
||||||
|
<view class="oc-payment-item {{ck_yupay==0?'oc-payment-selected':''}}" style="{{ck_yupay==0?'color:'+skin.color:''}}">
|
||||||
|
<text class="iconfont icon-weixinzhifu oc-payment-icon" style="color:#00c800;"></text>
|
||||||
|
<view class="oc-payment-method">微信支付</view>
|
||||||
|
<view class="oc-payment-recommend" style="color:{{skin.color}};border-color:{{skin.color}}">推荐</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<block wx:if="{{is_yue_open==1}}">
|
||||||
|
<view class="oc-payment" avalonctrl="oc_payment" bindtap="ck_yupays" wx:if="{{can_yupay}}">
|
||||||
|
<view class="oc-payment-item {{ck_yupay==1?'oc-payment-selected':''}}" style="{{ck_yupay==1?'color:'+skin.color:''}}">
|
||||||
|
<text class="iconfont icon-balance oc-payment-icon" style="color:#ff5777;"></text>
|
||||||
|
<view class="oc-payment-method">余额支付(余额:{{yu_money}})</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="oc-payment" wx:else>
|
||||||
|
<view class="oc-payment-item">
|
||||||
|
<text class="iconfont icon-balance oc-payment-icon text-gray"></text>
|
||||||
|
<view class="oc-payment-method">余额支付(余额:{{yu_money}})</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<block wx:else>
|
||||||
|
<!-- 普通商品 -->
|
||||||
|
<view class="act-content">
|
||||||
|
<view class="oc-payment" avalonctrl="oc_payment" bindtap="ck_wxpays">
|
||||||
|
<view class="oc-payment-item {{ck_yupay==0?'oc-payment-selected':''}}" style="{{ck_yupay==0?'color:'+skin.color:''}}">
|
||||||
|
<text class="iconfont icon-weixinzhifu oc-payment-icon" style="color:#00c800;"></text>
|
||||||
|
<view class="oc-payment-method">微信支付</view>
|
||||||
|
<view class="oc-payment-recommend" style="color:{{skin.color}};border-color:{{skin.color}}">推荐</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<block wx:if="{{is_yue_open==1}}">
|
||||||
|
<view class="oc-payment" avalonctrl="oc_payment" bindtap="ck_yupays" wx:if="{{can_yupay}}">
|
||||||
|
<view class="oc-payment-item {{ck_yupay==1?'oc-payment-selected':''}}" style="{{ck_yupay==1?'color:'+skin.color:''}}">
|
||||||
|
<text class="iconfont icon-balance oc-payment-icon" style="color:#ff5777;"></text>
|
||||||
|
<view class="oc-payment-method">余额支付(余额:{{yu_money}})</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="oc-payment" wx:else>
|
||||||
|
<view class="oc-payment-item">
|
||||||
|
<text class="iconfont icon-balance oc-payment-icon text-gray"></text>
|
||||||
|
<view class="oc-payment-method">余额支付(余额:{{yu_money}})</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view class="oc-payment" avalonctrl="oc_payment" bindtap="ck_cash" wx:if="{{cashondelivery_data.isopen_cashondelivery==1&&tabIdx==0&&cashondelivery_data.isopen_cashondelivery_ziti==1}}">
|
||||||
|
<view class="oc-payment-item {{ck_yupay==2?'oc-payment-selected':''}}" style="{{ck_yupay==2?'color:'+skin.color:''}}">
|
||||||
|
<text class="iconfont icon-huodaofukuan oc-payment-icon" style="color:#ff5777;"></text>
|
||||||
|
<view class="oc-payment-method">货到付款</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="oc-payment" avalonctrl="oc_payment" bindtap="ck_cash" wx:if="{{cashondelivery_data.isopen_cashondelivery==1&&tabIdx==1&&cashondelivery_data.isopen_cashondelivery_communityhead==1}}">
|
||||||
|
<view class="oc-payment-item {{ck_yupay==2?'oc-payment-selected':''}}" style="{{ck_yupay==2?'color:'+skin.color:''}}">
|
||||||
|
<text class="iconfont icon-huodaofukuan oc-payment-icon" style="color:#ff5777;"></text>
|
||||||
|
<view class="oc-payment-method">货到付款</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="oc-payment" avalonctrl="oc_payment" bindtap="ck_cash" wx:if="{{cashondelivery_data.isopen_cashondelivery==1&&tabIdx==2&&cashondelivery_data.isopen_cashondelivery_express==1}}">
|
||||||
|
<view class="oc-payment-item {{ck_yupay==2?'oc-payment-selected':''}}" style="{{ck_yupay==2?'color:'+skin.color:''}}">
|
||||||
|
<text class="iconfont icon-huodaofukuan oc-payment-icon" style="color:#ff5777;"></text>
|
||||||
|
<view class="oc-payment-method">货到付款</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="oc-payment" avalonctrl="oc_payment" bindtap="ck_cash" wx:if="{{cashondelivery_data.isopen_cashondelivery==1&&tabIdx==3&&cashondelivery_data.isopen_cashondelivery_localtown==1}}">
|
||||||
|
<view class="oc-payment-item {{ck_yupay==2?'oc-payment-selected':''}}" style="{{ck_yupay==2?'color:'+skin.color:''}}">
|
||||||
|
<text class="iconfont icon-huodaofukuan oc-payment-icon" style="color:#ff5777;"></text>
|
||||||
|
<view class="oc-payment-method">货到付款</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="oc-payment" avalonctrl="oc_payment" bindtap="ck_cash" wx:if="{{cashondelivery_data.isopen_cashondelivery==1&&tabIdx==4&&cashondelivery_data.isopen_cashondelivery_hexiao==1}}">
|
||||||
|
<view class="oc-payment-item {{ck_yupay==2?'oc-payment-selected':''}}" style="{{ck_yupay==2?'color:'+skin.color:''}}">
|
||||||
|
<text class="iconfont icon-huodaofukuan oc-payment-icon" style="color:#ff5777;"></text>
|
||||||
|
<view class="oc-payment-method">货到付款</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<!-- 自定义表单 -->
|
||||||
|
<view wx:if="{{allform&&allform.is_open_orderform}}" class="u-m-t-20 rounded u-m-l-20 u-m-r-20 u-p-20 bg-f">
|
||||||
|
<s-form id="sForm" formData="{{allform}}" bind:success="goOrderfrom"></s-form>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<i-fixed-bottom>
|
||||||
|
<view class="fixed-content">
|
||||||
|
<view class="fixed-left">
|
||||||
|
<!-- 预售显示定义 -->
|
||||||
|
<block wx:if="{{buy_type=='presale'&&presale_info.presale_type==0}}">
|
||||||
|
<view class="h1">
|
||||||
|
定金:<span>¥{{presale_info.totdingMoney}}</span>
|
||||||
|
</view>
|
||||||
|
<view class="h2">
|
||||||
|
<em>总额:¥{{presale_info.totdingMoney}}</em>
|
||||||
|
<em wx:if="{{disAmount>0}}">
|
||||||
|
{{presale_info.presale_type==0?'尾款':''}}总优惠:¥{{disAmount}} <text class="iconfont icon-shuoming text-gray fsz-28" bindtap="showPresaleAmoutDesc"></text></em>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<block wx:else>
|
||||||
|
<view class="h1" wx:if="{{buy_type=='integral'}}">
|
||||||
|
实付:
|
||||||
|
<span>
|
||||||
|
<block wx:if="{{total_free>0}}">¥{{total_free}} + </block>{{total_integral}}积分
|
||||||
|
</span>
|
||||||
|
</view>
|
||||||
|
<view class="h1" wx:else>
|
||||||
|
合计:<span>¥{{tot_price}}</span>
|
||||||
|
</view>
|
||||||
|
<view class="h2" wx:if="{{buy_type!='integral'}}">
|
||||||
|
<em>总额:¥{{total_all}}</em>
|
||||||
|
<em wx:if="{{disAmount>0}}">总优惠:¥{{disAmount}}</em>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{btnDisable}}" class="fixed-bar-btn bgDisabled">{{btnText?btnText:"立即支付"}}</view>
|
||||||
|
<i-button wx:else bind:click="preOrderConfirm" iClass="fixed-bar-btn" loading="{{btnLoading}}">
|
||||||
|
<view wx:if="{{buy_type=='integral'}}">立即兑换</view>
|
||||||
|
<view wx:else>立即支付</view>
|
||||||
|
</i-button>
|
||||||
|
</view>
|
||||||
|
</i-fixed-bottom>
|
||||||
|
</view>
|
||||||
|
</i-auth>
|
||||||
|
|
||||||
|
<i-modal bind:cancel="closeConfirmModal" iClass="confirm-modal-content" visible="{{showConfirmModal}}">
|
||||||
|
<view class="confirm-order-modal">
|
||||||
|
<block wx:if="{{tabIdx==0}}">
|
||||||
|
<view class="title">此商品需要您{{tabList[tabIdx].name}},请确认提货信息</view>
|
||||||
|
<view class="sub-title">
|
||||||
|
<image src="../../images/icon-give.png"></image>
|
||||||
|
<text wx:if="{{buy_type=='presale'&&presale_info}}">
|
||||||
|
<block wx:if="{{presale_info.presale_sendorder_type==0}}">{{presale_info.presale_type==0?'尾款支付成功后':''}}{{presale_info.presale_sendorder_datetime}}开始{{presalePickup[tabIdx]}}</block>
|
||||||
|
<block wx:else>{{presale_info.presale_type==0?'尾款支付成功后':''}}{{presale_info.presale_sendorder_afterday}}日内开始{{presalePickup[tabIdx]}}</block>
|
||||||
|
</text>
|
||||||
|
<block wx:else>
|
||||||
|
<text wx:if="{{pick_up_type == 3}}">预计{{pick_up_time}}可自提</text>
|
||||||
|
<text wx:else>预计{{pick_up_time}}({{pick_up_weekday}})可自提</text>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<block wx:elif="{{tabIdx==1}}">
|
||||||
|
<view class="title">需要{{groupInfo.owner_name}}配送,请确认收货信息</view>
|
||||||
|
<view class="sub-title">
|
||||||
|
<image src="../../images/icon-give.png"></image>
|
||||||
|
<text wx:if="{{buy_type=='presale'&&presale_info}}">
|
||||||
|
<block wx:if="{{presale_info.presale_sendorder_type==0}}">{{presale_info.presale_type==0?'尾款支付成功后':''}}{{presale_info.presale_sendorder_datetime}}开始{{presalePickup[tabIdx]}}</block>
|
||||||
|
<block wx:else>{{presale_info.presale_type==0?'尾款支付成功后':''}}{{presale_info.presale_sendorder_afterday}}日内开始{{presalePickup[tabIdx]}}</block>
|
||||||
|
</text>
|
||||||
|
<block wx:else>
|
||||||
|
<text wx:if="{{pick_up_type == 3}}">预计{{pick_up_time}}{{groupInfo.owner_name}}配送</text>
|
||||||
|
<text wx:else>预计{{pick_up_time}}({{pick_up_weekday}}){{groupInfo.owner_name}}配送</text>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view class="title" wx:elif="{{tabIdx==2}}">需要快递配送,请确认收货信息</view>
|
||||||
|
<view class="title" wx:elif="{{tabIdx==3}}">需要同城配送,请确认收货信息</view>
|
||||||
|
<view class="title" wx:elif="{{tabIdx==4}}">此商品需要您到店核销,请确认预留信息</view>
|
||||||
|
<view class="order-content">
|
||||||
|
<block wx:if="{{buy_type!='presale'&&presale_info.presale_type==0}}">
|
||||||
|
<view class="msg-group">
|
||||||
|
<span>商品总额:</span>
|
||||||
|
<em>+¥{{total_goods_price}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:if="{{tabIdx==1&&delivery_tuanz_money>0}}">
|
||||||
|
<span>{{groupInfo.placeorder_tuan_name}}:</span>
|
||||||
|
<em>+¥{{delivery_tuanz_money?delivery_tuanz_money:0}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:if="{{tabIdx==2&&trans_free_toal>0}}">
|
||||||
|
<span>{{groupInfo.placeorder_trans_name}}:</span>
|
||||||
|
<em>+¥{{trans_free_toal?trans_free_toal:0}}</em>
|
||||||
|
</view>
|
||||||
|
<block wx:if="{{tabIdx==3}}">
|
||||||
|
<view class="msg-group" wx:if="{{localtown_shipping_fare_arr.total_yl_shipping_fare>0}}">
|
||||||
|
<span>同城配送费:</span>
|
||||||
|
<em>+¥{{localtown_shipping_fare_arr.total_yl_shipping_fare}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:if="{{localtown_shipping_fare_arr.shipping_fare>0}}">
|
||||||
|
<span>免同城配送费:</span>
|
||||||
|
<em>- ¥ {{localtown_shipping_fare_arr.shipping_fare}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:if="{{localtown_makeup_delivery_money>0}}">
|
||||||
|
<span>加价配送费:</span>
|
||||||
|
<em>+ ¥ {{localtown_makeup_delivery_money}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:if="{{pickingup_fare>0}}">
|
||||||
|
<span>{{localtown_modifypickingname}}:</span>
|
||||||
|
<em>+¥{{pickingup_fare}}</em>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</block>
|
||||||
|
<view class="msg-group" wx:if="{{disAmount>0}}">
|
||||||
|
<span><block wx:if="{{buy_type=='presale'&&presale_info.presale_type==0}}">尾款</block>优惠金额:</span>
|
||||||
|
<em>-¥{{disAmount}}</em>
|
||||||
|
</view>
|
||||||
|
<!-- 核销 -->
|
||||||
|
<block wx:if="{{tabIdx==4}}">
|
||||||
|
<view class="msg-group">
|
||||||
|
<span>提 货 人:</span>
|
||||||
|
<em>{{tabAddress[tabIdx].name}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group">
|
||||||
|
<span>手机号码:</span>
|
||||||
|
<em>{{tabAddress[tabIdx].mobile}}</em>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<block wx:else>
|
||||||
|
<view class="msg-group">
|
||||||
|
<span>{{groupInfo.owner_name}}信息:</span>
|
||||||
|
<em>{{disUserName}} <text class='distance' wx:if="{{current_distance&&tabIdx==1}}">(距您{{current_distance_str}})</text></em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group">
|
||||||
|
<span>{{(tabIdx==0)?"提 货 人":"收 货 人"}}:</span>
|
||||||
|
<em>{{tabAddress[tabIdx].name}} {{tabAddress[tabIdx].mobile}}</em>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view class="msg-group" wx:if="{{tabIdx==0}}">
|
||||||
|
<block wx:if="{{index_hide_headdetail_address==0}}">
|
||||||
|
<span>提货地点:</span>
|
||||||
|
<em>{{pickUpAddress}}</em>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:elif="{{tabIdx==1}}">
|
||||||
|
<span>收货地址:</span>
|
||||||
|
<em>{{tabAddress[tabIdx].receiverAddress}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="msg-group" wx:elif="{{tabIdx!=4}}">
|
||||||
|
<span style="align-self: start;">收货地址:</span>
|
||||||
|
<em>{{tabAddress[tabIdx].region[0]}}{{tabAddress[tabIdx].region[1]}}{{tabAddress[tabIdx].region[2]}}{{tabAddress[tabIdx].receiverAddress}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="total" wx:if="{{buy_type=='presale'&&presale_info.presale_type==0}}">
|
||||||
|
合计{{ck_yupay==2?'到付':''}}:<em>¥{{presale_info.totdingMoney}}</em>
|
||||||
|
</view>
|
||||||
|
<view class="total" wx:else>
|
||||||
|
合计{{ck_yupay==2?'到付':''}}:<em>¥{{tot_price}}</em>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="button-group">
|
||||||
|
<i-button bind:click="closeConfirmModal" class="btn-content" iClass="btn left-btn">取消</i-button>
|
||||||
|
<view wx:if="{{btnDisable}}" class="btn-content btn right-btn bgDisabled">{{btnText?btnText:"确认支付"}}</view>
|
||||||
|
<i-button wx:else bind:click="preSubscript" class="btn-content" iClass="btn right-btn" loading="{{payBtnLoading}}" styleStr="background:{{skin.color}}">
|
||||||
|
<view style="background:{{skin.color}}">确认支付</view>
|
||||||
|
</i-button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-modal>
|
||||||
|
<i-dialog bind:cancel="delete" bind:confirm="continuePay" confirmText="确认" text="赠品已送完,确认支付?" visible="{{visible}}"></i-dialog>
|
||||||
|
|
||||||
|
<!-- 优惠券选择 -->
|
||||||
|
<i-modal bind:cancel="closeCouponModal" iClass="confirm-modal-content" visible="{{!hide_quan}}">
|
||||||
|
<view class="confirm-coupon-modal">
|
||||||
|
<view class='title'>请选择优惠券</view>
|
||||||
|
<scroll-view class='list' scroll-y>
|
||||||
|
<view class='item' bindtap='chose_voucher_id' data-voucher_id="0" data-seller_id="{{voucher_serller_id}}">
|
||||||
|
<view>不使用</view>
|
||||||
|
<image class='no-tag-img' wx:if="{{seller_chose_id==0}}" src='../../images/checkbox-checked.png'></image>
|
||||||
|
<image class='no-tag-img' wx:else src='../../images/checkbox-disabled.png'></image>
|
||||||
|
</view>
|
||||||
|
<view class="coupon" wx:for="{{ssvoucher_list}}" wx:key="id" bindtap='chose_voucher_id' data-voucher_id="{{item.id}}" data-seller_id="{{voucher_serller_id}}">
|
||||||
|
<view class='header'>
|
||||||
|
<view class='price'>
|
||||||
|
<view class='reduce-price'>
|
||||||
|
{{item.credit}}<text>元</text>
|
||||||
|
</view>
|
||||||
|
<view class='reduce-desc'>{{item.limit_money >0.01 ?'满'+item.limit_money+'元可用':'不限制'}}</view>
|
||||||
|
</view>
|
||||||
|
<view class='info'>
|
||||||
|
<view class='reduce-title'>{{item.voucher_title}}<text class='reduce-type' wx:if="{{item.cate_name}}">{{item.cate_name}}</text></view>
|
||||||
|
</view>
|
||||||
|
<view class='status'>
|
||||||
|
<image class='tag-img' wx:if="{{item.id == seller_chose_id}}" src='../../images/checkbox-checked.png'></image>
|
||||||
|
<image class='tag-img' wx:else src='../../images/checkbox-disabled.png'></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class='footer'>有效期:{{item.begin_time}}~{{item.end_time}}</view>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
</i-modal>
|
||||||
|
|
||||||
|
<!-- 配送时间 -->
|
||||||
|
<i-modal scrollUp="{{true}}" visible="{{showAlertTime}}" bind:cancel="handleTimeModal">
|
||||||
|
<view class="time-alert">
|
||||||
|
<view class="alertTtitle text-center fsz-32 border-bottom">
|
||||||
|
选择预计送达时间段
|
||||||
|
<text class="iconfont icon-guanbi alertClose" bindtap="handleTimeModal"></text>
|
||||||
|
</view>
|
||||||
|
<view class="alertTimebox i-flex i-flex-spb">
|
||||||
|
<view class="left_box">
|
||||||
|
<block wx:if="{{localtown_expected_delivery.localtown_delivery_space_time_list}}" wx:for="{{localtown_expected_delivery.localtown_delivery_space_time_list}}" wx:key="index">
|
||||||
|
<view class="{{index==localtown_delivery_space_month?'active':''}}" bindtap="selectAlertDate" data-idx="{{index}}">
|
||||||
|
{{index}}
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view class="right_box">
|
||||||
|
<scroll-view scroll-y style="height:660rpx;">
|
||||||
|
<view class="{{curAlertTime==-1?'active':''}}" wx:if="{{localtown_expected_delivery.localtown_delivery_space_month==localtown_delivery_space_month}}" bindtap="selectAlertTime" data-idx="-1">立即送出({{localtown_dispatchtime}})</view>
|
||||||
|
<block wx:for="{{localtown_expected_delivery.localtown_delivery_space_time_list[localtown_delivery_space_month]}}" wx:key="index">
|
||||||
|
<view class="{{(index)==curAlertTime?'active':''}}" bindtap="selectAlertTime" data-idx="{{(index)}}">
|
||||||
|
{{item.time}}
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="alertTimebtn">
|
||||||
|
<view class="alertTimebtn-item weight" style="background:{{skin.color}}" bindtap="handleTimeModal">确定</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</i-modal>
|
||||||
|
|
||||||
|
<!-- 预售说明 -->
|
||||||
|
<i-modal bind:cancel="hanlePresaleModal" iClass="confirm-modal-content" visible="{{showPresaleDesc}}">
|
||||||
|
<view class="confirm-coupon-modal" style="background:#fff;">
|
||||||
|
<view class='title'>预售协议</view>
|
||||||
|
<scroll-view class='list' scroll-y style="min-height: 300rpx;padding-top:30rpx;">
|
||||||
|
<text>{{presale_info.presale_agreement}}</text>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
</i-modal>
|
|
@ -0,0 +1,966 @@
|
||||||
|
page {
|
||||||
|
background: #f6f6f6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.address-content {
|
||||||
|
padding: 22rpx 20rpx;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.address-content .receiver {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
position: relative;
|
||||||
|
color: #444;
|
||||||
|
font-size: 28rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.address-content .receiver text {
|
||||||
|
width: 160rpx;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.address-content .receiver input,
|
||||||
|
.sel-btn {
|
||||||
|
border-radius: 4rpx;
|
||||||
|
flex: 1;
|
||||||
|
height: 52rpx;
|
||||||
|
line-height: 52rpx;
|
||||||
|
padding: 5rpx 10rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: #f7f7f7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sel-btn {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.address-content .receiver input:nth-child(3) {
|
||||||
|
width: 280rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.address-content p {
|
||||||
|
color: #999;
|
||||||
|
font-size: 22rpx;
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.address-line {
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
height: 4rpx;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.address-line image {
|
||||||
|
width: 750rpx;
|
||||||
|
height: 4rpx;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-content {
|
||||||
|
margin: 0 auto 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-container {
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-header {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #aaa;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
height: 84rpx;
|
||||||
|
border-bottom: 1rpx solid #efefef;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cart-item {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item {
|
||||||
|
padding: 26rpx;
|
||||||
|
border-bottom: 1rpx solid #efefef;
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item .sku-img {
|
||||||
|
width: 120rpx;
|
||||||
|
height: 120rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item .sku-msg {
|
||||||
|
width: 510rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item .sku-msg .sku-title {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #444;
|
||||||
|
line-height: 32rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item .sku-msg .sku-spec {
|
||||||
|
font-size: 22rpx;
|
||||||
|
line-height: 22rpx;
|
||||||
|
color: #aaa;
|
||||||
|
margin-bottom: 12rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item .sku-msg .original-price {
|
||||||
|
font-size: 22rpx;
|
||||||
|
line-height: 22rpx;
|
||||||
|
color: #aaa;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item .sku-msg .sku-price {
|
||||||
|
font-size: 22rpx;
|
||||||
|
line-height: 26rpx;
|
||||||
|
color: #444;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item .sku-msg .sku-price span {
|
||||||
|
font-family: DIN;
|
||||||
|
color: #ff758c;
|
||||||
|
font-size: 26rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item-gift {
|
||||||
|
width: 650rpx;
|
||||||
|
height: 140rpx;
|
||||||
|
background: #f9f9f9;
|
||||||
|
margin: 28rpx auto 30rpx;
|
||||||
|
padding: 20rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: flex;
|
||||||
|
order: 99;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item-gift .sku-img {
|
||||||
|
width: 100rpx;
|
||||||
|
height: 100rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item-gift .sku-msg {
|
||||||
|
width: 510rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item-gift .sku-msg .sku-title {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #444;
|
||||||
|
line-height: 30rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item-gift .sku-msg .sku-spec {
|
||||||
|
font-size: 22rpx;
|
||||||
|
line-height: 22rpx;
|
||||||
|
color: #aaa;
|
||||||
|
margin-bottom: 14rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item-gift .sku-msg .tag {
|
||||||
|
border: 1rpx solid #4facfe;
|
||||||
|
padding: 0 12rpx;
|
||||||
|
font-size: 20rpx;
|
||||||
|
border-radius: 16rpx;
|
||||||
|
color: #4facfe;
|
||||||
|
height: 24rpx;
|
||||||
|
line-height: 24rpx;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sku-item-gift .sku-msg .tag.tag-disabled {
|
||||||
|
border-color: #a3a3a3;
|
||||||
|
color: #a3a3a3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fixed-content {
|
||||||
|
display: flex;
|
||||||
|
padding-left: 20rpx;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
height: 96rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fixed-content .fixed-left {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fixed-content .fixed-left .h1 {
|
||||||
|
font-size: 28rpx;
|
||||||
|
line-height: 28rpx;
|
||||||
|
color: #444;
|
||||||
|
margin-bottom: 12rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fixed-content .fixed-left .h1 span {
|
||||||
|
color: #ff758c;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fixed-content .fixed-left .h2 {
|
||||||
|
font-size: 22rpx;
|
||||||
|
line-height: 22rpx;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fixed-content .fixed-left .h2 em {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fixed-content .fixed-bar-btn {
|
||||||
|
width: 260rpx;
|
||||||
|
height: 96rpx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 96rpx;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 30rpx;
|
||||||
|
background: linear-gradient(100deg, #ff758c 0%, #ff7eb3 100%);
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
font-weight: bold;
|
||||||
|
border-radius: 48rpx 0rpx 0rpx 48rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal {
|
||||||
|
border-radius: 30rpx 30rpx 0 0;
|
||||||
|
background: #fff;
|
||||||
|
padding: 52rpx 30rpx 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal .title {
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #444;
|
||||||
|
line-height: 32rpx;
|
||||||
|
margin-bottom: 40rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal .sub-title {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
color: #4facfe;
|
||||||
|
line-height: 26rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
margin-bottom: 48rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal .sub-title image {
|
||||||
|
width: 28rpx;
|
||||||
|
height: 28rpx;
|
||||||
|
margin-right: 14rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal .order-content {
|
||||||
|
width: 690rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding-top: 30rpx;
|
||||||
|
background: #f6f6f6;
|
||||||
|
margin-bottom: 136rpx;
|
||||||
|
box-shadow: inset 0 0 10rpx rgba(0,0,0,0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal .order-content .msg-group {
|
||||||
|
width: 690rpx;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
font-size: 24rpx;
|
||||||
|
line-height: 24rpx;
|
||||||
|
color: #444;
|
||||||
|
box-sizing: border-box;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal .order-content .msg-group span {
|
||||||
|
font-weight: bold;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal .order-content .msg-group em {
|
||||||
|
font-weight: 400;
|
||||||
|
flex: 1;
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal .order-content .total {
|
||||||
|
line-height: 86rpx;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
text-align: right;
|
||||||
|
color: #444;
|
||||||
|
font-size: 30rpx;
|
||||||
|
border-top: 1rpx solid #e2e2e2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal .order-content .total em {
|
||||||
|
color: #ff758c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal .button-group {
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
border-top: 1rpx solid rgba(0, 0, 0, 0.1);
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
padding-bottom: calc(env(safe-area-inset-bottom) - 30rpx);
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal .button-group .btn-content {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal .button-group .btn {
|
||||||
|
flex: 1;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
font-size: 30rpx;
|
||||||
|
line-height: 88rpx;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 0;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal .button-group .left-btn {
|
||||||
|
color: #666;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-order-modal .button-group .right-btn {
|
||||||
|
color: #fff;
|
||||||
|
background: linear-gradient(100deg, #ff758c 0%, #ff7eb3 100%);
|
||||||
|
border-radius: 20px 0px 0px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-nav {
|
||||||
|
height: 70rpx;
|
||||||
|
display: flex;
|
||||||
|
border-bottom: 4rpx solid #008dd3;
|
||||||
|
transition: all 0.3s linear;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-nav .tab-nav-item {
|
||||||
|
color: #6c6c6c;
|
||||||
|
font-size: 26rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
width: 190rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex: 1;
|
||||||
|
max-width: 190rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-nav-one .tab-nav-item {
|
||||||
|
flex: initial;
|
||||||
|
width: 30%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-nav .tab-nav-item span {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-nav .tab-nav-item.active {
|
||||||
|
background-color: #008dd3;
|
||||||
|
color: #fff;
|
||||||
|
z-index: 2;
|
||||||
|
border-radius: 8px 8px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.receiver.align-start {
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea.receive-name {
|
||||||
|
border-radius: 4rpx;
|
||||||
|
flex: 1;
|
||||||
|
line-height: 1.6;
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: #f7f7f7;
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
padding: 10rpx;
|
||||||
|
height: 124rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
picker.receive-name {
|
||||||
|
border-radius: 4rpx;
|
||||||
|
flex: 1;
|
||||||
|
line-height: 52rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: #f7f7f7;
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
height: 52rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.receive-name .picker {
|
||||||
|
padding: 5rpx 10rpx;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.receive-icon {
|
||||||
|
width: 40rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
position: absolute;
|
||||||
|
right: 10rpx;
|
||||||
|
bottom: 6rpx;
|
||||||
|
z-index: 20;
|
||||||
|
}
|
||||||
|
|
||||||
|
.act-content {
|
||||||
|
width: 710rpx;
|
||||||
|
margin: 0 auto 20rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
background: #fff;
|
||||||
|
box-shadow: 0 0 40rpx 0 rgba(0, 0, 0, 0.05);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
border-bottom: 1rpx solid #efefef;
|
||||||
|
line-height: 78rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #444;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-right {
|
||||||
|
position: absolute;
|
||||||
|
right: 10rpx;
|
||||||
|
top: 50%;
|
||||||
|
width: 12rpx;
|
||||||
|
height: 22rpx;
|
||||||
|
margin-top: -10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell-desc {
|
||||||
|
margin-left: 8rpx;
|
||||||
|
color: #666;
|
||||||
|
font-size: 22rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-coupon-modal {
|
||||||
|
background: #f6f6f6;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
position: relative;
|
||||||
|
padding-bottom: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-coupon-modal .title {
|
||||||
|
width: 100%;
|
||||||
|
border-bottom: 1rpx solid #efefef;
|
||||||
|
line-height: 2.5;
|
||||||
|
font-size: 32rpx;
|
||||||
|
text-align: center;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-coupon-modal .list {
|
||||||
|
width: 100%;
|
||||||
|
max-height: 700rpx;
|
||||||
|
overflow-y: auto;
|
||||||
|
padding: 0 20rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-coupon-modal .item {
|
||||||
|
display: flex;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 20rpx 10rpx 20rpx 20rpx;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin: 20rpx 0;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
box-shadow: 0 0 6rpx #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tag-img {
|
||||||
|
position: absolute;
|
||||||
|
width: 48rpx;
|
||||||
|
height: 48rpx;
|
||||||
|
right: 10rpx;
|
||||||
|
top: 15rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.no-tag-img {
|
||||||
|
width: 48rpx;
|
||||||
|
height: 48rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.use-wx-address {
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
color: #4facfe;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 订单留言 */
|
||||||
|
|
||||||
|
.cart-footer {
|
||||||
|
padding: 26rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-message {
|
||||||
|
position: relative;
|
||||||
|
background-color: #f7f7f7;
|
||||||
|
padding: 5rpx 10rpx;
|
||||||
|
border-radius: 5rpx;
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tuan-pos {
|
||||||
|
height: 124rpx;
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.placeOrderBox {
|
||||||
|
padding-bottom: 100rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.oc-payment {
|
||||||
|
position: relative;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 100%;
|
||||||
|
padding: 0 10px;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.oc-payment-item {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
line-height: 70rpx;
|
||||||
|
font-size: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.oc-payment-method {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
font-size: 13px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.oc-payment-recommend {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
width: 30px;
|
||||||
|
height: 17px;
|
||||||
|
margin-left: 10px;
|
||||||
|
line-height: 17px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 11px;
|
||||||
|
color: #ff758c;
|
||||||
|
border-radius: 2px;
|
||||||
|
border: 1px solid #ff758c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.oc-payment-selected:after {
|
||||||
|
font-family: iconfont!important;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-style: normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
color: #ee2e3a;
|
||||||
|
content: "\e650";
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
line-height: 70rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.oc-payment-icon {
|
||||||
|
font-size: 36rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 新优惠券20190314 */
|
||||||
|
|
||||||
|
.coupon {
|
||||||
|
background-color: #fefefe;
|
||||||
|
position: relative;
|
||||||
|
padding: 0 20rpx;
|
||||||
|
border-radius: 6rpx;
|
||||||
|
margin-top: 24rpx;
|
||||||
|
box-shadow: 0 0 6rpx #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon:before,
|
||||||
|
.coupon:after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
width: 20rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
background: #f6f6f6;
|
||||||
|
top: 70rpx;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon:before {
|
||||||
|
border-radius: 0 40rpx 40rpx 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon:after {
|
||||||
|
border-radius: 40rpx 0 0 40rpx;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon .header {
|
||||||
|
display: flex;
|
||||||
|
padding: 15rpx 0;
|
||||||
|
border-bottom: 2rpx dashed #dbdbdb;
|
||||||
|
height: 140rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon .footer {
|
||||||
|
color: #747474;
|
||||||
|
font-size: 24rpx;
|
||||||
|
padding: 22rpx 0 20rpx 35rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon .price {
|
||||||
|
color: #333;
|
||||||
|
width: 175rpx;
|
||||||
|
text-align: center;
|
||||||
|
border-right: 2rpx dashed #dbdbdb;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon .price .reduce-price {
|
||||||
|
color: #000;
|
||||||
|
font-size: 38rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
padding-top: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon .price .reduce-price text {
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon .price .reduce-desc {
|
||||||
|
font-size: 20rpx;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon .info {
|
||||||
|
padding-left: 30rpx;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon .info .reduce-title {
|
||||||
|
color: #000;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
padding-top: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon .info .reduce-type {
|
||||||
|
color: #fff;
|
||||||
|
font-weight: normal;
|
||||||
|
font-size: 20rpx;
|
||||||
|
background: #4facfe;
|
||||||
|
padding: 2rpx 8rpx;
|
||||||
|
border-radius: 4rpx;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon .status {
|
||||||
|
width: 130rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon .status image {
|
||||||
|
width: 48rpx;
|
||||||
|
height: 48rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon.used,
|
||||||
|
.coupon.expired {
|
||||||
|
background: #fafafa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon.used .price,
|
||||||
|
.coupon.expired .price {
|
||||||
|
color: #949494;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon.used .reduce-price,
|
||||||
|
.coupon.expired .reduce-price,
|
||||||
|
.coupon.used .reduce-title,
|
||||||
|
.coupon.expired .reduce-title {
|
||||||
|
color: #7a7a7a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon.used .reduce-type,
|
||||||
|
.coupon.expired .reduce-type {
|
||||||
|
background: #00f2fe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coupon.used .footer,
|
||||||
|
.coupon.expired .footer {
|
||||||
|
color: #b6b6b6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.distance {
|
||||||
|
color: #4facfe;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*swtich样式-start*/
|
||||||
|
|
||||||
|
/*swtich整体大小*/
|
||||||
|
|
||||||
|
.wx-switch-input {
|
||||||
|
width: 82rpx!important;
|
||||||
|
height: 40rpx!important;
|
||||||
|
margin: 0!important;
|
||||||
|
padding: 0!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wx-switch-input::before {
|
||||||
|
width: 80rpx!important;
|
||||||
|
height: 36rpx!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wx-switch-input::after {
|
||||||
|
width: 38rpx!important;
|
||||||
|
height: 36rpx!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cart-header-left {
|
||||||
|
color: #008dd3;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 禁止访问 */
|
||||||
|
.forbid {
|
||||||
|
position: relative;
|
||||||
|
height: 100vh;
|
||||||
|
color: #999;
|
||||||
|
z-index: 9999;
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forbid .iconfont {
|
||||||
|
font-size: 200rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forbid .h1 {
|
||||||
|
font-size: 32rpx;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forbid .h2 {
|
||||||
|
font-size: 28rpx;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mp-account {
|
||||||
|
position: fixed;
|
||||||
|
left: 20rpx;
|
||||||
|
right: 20rpx;
|
||||||
|
bottom: 97rpx;
|
||||||
|
z-index: 100;
|
||||||
|
border: 1rpx solid #ccc;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
/* overflow: hidden; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.mp-account .iconfont {
|
||||||
|
position: absolute;
|
||||||
|
right: -10rpx;
|
||||||
|
top: -15rpx;
|
||||||
|
font-size: 35rpx;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 送达时间 */
|
||||||
|
.alertTtitle {
|
||||||
|
position: relative;
|
||||||
|
line-height: 100rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alertClose {
|
||||||
|
position: absolute;
|
||||||
|
right: 30rpx;
|
||||||
|
top: 0;
|
||||||
|
font-size: 36rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alertTimebox {
|
||||||
|
background-color: #fbf8fb;
|
||||||
|
height: 660rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alertTimebox .left_box,
|
||||||
|
.alertTimebox .right_box {
|
||||||
|
height: 100%;
|
||||||
|
overflow-y: auto;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alertTimebox .left_box {
|
||||||
|
color: #919191;
|
||||||
|
width: 45%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alertTimebox .left_box view,
|
||||||
|
.alertTimebox .right_box view {
|
||||||
|
text-align: center;
|
||||||
|
line-height: 90rpx;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alertTimebox .right_box view::before {
|
||||||
|
content: ' ';
|
||||||
|
width: 80%;
|
||||||
|
position: absolute;
|
||||||
|
left: 10%;
|
||||||
|
bottom: 0;
|
||||||
|
border: 1rpx dashed #f4f4f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alertTimebox .right_box view:last-child::before {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alertTimebox .right_box {
|
||||||
|
color: #222222;
|
||||||
|
width: 55%;
|
||||||
|
flex: 1;
|
||||||
|
background-color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alertTimebox .right_box .active {
|
||||||
|
position: relative;
|
||||||
|
color: #ff5344;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alertTimebox .left_box .active {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #222222;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alertTimebox .right_box .active::after {
|
||||||
|
content: ' ';
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
margin-top: -16rpx;
|
||||||
|
right: 50rpx;
|
||||||
|
width: 10rpx;
|
||||||
|
height: 20rpx;
|
||||||
|
border-color: #ff5344;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 0 3rpx 5rpx 0;
|
||||||
|
transform: rotate(45deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.alertTimebtn-item {
|
||||||
|
line-height: 88rpx;
|
||||||
|
color: #ffffff;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.localtownfare {
|
||||||
|
color: #999;
|
||||||
|
text-decoration: line-through;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.picktime {
|
||||||
|
font-size: 22rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presale-item {
|
||||||
|
padding: 15rpx 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presale-item-circle {
|
||||||
|
position: relative;
|
||||||
|
padding-left: 25rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presale-item-circle::before {
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
width: 14rpx;
|
||||||
|
height: 14rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #cccccc;
|
||||||
|
top: 50%;
|
||||||
|
margin-top: -7rpx;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presale-item.red .presale-item-circle::before {
|
||||||
|
background: #ff5344;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presale-item .presale-item-circle::after {
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
border-right: 1rpx solid #cccccc;
|
||||||
|
left: 7rpx;
|
||||||
|
bottom: 50%;
|
||||||
|
height: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.presale-item.red .presale-item-circle::after {
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
border-right: 1rpx solid #ff5344;
|
||||||
|
left: 7rpx;
|
||||||
|
top: 50%;
|
||||||
|
height: 30rpx;
|
||||||
|
}
|
|
@ -0,0 +1,447 @@
|
||||||
|
// pages/order/refund.js
|
||||||
|
var app = getApp()
|
||||||
|
Page({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
xarray: ['点击选择退款理由', '商品有质量问题', '没有收到货', '商品少发漏发发错', '商品与描述不一致', '收到商品时有划痕或破损', '质疑假货', '其他'],
|
||||||
|
index: 0,
|
||||||
|
refund_type: 1,
|
||||||
|
refund_imgs: [],
|
||||||
|
complaint_mobile: '',
|
||||||
|
refund_thumb_imgs: [],
|
||||||
|
complaint_desc: '',
|
||||||
|
order_id: 0,
|
||||||
|
order_status_id: -1,
|
||||||
|
complaint_name: '',
|
||||||
|
ref_id: 0,
|
||||||
|
complaint_money: 0,
|
||||||
|
refund_money: 0,
|
||||||
|
selArr: [],
|
||||||
|
refund_score: 0,
|
||||||
|
can_shipping_fare: 0
|
||||||
|
},
|
||||||
|
canRefund: true,
|
||||||
|
handlerGobackClick(delta) {
|
||||||
|
const pages = getCurrentPages();
|
||||||
|
if (pages.length >= 2) {
|
||||||
|
wx.navigateBack({
|
||||||
|
delta: delta
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handlerGohomeClick(url) {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad: function (options) {
|
||||||
|
let { id, order_goods_id, ref_id, delivery } = options;
|
||||||
|
let that = this;
|
||||||
|
this.setData({
|
||||||
|
order_id: id || 0,
|
||||||
|
order_goods_id: order_goods_id || 0,
|
||||||
|
ref_id: ref_id || 0,
|
||||||
|
delivery: delivery || ''
|
||||||
|
}, ()=> {
|
||||||
|
that.getData();
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
bindPickerChange: function (e) {
|
||||||
|
this.setData({
|
||||||
|
index: e.detail.value
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
choseImg: function () {
|
||||||
|
var self = this;
|
||||||
|
var refund_imgs = this.data.refund_imgs;
|
||||||
|
if (refund_imgs.length >= 3) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '最多三张图片',
|
||||||
|
icon: 'success',
|
||||||
|
duration: 1000
|
||||||
|
})
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
wx.chooseMedia({
|
||||||
|
count: 1, // 默认9
|
||||||
|
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||||
|
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||||
|
success: function (res) {
|
||||||
|
// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
|
||||||
|
const tempFiles = res.tempFiles;
|
||||||
|
|
||||||
|
wx.showLoading({
|
||||||
|
title: '上传中',
|
||||||
|
})
|
||||||
|
|
||||||
|
wx.uploadFile({
|
||||||
|
url: app.util.url('entry/wxapp/index', {'m':'eaterplanet_ecommerce','controller':'goods.doPageUpload'}), //仅为示例,非真实的接口地址
|
||||||
|
filePath: tempFiles[0].tempFilePath,
|
||||||
|
name: 'upfile',
|
||||||
|
formData: {
|
||||||
|
'name': tempFiles[0].tempFilePath
|
||||||
|
},
|
||||||
|
header: {
|
||||||
|
'content-type': 'multipart/form-data'
|
||||||
|
},
|
||||||
|
success: function (res) {
|
||||||
|
wx.hideLoading();
|
||||||
|
var data = JSON.parse(res.data);
|
||||||
|
var image_thumb = data.image_thumb;
|
||||||
|
var orign_image = data.image_o;
|
||||||
|
var new_img = self.data.refund_imgs;
|
||||||
|
var new_thumb_img = self.data.refund_thumb_imgs;
|
||||||
|
new_img.push(orign_image);
|
||||||
|
new_thumb_img.push(image_thumb);
|
||||||
|
self.setData({
|
||||||
|
refund_thumb_imgs: new_thumb_img,
|
||||||
|
refund_imgs: new_img
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
chose_type: function (event) {
|
||||||
|
let stype = event.currentTarget.dataset.rel;
|
||||||
|
this.setData({
|
||||||
|
refund_type: stype
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
cancle_img: function (event) {
|
||||||
|
let sr = event.currentTarget.dataset.sr;
|
||||||
|
var j = 0;
|
||||||
|
var refund_imgs = this.data.refund_imgs;
|
||||||
|
var refund_thumb_imgs = this.data.refund_thumb_imgs;
|
||||||
|
var new_refund_imgs = [];
|
||||||
|
var new_refund_thumb_imgs = [];
|
||||||
|
for (var i in refund_thumb_imgs) {
|
||||||
|
if (refund_thumb_imgs[i] == sr) {
|
||||||
|
console.log('find');
|
||||||
|
j = i;
|
||||||
|
} else {
|
||||||
|
new_refund_thumb_imgs.push(refund_thumb_imgs[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i in refund_imgs) {
|
||||||
|
if (i != j) {
|
||||||
|
new_refund_imgs.push(refund_imgs[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.setData({
|
||||||
|
refund_thumb_imgs: new_refund_thumb_imgs,
|
||||||
|
refund_imgs: new_refund_imgs
|
||||||
|
})
|
||||||
|
console.log(new_refund_thumb_imgs.length);
|
||||||
|
console.log(new_refund_imgs.length);
|
||||||
|
},
|
||||||
|
|
||||||
|
wenti_input: function (event) {
|
||||||
|
var content = event.detail.value;
|
||||||
|
//pinjia_text
|
||||||
|
this.setData({
|
||||||
|
complaint_desc: content
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
mobile_input: function (event) {
|
||||||
|
var content = event.detail.value;
|
||||||
|
this.setData({
|
||||||
|
complaint_mobile: content
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
name_input: function (event) {
|
||||||
|
var content = event.detail.value;
|
||||||
|
this.setData({
|
||||||
|
complaint_name: content
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
refund_money_input: function (event) {
|
||||||
|
var content = parseFloat(event.detail.value);
|
||||||
|
let refund_money = this.data.refund_money;
|
||||||
|
let data = {};
|
||||||
|
if (content > refund_money) {
|
||||||
|
let tip = `最大退款金额为${refund_money}`;
|
||||||
|
if(this.data.order_goods.type=='integral') { tip = `最大可退积分为${refund_money}` }
|
||||||
|
wx.showToast({
|
||||||
|
title: tip,
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1000
|
||||||
|
})
|
||||||
|
content = refund_money;
|
||||||
|
data.refund_money = refund_money;
|
||||||
|
}
|
||||||
|
data.complaint_money = content ? content : 0;
|
||||||
|
this.setData(data)
|
||||||
|
},
|
||||||
|
|
||||||
|
sub_refund: function () {
|
||||||
|
let that = this;
|
||||||
|
if (!that.canRefund) return;
|
||||||
|
console.log(that.canRefund)
|
||||||
|
let {
|
||||||
|
index,
|
||||||
|
xarray,
|
||||||
|
order_id,
|
||||||
|
order_goods_id,
|
||||||
|
refund_type,
|
||||||
|
refund_imgs,
|
||||||
|
complaint_desc,
|
||||||
|
complaint_mobile,
|
||||||
|
total,
|
||||||
|
complaint_name,
|
||||||
|
complaint_money,
|
||||||
|
// refund_money,
|
||||||
|
ref_id,
|
||||||
|
real_refund_quantity
|
||||||
|
} = this.data;
|
||||||
|
|
||||||
|
complaint_money = parseFloat(complaint_money);
|
||||||
|
|
||||||
|
if(real_refund_quantity<=0) {
|
||||||
|
this.errorToast('请选择退款商品');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (index == 0) {
|
||||||
|
this.errorToast('请选择问题类型');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var rfund_name = xarray[index];
|
||||||
|
|
||||||
|
if (complaint_money < 0) {
|
||||||
|
this.errorToast('请填写正确退款金额');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (complaint_money > total) complaint_money = total;
|
||||||
|
|
||||||
|
if (complaint_desc == '') {
|
||||||
|
this.errorToast('请填写正确问题描述');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (complaint_name == '') {
|
||||||
|
this.errorToast('请填写正确联系人');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (complaint_mobile == '') {
|
||||||
|
this.errorToast('请填写正确手机号');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|(19[0-9]{1}))+\d{8})$/;
|
||||||
|
if (!myreg.test(complaint_mobile)) {
|
||||||
|
this.errorToast('请填写正确手机号');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
let complaint_shipping_fare = this.data.order_goods.shipping_fare;
|
||||||
|
that.canRefund = false;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
app.util.request({
|
||||||
|
url: 'entry/wxapp/index',
|
||||||
|
data: {
|
||||||
|
controller: 'afterorder.refund_sub',
|
||||||
|
token,
|
||||||
|
ref_id,
|
||||||
|
order_id,
|
||||||
|
order_goods_id,
|
||||||
|
complaint_type: refund_type,
|
||||||
|
complaint_images: refund_imgs,
|
||||||
|
complaint_desc,
|
||||||
|
complaint_mobile,
|
||||||
|
complaint_reason: rfund_name,
|
||||||
|
complaint_money,
|
||||||
|
complaint_name,
|
||||||
|
real_refund_quantity,
|
||||||
|
complaint_shipping_fare
|
||||||
|
},
|
||||||
|
method: 'POST',
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (msg) {
|
||||||
|
wx.hideLoading();
|
||||||
|
if (msg.data.code == 3) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '未登录',
|
||||||
|
icon: 'loading',
|
||||||
|
duration: 1000
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else if (msg.data.code == 0) {
|
||||||
|
wx.showToast({
|
||||||
|
title: msg.data.msg,
|
||||||
|
icon: 'success',
|
||||||
|
duration: 1000
|
||||||
|
})
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
wx.showToast({
|
||||||
|
title: '申请成功',
|
||||||
|
icon: 'success',
|
||||||
|
duration: 3000,
|
||||||
|
success: function (res) {
|
||||||
|
wx.redirectTo({
|
||||||
|
url: "/eaterplanet_ecommerce/pages/order/order?id=" + that.data.order_id + '&delivery='+that.data.delivery
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
complete: ()=>{
|
||||||
|
setTimeout(()=>{
|
||||||
|
that.canRefund = true;
|
||||||
|
}, 1500)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
errorToast: function(msg) {
|
||||||
|
wx.showToast({
|
||||||
|
title: msg,
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1000
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取详情 20190711
|
||||||
|
*/
|
||||||
|
getData: function () {
|
||||||
|
const token = wx.getStorageSync('token');
|
||||||
|
var that = this;
|
||||||
|
const { order_id, order_goods_id, ref_id } = this.data;
|
||||||
|
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'afterorder.get_order_money',
|
||||||
|
token: token,
|
||||||
|
order_id,
|
||||||
|
order_goods_id,
|
||||||
|
ref_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (res) {
|
||||||
|
if (res.data.code == 1) {
|
||||||
|
const { order_goods, order_status_id, refund_image, refund_info, shipping_name, shipping_tel, total } = res.data;
|
||||||
|
let xarray = that.data.xarray;
|
||||||
|
let ref_name = refund_info.ref_name;
|
||||||
|
let index = xarray.findIndex((item) => (item == ref_name));
|
||||||
|
index = (index <= 0) ? 0 : index;
|
||||||
|
|
||||||
|
let { ref_description, ref_mobile, complaint_name, ref_money } = refund_info;
|
||||||
|
|
||||||
|
//商品数量
|
||||||
|
let { quantity, has_refund_quantity, has_refund_money, type, total_score } = order_goods;
|
||||||
|
let selArr = new Array(parseInt(quantity));
|
||||||
|
has_refund_quantity = parseInt(has_refund_quantity);
|
||||||
|
for(let i=0; i<selArr.length; i++){
|
||||||
|
if(i>=has_refund_quantity) {
|
||||||
|
selArr[i] = { isselect: true, isrefund: false };
|
||||||
|
} else {
|
||||||
|
selArr[i] = { isselect: true, isrefund: true };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let can_refund_money = (total*1 - has_refund_money*1).toFixed(2);
|
||||||
|
if(type=='integral') can_refund_money = (total_score*1 - has_refund_money*1).toFixed(2);
|
||||||
|
|
||||||
|
let real_refund_quantity = parseInt(quantity) - has_refund_quantity;
|
||||||
|
|
||||||
|
let can_shipping_fare = real_refund_quantity*order_goods.shipping_fare/parseInt(quantity);
|
||||||
|
|
||||||
|
if(order_goods && order_goods.price) {
|
||||||
|
order_goods.price = (order_goods.price*1).toFixed(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
that.setData({
|
||||||
|
order_goods,
|
||||||
|
order_status_id,
|
||||||
|
refund_image,
|
||||||
|
refund_info,
|
||||||
|
shipping_name,
|
||||||
|
shipping_tel,
|
||||||
|
total: can_refund_money,
|
||||||
|
index: index || 0,
|
||||||
|
complaint_desc: ref_description || '',
|
||||||
|
complaint_mobile: ref_mobile || shipping_tel,
|
||||||
|
complaint_name: complaint_name || shipping_name,
|
||||||
|
complaint_money: ref_money || can_refund_money,
|
||||||
|
refund_money: ref_money || can_refund_money,
|
||||||
|
selArr,
|
||||||
|
real_refund_quantity,
|
||||||
|
max_can_refund: ref_money || can_refund_money,
|
||||||
|
can_shipping_fare: can_shipping_fare.toFixed(2)
|
||||||
|
})
|
||||||
|
} else if (res.data.code == 3) {
|
||||||
|
//un login
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
goodsselect: function(e) {
|
||||||
|
let idx = e.target.dataset.idx;
|
||||||
|
let { selArr, order_goods, total } = this.data;
|
||||||
|
let selItem = { isselect: !selArr[idx].isselect, isrefund: selArr[idx].isrefund};
|
||||||
|
selArr[idx] = selItem;
|
||||||
|
|
||||||
|
// 均分计算可退款金额
|
||||||
|
let totNum = selArr.length || 0;
|
||||||
|
let num = 0;
|
||||||
|
let canfunnum = 0;
|
||||||
|
selArr.forEach(item=>{
|
||||||
|
if(!item.isrefund) canfunnum += 1;
|
||||||
|
if(item.isselect&&!item.isrefund) num += 1;
|
||||||
|
})
|
||||||
|
let danPrice = total/canfunnum;
|
||||||
|
let can_refund_money = danPrice*num;
|
||||||
|
let refund_score = order_goods.one_goods_score*num;
|
||||||
|
|
||||||
|
// 均分配送费
|
||||||
|
let shipping_fare = order_goods.shipping_fare || 0;
|
||||||
|
let dan_shipping_fare = shipping_fare/totNum;
|
||||||
|
let can_shipping_fare = dan_shipping_fare*num;
|
||||||
|
|
||||||
|
if(can_refund_money>total || totNum==num){
|
||||||
|
can_refund_money = total*1;
|
||||||
|
refund_score = order_goods.use_score;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(can_shipping_fare>shipping_fare || totNum==num){
|
||||||
|
can_shipping_fare = shipping_fare*1;
|
||||||
|
}
|
||||||
|
|
||||||
|
let max_can_refund = can_refund_money.toFixed(2);
|
||||||
|
can_shipping_fare = can_shipping_fare.toFixed(2);
|
||||||
|
|
||||||
|
this.setData({
|
||||||
|
selArr,
|
||||||
|
real_refund_quantity: num,
|
||||||
|
complaint_money: can_refund_money,
|
||||||
|
refund_money: can_refund_money.toFixed(2),
|
||||||
|
refund_score,
|
||||||
|
max_can_refund,
|
||||||
|
can_shipping_fare
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"usingComponents": {
|
||||||
|
"ep-navBar": "../../components/navigation-bar",
|
||||||
|
"i-img": "../../components/img/index"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,126 @@
|
||||||
|
<ep-navBar title="售后申请" background='#4facfe' back="{{true}}" iconTheme='white' color='#fff' bindback="handlerGobackClick"/>
|
||||||
|
<view class="wrap">
|
||||||
|
<view class="goods">
|
||||||
|
<view class="goods-item">
|
||||||
|
<view class="goods-item-l">
|
||||||
|
<i-img height="60" iClass="show-img" lazyLoad="true" loadImage="{{order_goods.goods_images}}" width="60"></i-img>
|
||||||
|
</view>
|
||||||
|
<view class="goods-item-r">
|
||||||
|
<view class="name">{{order_goods.name}}</view>
|
||||||
|
<block wx:if="{{order_goods.type=='integral'}}">
|
||||||
|
<view class="mount">
|
||||||
|
<block wx:if="{{order_goods.option_str}}">{{order_goods.option_str}} </block>{{order_goods.price}}积分 x {{order_goods.quantity}}
|
||||||
|
</view>
|
||||||
|
<view class="price">{{order_goods.total_score}}积分</view>
|
||||||
|
</block>
|
||||||
|
<block wx:else>
|
||||||
|
<view class="mount">
|
||||||
|
<block wx:if="{{order_goods.option_str}}">{{order_goods.option_str}} </block>¥{{order_goods.price}} x {{order_goods.quantity}}
|
||||||
|
</view>
|
||||||
|
<view class="price">¥{{total}}</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell-col">
|
||||||
|
<view class="tit">退款数量:</view>
|
||||||
|
<view class="ll">
|
||||||
|
<block wx:if="{{selArr&&selArr.length}}" wx:for="{{selArr}}" wx:key="index">
|
||||||
|
<label class="i-flex i-flex-alc fsz-26 mb10 {{item.isrefund?'isrefund':''}}">
|
||||||
|
<view class="checkbox" wx:if="{{item.isrefund}}">
|
||||||
|
<image class="checkbox-img" src="../../images/checkbox-disabled.png"></image>
|
||||||
|
</view>
|
||||||
|
<checkbox-group bindchange="goodsselect" data-idx="{{index}}" wx:else>
|
||||||
|
<view class="checkbox">
|
||||||
|
<image class="checkbox-img" src="../../images/checkbox-checked.png" wx:if="{{item.isselect}}"></image>
|
||||||
|
<image class="checkbox-img" src="../../images/checkbox-disabled.png" wx:else></image>
|
||||||
|
<checkbox hidden checked="{{item.isselect}}" value="{{item.isselect}}"></checkbox>
|
||||||
|
</view>
|
||||||
|
</checkbox-group>
|
||||||
|
<view class="mx10 i-flex-item text-overflow1">{{order_goods.name}}</view>
|
||||||
|
<!-- <view class="red fsz-28 weight">¥{{order_goods.price}}</view> -->
|
||||||
|
</label>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell">
|
||||||
|
<view class="cell-hd">售后类型:</view>
|
||||||
|
<view class="cell-bd">申请退款</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell">
|
||||||
|
<view class="cell-hd">问题类型:</view>
|
||||||
|
<view class="cell-bd">
|
||||||
|
<picker bindchange="bindPickerChange" value="{{index}}" range="{{xarray}}">
|
||||||
|
<view class="picker">
|
||||||
|
{{xarray[index]}}
|
||||||
|
</view>
|
||||||
|
</picker>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell">
|
||||||
|
<view class="cell-hd">退款金额:</view>
|
||||||
|
<view class="cell-bd i-flex" wx:if="{{order_goods.type=='integral'}}">
|
||||||
|
|
||||||
|
<input class='cell-ipt i-flex-item i-aic' value="{{refund_money}}" bindinput="refund_money_input" type="text" placeholder="最高可退 {{refund_money}}积分"></input> <text style="margin-top:2px;margin-left:3px;">积分</text>
|
||||||
|
</view>
|
||||||
|
<view class="cell-bd" wx:else>
|
||||||
|
<input class='cell-ipt' value="{{refund_money}}" bindinput="refund_money_input" type="text" placeholder="最高可退款 ¥{{max_can_refund}}"></input>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<block wx:if="{{order_goods.use_score>0}}">
|
||||||
|
<view class="cell">
|
||||||
|
<view class="cell-hd">积分抵扣金额:</view>
|
||||||
|
<view class="cell-bd">¥{{order_goods.score_for_money}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell">
|
||||||
|
<view class="cell-hd">可退积分:</view>
|
||||||
|
<view class="cell-bd">{{refund_score?refund_score:order_goods.use_score}}积分</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view class="cell">
|
||||||
|
<view class="cell-hd">可退配送费:</view>
|
||||||
|
<view class="cell-bd">
|
||||||
|
<view>¥{{can_shipping_fare}}</view>
|
||||||
|
<view class="fsz-22 text-gray" wx:if="{{order_goods.shipping_fare==0}}">无配送费</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell-col">
|
||||||
|
<view class="tit">商品问题描述:</view>
|
||||||
|
<textarea class='cell-textarea' bindinput="wenti_input" maxlength="1000" placeholder="问题描述越详细,可以提高您的申请成功率哦~" value="{{complaint_desc}}"></textarea>
|
||||||
|
</view>
|
||||||
|
<view class='cell-col'>
|
||||||
|
<view class="tit">上传凭证图片(最多三张)</view>
|
||||||
|
<view class='img-wrap'>
|
||||||
|
<view class="image_uploader_image" wx:for="{{refund_thumb_imgs}}" wx:key="index">
|
||||||
|
<image class="image_uploader_image_img_portrait" src="{{item}}"> </image>
|
||||||
|
<view class="image_uploader_image_delete" data-sr="{{item}}" bindtap='cancle_img'>-</view>
|
||||||
|
</view>
|
||||||
|
<view class="image_uploader_selector" bindtap='choseImg'>
|
||||||
|
<view class="image_uploader_indicate">+</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell">
|
||||||
|
<view class="cell-hd">联系人:</view>
|
||||||
|
<view class="cell-bd">
|
||||||
|
<input class='cell-ipt' value="{{complaint_name}}" bindinput="name_input" type="text" maxlength="20" placeholder="请输入联系人"></input>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell">
|
||||||
|
<view class="cell-hd">联系方式:</view>
|
||||||
|
<view class="cell-bd">
|
||||||
|
<input class='cell-ipt' value="{{complaint_mobile}}" bindinput="mobile_input" type="number" maxlength="20" placeholder="请输入手机号"></input>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="submit_button">
|
||||||
|
<view class="span" bindtap='sub_refund'>提交申请</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class='note'>
|
||||||
|
<view class='note-tit'>退款须知</view>
|
||||||
|
<view class="article">
|
||||||
|
<view class="p">请按照提示关注维权进度和超时提醒并提供相应凭证。</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
|
@ -0,0 +1,222 @@
|
||||||
|
.goods {
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-item {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
padding: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-item::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
border-bottom: 1px solid #e5e5e5;
|
||||||
|
transform-origin: 0 0;
|
||||||
|
transform: scaleY(0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-item-r {
|
||||||
|
flex: 1;
|
||||||
|
margin-left: 20rpx;
|
||||||
|
width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.show-img {
|
||||||
|
width: 120rpx;
|
||||||
|
height: 120rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.name {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #444;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mount {
|
||||||
|
font-size: 22rpx;
|
||||||
|
color: #aaa;
|
||||||
|
margin-top: 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-item .price {
|
||||||
|
display: block;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #444;
|
||||||
|
margin-top: 14rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 30rpx;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
border-bottom: 1px solid #e5e5e5;
|
||||||
|
transform-origin: 0 0;
|
||||||
|
transform: scaleY(0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell-hd,
|
||||||
|
.tit {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell-col {
|
||||||
|
position: relative;
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 20rpx 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell-col .tit {
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell-col::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
border-bottom: 1px solid #e5e5e5;
|
||||||
|
transform-origin: 0 0;
|
||||||
|
transform: scaleY(0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.image_uploader_selector {
|
||||||
|
width: 56px;
|
||||||
|
height: 56px;
|
||||||
|
border: 1px dashed #ccc;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image_uploader_indicate {
|
||||||
|
position: absolute;
|
||||||
|
font-size: 32px;
|
||||||
|
color: #ccc;
|
||||||
|
width: 56px;
|
||||||
|
height: 56px;
|
||||||
|
line-height: 52px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell-ipt {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell-textarea {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.submit_button {
|
||||||
|
height: 70rpx;
|
||||||
|
line-height: 70rpx;
|
||||||
|
top: 10px;
|
||||||
|
position: relative;
|
||||||
|
border-top: 1px solid #eee;
|
||||||
|
text-align: center;
|
||||||
|
margin: 15px 30rpx 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.submit_button .span {
|
||||||
|
padding: 5px 20px;
|
||||||
|
font-size: 15px;
|
||||||
|
color: #fff;
|
||||||
|
background-color: #4facfe;
|
||||||
|
position: relative;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.note {
|
||||||
|
padding: 30rpx 30rpx 100rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.note-tit {
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.article .p {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #666;
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image_uploader_image {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
width: 56px;
|
||||||
|
height: 56px;
|
||||||
|
border: 1px dashed #e6e6e6;
|
||||||
|
padding: 1px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin-right: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image_uploader_image image {
|
||||||
|
width: 52px;
|
||||||
|
height: auto;
|
||||||
|
max-width: 52px;
|
||||||
|
max-height: 52px;
|
||||||
|
overflow: hidden;
|
||||||
|
margin: auto;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image_uploader_image .image_uploader_image_img_portrait {
|
||||||
|
width: auto !important;
|
||||||
|
height: 52px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image_uploader_image .image_uploader_image_delete {
|
||||||
|
border-radius: 50%;
|
||||||
|
-webkit-border-radius: 50%;
|
||||||
|
position: absolute;
|
||||||
|
right: -8px;
|
||||||
|
top: -8px;
|
||||||
|
background-color: #4facfe;
|
||||||
|
line-height: 20px;
|
||||||
|
height: 20px;
|
||||||
|
width: 20px;
|
||||||
|
text-align: center;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkbox {
|
||||||
|
width: 50rpx;
|
||||||
|
height: 50rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkbox .checkbox-img {
|
||||||
|
width: 48rpx;
|
||||||
|
height: 48rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.isrefund {
|
||||||
|
text-decoration: line-through;
|
||||||
|
}
|
|
@ -0,0 +1,154 @@
|
||||||
|
// pages/order/refunddetail.js
|
||||||
|
var util = require('../../utils/util.js');
|
||||||
|
var app = getApp()
|
||||||
|
Page({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
ref_id: 0,
|
||||||
|
order_goods: {}, // 20190712
|
||||||
|
order_id: 0,
|
||||||
|
order_info: {},
|
||||||
|
order_refund: {},
|
||||||
|
order_refund_historylist: [],
|
||||||
|
refund_images: []
|
||||||
|
},
|
||||||
|
handlerGobackClick(delta) {
|
||||||
|
const pages = getCurrentPages();
|
||||||
|
if (pages.length >= 2) {
|
||||||
|
wx.navigateBack({
|
||||||
|
delta: delta
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handlerGohomeClick(url) {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad: function(options) {
|
||||||
|
var ref_id = options.id;
|
||||||
|
var that = this;
|
||||||
|
this.setData({
|
||||||
|
ref_id: ref_id
|
||||||
|
}, ()=>{
|
||||||
|
//20190711
|
||||||
|
that.getData();
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面显示
|
||||||
|
*/
|
||||||
|
onShow: function() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面相关事件处理函数--监听用户下拉动作
|
||||||
|
*/
|
||||||
|
onPullDownRefresh: function() {
|
||||||
|
this.getData();
|
||||||
|
},
|
||||||
|
|
||||||
|
sub_cancle: function() {
|
||||||
|
var order_id = this.data.order_id;
|
||||||
|
var ref_id = this.data.ref_id;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
var that = this;
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/user',
|
||||||
|
'data': {
|
||||||
|
controller: 'user.cancel_refund',
|
||||||
|
'token': token,
|
||||||
|
ref_id: ref_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(res) {
|
||||||
|
if (res.data.code == 3) {
|
||||||
|
//un login
|
||||||
|
} else if (res.data.code == 1) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '撤销成功',
|
||||||
|
icon: 'success',
|
||||||
|
duration: 1000,
|
||||||
|
success: function(res) {
|
||||||
|
wx.redirectTo({
|
||||||
|
url: "/eaterplanet_ecommerce/pages/order/order?id=" + order_id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
getData: function() {
|
||||||
|
var ref_id = this.data.ref_id;
|
||||||
|
var token = wx.getStorageSync('token');
|
||||||
|
var that = this;
|
||||||
|
app.util.request({
|
||||||
|
url: 'entry/wxapp/user',
|
||||||
|
data: {
|
||||||
|
controller: 'afterorder.refunddetail',
|
||||||
|
token,
|
||||||
|
ref_id
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (res) {
|
||||||
|
wx.stopPullDownRefresh();
|
||||||
|
if (res.data.code == 3) {
|
||||||
|
//un login
|
||||||
|
} else if (res.data.code == 1) {
|
||||||
|
const { order_goods, order_id, order_info, order_refund, order_refund_historylist, refund_images } = res.data;
|
||||||
|
that.setData({ order_goods, order_id, order_info, order_refund, order_refund_historylist, refund_images })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 撤销申请
|
||||||
|
*/
|
||||||
|
cancelApply: function () {
|
||||||
|
let that = this;
|
||||||
|
wx.showModal({
|
||||||
|
title: '撤销申请',
|
||||||
|
content: '退款申诉一旦撤销就不可恢复,并且不可以再次申请,确定要撤销本次申诉吗?',
|
||||||
|
confirmText: '我要撤销',
|
||||||
|
confirmColor: '#ff5344',
|
||||||
|
cancelText: '暂不撤销',
|
||||||
|
cancelColor: '#666666',
|
||||||
|
success(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
that.sub_cancle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改申请
|
||||||
|
*/
|
||||||
|
editApply: function (){
|
||||||
|
const { order_goods, order_refund, } = this.data;
|
||||||
|
let ref_id = order_refund.ref_id || 0;
|
||||||
|
let order_id = order_goods.order_id || 0;
|
||||||
|
let order_goods_id = order_goods.order_goods_id || 0;
|
||||||
|
|
||||||
|
ref_id && order_id && order_goods_id && wx.navigateTo({
|
||||||
|
url: `/eaterplanet_ecommerce/pages/order/refund?ref_id=${ref_id}&id=${order_id}&order_goods_id=${order_goods_id}`,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"enablePullDownRefresh": true,
|
||||||
|
"usingComponents": {
|
||||||
|
"ep-navBar": "../../components/navigation-bar",
|
||||||
|
"i-img": "../../components/img/index"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,58 @@
|
||||||
|
<ep-navBar title="售后进度" background='#4facfe' back="{{true}}" iconTheme='white' color='#fff' bindback="handlerGobackClick"/>
|
||||||
|
<view class='wrap'>
|
||||||
|
<view class='details'>
|
||||||
|
<view class='tit'>审核进度:</view>
|
||||||
|
<view class="timeline" wx:if="{{order_refund_historylist.length}}">
|
||||||
|
<!-- timeline-first-item timeline-last-item -->
|
||||||
|
<view class="timeline-item timeline-first-item" wx:for="{{order_refund_historylist}}" wx:key="index">
|
||||||
|
<view class="timeline-item-divider"></view>
|
||||||
|
<view class="timeline-item-content">
|
||||||
|
<view>{{item.message}}</view>
|
||||||
|
<view class="datetime">{{item.addtime}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="noplan" wx:else>暂无记录</view>
|
||||||
|
</view>
|
||||||
|
<view class="details" style="display:none;">
|
||||||
|
<view class='tit'>审核留言:</view>
|
||||||
|
<view class="content">审核成功</view>
|
||||||
|
</view>
|
||||||
|
<view class="details">
|
||||||
|
<view class='tit'>审核详情:</view>
|
||||||
|
<view class="goods">
|
||||||
|
<view class="goods-item">
|
||||||
|
<view class="goods-item-l">
|
||||||
|
<i-img height="60" iClass="show-img" lazyLoad="true" loadImage="{{order_goods.goods_images}}" width="60"></i-img>
|
||||||
|
</view>
|
||||||
|
<view class="goods-item-r">
|
||||||
|
<view class="name">{{order_goods.name}}</view>
|
||||||
|
<view class="mount">
|
||||||
|
<block wx:if="{{order_goods.option_str}}">{{order_goods.option_str}} </block>¥{{order_goods.price}} x {{order_goods.quantity}}
|
||||||
|
</view>
|
||||||
|
<view class="price">¥{{order_goods.total}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="ll">实际退款金额:<text>¥{{order_refund.ref_money}}</text></view>
|
||||||
|
<view class="ll">问题类型:<text>{{order_refund.ref_name}}</text></view>
|
||||||
|
<view class="ll" wx:if="{{order_refund.complaint_name}}">联系人: <text>{{order_refund.complaint_name}}</text></view>
|
||||||
|
<view class="ll">联系方式: <text>{{order_refund.ref_mobile}}</text></view>
|
||||||
|
<!-- <view class="ll">问题商品占比:<text>100%</text></view> -->
|
||||||
|
</view>
|
||||||
|
<view class="details" wx:if="{{refund_images.length}}">
|
||||||
|
<view class='tit'>商品图片:</view>
|
||||||
|
<view class="img-list">
|
||||||
|
<i-img iClass="img" lazyLoad="true" loadImage="{{item.thumb_image}}" width="100" height="100" wx:for="{{refund_images}}" wx:key="{{index}}"></i-img>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="details">
|
||||||
|
<view class='tit'>问题描述:</view>
|
||||||
|
<view class="content">{{order_refund.ref_description}}</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="btn" wx:if="{{order_refund.state==0}}">
|
||||||
|
<view class="btn-item bule" bindtap='cancelApply'>撤销申请</view>
|
||||||
|
<view class="btn-item red" bindtap='editApply'>修改申请</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
|
@ -0,0 +1,172 @@
|
||||||
|
.wrap {
|
||||||
|
padding-bottom: 100rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.details {
|
||||||
|
padding: 30rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tit {
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-item {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
position: relative;
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-item .timeline-item-keynode {
|
||||||
|
width: 160rpx;
|
||||||
|
flex-shrink: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-right: 20rpx;
|
||||||
|
text-align: right;
|
||||||
|
line-height: 65rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-item .timeline-item-divider {
|
||||||
|
flex-shrink: 0;
|
||||||
|
position: relative;
|
||||||
|
width: 30rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
top: 6rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
background-color: #bbb;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-item-divider::before, .timeline-item-divider::after {
|
||||||
|
position: absolute;
|
||||||
|
left: 15rpx;
|
||||||
|
width: 1rpx;
|
||||||
|
height: 100vh;
|
||||||
|
content: '';
|
||||||
|
background: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-item-divider::before {
|
||||||
|
bottom: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-item-divider::after {
|
||||||
|
top: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline .timeline-item:last-child .timeline-item-divider:after {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline .timeline-item:first-child .timeline-item-divider:before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-item .timeline-item-content {
|
||||||
|
padding-left: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-last-item .bottom-border::after {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-item-content .datetime {
|
||||||
|
color: #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods {
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-item {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
padding: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-item-r {
|
||||||
|
flex: 1;
|
||||||
|
margin-left: 20rpx;
|
||||||
|
width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.show-img {
|
||||||
|
width: 120rpx;
|
||||||
|
height: 120rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.name {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #444;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mount {
|
||||||
|
font-size: 22rpx;
|
||||||
|
color: #aaa;
|
||||||
|
margin-top: 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-item .price {
|
||||||
|
display: block;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #444;
|
||||||
|
margin-top: 14rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-list {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-list .img {
|
||||||
|
width: 200rpx;
|
||||||
|
height: 200rpx;
|
||||||
|
margin-right: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ll {
|
||||||
|
color: #666;
|
||||||
|
line-height: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ll text {
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
display: flex;
|
||||||
|
line-height: 98rpx;
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-item {
|
||||||
|
flex: 1;
|
||||||
|
text-align: center;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-item.red {
|
||||||
|
background: linear-gradient(270deg,#ff758c 0%,#ff7eb3 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-item.bule {
|
||||||
|
background: linear-gradient(90deg,#4facfe 0%,#00f2fe 100%);
|
||||||
|
}
|
|
@ -0,0 +1,109 @@
|
||||||
|
var app = getApp();
|
||||||
|
var status = require('../../utils/index.js');
|
||||||
|
|
||||||
|
Page({
|
||||||
|
data: {
|
||||||
|
order: [],
|
||||||
|
groupInfo: {
|
||||||
|
group_name: '社区',
|
||||||
|
owner_name: '团长'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handlerGobackClick(delta) {
|
||||||
|
const pages = getCurrentPages();
|
||||||
|
if (pages.length >= 2) {
|
||||||
|
wx.navigateBack({
|
||||||
|
delta: delta
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handlerGohomeClick(url) {
|
||||||
|
wx.switchTab({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad: function (options) {
|
||||||
|
let that = this;
|
||||||
|
status.setGroupInfo().then((groupInfo) => {
|
||||||
|
that.setData({ groupInfo })
|
||||||
|
});
|
||||||
|
let order_id = options.order_id || 0;
|
||||||
|
if (order_id == undefined || !order_id){
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/index/index',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
wx.showLoading();
|
||||||
|
this.getData(order_id);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面显示
|
||||||
|
*/
|
||||||
|
onShow: function () {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取数据
|
||||||
|
*/
|
||||||
|
getData: function (order_id) {
|
||||||
|
let that = this;
|
||||||
|
app.util.request({
|
||||||
|
'url': 'entry/wxapp/index',
|
||||||
|
'data': {
|
||||||
|
controller: 'order.order_share_info',
|
||||||
|
id: order_id,
|
||||||
|
is_share: 1
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
method: 'POST',
|
||||||
|
success: function (res) {
|
||||||
|
wx.hideLoading();
|
||||||
|
if(res.data.code == 0){
|
||||||
|
let order = res.data.data;
|
||||||
|
let order_info = order.order_info || '';
|
||||||
|
if (order_info){
|
||||||
|
let { shipping_name, shipping_address } = order_info;
|
||||||
|
shipping_name = that.formatData(shipping_name, 2);
|
||||||
|
shipping_address = that.formatData(shipping_address, 6);
|
||||||
|
order.order_info.shipping_name = shipping_name;
|
||||||
|
order.order_info.shipping_address = shipping_address;
|
||||||
|
}
|
||||||
|
|
||||||
|
that.setData({ order })
|
||||||
|
} else {
|
||||||
|
app.util.message(res.data.msg || '请求出错', '', 'error');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 去商品详情
|
||||||
|
*/
|
||||||
|
goGoodsDetails: function(e){
|
||||||
|
let id = e.currentTarget.dataset.id || 0;
|
||||||
|
let head_id = this.data.order.order_info.head_id || '';
|
||||||
|
wx.navigateTo({
|
||||||
|
url: '/eaterplanet_ecommerce/pages/goods/goodsDetail?id=' + id + '&community_id=' + head_id,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
formatData: function(str, len) {
|
||||||
|
str = str+"";
|
||||||
|
len = str.length > 3 ? len : 1;
|
||||||
|
if (str.length > len) {
|
||||||
|
return str.substr(0, str.length - len) + new Array(len+1).join('*');
|
||||||
|
} else {
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"navigationBarTitleText": "订单详情",
|
||||||
|
"navigationBarBackgroundColor": "#4facfe",
|
||||||
|
"navigationBarTextStyle": "white",
|
||||||
|
"usingComponents": {
|
||||||
|
"ep-navBar": "../../components/navigation-bar",
|
||||||
|
"i-order-info-express": "../../components/order/orderInfoExpress",
|
||||||
|
"i-goods-info": "../../components/goodsInfo/index",
|
||||||
|
"i-order-info": "../../components/orderInfo/index",
|
||||||
|
"i-card": "../../components/card/index",
|
||||||
|
"i-aside-btn": "../../components/asideBtn/index"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,44 @@
|
||||||
|
<ep-navBar title="订单详情" background='#4facfe' back="{{true}}" iconTheme='white' color='#fff' bindback="handlerGobackClick"/>
|
||||||
|
<view class="content">
|
||||||
|
<view class='order-status'>
|
||||||
|
<view class='user-info'><image src='{{order.order_info.avatar}}'></image> <span>我付款了,{{groupInfo.owner_name}}请接单!</span></view>
|
||||||
|
</view>
|
||||||
|
<view class="goods-info" wx:if="{{order.order_info.delivery!='pickup'}}">
|
||||||
|
<i-order-info-express order="{{order}}" wx:if="{{order.order_info}}" hideInfo="{{true}}" groupInfo="{{groupInfo}}"></i-order-info-express>
|
||||||
|
</view>
|
||||||
|
<view class="goods-info" wx:elif="{{order.order_info.order_status_id!=3&&order.order_info.order_status_id!=5}}">
|
||||||
|
<i-goods-info order="{{order}}" wx:if="{{order.order_info}}" hideInfo="{{true}}" groupInfo="{{groupInfo}}"></i-goods-info>
|
||||||
|
</view>
|
||||||
|
<view class="goods-card">
|
||||||
|
<i-card>
|
||||||
|
<view class="header" slot="header">商品详情</view>
|
||||||
|
<view class="middle" slot="content">
|
||||||
|
<block wx:for="{{order.order_goods_list}}" wx:for-item="goodsInfo" wx:key="id">
|
||||||
|
<view class="middle-line"></view>
|
||||||
|
<view class='each-item'>
|
||||||
|
<view style="margin-right: 10px">
|
||||||
|
<image src='{{goodsInfo.image}}' width="60" height="60" class='show-img'></image>
|
||||||
|
</view>
|
||||||
|
<view style="flex-grow: 1 ">
|
||||||
|
<view class="name bold-text">{{goodsInfo.name}}</view>
|
||||||
|
<view class="mount">
|
||||||
|
<block wx:if="{{goodsInfo.option_str}}">规格:{{goodsInfo.option_str}} </block>数量:{{goodsInfo.quantity}}</view>
|
||||||
|
<view class="bottom-info">
|
||||||
|
<view class='bold-text'>¥{{goodsInfo.price}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="card-btn">
|
||||||
|
<view bindtap="goGoodsDetails" data-id="{{goodsInfo.goods_id}}" class="btn-3 mar-left-8">我也买</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view slot="footer"></view>
|
||||||
|
</i-card>
|
||||||
|
</view>
|
||||||
|
<view class="order-info">
|
||||||
|
<i-order-info orderInfo="{{order.order_info}}" order_goods_list="{{order.order_goods_list}}"></i-order-info>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<i-aside-btn showHome="{{true}}"></i-aside-btn>
|
||||||
|
</view>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue