Files
xiaokuaisong-paotui/distribution/unpackage/dist/dev/mp-alipay/pages/index/index.js
2025-08-18 09:57:10 +08:00

422 lines
14 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"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_icons2 = common_vendor.resolveComponent("uni-icons");
const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
(_easycom_uni_notice_bar2 + _easycom_uni_icons2 + _easycom_uni_popup2)();
}
const _easycom_uni_notice_bar = () => "../../uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.js";
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
const _easycom_uni_popup = () => "../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
if (!Math) {
(_easycom_uni_notice_bar + _easycom_uni_icons + _easycom_uni_popup)();
}
const _sfc_main = {
__name: "index",
setup(__props) {
const radius = common_vendor.ref(common_vendor.index.getStorageSync("currentUser.distributionScope"));
const currentIndex = common_vendor.ref(0);
const tabs = [
{
name: "待抢单"
},
{
name: "待取货"
},
{
name: "待送达"
}
];
const switchTab = (index) => {
currentIndex.value = index;
const stateMap = [1, 2, 3];
if (index >= 0 && index < stateMap.length) {
robOrder(stateMap[index]);
}
};
const switchTabs = (index) => {
activeTab.value = index;
};
const type = common_vendor.ref("center");
const activeTab = common_vendor.ref(0);
const selectedItem = common_vendor.ref(null);
const popupRef = common_vendor.ref(null);
const array = common_vendor.ref(["1公寓", "2公寓", "3公寓", "4公寓", "5公寓", "6公寓", "7公寓", "8公寓", "9公寓", "10公寓", "11公寓", "12公寓", "育才大厦"]);
common_vendor.ref(0);
const items = common_vendor.ref([
"考核时间从多到少",
"运单金额从高到低",
"配送距离从近到远",
"取货距离从近到远",
"推荐排序"
]);
const tipsItems = common_vendor.ref([
"新单置顶",
"已抢商户置顶"
]);
const change = (e) => {
console.log("当前模式:" + e.type + ",状态:" + e.show);
};
const toggle = (typeValue) => {
type.value = typeValue;
popupRef.value.open(typeValue);
};
const map = () => {
common_vendor.index.navigateTo({
url: "/pages/map/map"
});
};
const bindPickerChange = (e) => {
console.log("picker发送选择改变携带值为", e.detail.value);
const newValue = array.value[e.detail.value];
radius.value = newValue;
const requestData = {
distributionScope: newValue,
errandName: currentUser.value.errandName,
// 动态获取
errandPhone: currentUser.value.errandPhone,
// 动态获取
gender: currentUser.value.gender,
// 动态获取
id: currentUser.value.id,
// 动态获取
state: currentUser.value.state
// 动态获取
};
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/errand/update/my",
method: "POST",
data: requestData,
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
console.log("配送范围更新成功:", res);
console.log(res.data.code);
if (res.data.code === 50001) {
common_vendor.index.showToast({
title: "还有未送达订单",
icon: "fail"
});
} else if (res.data.code === 0) {
common_vendor.index.showToast({
title: "配送范围已更新",
icon: "success"
});
refreshOrders();
}
},
fail(err) {
console.error("配送范围更新失败:", err);
common_vendor.index.showToast({
title: "更新失败,请重试",
icon: "none"
});
}
});
};
const handleClick = (item) => {
selectedItem.value = item;
};
const refreshOrders = () => {
const stateMap = [1, 2, 3];
const currentState = stateMap[currentIndex.value] || 1;
robOrder(currentState);
};
common_vendor.onMounted(() => {
robOrder(1);
});
let errandOrder = common_vendor.ref([]);
const robOrder = (errandStateValue) => {
if (typeof errandStateValue !== "number" || isNaN(errandStateValue)) {
console.error("Invalid errandState value:", errandStateValue);
return;
}
const params = `errandState=${encodeURIComponent(errandStateValue.toString())}`;
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/errand/list/order",
method: "POST",
header: {
"Content-Type": "application/x-www-form-urlencoded",
// 设置正确的内容类型
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
data: params,
// 直接使用构建好的查询字符串
success(res) {
console.log("请求成功:", res);
if (res.data.code !== 0) {
common_vendor.index.showToast({
title: `请求失败:${res.data.message}`,
icon: "none"
});
} else {
console.log(res.data.data);
errandOrder.value = res.data.data;
console.log("Updated errandOrder:", errandOrder.value);
}
},
fail(err) {
console.log("请求失败:", err);
}
});
};
const plunder = (id) => {
console.log(id);
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/errand/get/order",
method: "POST",
data: {
id
},
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success: (res) => {
console.log(res);
if (res.data.code === 0) {
common_vendor.index.showToast({
title: "抢单成功",
icon: "success",
success: () => {
const stateMap = [1, 2, 3];
const currentState = stateMap[currentIndex.value];
robOrder(currentState);
if (currentIndex.value === 0) {
robOrder(2);
}
}
});
} else {
common_vendor.index.showToast({
title: res.data.message || "抢单失败",
icon: "none"
});
}
},
fail: (err) => {
console.log(err);
common_vendor.index.showToast({
title: "网络错误,请重试",
icon: "none"
});
}
});
};
const obtain = (id) => {
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/errand/update/state",
method: "POST",
data: {
errandsState: 3,
orderId: id
},
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success: (res) => {
console.log(res);
if (res.data.code === 0) {
common_vendor.index.showToast({
title: "取货成功",
icon: "success",
success: () => {
robOrder(2);
robOrder(3);
}
});
} else {
common_vendor.index.showToast({
title: res.data.description || "取货失败",
icon: "none"
});
}
},
fail: (err) => {
console.log(err);
common_vendor.index.showToast({
title: "网络异常,请检查连接",
icon: "none"
});
}
});
};
let currentUser = common_vendor.ref({});
const getCurrentUser = () => {
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/errand/get/current",
method: "POST",
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie")
},
success(res) {
console.log(res);
if (res.data.code === 0) {
const userData = res.data.data;
currentUser.value = userData;
if (array.value.includes(userData.distributionScope)) {
radius.value = userData.distributionScope;
} else {
console.warn("用户的配送范围不在预设的选项中");
}
}
},
fail(err) {
console.error("请求失败:", err);
}
});
};
common_vendor.onMounted(() => {
robOrder(1);
getCurrentUser();
});
common_vendor.onShow(() => {
getCurrentUser();
robOrder(1);
});
const orderDetail = (item) => {
common_vendor.index.setStorageSync("orderDetail", item);
common_vendor.index.navigateTo({
url: "/pages/orderDetail/orderDetail"
});
};
const deliveryDetail = (item) => {
console.log("4567845678945678900");
console.log(item);
common_vendor.index.setStorageSync("orderDetail", item);
common_vendor.index.navigateTo({
url: "/pages/deliveryDetail/deliveryDetail"
});
};
const formatDate = (isoString) => {
if (!isoString)
return "";
return isoString.slice(5, 10) + " " + isoString.slice(11, 19);
};
common_vendor.index.$on("refresh-delivery-list", () => {
this.robOrder(3);
});
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.f(tabs, (tab, index, i0) => {
return {
a: common_vendor.t(tab.name),
b: tab.name,
c: currentIndex.value === index ? 1 : "",
d: common_vendor.o(($event) => switchTab(index))
};
}),
b: common_vendor.p({
["show-icon"]: true,
scrollable: true,
text: "今日放假"
}),
c: currentIndex.value === 0
}, currentIndex.value === 0 ? {
d: common_vendor.f(common_vendor.unref(errandOrder), (item, index, i0) => {
var _a;
return {
a: common_vendor.t(item.id),
b: common_vendor.t(formatDate(item.pickupEndTime)),
c: common_vendor.t(item.address),
d: common_vendor.t((_a = item.businessVO) == null ? void 0 : _a.businessName),
e: common_vendor.t(item.location),
f: common_vendor.o(($event) => plunder(item.id)),
g: index
};
})
} : {}, {
e: currentIndex.value === 1
}, currentIndex.value === 1 ? {
f: common_vendor.f(common_vendor.unref(errandOrder), (item, index, i0) => {
var _a;
return {
a: common_vendor.t(item.id),
b: common_vendor.t(formatDate(item.pickupEndTime)),
c: common_vendor.t(item.address),
d: common_vendor.t((_a = item.businessVO) == null ? void 0 : _a.businessName),
e: common_vendor.t(item.location),
f: common_vendor.o(($event) => obtain(item.id)),
g: index,
h: common_vendor.o(($event) => orderDetail(item))
};
})
} : {}, {
g: currentIndex.value === 2
}, currentIndex.value === 2 ? {
h: common_vendor.f(common_vendor.unref(errandOrder), (item, index, i0) => {
var _a;
return {
a: common_vendor.t(item.id),
b: common_vendor.t(formatDate(item.pickupEndTime)),
c: common_vendor.t(item.address),
d: common_vendor.t((_a = item.businessVO) == null ? void 0 : _a.businessName),
e: common_vendor.t(item.location),
f: index,
g: common_vendor.o(($event) => deliveryDetail(item))
};
})
} : {}, {
i: common_vendor.p({
type: "gear-filled",
size: "24"
}),
j: common_vendor.o(($event) => toggle("bottom")),
k: common_vendor.p({
type: "location-filled",
size: "24"
}),
l: common_vendor.o(map),
m: common_vendor.o(refreshOrders),
n: activeTab.value === 0 ? 1 : "",
o: common_vendor.o(($event) => switchTabs(0)),
p: activeTab.value === 1 ? 1 : "",
q: common_vendor.o(($event) => switchTabs(1)),
r: activeTab.value === 0
}, activeTab.value === 0 ? {
s: common_vendor.t(radius.value.value || "修改配送区域"),
t: array.value.indexOf(radius.value.value),
v: array.value,
w: common_vendor.o(bindPickerChange)
} : {}, {
x: activeTab.value === 1
}, activeTab.value === 1 ? {
y: common_vendor.f(items.value, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: common_vendor.o(($event) => handleClick(item)),
c: index,
d: selectedItem.value === item ? 1 : ""
};
}),
z: common_vendor.f(tipsItems.value, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: common_vendor.o(($event) => handleClick(item)),
c: index,
d: selectedItem.value === item ? 1 : ""
};
})
} : {}, {
A: type.value === "left" || type.value === "right" ? 1 : "",
B: () => ({
r: popupRef,
k: "popupRef"
}),
C: common_vendor.o(change),
D: common_vendor.p({
["background-color"]: "#fff"
})
});
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-1cf27b2a"]]);
my.createPage(MiniProgramPage);