如果扫描用户,没有订单,不需要返回任何信息给用户
完成套餐从数据库中提取
This commit is contained in:
+9
-7
@@ -53,20 +53,22 @@ const _sfc_main = {
|
||||
});
|
||||
return;
|
||||
}
|
||||
const res = await config_user.queryById(Number(this.orderNo));
|
||||
common_vendor.index.__f__("log", "at pages/deposit/index.vue:100", res);
|
||||
if (this.orderId.length != 0 || this.orderNo.length != 0) {
|
||||
const res = await config_user.queryById(Number(this.orderId));
|
||||
common_vendor.index.__f__("log", "at pages/deposit/index.vue:101", res);
|
||||
}
|
||||
common_vendor.index.showModal({
|
||||
title: "确认提现",
|
||||
content: "押金将原路退回,预计0-7个工作日到账",
|
||||
success: async (res2) => {
|
||||
if (res2.confirm) {
|
||||
success: async (res) => {
|
||||
if (res.confirm) {
|
||||
common_vendor.index.showLoading({
|
||||
title: "提现中..."
|
||||
});
|
||||
try {
|
||||
common_vendor.index.__f__("log", "at pages/deposit/index.vue:119", "发起提现请求,订单号:", this.orderNo);
|
||||
common_vendor.index.__f__("log", "at pages/deposit/index.vue:122", "发起提现请求,订单号:", this.orderNo);
|
||||
const result = await config_user.withdrawDeposit(this.orderNo);
|
||||
common_vendor.index.__f__("log", "at pages/deposit/index.vue:121", "提现响应:", result);
|
||||
common_vendor.index.__f__("log", "at pages/deposit/index.vue:124", "提现响应:", result);
|
||||
if (result.code === 200) {
|
||||
common_vendor.index.hideLoading();
|
||||
common_vendor.index.showToast({
|
||||
@@ -86,7 +88,7 @@ const _sfc_main = {
|
||||
throw new Error(result.msg || "提现失败");
|
||||
}
|
||||
} catch (error) {
|
||||
common_vendor.index.__f__("error", "at pages/deposit/index.vue:146", "提现失败:", error);
|
||||
common_vendor.index.__f__("error", "at pages/deposit/index.vue:149", "提现失败:", error);
|
||||
common_vendor.index.hideLoading();
|
||||
let errorMessage = "提现失败,请稍后再试";
|
||||
if (error.message) {
|
||||
|
||||
+144
-29
@@ -14,23 +14,9 @@ const _sfc_main = {
|
||||
class: "available"
|
||||
},
|
||||
selectedPackage: 1,
|
||||
packages: [
|
||||
{
|
||||
time: "1小时",
|
||||
price: "2.00",
|
||||
unitPrice: "2.00"
|
||||
},
|
||||
{
|
||||
time: "4小时",
|
||||
price: "6.00",
|
||||
unitPrice: "1.50"
|
||||
},
|
||||
{
|
||||
time: "12小时",
|
||||
price: "15.00",
|
||||
unitPrice: "1.25"
|
||||
}
|
||||
],
|
||||
packages: [],
|
||||
depositAmount: "99.00",
|
||||
// 默认押金金额
|
||||
isLoggedIn: true,
|
||||
phoneNumber: ""
|
||||
};
|
||||
@@ -38,7 +24,7 @@ const _sfc_main = {
|
||||
onLoad(options) {
|
||||
this.deviceId = options.deviceNo;
|
||||
this.checkOrderStatus();
|
||||
common_vendor.index.__f__("log", "at pages/device/detail.vue:128", options.deviceNo);
|
||||
common_vendor.index.__f__("log", "at pages/device/detail.vue:114", options.deviceNo);
|
||||
this.getDeviceInfo();
|
||||
},
|
||||
methods: {
|
||||
@@ -46,7 +32,134 @@ const _sfc_main = {
|
||||
async getDeviceInfo() {
|
||||
const res = await config_user.getDeviceInfo(this.deviceId);
|
||||
if (res.code == 200) {
|
||||
this.deviceInfo = res.data;
|
||||
this.deviceInfo = res.data.device || {};
|
||||
if (this.deviceInfo.deviceLocation) {
|
||||
this.deviceLocation = this.deviceInfo.deviceLocation;
|
||||
} else if (res.data.position && res.data.position.name) {
|
||||
this.deviceLocation = res.data.position.name;
|
||||
}
|
||||
if (this.deviceInfo.depositAmount) {
|
||||
this.depositAmount = this.deviceInfo.depositAmount;
|
||||
}
|
||||
if (this.deviceInfo.status) {
|
||||
if (this.deviceInfo.status === "online") {
|
||||
this.deviceStatus = {
|
||||
text: "可使用",
|
||||
class: "available"
|
||||
};
|
||||
} else if (this.deviceInfo.status === "offline") {
|
||||
this.deviceStatus = {
|
||||
text: "离线",
|
||||
class: "offline"
|
||||
};
|
||||
}
|
||||
}
|
||||
if (this.deviceInfo.feeConfig) {
|
||||
try {
|
||||
const feeConfig = JSON.parse(this.deviceInfo.feeConfig);
|
||||
if (feeConfig.length > 0 && "Hour" in feeConfig[0] && "Price" in feeConfig[0]) {
|
||||
this.packages = feeConfig.map((pkg) => {
|
||||
const hour = pkg.Hour;
|
||||
const price = pkg.Price;
|
||||
const unitPrice = (price / hour).toFixed(2);
|
||||
return {
|
||||
time: `${hour}${hour > 1 ? "小时" : "小时"}`,
|
||||
price: price.toFixed(2),
|
||||
unitPrice
|
||||
};
|
||||
});
|
||||
} else {
|
||||
const commonConfig = feeConfig.find((item) => item.specCode === "common") || feeConfig[0];
|
||||
if (commonConfig) {
|
||||
if (this.deviceInfo.feeType === "hour") {
|
||||
const hourPrice = commonConfig.hourPrice > 0 ? commonConfig.hourPrice : commonConfig.timesPrice / 6;
|
||||
this.packages = [
|
||||
{
|
||||
time: "1小时",
|
||||
price: hourPrice.toFixed(2),
|
||||
unitPrice: hourPrice.toFixed(2)
|
||||
},
|
||||
{
|
||||
time: "6小时",
|
||||
price: (hourPrice * 6).toFixed(2),
|
||||
unitPrice: hourPrice.toFixed(2)
|
||||
},
|
||||
{
|
||||
time: "12小时",
|
||||
price: (hourPrice * 12).toFixed(2),
|
||||
unitPrice: hourPrice.toFixed(2)
|
||||
}
|
||||
];
|
||||
} else if (this.deviceInfo.feeType === "times") {
|
||||
const timesPrice = commonConfig.timesPrice;
|
||||
this.packages = [
|
||||
{
|
||||
time: "1次",
|
||||
price: timesPrice.toFixed(2),
|
||||
unitPrice: timesPrice.toFixed(2)
|
||||
}
|
||||
];
|
||||
} else {
|
||||
this.packages = [
|
||||
{
|
||||
time: "1小时",
|
||||
price: "2.00",
|
||||
unitPrice: "2.00"
|
||||
},
|
||||
{
|
||||
time: "6小时",
|
||||
price: "10.00",
|
||||
unitPrice: "1.67"
|
||||
},
|
||||
{
|
||||
time: "12小时",
|
||||
price: "15.00",
|
||||
unitPrice: "1.25"
|
||||
}
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
this.selectedPackage = Math.min(1, this.packages.length - 1);
|
||||
} catch (e) {
|
||||
common_vendor.index.__f__("error", "at pages/device/detail.vue:234", "解析设备费用配置失败:", e);
|
||||
this.packages = [
|
||||
{
|
||||
time: "1小时",
|
||||
price: "2.00",
|
||||
unitPrice: "2.00"
|
||||
},
|
||||
{
|
||||
time: "6小时",
|
||||
price: "10.00",
|
||||
unitPrice: "1.67"
|
||||
},
|
||||
{
|
||||
time: "12小时",
|
||||
price: "15.00",
|
||||
unitPrice: "1.25"
|
||||
}
|
||||
];
|
||||
}
|
||||
} else {
|
||||
this.packages = [
|
||||
{
|
||||
time: "1小时",
|
||||
price: "2.00",
|
||||
unitPrice: "2.00"
|
||||
},
|
||||
{
|
||||
time: "6小时",
|
||||
price: "10.00",
|
||||
unitPrice: "1.67"
|
||||
},
|
||||
{
|
||||
time: "12小时",
|
||||
price: "15.00",
|
||||
unitPrice: "1.25"
|
||||
}
|
||||
];
|
||||
}
|
||||
}
|
||||
},
|
||||
// 显示登录提示
|
||||
@@ -113,7 +226,7 @@ const _sfc_main = {
|
||||
const selectedPkg = this.packages[this.selectedPackage];
|
||||
common_vendor.index.showModal({
|
||||
title: "确认租借",
|
||||
content: `确认支付押金¥99.00及${selectedPkg.time}套餐费用¥${selectedPkg.price}?`,
|
||||
content: `确认支付押金¥{{ depositAmount }}及${selectedPkg.time}套餐费用¥${selectedPkg.price}?`,
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
this.submitRentOrder();
|
||||
@@ -148,19 +261,19 @@ const _sfc_main = {
|
||||
packagePrice: parseFloat(selectedPkg.price)
|
||||
});
|
||||
if (updateRes.code !== 200) {
|
||||
common_vendor.index.__f__("warn", "at pages/device/detail.vue:265", "更新订单套餐信息失败:", updateRes.msg);
|
||||
common_vendor.index.__f__("warn", "at pages/device/detail.vue:402", "更新订单套餐信息失败:", updateRes.msg);
|
||||
} else {
|
||||
common_vendor.index.__f__("log", "at pages/device/detail.vue:268", "订单套餐信息已提前更新");
|
||||
common_vendor.index.__f__("log", "at pages/device/detail.vue:405", "订单套餐信息已提前更新");
|
||||
}
|
||||
} catch (updateError) {
|
||||
common_vendor.index.__f__("error", "at pages/device/detail.vue:271", "更新订单套餐信息时出错:", updateError);
|
||||
common_vendor.index.__f__("error", "at pages/device/detail.vue:408", "更新订单套餐信息时出错:", updateError);
|
||||
}
|
||||
const deposit = 99;
|
||||
const deposit = parseFloat(this.depositAmount);
|
||||
const packagePrice = parseFloat(selectedPkg.price);
|
||||
const totalAmount = (deposit + packagePrice).toFixed(2);
|
||||
common_vendor.index.hideLoading();
|
||||
common_vendor.index.redirectTo({
|
||||
url: `/pages/order/payment?orderId=${order.orderId}&packageTime=${selectedPkg.time}&packagePrice=${selectedPkg.price}&totalAmount=${totalAmount}`
|
||||
url: `/pages/order/payment?orderId=${order.orderId}&packageTimeHours=${selectedPkg.time.replace("小时", "")}&packagePrice=${selectedPkg.price}&totalAmount=${totalAmount}&depositAmount=${this.depositAmount}`
|
||||
});
|
||||
} catch (error) {
|
||||
common_vendor.index.hideLoading();
|
||||
@@ -198,10 +311,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
j: common_vendor.o(($event) => $data.phoneNumber = $event.detail.value)
|
||||
} : {}, {
|
||||
k: !$data.hasActiveOrder
|
||||
}, !$data.hasActiveOrder ? {} : {}, {
|
||||
l: common_vendor.t($data.hasActiveOrder ? "归还设备" : "立即租借"),
|
||||
m: common_vendor.n($data.hasActiveOrder ? "return" : "rent"),
|
||||
n: common_vendor.o((...args) => $options.handleRent && $options.handleRent(...args))
|
||||
}, !$data.hasActiveOrder ? {
|
||||
l: common_vendor.t($data.depositAmount)
|
||||
} : {}, {
|
||||
m: common_vendor.t($data.hasActiveOrder ? "归还设备" : "立即租借"),
|
||||
n: common_vendor.n($data.hasActiveOrder ? "return" : "rent"),
|
||||
o: common_vendor.o((...args) => $options.handleRent && $options.handleRent(...args))
|
||||
});
|
||||
}
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-d65de3a7"]]);
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
<view class="detail-container data-v-d65de3a7"><view class="device-card data-v-d65de3a7"><view class="device-header data-v-d65de3a7"><view class="device-title data-v-d65de3a7"><text class="name data-v-d65de3a7">共享风扇</text><text class="id data-v-d65de3a7">设备号:{{a}}</text></view><view class="{{['status', 'data-v-d65de3a7', c]}}">{{b}}</view></view><view class="device-info data-v-d65de3a7"><view class="info-item data-v-d65de3a7"><text class="label data-v-d65de3a7">设备位置</text><text class="value data-v-d65de3a7">{{d}}</text></view><view class="info-item data-v-d65de3a7"><text class="label data-v-d65de3a7">电池电量</text><text class="value data-v-d65de3a7">{{e}}%</text></view></view></view><view wx:if="{{f}}" class="package-section data-v-d65de3a7"><view class="section-title data-v-d65de3a7">选择套餐</view><view class="package-list data-v-d65de3a7"><view wx:for="{{g}}" wx:for-item="pkg" wx:key="d" class="{{['package-item', 'data-v-d65de3a7', pkg.e && 'active']}}" bindtap="{{pkg.f}}"><view class="package-content data-v-d65de3a7"><text class="time data-v-d65de3a7">{{pkg.a}}</text><text class="price data-v-d65de3a7">¥{{pkg.b}}</text></view><text class="unit-price data-v-d65de3a7">约{{pkg.c}}元/小时</text></view></view></view><view wx:if="{{h}}" class="phone-section data-v-d65de3a7"><view class="section-title data-v-d65de3a7">联系方式</view><view class="phone-input-wrap data-v-d65de3a7"><input type="number" class="phone-input data-v-d65de3a7" maxlength="11" placeholder="请输入手机号码" value="{{i}}" bindinput="{{j}}"/></view></view><view class="notice-section data-v-d65de3a7"><view class="section-title data-v-d65de3a7">使用说明</view><view class="notice-list data-v-d65de3a7"><view class="notice-item data-v-d65de3a7"><view class="dot data-v-d65de3a7"></view><text class="data-v-d65de3a7">请在使用前检查设备是否完好</text></view><view class="notice-item data-v-d65de3a7"><view class="dot data-v-d65de3a7"></view><text class="data-v-d65de3a7">超出使用时间将自动按小时计费</text></view><view class="notice-item data-v-d65de3a7"><view class="dot data-v-d65de3a7"></view><text class="data-v-d65de3a7">请在指定区域内使用设备</text></view></view></view><view class="bottom-bar data-v-d65de3a7"><view wx:if="{{k}}" class="price-info data-v-d65de3a7"><text class="deposit-text data-v-d65de3a7">押金:</text><text class="deposit-amount data-v-d65de3a7">¥99</text></view><button class="{{['action-btn', 'data-v-d65de3a7', m]}}" bindtap="{{n}}">{{l}}</button></view></view>
|
||||
<view class="detail-container data-v-d65de3a7"><view class="device-card data-v-d65de3a7"><view class="device-header data-v-d65de3a7"><view class="device-title data-v-d65de3a7"><text class="name data-v-d65de3a7">共享风扇</text><text class="id data-v-d65de3a7">设备号:{{a}}</text></view><view class="{{['status', 'data-v-d65de3a7', c]}}">{{b}}</view></view><view class="device-info data-v-d65de3a7"><view class="info-item data-v-d65de3a7"><text class="label data-v-d65de3a7">设备位置</text><text class="value data-v-d65de3a7">{{d}}</text></view><view class="info-item data-v-d65de3a7"><text class="label data-v-d65de3a7">电池电量</text><text class="value data-v-d65de3a7">{{e}}%</text></view></view></view><view wx:if="{{f}}" class="package-section data-v-d65de3a7"><view class="section-title data-v-d65de3a7">选择套餐</view><view class="package-list data-v-d65de3a7"><view wx:for="{{g}}" wx:for-item="pkg" wx:key="d" class="{{['package-item', 'data-v-d65de3a7', pkg.e && 'active']}}" bindtap="{{pkg.f}}"><view class="package-content data-v-d65de3a7"><text class="time data-v-d65de3a7">{{pkg.a}}</text><text class="price data-v-d65de3a7">¥{{pkg.b}}</text></view><text class="unit-price data-v-d65de3a7">约{{pkg.c}}元/小时</text></view></view></view><view wx:if="{{h}}" class="phone-section data-v-d65de3a7"><view class="section-title data-v-d65de3a7">联系方式</view><view class="phone-input-wrap data-v-d65de3a7"><input type="number" class="phone-input data-v-d65de3a7" maxlength="11" placeholder="请输入手机号码" value="{{i}}" bindinput="{{j}}"/></view></view><view class="notice-section data-v-d65de3a7"><view class="section-title data-v-d65de3a7">使用说明</view><view class="notice-list data-v-d65de3a7"><view class="notice-item data-v-d65de3a7"><view class="dot data-v-d65de3a7"></view><text class="data-v-d65de3a7">请在使用前检查设备是否完好</text></view><view class="notice-item data-v-d65de3a7"><view class="dot data-v-d65de3a7"></view><text class="data-v-d65de3a7">超出使用时间将自动按小时计费</text></view><view class="notice-item data-v-d65de3a7"><view class="dot data-v-d65de3a7"></view><text class="data-v-d65de3a7">请在指定区域内使用设备</text></view></view></view><view class="bottom-bar data-v-d65de3a7"><view wx:if="{{k}}" class="price-info data-v-d65de3a7"><text class="deposit-text data-v-d65de3a7">押金:</text><text class="deposit-amount data-v-d65de3a7">¥{{l}}</text></view><button class="{{['action-btn', 'data-v-d65de3a7', n]}}" bindtap="{{o}}">{{m}}</button></view></view>
|
||||
+69
-25
@@ -6,11 +6,13 @@ const _sfc_main = {
|
||||
data() {
|
||||
return {
|
||||
orderId: null,
|
||||
deviceNo: null,
|
||||
orderInfo: {},
|
||||
packageInfo: {
|
||||
time: "",
|
||||
price: "0.00"
|
||||
},
|
||||
deviceInfo: null,
|
||||
passedTotalAmount: null,
|
||||
passedDepositAmount: null,
|
||||
orderStatus: {
|
||||
@@ -25,20 +27,14 @@ const _sfc_main = {
|
||||
if (this.passedTotalAmount !== null) {
|
||||
return parseFloat(this.passedTotalAmount).toFixed(2);
|
||||
}
|
||||
const deposit = parseFloat(this.orderInfo.deposit || 99);
|
||||
const amount = parseFloat(this.orderInfo.amount || this.packageInfo.price || 0);
|
||||
return (deposit + amount).toFixed(2);
|
||||
const deposit = parseFloat(this.orderInfo.deposit || this.passedDepositAmount || 99);
|
||||
const packagePrice = parseFloat(this.packageInfo.price || 0);
|
||||
return (deposit + packagePrice).toFixed(2);
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
if (options && options.orderId) {
|
||||
this.orderId = options.orderId;
|
||||
if (options.packageTime && options.packagePrice) {
|
||||
this.packageInfo = {
|
||||
time: options.packageTime,
|
||||
price: options.packagePrice
|
||||
};
|
||||
}
|
||||
if (options.totalAmount) {
|
||||
this.passedTotalAmount = options.totalAmount;
|
||||
}
|
||||
@@ -76,7 +72,7 @@ const _sfc_main = {
|
||||
formattedTime = this.formatTime(/* @__PURE__ */ new Date());
|
||||
}
|
||||
} catch (e) {
|
||||
common_vendor.index.__f__("error", "at pages/order/payment.vue:158", "时间格式化错误:", e);
|
||||
common_vendor.index.__f__("error", "at pages/order/payment.vue:149", "时间格式化错误:", e);
|
||||
formattedTime = this.formatTime(/* @__PURE__ */ new Date());
|
||||
}
|
||||
this.orderInfo = {
|
||||
@@ -84,14 +80,10 @@ const _sfc_main = {
|
||||
deviceNo: orderData.deviceNo,
|
||||
createTime: formattedTime,
|
||||
phone: orderData.phone,
|
||||
deposit: this.passedDepositAmount || orderData.depositAmount || "99.00",
|
||||
// 优先使用传递的押金,然后是订单中的押金,最后默认99元
|
||||
amount: orderData.amount || this.packageInfo.price || "0.00"
|
||||
deposit: this.passedDepositAmount || orderData.depositAmount || "99.00"
|
||||
};
|
||||
if (!orderData.packageTime && this.packageInfo.time) {
|
||||
this.orderInfo.packageTime = this.packageInfo.time;
|
||||
this.orderInfo.packagePrice = this.packageInfo.price;
|
||||
}
|
||||
this.deviceNo = orderData.deviceNo;
|
||||
await this.loadDeviceInfo();
|
||||
} else {
|
||||
throw new Error("获取订单信息失败");
|
||||
}
|
||||
@@ -104,6 +96,59 @@ const _sfc_main = {
|
||||
});
|
||||
}
|
||||
},
|
||||
// 加载设备信息并解析套餐
|
||||
async loadDeviceInfo() {
|
||||
if (!this.deviceNo)
|
||||
return;
|
||||
try {
|
||||
const res = await config_user.getDeviceInfo(this.deviceNo);
|
||||
if (res.code === 200 && res.data) {
|
||||
this.deviceInfo = res.data.device;
|
||||
if (this.deviceInfo && this.deviceInfo.feeConfig) {
|
||||
try {
|
||||
const feeConfig = JSON.parse(this.deviceInfo.feeConfig);
|
||||
if (feeConfig.length > 0 && "Hour" in feeConfig[0] && "Price" in feeConfig[0]) {
|
||||
const targetHours = 6;
|
||||
let closestPackage = feeConfig[0];
|
||||
feeConfig.forEach((pkg) => {
|
||||
if (Math.abs(pkg.Hour - targetHours) < Math.abs(closestPackage.Hour - targetHours)) {
|
||||
closestPackage = pkg;
|
||||
}
|
||||
});
|
||||
this.packageInfo.time = closestPackage.Hour.toString();
|
||||
this.packageInfo.price = closestPackage.Price.toString();
|
||||
} else {
|
||||
const selectedConfig = feeConfig.find((item) => item.specCode === "common") || feeConfig[0];
|
||||
if (selectedConfig) {
|
||||
const packageHours = 6;
|
||||
if (this.deviceInfo.feeType === "times") {
|
||||
this.packageInfo.price = selectedConfig.timesPrice.toString();
|
||||
this.packageInfo.time = "1次";
|
||||
} else if (this.deviceInfo.feeType === "hour") {
|
||||
if (selectedConfig.hourPrice > 0) {
|
||||
this.packageInfo.price = (selectedConfig.hourPrice * packageHours).toString();
|
||||
} else {
|
||||
this.packageInfo.price = selectedConfig.timesPrice.toString();
|
||||
}
|
||||
this.packageInfo.time = packageHours.toString();
|
||||
} else {
|
||||
this.packageInfo.price = selectedConfig.timesPrice.toString();
|
||||
this.packageInfo.time = packageHours.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
common_vendor.index.__f__("error", "at pages/order/payment.vue:241", "解析设备费用配置失败:", e);
|
||||
}
|
||||
}
|
||||
if (this.deviceInfo && this.deviceInfo.depositAmount) {
|
||||
this.orderInfo.deposit = this.deviceInfo.depositAmount;
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
common_vendor.index.__f__("error", "at pages/order/payment.vue:251", "获取设备信息失败:", error);
|
||||
}
|
||||
},
|
||||
// 处理支付
|
||||
async handlePayment() {
|
||||
try {
|
||||
@@ -130,7 +175,7 @@ const _sfc_main = {
|
||||
try {
|
||||
await config_user.updateUserBalance(this.orderId);
|
||||
} catch (error) {
|
||||
common_vendor.index.__f__("warn", "at pages/order/payment.vue:223", "更新用户余额失败:", error);
|
||||
common_vendor.index.__f__("warn", "at pages/order/payment.vue:288", "更新用户余额失败:", error);
|
||||
}
|
||||
setTimeout(() => {
|
||||
common_vendor.index.redirectTo({
|
||||
@@ -139,7 +184,7 @@ const _sfc_main = {
|
||||
}, 1500);
|
||||
},
|
||||
fail: (err) => {
|
||||
common_vendor.index.__f__("error", "at pages/order/payment.vue:234", "支付失败:", err);
|
||||
common_vendor.index.__f__("error", "at pages/order/payment.vue:299", "支付失败:", err);
|
||||
throw new Error("支付失败,请重试");
|
||||
}
|
||||
});
|
||||
@@ -236,7 +281,7 @@ const _sfc_main = {
|
||||
throw new Error("查询订单状态失败");
|
||||
}
|
||||
} catch (error) {
|
||||
common_vendor.index.__f__("error", "at pages/order/payment.vue:342", "查询订单状态错误:", error);
|
||||
common_vendor.index.__f__("error", "at pages/order/payment.vue:407", "查询订单状态错误:", error);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -252,12 +297,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
f: common_vendor.t($data.orderInfo.createTime || "-"),
|
||||
g: common_vendor.t($data.orderInfo.phone || "-"),
|
||||
h: common_vendor.t($data.orderInfo.deposit || "99.00"),
|
||||
i: common_vendor.t($data.packageInfo.time),
|
||||
j: common_vendor.t($data.packageInfo.price),
|
||||
k: common_vendor.t($data.orderInfo.amount || $data.packageInfo.price),
|
||||
i: common_vendor.t($data.packageInfo.price),
|
||||
j: common_vendor.t($data.packageInfo.time),
|
||||
k: common_vendor.t($options.totalAmount),
|
||||
l: common_vendor.t($options.totalAmount),
|
||||
m: common_vendor.t($options.totalAmount),
|
||||
n: common_vendor.o((...args) => $options.handlePayment && $options.handlePayment(...args))
|
||||
m: common_vendor.o((...args) => $options.handlePayment && $options.handlePayment(...args))
|
||||
};
|
||||
}
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-13c3fb22"]]);
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
<view class="payment-container data-v-13c3fb22"><view class="status-card data-v-13c3fb22"><view class="{{['status-icon', 'data-v-13c3fb22', a]}}"></view><view class="status-text data-v-13c3fb22">{{b}}</view><view class="status-desc data-v-13c3fb22">{{c}}</view></view><view class="order-card data-v-13c3fb22"><view class="card-title data-v-13c3fb22">订单信息</view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">订单号</text><text class="value data-v-13c3fb22">{{d}}</text></view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">设备号</text><text class="value data-v-13c3fb22">{{e}}</text></view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">创建时间</text><text class="value data-v-13c3fb22">{{f}}</text></view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">联系电话</text><text class="value data-v-13c3fb22">{{g}}</text></view></view><view class="price-card data-v-13c3fb22"><view class="card-title data-v-13c3fb22">费用信息</view><view class="price-item data-v-13c3fb22"><text class="label data-v-13c3fb22">押金</text><text class="value data-v-13c3fb22">¥{{h}}</text></view><view class="price-item data-v-13c3fb22"><text class="label data-v-13c3fb22">套餐</text><text class="value data-v-13c3fb22">{{i}} (¥{{j}})</text></view><view class="price-item data-v-13c3fb22"><text class="label data-v-13c3fb22">租借费用</text><text class="value data-v-13c3fb22">¥{{k}}</text></view><view class="price-item total data-v-13c3fb22"><text class="label data-v-13c3fb22">合计</text><text class="value data-v-13c3fb22">¥{{l}}</text></view></view><view class="bottom-bar data-v-13c3fb22"><view class="total-amount data-v-13c3fb22"><text class="data-v-13c3fb22">合计:</text><text class="amount data-v-13c3fb22">¥{{m}}</text></view><button class="pay-btn data-v-13c3fb22" bindtap="{{n}}">立即支付</button></view></view>
|
||||
<view class="payment-container data-v-13c3fb22"><view class="status-card data-v-13c3fb22"><view class="{{['status-icon', 'data-v-13c3fb22', a]}}"></view><view class="status-text data-v-13c3fb22">{{b}}</view><view class="status-desc data-v-13c3fb22">{{c}}</view></view><view class="order-card data-v-13c3fb22"><view class="card-title data-v-13c3fb22">订单信息</view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">订单号</text><text class="value data-v-13c3fb22">{{d}}</text></view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">设备号</text><text class="value data-v-13c3fb22">{{e}}</text></view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">创建时间</text><text class="value data-v-13c3fb22">{{f}}</text></view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">联系电话</text><text class="value data-v-13c3fb22">{{g}}</text></view></view><view class="price-card data-v-13c3fb22"><view class="card-title data-v-13c3fb22">费用信息</view><view class="price-item data-v-13c3fb22"><text class="label data-v-13c3fb22">押金</text><text class="value data-v-13c3fb22">¥{{h}}</text></view><view class="price-item data-v-13c3fb22"><text class="label data-v-13c3fb22">套餐</text><text class="value data-v-13c3fb22">{{i}}元/{{j}}小时</text></view><view class="price-item total data-v-13c3fb22"><text class="label data-v-13c3fb22">合计</text><text class="value data-v-13c3fb22">¥{{k}}</text></view></view><view class="bottom-bar data-v-13c3fb22"><view class="total-amount data-v-13c3fb22"><text class="data-v-13c3fb22">合计:</text><text class="amount data-v-13c3fb22">¥{{l}}</text></view><button class="pay-btn data-v-13c3fb22" bindtap="{{m}}">立即支付</button></view></view>
|
||||
+16
-10
@@ -27,32 +27,38 @@ const _sfc_main = {
|
||||
});
|
||||
} else if (latestOrder.orderStatus === "waiting_for_payment") {
|
||||
common_vendor.index.__f__("log", "at pages/serve/bagCheck/index.vue:59", "检测到待支付订单,跳转支付页:", latestOrder.orderId);
|
||||
const packageTime = latestOrder.packageTime ? `${latestOrder.packageTime / 60}小时` : "默认套餐";
|
||||
const packageTimeMinutes = latestOrder.packageTime || 60;
|
||||
const packageTimeHours = (packageTimeMinutes / 60).toFixed(1);
|
||||
const packagePrice = latestOrder.packagePrice || "0.00";
|
||||
const hourlyRate = (parseFloat(packagePrice) / (packageTimeMinutes / 60)).toFixed(2);
|
||||
const depositAmount = latestOrder.depositAmount || "99.00";
|
||||
const totalAmount = (parseFloat(depositAmount) + parseFloat(packagePrice)).toFixed(2);
|
||||
common_vendor.index.redirectTo({
|
||||
url: `/pages/order/payment?orderId=${latestOrder.orderId}&packageTime=${packageTime}&packagePrice=${packagePrice}&totalAmount=${totalAmount}&depositAmount=${depositAmount}`
|
||||
url: `/pages/order/payment?orderId=${latestOrder.orderId}&packageTimeHours=${packageTimeHours}&packagePrice=${packagePrice}&hourlyRate=${hourlyRate}&totalAmount=${totalAmount}&depositAmount=${depositAmount}`
|
||||
});
|
||||
} else {
|
||||
common_vendor.index.__f__("log", "at pages/serve/bagCheck/index.vue:70", "检测到其他状态订单,跳转详情页:", latestOrder.orderId);
|
||||
common_vendor.index.__f__("log", "at pages/serve/bagCheck/index.vue:84", "检测到其他状态订单,跳转详情页:", latestOrder.orderId);
|
||||
common_vendor.index.redirectTo({
|
||||
url: `/pages/device/detail?deviceNo=${deviceNo}`
|
||||
});
|
||||
}
|
||||
} else {
|
||||
common_vendor.index.__f__("log", "at pages/serve/bagCheck/index.vue:77", "未检测到相关订单,跳转详情页");
|
||||
common_vendor.index.__f__("log", "at pages/serve/bagCheck/index.vue:91", "未检测到相关订单,跳转详情页");
|
||||
common_vendor.index.redirectTo({
|
||||
url: `/pages/device/detail?deviceNo=${deviceNo}`
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
common_vendor.index.__f__("error", "at pages/serve/bagCheck/index.vue:83", "扫码检查订单失败:", error);
|
||||
common_vendor.index.showToast({
|
||||
title: error.message || "处理失败,请稍后重试",
|
||||
icon: "none",
|
||||
duration: 2e3
|
||||
});
|
||||
if (error.message && (error.message.includes("未识别到设备编号") || error.message.includes("网络请求失败") || error.message.includes("服务器错误"))) {
|
||||
common_vendor.index.__f__("error", "at pages/serve/bagCheck/index.vue:103", "扫码检查订单失败:", error);
|
||||
common_vendor.index.showToast({
|
||||
title: error.message || "处理失败,请稍后重试",
|
||||
icon: "none",
|
||||
duration: 2e3
|
||||
});
|
||||
} else {
|
||||
common_vendor.index.__f__("log", "at pages/serve/bagCheck/index.vue:111", "没有找到符合条件的订单或发生其他错误,直接跳转详情页");
|
||||
}
|
||||
setTimeout(() => {
|
||||
if (option && option.deviceNo) {
|
||||
common_vendor.index.redirectTo({
|
||||
|
||||
Reference in New Issue
Block a user