You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

125 lines
3.5 KiB

Page({
data: {
productName: '',
category: '',
specification: '',
price: 0,
quantity: 1,
totalPrice: 0,
loading: false,
error: ''
},
onLoad(options) {
console.log('接收到的参数:', options);
// 即使参数不完整,也要尝试获取并设置
const productName = options.productName ? decodeURIComponent(options.productName) : '';
const category = options.category ? decodeURIComponent(options.category) : '';
const specification = options.specification ? decodeURIComponent(options.specification) : '';
let price = 0;
if (options.price) {
const decodedPrice = decodeURIComponent(options.price);
console.log('解码后的价格:', decodedPrice);
price = parseFloat(decodedPrice) || 0;
}
console.log('解析后的参数:', { productName, category, specification, price });
this.setData({
productName: productName,
category: category,
specification: specification,
price: price,
totalPrice: 0 // 初始时总价为0,不显示
});
},
// 件数输入变化
onQuantityChange(e) {
const quantity = parseInt(e.detail.value) || 1;
this.setData({
quantity: quantity
// 只更新件数,不更新总价,等待点击计算按钮
});
},
// 减少数量
decreaseQuantity() {
if (this.data.quantity > 1) {
this.setData({
quantity: this.data.quantity - 1
});
}
},
// 增加数量
increaseQuantity() {
this.setData({
quantity: this.data.quantity + 1
});
},
// 计算价格
calculatePrice() {
const totalPrice = Math.round(this.data.price * this.data.quantity * 10) / 10;
this.setData({
totalPrice: totalPrice
});
wx.showToast({
title: '计算完成',
icon: 'success',
duration: 1000
});
},
// 返回上一页
goBack() {
wx.navigateBack();
},
// 下拉刷新
onPullDownRefresh() {
console.log('开始下拉刷新');
// 重新加载页面数据
// 由于spec-detail页面的数据是通过URL参数传递的,这里可以重新获取参数并设置数据
const options = this.options || {};
const productName = options.productName ? decodeURIComponent(options.productName) : '';
const category = options.category ? decodeURIComponent(options.category) : '';
const specification = options.specification ? decodeURIComponent(options.specification) : '';
let price = 0;
if (options.price) {
const decodedPrice = decodeURIComponent(options.price);
price = parseFloat(decodedPrice) || 0;
}
this.setData({
productName: productName,
category: category,
specification: specification,
price: price,
totalPrice: 0 // 初始时总价为0,不显示
});
// 结束下拉刷新
wx.stopPullDownRefresh();
},
// 分享配置
onShareAppMessage() {
return {
title: '专业的估价平台,专为估蛋而生',
imageUrl: 'https://my-supplier-photos.oss-cn-chengdu.aliyuncs.com/products/%E7%BD%97%E6%9B%BC%E7%81%B0/image/c00cbcbfd12d747b44621701aed2ae02.jpeg',
path: '/pages/evaluate2/spec-detail'
};
},
// 朋友圈分享配置
onShareTimeline() {
return {
title: '专业的估价平台,专为估蛋而生',
imageUrl: 'https://my-supplier-photos.oss-cn-chengdu.aliyuncs.com/products/%E7%BD%97%E6%9B%BC%E7%81%B0/image/c00cbcbfd12d747b44621701aed2ae02.jpeg',
query: ''
};
}
});