|
|
|
|
// pages/evaluate/index.js
|
|
|
|
|
//估价页面
|
|
|
|
|
const api = require('../../utils/api.js');
|
|
|
|
|
|
|
|
|
|
Page({
|
|
|
|
|
// 分享给朋友/群聊
|
|
|
|
|
onShareAppMessage() {
|
|
|
|
|
return {
|
|
|
|
|
title: '鸡蛋贸易平台 - 智能估价,专业分析',
|
|
|
|
|
path: '/pages/evaluate/index',
|
|
|
|
|
imageUrl: '/images/你有好蛋.png'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 分享到朋友圈
|
|
|
|
|
onShareTimeline() {
|
|
|
|
|
return {
|
|
|
|
|
title: '鸡蛋贸易平台 - 智能估价,专业分析',
|
|
|
|
|
query: '',
|
|
|
|
|
imageUrl: '/images/你有好蛋.png'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
data: {
|
|
|
|
|
evaluateStep: 1,
|
|
|
|
|
fromPreviousStep: false, // 用于标记是否从下一步返回
|
|
|
|
|
evaluateData: {
|
|
|
|
|
region: '',
|
|
|
|
|
breed: '',
|
|
|
|
|
spec: '',
|
|
|
|
|
freshness: '',
|
|
|
|
|
size: '',
|
|
|
|
|
packaging: '',
|
|
|
|
|
quantity: ''
|
|
|
|
|
},
|
|
|
|
|
// 客户地区列表 - 省市二级联动数据
|
|
|
|
|
provinceCities: {
|
|
|
|
|
'北京': ['北京'],
|
|
|
|
|
'河北': ['石家庄', '唐山', '秦皇岛', '邯郸', '邢台', '保定', '张家口', '承德', '沧州', '廊坊', '衡水'],
|
|
|
|
|
'四川': ['成都', '自贡', '攀枝花', '泸州', '德阳', '绵阳', '广元', '遂宁', '内江', '乐山', '南充', '眉山', '宜宾', '广安', '达州', '雅安', '巴中', '资阳'],
|
|
|
|
|
'云南': ['昆明', '曲靖', '玉溪', '保山', '昭通', '丽江', '普洱', '临沧', '楚雄', '红河', '文山', '西双版纳', '大理', '德宏', '怒江', '迪庆'],
|
|
|
|
|
'贵州': ['贵阳', '六盘水', '遵义', '安顺', '毕节', '铜仁', '黔西南', '黔东南', '黔南']
|
|
|
|
|
},
|
|
|
|
|
// 省份列表
|
|
|
|
|
provinces: [],
|
|
|
|
|
// 城市列表
|
|
|
|
|
cities: [],
|
|
|
|
|
// 当前选中的省份
|
|
|
|
|
selectedProvince: '',
|
|
|
|
|
// 当前是否显示城市选择
|
|
|
|
|
showCities: false,
|
|
|
|
|
evaluateResult: {
|
|
|
|
|
finalPrice: '0',
|
|
|
|
|
totalPrice: '0',
|
|
|
|
|
aidate: ''
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 鸡蛋品种数据(包含成交单量)
|
|
|
|
|
eggBreeds: [
|
|
|
|
|
{ name: '罗曼粉', dailyOrders: 2341 },
|
|
|
|
|
{ name: '伊莎粉', dailyOrders: 1892 },
|
|
|
|
|
{ name: '罗曼灰', dailyOrders: 1567 },
|
|
|
|
|
{ name: '海蓝灰', dailyOrders: 1432 },
|
|
|
|
|
{ name: '海蓝褐', dailyOrders: 1298 },
|
|
|
|
|
{ name: '绿壳', dailyOrders: 1054 },
|
|
|
|
|
{ name: '粉一', dailyOrders: 987 },
|
|
|
|
|
{ name: '粉二', dailyOrders: 876 },
|
|
|
|
|
{ name: '粉八', dailyOrders: 765 },
|
|
|
|
|
{ name: '京粉1号', dailyOrders: 654 },
|
|
|
|
|
{ name: '京红', dailyOrders: 543 },
|
|
|
|
|
{ name: '京粉6号', dailyOrders: 456 },
|
|
|
|
|
{ name: '京粉3号', dailyOrders: 389 },
|
|
|
|
|
{ name: '农大系列', dailyOrders: 321 },
|
|
|
|
|
{ name: '黑鸡土蛋', dailyOrders: 298 },
|
|
|
|
|
{ name: '双黄蛋', dailyOrders: 245 },
|
|
|
|
|
{ name: '大午金凤', dailyOrders: 198 },
|
|
|
|
|
{ name: '黑凤', dailyOrders: 156 }
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// 鸡蛋规格数据
|
|
|
|
|
eggSpecs: [
|
|
|
|
|
{ name: '格子装', dailyOrders: 3214 },
|
|
|
|
|
{ name: '散托', dailyOrders: 2890 },
|
|
|
|
|
{ name: '不限规格', dailyOrders: 2567 },
|
|
|
|
|
{ name: '净重47+', dailyOrders: 2345 },
|
|
|
|
|
{ name: '净重46-47', dailyOrders: 2109 },
|
|
|
|
|
{ name: '净重45-46', dailyOrders: 1876 },
|
|
|
|
|
{ name: '净重44-45', dailyOrders: 1654 },
|
|
|
|
|
{ name: '净重43-44', dailyOrders: 1432 },
|
|
|
|
|
{ name: '净重42-43', dailyOrders: 1234 },
|
|
|
|
|
{ name: '净重41-42', dailyOrders: 1056 },
|
|
|
|
|
{ name: '净重40-41', dailyOrders: 987 },
|
|
|
|
|
{ name: '净重39-40', dailyOrders: 876 },
|
|
|
|
|
{ name: '净重38-39', dailyOrders: 765 },
|
|
|
|
|
{ name: '净重37-39', dailyOrders: 654 },
|
|
|
|
|
{ name: '净重37-38', dailyOrders: 543 },
|
|
|
|
|
{ name: '净重36-38', dailyOrders: 456 },
|
|
|
|
|
{ name: '净重36-37', dailyOrders: 389 },
|
|
|
|
|
{ name: '净重35-36', dailyOrders: 321 },
|
|
|
|
|
{ name: '净重34-35', dailyOrders: 289 },
|
|
|
|
|
{ name: '净重33-34', dailyOrders: 256 },
|
|
|
|
|
{ name: '净重32-33', dailyOrders: 223 },
|
|
|
|
|
{ name: '净重32-34', dailyOrders: 198 },
|
|
|
|
|
{ name: '净重31-32', dailyOrders: 165 },
|
|
|
|
|
{ name: '净重30-35', dailyOrders: 143 },
|
|
|
|
|
{ name: '净重30-34', dailyOrders: 121 },
|
|
|
|
|
{ name: '净重30-32', dailyOrders: 109 },
|
|
|
|
|
{ name: '净重30-31', dailyOrders: 98 },
|
|
|
|
|
{ name: '净重29-31', dailyOrders: 87 },
|
|
|
|
|
{ name: '净重29-30', dailyOrders: 76 },
|
|
|
|
|
{ name: '净重28-29', dailyOrders: 65 },
|
|
|
|
|
{ name: '净重28以下', dailyOrders: 54 },
|
|
|
|
|
{ name: '毛重52以上', dailyOrders: 132 },
|
|
|
|
|
{ name: '毛重50-51', dailyOrders: 121 },
|
|
|
|
|
{ name: '毛重48-49', dailyOrders: 109 },
|
|
|
|
|
{ name: '毛重47-48', dailyOrders: 98 },
|
|
|
|
|
{ name: '毛重46-47', dailyOrders: 87 },
|
|
|
|
|
{ name: '毛重45-47', dailyOrders: 76 },
|
|
|
|
|
{ name: '毛重45-46', dailyOrders: 65 },
|
|
|
|
|
{ name: '毛重44-45', dailyOrders: 54 },
|
|
|
|
|
{ name: '毛重43-44', dailyOrders: 43 },
|
|
|
|
|
{ name: '毛重42-43', dailyOrders: 32 },
|
|
|
|
|
{ name: '毛重41-42', dailyOrders: 21 },
|
|
|
|
|
{ name: '毛重40-41', dailyOrders: 19 },
|
|
|
|
|
{ name: '毛重38-39', dailyOrders: 17 },
|
|
|
|
|
{ name: '毛重36-37', dailyOrders: 15 },
|
|
|
|
|
{ name: '毛重34-35', dailyOrders: 13 },
|
|
|
|
|
{ name: '毛重32-33', dailyOrders: 11 },
|
|
|
|
|
{ name: '毛重30-31', dailyOrders: 9 },
|
|
|
|
|
{ name: '毛重30以下', dailyOrders: 7 }
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onLoad() {
|
|
|
|
|
console.log('估价页面初始化')
|
|
|
|
|
// 页面加载时,对鸡蛋品种按成交单量降序排序并添加排名
|
|
|
|
|
const sortedBreeds = [...this.data.eggBreeds].sort((a, b) => b.dailyOrders - a.dailyOrders);
|
|
|
|
|
// 添加排名属性
|
|
|
|
|
const breedsWithRank = sortedBreeds.map((breed, index) => ({
|
|
|
|
|
...breed,
|
|
|
|
|
rank: index + 1
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
// 对鸡蛋规格按成交单量降序排序并添加排名
|
|
|
|
|
const sortedSpecs = [...this.data.eggSpecs].sort((a, b) => b.dailyOrders - a.dailyOrders);
|
|
|
|
|
const specsWithRank = sortedSpecs.map((spec, index) => ({
|
|
|
|
|
...spec,
|
|
|
|
|
rank: index + 1
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
// 初始化省份列表
|
|
|
|
|
const provinces = Object.keys(this.data.provinceCities);
|
|
|
|
|
this.setData({
|
|
|
|
|
eggBreeds: breedsWithRank,
|
|
|
|
|
eggSpecs: specsWithRank,
|
|
|
|
|
fromPreviousStep: false, // 初始化标志
|
|
|
|
|
provinces: provinces
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 选择省份
|
|
|
|
|
selectProvince(e) {
|
|
|
|
|
const province = e.currentTarget.dataset.province;
|
|
|
|
|
const cities = this.data.provinceCities[province];
|
|
|
|
|
this.setData({
|
|
|
|
|
selectedProvince: province,
|
|
|
|
|
cities: cities,
|
|
|
|
|
showCities: true
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 选择城市
|
|
|
|
|
selectCity(e) {
|
|
|
|
|
const city = e.currentTarget.dataset.city;
|
|
|
|
|
if (!city || !this.data.selectedProvince) {
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: '请选择有效的城市',
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 2000
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const fullRegion = `${this.data.selectedProvince}-${city}`;
|
|
|
|
|
this.setData({
|
|
|
|
|
'evaluateData.region': fullRegion,
|
|
|
|
|
showCities: false
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 显示选择成功提示
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: `已选择: ${fullRegion}`,
|
|
|
|
|
icon: 'success',
|
|
|
|
|
duration: 1500
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 只有当当前步骤是1且已经从下一步返回时,才自动进入下一步
|
|
|
|
|
if (this.data.evaluateStep === 1 && !this.data.fromPreviousStep) {
|
|
|
|
|
this.setData({
|
|
|
|
|
evaluateStep: 2
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 重置标志
|
|
|
|
|
this.setData({
|
|
|
|
|
fromPreviousStep: false
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 返回选择省份
|
|
|
|
|
backToProvince() {
|
|
|
|
|
this.setData({
|
|
|
|
|
showCities: false
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 选择鸡蛋品种
|
|
|
|
|
selectEggBreed(e) {
|
|
|
|
|
const breed = e.currentTarget.dataset.breed;
|
|
|
|
|
this.setData({
|
|
|
|
|
'evaluateData.breed': breed
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 显示选择成功提示
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: '已选择: ' + breed,
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 1500
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 只有当当前步骤是2且不是从下一步返回时,才自动进入下一步
|
|
|
|
|
if (this.data.evaluateStep === 2 && !this.data.fromPreviousStep) {
|
|
|
|
|
this.setData({ evaluateStep: 3 });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 重置标志
|
|
|
|
|
this.setData({ fromPreviousStep: false });
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 选择鸡蛋规格
|
|
|
|
|
selectEggSpec(e) {
|
|
|
|
|
const spec = e.currentTarget.dataset.spec;
|
|
|
|
|
this.setData({
|
|
|
|
|
'evaluateData.spec': spec
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 显示选择成功提示
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: '已选择: ' + spec,
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 1500
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 只有当当前步骤是3且不是从下一步返回时,才自动进入下一步
|
|
|
|
|
if (this.data.evaluateStep === 3 && !this.data.fromPreviousStep) {
|
|
|
|
|
this.setData({ evaluateStep: 4 });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 重置标志
|
|
|
|
|
this.setData({ fromPreviousStep: false });
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 格式化订单数量显示
|
|
|
|
|
formatOrderCount(count) {
|
|
|
|
|
if (count >= 10000) {
|
|
|
|
|
return (count / 10000).toFixed(1) + '万';
|
|
|
|
|
} else if (count >= 1000) {
|
|
|
|
|
return (count / 1000).toFixed(1) + 'k';
|
|
|
|
|
}
|
|
|
|
|
return count.toString();
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 选择条件
|
|
|
|
|
selectCondition(e) {
|
|
|
|
|
const { type, value } = e.currentTarget.dataset;
|
|
|
|
|
this.setData({
|
|
|
|
|
[`evaluateData.${type}`]: value
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 只有当当前步骤不是从返回过来的,才自动进入下一步
|
|
|
|
|
if (!this.data.fromPreviousStep) {
|
|
|
|
|
// 根据当前步骤自动进入下一步
|
|
|
|
|
const currentStep = this.data.evaluateStep;
|
|
|
|
|
if (currentStep === 4) {
|
|
|
|
|
this.setData({ evaluateStep: 5 });
|
|
|
|
|
} else if (currentStep === 5) {
|
|
|
|
|
this.setData({ evaluateStep: 6 });
|
|
|
|
|
} else if (currentStep === 6) {
|
|
|
|
|
this.setData({ evaluateStep: 7 });
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 重置标志
|
|
|
|
|
this.setData({ fromPreviousStep: false });
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 选择数量
|
|
|
|
|
selectQuantity(e) {
|
|
|
|
|
const quantity = e.currentTarget.dataset.quantity;
|
|
|
|
|
this.setData({
|
|
|
|
|
'evaluateData.quantity': quantity
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 获取报价
|
|
|
|
|
getQuote() {
|
|
|
|
|
if (this.data.evaluateData.quantity) {
|
|
|
|
|
this.calculatePrice();
|
|
|
|
|
} else {
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: '请选择数量',
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 2000
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 上一步
|
|
|
|
|
prevStep() {
|
|
|
|
|
if (this.data.evaluateStep > 1 && this.data.evaluateStep < 9) {
|
|
|
|
|
this.setData({
|
|
|
|
|
evaluateStep: this.data.evaluateStep - 1,
|
|
|
|
|
fromPreviousStep: true // 标记是从下一步返回的
|
|
|
|
|
});
|
|
|
|
|
} else if (this.data.evaluateStep === 9) {
|
|
|
|
|
// 如果在结果页面,返回第七步(数量选择)
|
|
|
|
|
this.setData({
|
|
|
|
|
evaluateStep: 7,
|
|
|
|
|
fromPreviousStep: true
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
// 如果在第一步,返回上一页
|
|
|
|
|
wx.navigateBack();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 计算价格
|
|
|
|
|
calculatePrice() {
|
|
|
|
|
console.log('开始执行calculatePrice函数');
|
|
|
|
|
const { region, breed, spec, freshness, size, packaging, quantity } = this.data.evaluateData;
|
|
|
|
|
|
|
|
|
|
// 校验必填参数
|
|
|
|
|
console.log('校验必填参数:', { region, breed, spec, freshness, size, packaging, quantity });
|
|
|
|
|
if (!region || !breed || !spec || !freshness || !size || !packaging || !quantity) {
|
|
|
|
|
console.error('参数校验失败,缺少必要信息');
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: '请完成所有选项',
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 2000
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 显示加载中
|
|
|
|
|
wx.showLoading({
|
|
|
|
|
title: '计算中...',
|
|
|
|
|
mask: true
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 整合用户输入信息
|
|
|
|
|
console.log('准备整合用户输入信息');
|
|
|
|
|
const userData = JSON.stringify({
|
|
|
|
|
region,
|
|
|
|
|
breed,
|
|
|
|
|
spec,
|
|
|
|
|
freshness,
|
|
|
|
|
size,
|
|
|
|
|
packaging,
|
|
|
|
|
quantity
|
|
|
|
|
});
|
|
|
|
|
console.log('用户输入信息:', userData);
|
|
|
|
|
|
|
|
|
|
// 向后端发送请求
|
|
|
|
|
console.log('准备发送API请求到 /api/openai/submit');
|
|
|
|
|
api.request('/api/openai/submit', 'POST', {
|
|
|
|
|
userdate: userData
|
|
|
|
|
}).then(res => {
|
|
|
|
|
console.log('API请求成功,响应数据:', res);
|
|
|
|
|
|
|
|
|
|
// 检查响应数据有效性
|
|
|
|
|
if (!res) {
|
|
|
|
|
throw new Error('后端返回的响应为空');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 解析后端返回的aidate数据
|
|
|
|
|
let aiData;
|
|
|
|
|
try {
|
|
|
|
|
console.log('开始解析aidate数据:', res.aidate);
|
|
|
|
|
aiData = typeof res.aidate === 'string' ? JSON.parse(res.aidate) : res.aidate;
|
|
|
|
|
console.log('aidate解析结果:', aiData);
|
|
|
|
|
} catch (e) {
|
|
|
|
|
console.error('解析aidate失败:', e);
|
|
|
|
|
console.warn('使用默认价格数据');
|
|
|
|
|
// 如果解析失败,使用默认值
|
|
|
|
|
aiData = {
|
|
|
|
|
finalPrice: '0',
|
|
|
|
|
totalPrice: '0'
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 验证解析后的数据
|
|
|
|
|
if (!aiData || typeof aiData !== 'object') {
|
|
|
|
|
console.error('解析后的aidata格式错误:', aiData);
|
|
|
|
|
aiData = {
|
|
|
|
|
finalPrice: '0',
|
|
|
|
|
totalPrice: '0'
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 更新结果
|
|
|
|
|
console.log('准备更新页面数据,finalPrice:', aiData.finalPrice || '0', 'totalPrice:', aiData.totalPrice || '0');
|
|
|
|
|
this.setData({
|
|
|
|
|
evaluateResult: {
|
|
|
|
|
finalPrice: aiData.finalPrice || '0',
|
|
|
|
|
totalPrice: aiData.totalPrice || '0',
|
|
|
|
|
aidate: res.aidate || '' // 保存完整的aidate数据
|
|
|
|
|
},
|
|
|
|
|
evaluateStep: 9
|
|
|
|
|
}, () => {
|
|
|
|
|
console.log('页面数据更新完成,加载状态隐藏');
|
|
|
|
|
wx.hideLoading();
|
|
|
|
|
});
|
|
|
|
|
}).catch(err => {
|
|
|
|
|
console.error('API请求异常:', err);
|
|
|
|
|
wx.hideLoading();
|
|
|
|
|
|
|
|
|
|
// 根据不同类型的错误提供更详细的提示
|
|
|
|
|
let errorMessage = '计算失败,请重试';
|
|
|
|
|
if (err && err.message) {
|
|
|
|
|
console.error('错误详情:', err.message);
|
|
|
|
|
// 可以根据具体错误类型提供更精确的提示
|
|
|
|
|
if (err.message.includes('网络')) {
|
|
|
|
|
errorMessage = '网络连接异常,请检查网络设置';
|
|
|
|
|
} else if (err.message.includes('超时')) {
|
|
|
|
|
errorMessage = '请求超时,请稍后再试';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: errorMessage,
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 3000
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 重新估价
|
|
|
|
|
restartEvaluate() {
|
|
|
|
|
this.setData({
|
|
|
|
|
evaluateStep: 1,
|
|
|
|
|
evaluateData: {
|
|
|
|
|
region: '',
|
|
|
|
|
breed: '',
|
|
|
|
|
spec: '',
|
|
|
|
|
freshness: '',
|
|
|
|
|
size: '',
|
|
|
|
|
packaging: '',
|
|
|
|
|
quantity: ''
|
|
|
|
|
},
|
|
|
|
|
evaluateResult: {
|
|
|
|
|
finalPrice: '0',
|
|
|
|
|
totalPrice: '0',
|
|
|
|
|
aidate: ''
|
|
|
|
|
},
|
|
|
|
|
fromPreviousStep: false // 重置标志
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 返回首页
|
|
|
|
|
backToHome() {
|
|
|
|
|
wx.navigateBack();
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 跳转到购物页面
|
|
|
|
|
goToBuy() {
|
|
|
|
|
console.log('goToBuy 函数被调用');
|
|
|
|
|
// 使用与custom-tab-bar相同的跳转逻辑
|
|
|
|
|
const url = 'pages/buyer/index';
|
|
|
|
|
|
|
|
|
|
// 先尝试使用navigateTo
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: '/' + url,
|
|
|
|
|
success: function(res) {
|
|
|
|
|
console.log('使用navigateTo成功跳转到购物页面:', res);
|
|
|
|
|
},
|
|
|
|
|
fail: function(error) {
|
|
|
|
|
console.log('navigateTo失败,尝试使用reLaunch:', error);
|
|
|
|
|
// 如果navigateTo失败,使用reLaunch
|
|
|
|
|
wx.reLaunch({
|
|
|
|
|
url: '/' + url,
|
|
|
|
|
success: function(res) {
|
|
|
|
|
console.log('使用reLaunch成功跳转到购物页面:', res);
|
|
|
|
|
},
|
|
|
|
|
fail: function(err) {
|
|
|
|
|
console.error('reLaunch也失败:', err);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 跳转到货源页面
|
|
|
|
|
goToSell() {
|
|
|
|
|
console.log('goToSell 函数被调用');
|
|
|
|
|
// 使用与custom-tab-bar相同的跳转逻辑
|
|
|
|
|
const url = 'pages/seller/index';
|
|
|
|
|
|
|
|
|
|
// 先尝试使用navigateTo
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: '/' + url,
|
|
|
|
|
success: function(res) {
|
|
|
|
|
console.log('使用navigateTo成功跳转到货源页面:', res);
|
|
|
|
|
},
|
|
|
|
|
fail: function(error) {
|
|
|
|
|
console.log('navigateTo失败,尝试使用reLaunch:', error);
|
|
|
|
|
// 如果navigateTo失败,使用reLaunch
|
|
|
|
|
wx.reLaunch({
|
|
|
|
|
url: '/' + url,
|
|
|
|
|
success: function(res) {
|
|
|
|
|
console.log('使用reLaunch成功跳转到货源页面:', res);
|
|
|
|
|
},
|
|
|
|
|
fail: function(err) {
|
|
|
|
|
console.error('reLaunch也失败:', err);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
})
|