318 lines
11 KiB
JavaScript
318 lines
11 KiB
JavaScript
"use strict";
|
|
const common_vendor = require("../../common/vendor.js");
|
|
const common_assets = require("../../common/assets.js");
|
|
const API_api = require("../../API/api.js");
|
|
if (!Array) {
|
|
const _easycom_uni_notice_bar2 = common_vendor.resolveComponent("uni-notice-bar");
|
|
const _easycom_uni_rate2 = common_vendor.resolveComponent("uni-rate");
|
|
const _easycom_uni_drawer2 = common_vendor.resolveComponent("uni-drawer");
|
|
(_easycom_uni_notice_bar2 + _easycom_uni_rate2 + _easycom_uni_drawer2)();
|
|
}
|
|
const _easycom_uni_notice_bar = () => "../../uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.js";
|
|
const _easycom_uni_rate = () => "../../uni_modules/uni-rate/components/uni-rate/uni-rate.js";
|
|
const _easycom_uni_drawer = () => "../../uni_modules/uni-drawer/components/uni-drawer/uni-drawer.js";
|
|
if (!Math) {
|
|
(_easycom_uni_notice_bar + sort + _easycom_uni_rate + _easycom_uni_drawer)();
|
|
}
|
|
const sort = () => "./sort.js";
|
|
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
|
|
__name: "merchant",
|
|
setup(__props) {
|
|
const currentIndex = common_vendor.ref(0);
|
|
const tabs = common_vendor.ref([
|
|
{ name: "点餐" },
|
|
{ name: "评价" },
|
|
{ name: "商家信息" }
|
|
]);
|
|
const switchTab = (index) => {
|
|
currentIndex.value = index;
|
|
};
|
|
const historyList = common_vendor.ref([]);
|
|
const talk = () => {
|
|
common_vendor.index.navigateTo({
|
|
url: "/pages/talk/talk"
|
|
});
|
|
};
|
|
common_vendor.ref(1);
|
|
const showRight = common_vendor.ref(null);
|
|
const showDrawer = () => {
|
|
if (showRight.value) {
|
|
showRight.value.open();
|
|
}
|
|
};
|
|
const isLiked = common_vendor.ref(false);
|
|
const collectState = () => {
|
|
const businessItem = common_vendor.index.getStorageSync("businessItem");
|
|
common_vendor.index.request({
|
|
url: API_api.apiImageUrl + "/api/business/my/getById",
|
|
method: "GET",
|
|
data: {
|
|
businessId: businessItem
|
|
},
|
|
success(res) {
|
|
isLiked.value = Boolean(res.data.data.isCollected);
|
|
},
|
|
fail(error) {
|
|
console.log(error);
|
|
}
|
|
});
|
|
};
|
|
common_vendor.onMounted(() => {
|
|
collectState();
|
|
});
|
|
const toggleLike = () => {
|
|
const originalState = isLiked.value;
|
|
isLiked.value = !originalState;
|
|
const action = originalState ? "delete" : "add";
|
|
common_vendor.index.request({
|
|
url: `${API_api.apiImageUrl}/api/collect/${action}`,
|
|
method: "POST",
|
|
data: {
|
|
businessId: common_vendor.index.getStorageSync("businessItem") || "0"
|
|
},
|
|
header: {
|
|
"cookie": common_vendor.index.getStorageSync("cookie") || ""
|
|
},
|
|
success(res) {
|
|
if (res.data.code !== 200) {
|
|
isLiked.value = originalState;
|
|
common_vendor.index.showToast({
|
|
title: res.data.msg || "操作失败",
|
|
icon: "none",
|
|
duration: 2e3
|
|
});
|
|
return;
|
|
}
|
|
common_vendor.index.showToast({
|
|
title: originalState ? "已取消收藏" : "收藏成功",
|
|
duration: 2e3
|
|
});
|
|
},
|
|
fail() {
|
|
isLiked.value = originalState;
|
|
common_vendor.index.showToast({
|
|
title: "网络错误,请重试",
|
|
icon: "none",
|
|
duration: 2e3
|
|
});
|
|
}
|
|
});
|
|
};
|
|
const cartItems = common_vendor.ref([]);
|
|
const updateCart = (newCartItems) => {
|
|
cartItems.value = newCartItems;
|
|
console.log("更新后的购物车:", cartItems.value);
|
|
common_vendor.index.setStorageSync("cartItems", newCartItems);
|
|
};
|
|
common_vendor.onMounted(() => {
|
|
cartItems.value = common_vendor.index.getStorageSync("cartItems") || [];
|
|
});
|
|
const deleteItem = (index) => {
|
|
cartItems.value.splice(index, 1);
|
|
common_vendor.index.setStorageSync("cartItems", cartItems.value);
|
|
};
|
|
common_vendor.onMounted(() => {
|
|
cartItems.value = common_vendor.index.getStorageSync("cartItems") || [];
|
|
});
|
|
const incrementQuantity = (index) => {
|
|
if (cartItems.value[index].quantity < 9) {
|
|
cartItems.value[index].quantity++;
|
|
}
|
|
};
|
|
const decrementQuantity = (index) => {
|
|
if (cartItems.value[index].quantity > 1) {
|
|
cartItems.value[index].quantity--;
|
|
}
|
|
};
|
|
const totalAmount = common_vendor.computed(() => {
|
|
return cartItems.value.reduce((total, item) => {
|
|
return total + item.dishesPrice * item.quantity;
|
|
}, 0);
|
|
});
|
|
const account = () => {
|
|
let businessid = common_vendor.index.getStorageSync("businessItem") || "1830063677349658625";
|
|
const orderDetails = cartItems.value.map((item) => ({
|
|
attributeNames: "小份",
|
|
dishesId: item.id,
|
|
quantity: item.quantity
|
|
}));
|
|
const data = {
|
|
businessId: String(businessid),
|
|
notes: "",
|
|
orderDetailAddRequest: orderDetails,
|
|
payMethod: 0,
|
|
phone: "15946398466",
|
|
pickupMethod: 0,
|
|
pickupTime: "",
|
|
totalPrice: totalAmount.value,
|
|
userName: "沙箱账号"
|
|
};
|
|
data.businessId = String(data.businessId);
|
|
common_vendor.index.request({
|
|
url: API_api.apiImageUrl + "/api/orders/add",
|
|
method: "POST",
|
|
data,
|
|
header: {
|
|
"cookie": common_vendor.index.getStorageSync("cookie") || ""
|
|
},
|
|
success(res) {
|
|
console.log(data);
|
|
console.log("Success:", res.data.data);
|
|
const orderId = res.data.data;
|
|
common_vendor.index.setStorageSync("notPay", orderId);
|
|
common_vendor.index.navigateTo({
|
|
url: "/pages/goToPay/goToPay"
|
|
});
|
|
},
|
|
fail() {
|
|
console.error("Error:", "请求失败");
|
|
}
|
|
});
|
|
};
|
|
const merchantId = common_vendor.ref();
|
|
const getMerchantIdFromUrl = () => {
|
|
const pages = getCurrentPages();
|
|
const currentPage = pages[pages.length - 1];
|
|
console.log("Current page options:", currentPage.options);
|
|
if (currentPage && currentPage.options && currentPage.options.merchantId) {
|
|
merchantId.value = currentPage.options.merchantId;
|
|
console.log(`Merchant ID received: ${merchantId.value}`);
|
|
} else {
|
|
console.error("Could not retrieve merchantId from URL.");
|
|
}
|
|
};
|
|
common_vendor.onMounted(() => {
|
|
getMerchantIdFromUrl();
|
|
});
|
|
common_vendor.watch(merchantId, (newValue) => {
|
|
common_vendor.index.$emit("merchantIdChanged", newValue);
|
|
});
|
|
const businessMessage = common_vendor.ref(common_vendor.index.getStorageSync("Mybusiness"));
|
|
console.log(businessMessage.value);
|
|
const review = () => {
|
|
const businessId = common_vendor.index.getStorageSync("businessItem");
|
|
common_vendor.index.request({
|
|
url: API_api.apiImageUrl + "/api/level/list/business",
|
|
method: "POST",
|
|
data: {
|
|
id: businessId
|
|
},
|
|
success(res) {
|
|
console.log(res.data.data);
|
|
historyList.value = res.data.data;
|
|
},
|
|
fail() {
|
|
console.log("失败");
|
|
}
|
|
});
|
|
};
|
|
common_vendor.onMounted(() => {
|
|
review();
|
|
});
|
|
const contentDetail = common_vendor.ref("");
|
|
const fetchContentItem = async () => {
|
|
const businessId = common_vendor.index.getStorageSync("businessItem");
|
|
try {
|
|
const res = await common_vendor.index.request({
|
|
url: "http://39.101.78.35:6448/api/businessInfo/list",
|
|
method: "POST",
|
|
data: {
|
|
id: businessId
|
|
}
|
|
});
|
|
console.log(res.data.data.content);
|
|
contentDetail.value = res.data.data.content;
|
|
} catch (err) {
|
|
console.error(err);
|
|
}
|
|
};
|
|
common_vendor.onMounted(() => {
|
|
fetchContentItem();
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return common_vendor.e({
|
|
a: common_vendor.p({
|
|
["show-icon"]: true,
|
|
scrollable: true,
|
|
text: contentDetail.value
|
|
}),
|
|
b: common_vendor.f(tabs.value, (tab, index, i0) => {
|
|
return {
|
|
a: common_vendor.t(tab.name),
|
|
b: index,
|
|
c: currentIndex.value === index ? 1 : "",
|
|
d: common_vendor.o(($event) => switchTab(index), index)
|
|
};
|
|
}),
|
|
c: currentIndex.value === 0
|
|
}, currentIndex.value === 0 ? {
|
|
d: common_vendor.o(updateCart),
|
|
e: common_vendor.p({
|
|
["merchant-id"]: merchantId.value
|
|
})
|
|
} : {}, {
|
|
f: currentIndex.value === 1
|
|
}, currentIndex.value === 1 ? {
|
|
g: common_vendor.f(historyList.value, (item, index, i0) => {
|
|
return common_vendor.e({
|
|
a: common_vendor.t(item.createTime.substr(0, 19).replace("T", " ")),
|
|
b: common_vendor.t(item.rating),
|
|
c: "a7b7a9e4-2-" + i0,
|
|
d: common_vendor.p({
|
|
readonly: true,
|
|
value: item.rating,
|
|
["active-color"]: "#13c2c2",
|
|
["is-fill"]: false,
|
|
color: "#13c2c2"
|
|
}),
|
|
e: common_vendor.t(item.review),
|
|
f: common_vendor.o(($event) => _ctx.reviewUser(item), index),
|
|
g: item.businessReview && item.businessReview.trim() !== ""
|
|
}, item.businessReview && item.businessReview.trim() !== "" ? {
|
|
h: common_vendor.t(item.businessReview)
|
|
} : {}, {
|
|
i: index
|
|
});
|
|
})
|
|
} : {}, {
|
|
h: currentIndex.value === 2
|
|
}, currentIndex.value === 2 ? {
|
|
i: common_vendor.t(businessMessage.value.address),
|
|
j: common_vendor.t(businessMessage.value.businessPhone),
|
|
k: businessMessage.value.businessAvatar
|
|
} : {}, {
|
|
l: isLiked.value ? "../../static/small/starSelected.png" : "../../static/small/star.png",
|
|
m: common_vendor.t(isLiked.value ? "已收藏" : "收藏店铺"),
|
|
n: common_vendor.o(toggleLike),
|
|
o: common_assets._imports_0$3,
|
|
p: common_vendor.o(talk),
|
|
q: common_vendor.o(($event) => showDrawer()),
|
|
r: common_vendor.f(cartItems.value, (item, index, i0) => {
|
|
return {
|
|
a: item.dishesImage,
|
|
b: common_vendor.o(($event) => deleteItem(index), index),
|
|
c: common_vendor.t(item.dishesName),
|
|
d: common_vendor.t(item.dishesPrice),
|
|
e: common_vendor.o(($event) => decrementQuantity(index), index),
|
|
f: common_vendor.t(item.quantity),
|
|
g: common_vendor.o(($event) => incrementQuantity(index), index),
|
|
h: index
|
|
};
|
|
}),
|
|
s: common_assets._imports_1,
|
|
t: common_vendor.t(totalAmount.value),
|
|
v: common_vendor.o(account),
|
|
w: common_vendor.sr(showRight, "a7b7a9e4-3", {
|
|
"k": "showRight"
|
|
}),
|
|
x: common_vendor.o(($event) => _ctx.change($event, "showRight")),
|
|
y: common_vendor.p({
|
|
mode: "left",
|
|
["mask-click"]: true
|
|
})
|
|
});
|
|
};
|
|
}
|
|
});
|
|
wx.createPage(_sfc_main);
|