feat: 增加代课下单商品不在可售时间内判断,增加购物车提示库存不足处理,增加购物车编辑增加参数起售数量

This commit is contained in:
2025-04-21 11:04:24 +08:00
parent 8a9cca4ee2
commit 65c1aef7bf
4 changed files with 53 additions and 5 deletions

View File

@@ -128,6 +128,7 @@ function confirm() {
product_id: goods.value.id,
number: number.value,
product_type: goods.value.type,
suitNum: skuData.value.suitNum || 1,
});
close();
}

View File

@@ -30,7 +30,10 @@
size="60"
></svg-icon>
<svg-icon
@click="ElMessage.error('该商品不在可售时间内')"
@click="
ElMessage.error('该商品不在可售时间内') ||
isProductAvailable(item.days, item.startTime, item.endTime)
"
v-else-if="!item.isSaleTime"
iconClass="no-sale"
color="#fff"
@@ -55,6 +58,7 @@
</template>
<script setup>
import dayjs from "dayjs";
const props = defineProps({
item: {
type: Object,
@@ -68,6 +72,30 @@ const emits = defineEmits(["itemClick"]);
function itemClick() {
emits("itemClick");
}
// 判断商品是否在可售时间内
function isProductAvailable(sellDaysStr, startTimeStr, endTimeStr) {
// 将后端返回的字符串转换为数组
const sellDays = sellDaysStr.split(",");
const now = dayjs();
const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
const currentDay = days[now.day()]; // console.log('当前日期:', currentDay); // console.log('可售日期列表:', sellDays); // 检查当前周几是否在可售周几列表中
if (!sellDays.includes(currentDay)) {
// console.log('当前日期不在可售日期列表中');
return false;
}
const startTime = dayjs(`${now.format("YYYY-MM-DD")} ${startTimeStr}`);
let endTime = dayjs(`${now.format("YYYY-MM-DD")} ${endTimeStr}`); // 处理跨天情况
if (endTime.isBefore(startTime)) {
endTime = endTime.add(1, "day");
} // console.log('当前时间:', now.format('YYYY-MM-DD HH:mm:ss')); // console.log('开始时间:', startTime.format('YYYY-MM-DD HH:mm:ss')); // console.log('结束时间:', endTime.format('YYYY-MM-DD HH:mm:ss'));
const isInRange = now.isBetween(startTime, endTime, null, "[)"); // console.log('当前时间是否在可售时间范围内:', isInRange);
return isInRange;
}
</script>
<style scoped lang="scss">
.goods-item {

View File

@@ -511,6 +511,7 @@ function taocanConfirm(goods, pro_group_info) {
pro_group_info: JSON.stringify(pro_group_info),
number: goods.skuList[0].suitNum,
pack_number: diners.sel ? goods.skuList[0].suitNum : 0,
suitNum: goods.skuList[0].suitNum,
});
}
function taocanShow(item) {
@@ -527,6 +528,7 @@ function changeWeightConfirm(goods, number) {
sku_id: goods.skuList[0].id,
number,
product_type: goods.type,
suitNum: goods.skuList[0].suitNum || 1,
},
true
);
@@ -584,6 +586,7 @@ function addLingShiCaiConfirm(data) {
product_id: "-999",
is_temporary: 1,
...data,
suitNum: 1,
});
}
//单品改价
@@ -708,6 +711,7 @@ function goodsClick(item) {
//单规格
if (item.type == "single") {
addCarts({
suitNum: item.suitNum || 1,
product_id: item.id,
sku_id: item.skuList[0].id,
number: item.skuList[0].suitNum || 1,
@@ -735,6 +739,7 @@ function goodsClick(item) {
product_id: item.id,
number: item.skuList[0].suitNum || 1,
product_type: item.type,
suitNum: item.skuList[0].suitNum || 1,
};
addCarts(sendmsg);
return;
@@ -750,6 +755,7 @@ function goodsClick(item) {
// 多规格选择确认
function skuSelConfirm(item) {
console.log("item");
console.log(item);
addCarts(item);
}