上传代码
This commit is contained in:
279
distribution/unpackage/dist/dev/mp-alipay/pages/deliveryDetail/deliveryDetail.js
vendored
Normal file
279
distribution/unpackage/dist/dev/mp-alipay/pages/deliveryDetail/deliveryDetail.js
vendored
Normal file
@ -0,0 +1,279 @@
|
||||
"use strict";
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const API_api = require("../../API/api.js");
|
||||
if (!Array) {
|
||||
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
|
||||
_easycom_uni_icons2();
|
||||
}
|
||||
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
|
||||
if (!Math) {
|
||||
_easycom_uni_icons();
|
||||
}
|
||||
const _sfc_main = {
|
||||
__name: "deliveryDetail",
|
||||
setup(__props) {
|
||||
const orderDetail = common_vendor.ref(common_vendor.index.getStorageSync("orderDetail"));
|
||||
const apartmentLocations = {
|
||||
"1公寓": {
|
||||
latitude: 45.878148,
|
||||
longitude: 126.542369
|
||||
},
|
||||
"2公寓": {
|
||||
latitude: 45.878016,
|
||||
longitude: 126.542924
|
||||
},
|
||||
"3公寓": {
|
||||
latitude: 45.878117,
|
||||
longitude: 126.543476
|
||||
},
|
||||
"4公寓": {
|
||||
latitude: 45.878118,
|
||||
longitude: 126.54415
|
||||
},
|
||||
"5公寓": {
|
||||
latitude: 45.878978,
|
||||
longitude: 126.54127
|
||||
},
|
||||
"6公寓": {
|
||||
latitude: 45.878982,
|
||||
longitude: 126.541879
|
||||
},
|
||||
"9公寓": {
|
||||
latitude: 45.878435,
|
||||
longitude: 126.544863
|
||||
},
|
||||
"10公寓": {
|
||||
latitude: 45.879196,
|
||||
longitude: 126.543891
|
||||
},
|
||||
"11公寓": {
|
||||
latitude: 45.879157,
|
||||
longitude: 126.542722
|
||||
},
|
||||
"12公寓": {
|
||||
latitude: 45.875638,
|
||||
longitude: 126.540502
|
||||
},
|
||||
"育才大厦": {
|
||||
latitude: 45.875638,
|
||||
longitude: 126.540502
|
||||
}
|
||||
};
|
||||
const formatDate = (dateString) => {
|
||||
const date = new Date(dateString);
|
||||
const year = date.getFullYear();
|
||||
const month = String(date.getMonth() + 1).padStart(2, "0");
|
||||
const day = String(date.getDate()).padStart(2, "0");
|
||||
const hours = String(date.getHours()).padStart(2, "0");
|
||||
const minutes = String(date.getMinutes()).padStart(2, "0");
|
||||
const seconds = String(date.getSeconds()).padStart(2, "0");
|
||||
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
||||
};
|
||||
const handlePickup = (id, imageUrl) => {
|
||||
common_vendor.index.showLoading({
|
||||
title: "提交中...",
|
||||
mask: true
|
||||
});
|
||||
common_vendor.index.request({
|
||||
url: API_api.apiImageUrl + "/api/errand/update/state",
|
||||
method: "POST",
|
||||
data: {
|
||||
errandsState: 4,
|
||||
orderId: id,
|
||||
imageAddress: imageUrl
|
||||
},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
// 确保设置正确的 Content-Type
|
||||
"cookie": common_vendor.index.getStorageSync("cookie") || ""
|
||||
},
|
||||
success(res) {
|
||||
console.log(res);
|
||||
common_vendor.index.hideLoading();
|
||||
if (res.data.code === 0) {
|
||||
common_vendor.index.showToast({
|
||||
title: "成功送达",
|
||||
icon: "none",
|
||||
duration: 2e3,
|
||||
success: () => {
|
||||
const pages = getCurrentPages();
|
||||
const prevPage = pages[pages.length - 3];
|
||||
if (prevPage && prevPage.robOrder) {
|
||||
prevPage.robOrder(3);
|
||||
}
|
||||
common_vendor.index.navigateBack({
|
||||
delta: 2,
|
||||
success: () => {
|
||||
common_vendor.index.$emit("refresh-delivery-list");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
common_vendor.index.showToast({
|
||||
title: res.data.message || "送达失败",
|
||||
icon: "none"
|
||||
});
|
||||
}
|
||||
},
|
||||
fail(err) {
|
||||
console.log(err);
|
||||
common_vendor.index.showToast({
|
||||
title: "网络异常,请检查连接",
|
||||
icon: "none"
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
const handleContact = (item) => {
|
||||
common_vendor.index.makePhoneCall({
|
||||
phoneNumber: item
|
||||
});
|
||||
};
|
||||
const handleCall = (item) => {
|
||||
console.log(item);
|
||||
common_vendor.index.makePhoneCall({
|
||||
phoneNumber: item
|
||||
});
|
||||
};
|
||||
const latitude = common_vendor.ref("");
|
||||
const longitude = common_vendor.ref("");
|
||||
const includePoints = common_vendor.ref([]);
|
||||
const covers = common_vendor.ref([]);
|
||||
common_vendor.onMounted(() => {
|
||||
getLocation();
|
||||
});
|
||||
function getLocation() {
|
||||
common_vendor.index.getLocation({
|
||||
type: "gcj02",
|
||||
// 返回可以用于uni.openLocation的坐标
|
||||
success(res) {
|
||||
console.log("当前位置的经度:" + res.longitude);
|
||||
console.log("当前位置的纬度:" + res.latitude);
|
||||
latitude.value = res.latitude;
|
||||
longitude.value = res.longitude;
|
||||
updateCover(res.latitude, res.longitude, 2, "我的位置", "/static/logo.png");
|
||||
if (orderDetail.value.location in apartmentLocations) {
|
||||
const targetApartment = apartmentLocations[orderDetail.value.location];
|
||||
updateCover(
|
||||
targetApartment.latitude,
|
||||
targetApartment.longitude,
|
||||
1,
|
||||
orderDetail.value.location,
|
||||
"/static/errand.jpg"
|
||||
);
|
||||
includePoints.value = [
|
||||
{
|
||||
latitude: targetApartment.latitude,
|
||||
longitude: targetApartment.longitude
|
||||
},
|
||||
// 目标公寓的位置
|
||||
{
|
||||
latitude: res.latitude,
|
||||
longitude: res.longitude
|
||||
}
|
||||
// 用户的位置
|
||||
];
|
||||
} else {
|
||||
console.warn(`未找到名为"${orderDetail.value.location}"的公寓位置`);
|
||||
}
|
||||
},
|
||||
fail(err) {
|
||||
console.error("获取位置失败", err);
|
||||
}
|
||||
});
|
||||
}
|
||||
function updateCover(lat, lng, id, title, iconPath) {
|
||||
const position = {
|
||||
id,
|
||||
latitude: lat,
|
||||
longitude: lng,
|
||||
iconPath,
|
||||
// 标记图标路径,现在通过参数传递
|
||||
width: 30,
|
||||
height: 30,
|
||||
title
|
||||
// 可选:标记点标题
|
||||
};
|
||||
const existingIndex = covers.value.findIndex((item) => item.id === position.id);
|
||||
if (existingIndex !== -1) {
|
||||
covers.value[existingIndex] = position;
|
||||
} else {
|
||||
covers.value.push(position);
|
||||
}
|
||||
}
|
||||
const takephoto = () => {
|
||||
common_vendor.index.chooseImage({
|
||||
count: 1,
|
||||
// 默认9,这里设置为1因为只需要一张照片
|
||||
sizeType: ["compressed"],
|
||||
// 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ["camera"],
|
||||
// 从相机选择
|
||||
success: function(res) {
|
||||
const tempFilePaths = res.tempFilePaths;
|
||||
uploadPhoto(tempFilePaths[0]);
|
||||
}
|
||||
});
|
||||
};
|
||||
const uploadPhoto = (filePath) => {
|
||||
common_vendor.index.uploadFile({
|
||||
url: `${API_api.apiImageUrl}/api/file/upload/server`,
|
||||
// 接口地址
|
||||
filePath,
|
||||
name: "file",
|
||||
formData: {
|
||||
biz: "takeout"
|
||||
// 根据要求填写的biz参数
|
||||
},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
// 确保设置正确的 Content-Type
|
||||
"cookie": common_vendor.index.getStorageSync("cookie") || ""
|
||||
},
|
||||
success(res) {
|
||||
console.log("上传成功", res);
|
||||
const imageUrl = JSON.parse(res.data).data;
|
||||
handlePickup(orderDetail.value.id, imageUrl);
|
||||
},
|
||||
fail(err) {
|
||||
console.error("上传失败", err);
|
||||
}
|
||||
});
|
||||
};
|
||||
return (_ctx, _cache) => {
|
||||
return {
|
||||
a: latitude.value,
|
||||
b: longitude.value,
|
||||
c: covers.value,
|
||||
d: includePoints.value,
|
||||
e: common_vendor.t(orderDetail.value.address),
|
||||
f: common_vendor.t(orderDetail.value.location),
|
||||
g: common_vendor.p({
|
||||
type: "phone",
|
||||
size: "30"
|
||||
}),
|
||||
h: common_vendor.o(($event) => {
|
||||
var _a;
|
||||
return handleCall((_a = orderDetail.value.businessVO) == null ? void 0 : _a.businessPhone);
|
||||
}),
|
||||
i: common_vendor.p({
|
||||
type: "phone-filled",
|
||||
size: "30"
|
||||
}),
|
||||
j: common_vendor.o(($event) => handleContact(orderDetail.value.phone)),
|
||||
k: common_vendor.o(($event) => takephoto(orderDetail.value.id)),
|
||||
l: common_vendor.p({
|
||||
type: "camera",
|
||||
size: "30"
|
||||
}),
|
||||
m: common_vendor.t(orderDetail.value.address),
|
||||
n: common_vendor.t(formatDate(orderDetail.value.createTime)),
|
||||
o: common_vendor.t(formatDate(orderDetail.value.pickupEndTime)),
|
||||
p: common_vendor.t(orderDetail.value.location)
|
||||
};
|
||||
};
|
||||
}
|
||||
};
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-3d78755a"]]);
|
||||
my.createPage(MiniProgramPage);
|
Reference in New Issue
Block a user