344 lines
12 KiB
JavaScript
344 lines
12 KiB
JavaScript
|
"use strict";
|
|||
|
const common_vendor = require("../../common/vendor.js");
|
|||
|
const API_api = require("../../API/api.js");
|
|||
|
if (!Array) {
|
|||
|
const _easycom_uni_notice_bar2 = common_vendor.resolveComponent("uni-notice-bar");
|
|||
|
const _easycom_uni_data_checkbox2 = common_vendor.resolveComponent("uni-data-checkbox");
|
|||
|
const _component_template = common_vendor.resolveComponent("template");
|
|||
|
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
|
|||
|
(_easycom_uni_notice_bar2 + _easycom_uni_data_checkbox2 + _component_template + _easycom_uni_icons2)();
|
|||
|
}
|
|||
|
const _easycom_uni_notice_bar = () => "../../uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.js";
|
|||
|
const _easycom_uni_data_checkbox = () => "../../uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js";
|
|||
|
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
|
|||
|
if (!Math) {
|
|||
|
(_easycom_uni_notice_bar + _easycom_uni_data_checkbox + DistributionBox + _easycom_uni_icons)();
|
|||
|
}
|
|||
|
const DistributionBox = () => "./distributionBox.js";
|
|||
|
const paymentTimeout = 15 * 60 * 1e3;
|
|||
|
const _sfc_main = {
|
|||
|
__name: "goToPay",
|
|||
|
setup(__props) {
|
|||
|
common_vendor.onUnload(() => {
|
|||
|
common_vendor.index.reLaunch({
|
|||
|
url: "/pages/index/index"
|
|||
|
});
|
|||
|
});
|
|||
|
const radio1 = common_vendor.ref(0);
|
|||
|
const statusId = common_vendor.ref(null);
|
|||
|
const array = common_vendor.ref(["1公寓", "2公寓", "3公寓", "4公寓", "5公寓", "6公寓", "7公寓", "8公寓", "9公寓", "10公寓", "11公寓", "12公寓", "育才大厦"]);
|
|||
|
const index = common_vendor.ref(0);
|
|||
|
const sex = common_vendor.ref([
|
|||
|
{
|
|||
|
text: "堂食",
|
|||
|
value: 0
|
|||
|
},
|
|||
|
{
|
|||
|
text: "自提",
|
|||
|
value: 1
|
|||
|
},
|
|||
|
{
|
|||
|
text: "跑腿",
|
|||
|
value: 2
|
|||
|
}
|
|||
|
]);
|
|||
|
function bindPickerChange(e) {
|
|||
|
const selectedIndex = e.detail.value;
|
|||
|
console.log("picker发送选择改变,携带值为", selectedIndex);
|
|||
|
index.value = selectedIndex;
|
|||
|
const selectedApartment = array.value[selectedIndex];
|
|||
|
console.log("您选择了:", selectedApartment);
|
|||
|
selectedApartmentName.value = selectedApartment;
|
|||
|
}
|
|||
|
const selectedApartmentName = common_vendor.ref("");
|
|||
|
common_vendor.index.$on("updateRemark", (newRemark) => {
|
|||
|
orderItem.value.notes = newRemark;
|
|||
|
});
|
|||
|
const orderItem = common_vendor.ref(null);
|
|||
|
const getOrder = () => {
|
|||
|
const notPay = common_vendor.index.getStorageSync("notPay");
|
|||
|
common_vendor.index.request({
|
|||
|
url: API_api.apiImageUrl + "/api/orders/get/my",
|
|||
|
method: "GET",
|
|||
|
data: {
|
|||
|
id: notPay
|
|||
|
//id:133
|
|||
|
},
|
|||
|
header: {
|
|||
|
"Content-Type": "application/json",
|
|||
|
// 确保设置正确的 Content-Type
|
|||
|
"cookie": common_vendor.index.getStorageSync("cookie") || ""
|
|||
|
},
|
|||
|
success(res) {
|
|||
|
console.log("获取订单成功");
|
|||
|
if (res.data && res.data.data) {
|
|||
|
orderItem.value = res.data.data;
|
|||
|
console.log(orderItem.value);
|
|||
|
if (orderItem.value.pickupMethod !== void 0) {
|
|||
|
radio1.value = orderItem.value.pickupMethod;
|
|||
|
}
|
|||
|
}
|
|||
|
},
|
|||
|
fail() {
|
|||
|
console.log("获取订单失败");
|
|||
|
}
|
|||
|
});
|
|||
|
};
|
|||
|
const isoStart = common_vendor.ref("");
|
|||
|
const isoEnd = common_vendor.ref("");
|
|||
|
const submitOrder = () => {
|
|||
|
var _a;
|
|||
|
console.log(
|
|||
|
"我选择的radio1的值:",
|
|||
|
radio1.value,
|
|||
|
"我选择的公寓:",
|
|||
|
selectedApartmentName.value,
|
|||
|
"我选择的时间:",
|
|||
|
sendTime.value
|
|||
|
);
|
|||
|
const notPay = common_vendor.index.getStorageSync("notPay");
|
|||
|
common_vendor.index.request({
|
|||
|
url: `${API_api.apiImageUrl}/api/orders/updateOrder`,
|
|||
|
method: "POST",
|
|||
|
data: {
|
|||
|
location: selectedApartmentName.value,
|
|||
|
notes: ((_a = orderItem.value) == null ? void 0 : _a.notes) || "",
|
|||
|
// 使用订单中的备注,如果不存在则为空字符串
|
|||
|
orderId: notPay,
|
|||
|
pickupMethod: radio1.value,
|
|||
|
// 使用当前选中的配送方式
|
|||
|
pickupStartTime: isoStart.value,
|
|||
|
// 注意这里使用的是 .value
|
|||
|
pickupEndTime: isoEnd.value
|
|||
|
// 注意这里使用的是 .value
|
|||
|
},
|
|||
|
header: {
|
|||
|
"Content-Type": "application/json",
|
|||
|
// 确保设置正确的 Content-Type
|
|||
|
"cookie": common_vendor.index.getStorageSync("cookie") || ""
|
|||
|
},
|
|||
|
success(res) {
|
|||
|
console.log("更新订单成功", res);
|
|||
|
orderItem.value.pickupMethod = radio1.value;
|
|||
|
goToPayment();
|
|||
|
},
|
|||
|
fail(err) {
|
|||
|
console.log("更新订单失败", err);
|
|||
|
}
|
|||
|
});
|
|||
|
};
|
|||
|
common_vendor.onMounted(() => {
|
|||
|
getOrder();
|
|||
|
});
|
|||
|
common_vendor.onActivated(() => {
|
|||
|
getOrder();
|
|||
|
});
|
|||
|
const goToPayment = () => {
|
|||
|
const notPay = common_vendor.index.getStorageSync("notPay");
|
|||
|
my.request({
|
|||
|
url: API_api.apiImageUrl + "/api/Alipay/payment/create",
|
|||
|
method: "GET",
|
|||
|
data: {
|
|||
|
id: notPay
|
|||
|
},
|
|||
|
header: {
|
|||
|
"Content-Type": "application/json",
|
|||
|
"cookie": common_vendor.index.getStorageSync("cookie") || ""
|
|||
|
},
|
|||
|
success: function(result) {
|
|||
|
console.log("reasaaaaaaaaaa");
|
|||
|
console.log(result);
|
|||
|
console.log("tradeNo的值为:");
|
|||
|
console.log(result.data.data);
|
|||
|
my.tradePay({
|
|||
|
tradeNO: result.data.data,
|
|||
|
success: (res) => {
|
|||
|
console.log("成功调用");
|
|||
|
console.log(res);
|
|||
|
if (res.resultCode == 9e3) {
|
|||
|
common_vendor.index.setStorageSync("orderId", notPay);
|
|||
|
common_vendor.index.navigateTo({
|
|||
|
url: "/pages/testFive/testFive"
|
|||
|
});
|
|||
|
common_vendor.index.removeStorageSync("cartItems");
|
|||
|
}
|
|||
|
},
|
|||
|
fail: (res) => {
|
|||
|
my.alert({
|
|||
|
content: JSON.stringify(res)
|
|||
|
});
|
|||
|
console.log("失败");
|
|||
|
console.log(res);
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
};
|
|||
|
const orderCreateTime = Date.now();
|
|||
|
const updateTimer = () => {
|
|||
|
const elapsedTime = Date.now() - orderCreateTime;
|
|||
|
if (elapsedTime > paymentTimeout) {
|
|||
|
console.log("超时啦");
|
|||
|
clearInterval(intervalId);
|
|||
|
formattedTime.value = "已超时";
|
|||
|
} else {
|
|||
|
const remainingTime = paymentTimeout - elapsedTime;
|
|||
|
const minutes = Math.floor(remainingTime % (1e3 * 60 * 60) / (1e3 * 60));
|
|||
|
const seconds = Math.floor(remainingTime % (1e3 * 60) / 1e3);
|
|||
|
formattedTime.value = `待支付,${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`;
|
|||
|
}
|
|||
|
};
|
|||
|
const formattedTime = common_vendor.ref("待支付,剩余14:48");
|
|||
|
const intervalId = common_vendor.ref(null);
|
|||
|
common_vendor.onMounted(() => {
|
|||
|
intervalId.value = setInterval(updateTimer, 1e3);
|
|||
|
updateTimer();
|
|||
|
});
|
|||
|
setTimeout(() => {
|
|||
|
if (!formattedTime.value.includes("已超时")) {
|
|||
|
console.log("超时啦");
|
|||
|
clearInterval(intervalId.value);
|
|||
|
common_vendor.index.showToast({
|
|||
|
title: "支付已超时",
|
|||
|
duration: 2e3
|
|||
|
});
|
|||
|
const orderItemId = orderItem.value.id;
|
|||
|
const tradeNo = common_vendor.index.getStorageSync("tradeNo");
|
|||
|
common_vendor.index.request({
|
|||
|
url: API_api.apiImageUrl + "/api/Alipay/test/close",
|
|||
|
method: "GET",
|
|||
|
data: {
|
|||
|
orderId: orderItemId,
|
|||
|
out_trade_no: tradeNo
|
|||
|
},
|
|||
|
success(res) {
|
|||
|
console.log("成功");
|
|||
|
console.log(res);
|
|||
|
},
|
|||
|
fail() {
|
|||
|
console.log("失败");
|
|||
|
}
|
|||
|
});
|
|||
|
common_vendor.index.showToast({
|
|||
|
title: "订单超时,已为您自动取消喽",
|
|||
|
duration: 2e3
|
|||
|
});
|
|||
|
formattedTime.value = "已超时";
|
|||
|
}
|
|||
|
}, paymentTimeout);
|
|||
|
const closeOrder = () => {
|
|||
|
const orderItemId = orderItem.value.id;
|
|||
|
const tradeNo = common_vendor.index.getStorageSync("tradeNo");
|
|||
|
common_vendor.index.request({
|
|||
|
url: API_api.apiImageUrl + "/api/Alipay/test/close",
|
|||
|
method: "GET",
|
|||
|
data: {
|
|||
|
orderId: orderItemId,
|
|||
|
out_trade_no: tradeNo
|
|||
|
},
|
|||
|
success(res) {
|
|||
|
console.log("成功");
|
|||
|
console.log(res);
|
|||
|
},
|
|||
|
fail() {
|
|||
|
console.log("失败");
|
|||
|
}
|
|||
|
});
|
|||
|
};
|
|||
|
const goToRemark = () => {
|
|||
|
common_vendor.index.navigateTo({
|
|||
|
url: "/pages/goToRemark/goToRemark"
|
|||
|
});
|
|||
|
};
|
|||
|
const sendTime = common_vendor.ref("");
|
|||
|
const dsbonBox = common_vendor.ref(null);
|
|||
|
const showTime = () => {
|
|||
|
if (dsbonBox.value) {
|
|||
|
dsbonBox.value.showBox();
|
|||
|
}
|
|||
|
};
|
|||
|
const handleTimeSelected = (time) => {
|
|||
|
console.log("Selected Time:", time);
|
|||
|
const [date, duration] = time.split(" ");
|
|||
|
const [startHour, endHour] = duration.split("-");
|
|||
|
isoStart.value = `${date}T${startHour}:00+08:00`;
|
|||
|
isoEnd.value = `${date}T${endHour}:00+08:00`;
|
|||
|
new Date(isoStart.value);
|
|||
|
new Date(isoEnd.value);
|
|||
|
console.log("Start Time in ISO format:", isoStart.value);
|
|||
|
console.log("End Time in ISO format:", isoEnd.value);
|
|||
|
sendTime.value = time;
|
|||
|
};
|
|||
|
return (_ctx, _cache) => {
|
|||
|
var _a, _b;
|
|||
|
return common_vendor.e({
|
|||
|
a: common_vendor.p({
|
|||
|
["show-icon"]: true,
|
|||
|
scrollable: true,
|
|||
|
text: "15分钟内未支付,订单将自动取消"
|
|||
|
}),
|
|||
|
b: common_vendor.t(formattedTime.value),
|
|||
|
c: statusId.value,
|
|||
|
d: common_vendor.o(($event) => radio1.value = $event),
|
|||
|
e: common_vendor.p({
|
|||
|
localdata: sex.value,
|
|||
|
modelValue: radio1.value
|
|||
|
}),
|
|||
|
f: radio1.value === 2
|
|||
|
}, radio1.value === 2 ? {
|
|||
|
g: common_vendor.t(selectedApartmentName.value ? selectedApartmentName.value : "请选择公寓"),
|
|||
|
h: common_vendor.o(bindPickerChange),
|
|||
|
i: index.value,
|
|||
|
j: array.value,
|
|||
|
k: common_vendor.t(sendTime.value || "请选择配送时间"),
|
|||
|
l: common_vendor.o(showTime),
|
|||
|
m: common_vendor.sr(dsbonBox, "71a06cb4-2", {
|
|||
|
"k": "dsbonBox"
|
|||
|
}),
|
|||
|
n: common_vendor.o(handleTimeSelected),
|
|||
|
o: common_vendor.p({
|
|||
|
["get-time"]: sendTime.value
|
|||
|
})
|
|||
|
} : {}, {
|
|||
|
p: common_vendor.t(orderItem.value.totalPrice),
|
|||
|
q: common_vendor.o(submitOrder),
|
|||
|
r: common_vendor.p({
|
|||
|
type: "calendar-filled",
|
|||
|
size: "30"
|
|||
|
}),
|
|||
|
s: common_vendor.p({
|
|||
|
type: "calendar-filled",
|
|||
|
size: "30"
|
|||
|
}),
|
|||
|
t: common_vendor.p({
|
|||
|
type: "calendar-filled",
|
|||
|
size: "30"
|
|||
|
}),
|
|||
|
v: common_vendor.o(closeOrder),
|
|||
|
w: (_a = orderItem.value.businessVO) == null ? void 0 : _a.businessImages,
|
|||
|
x: common_vendor.t((_b = orderItem.value.businessVO) == null ? void 0 : _b.businessName),
|
|||
|
y: common_vendor.f(orderItem.value.orderDetailsVOList, (item, k0, i0) => {
|
|||
|
return {
|
|||
|
a: item.dishesVO.dishesImage,
|
|||
|
b: common_vendor.t(item.dishesVO.dishesName),
|
|||
|
c: common_vendor.t(item.quantity),
|
|||
|
d: common_vendor.t(item.dishesVO.dishesName),
|
|||
|
e: common_vendor.t(item.dishesVO.dishesPrice)
|
|||
|
};
|
|||
|
}),
|
|||
|
z: radio1.value === 1 || radio1.value === 2
|
|||
|
}, radio1.value === 1 || radio1.value === 2 ? {} : {}, {
|
|||
|
A: radio1.value === 2
|
|||
|
}, radio1.value === 2 ? {} : {}, {
|
|||
|
B: common_vendor.t(orderItem.value.totalPrice),
|
|||
|
C: common_vendor.t(orderItem.value.notes ? orderItem.value.notes : "去备注"),
|
|||
|
D: common_vendor.o(goToRemark),
|
|||
|
E: common_vendor.t(orderItem.value.phone),
|
|||
|
F: common_vendor.t(orderItem.value.pickupCode)
|
|||
|
});
|
|||
|
};
|
|||
|
}
|
|||
|
};
|
|||
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-71a06cb4"]]);
|
|||
|
wx.createPage(MiniProgramPage);
|