SOURCE

console 命令行工具 X clear

                    
>
console
const salePlanList = [
    { "date": "合计", "weekDay": "", "goal": 5100, "predict": 5730, "predictRate": "112%", "flowerPot": "160/37", "fpFlower": 0, "fpPot": 0, "abandon": 4, "potAmount": 160, "flowerAmount": 37 },
    { "_id": "7TA8HBPV6K", "storeID": "S1006000725", "saleDate": 1693152000000, "goal": 1200, "predict": 1200, "potAcost": 13.5, "potAprice": 29, "potBcost": 25, "potBprice": 58, "flowerCost": 12, "flowerPrice": 29, "flowerPot": "35/6", "potRate": 0.15, "potAmount": 6, "flowerAmount": 35, "abandon": 1, "abandonRate": 0.006574996602918421, "date": "8/28", "weekDay": "周一", "predictRate": "100%" },
    { "_id": "7TA8HBPV6L", "storeID": "S1006000725", "saleDate": 1693238400000, "goal": 1500, "predict": 1500, "potAcost": 13.5, "potAprice": 29, "potBcost": 25, "potBprice": 58, "flowerCost": 12, "flowerPrice": 29, "flowerPot": "44/7", "potRate": 0.14, "potAmount": 7, "flowerAmount": 44, "abandon": 1, "abandonRate": 0.006276968077955758, "date": "8/29", "weekDay": "周二", "predictRate": "100%" },
    { "_id": "7TA8HBPV6M", "storeID": "S1006000725", "saleDate": 1693324800000, "goal": 1200, "predict": 1230, "potAcost": 13.5, "potAprice": 29, "potBcost": 25, "potBprice": 58, "flowerCost": 12, "flowerPrice": 29, "flowerPot": "33/10", "potRate": 0.23, "potAmount": 10, "flowerAmount": 33, "abandon": 1, "abandonRate": 0.007727905595905239, "date": "8/30", "weekDay": "周三", "predictRate": "102%" },
    { "_id": "7TA8HBPV6N", "storeID": "S1006000725", "saleDate": 1693411200000, "goal": 1200, "predict": 1800, "potAcost": 13.5, "potAprice": 29, "potBcost": 25, "potBprice": 58, "flowerCost": 12, "flowerPrice": 29, "flowerPot": "48/14", "potRate": 0.23, "potAmount": 14, "flowerAmount": 48, "abandon": 1, "abandonRate": 0.008145892942602002, "date": "8/31", "weekDay": "周四", "predictRate": "150%" }
]

const purchaseDate = 1693238400000
const receiptDate = 1693324800000
const saleDLDate = 1693411200000
console.log("发注日:",dayjs(purchaseDate).format('YYYY-MM-DD HH:mm:ss'))
console.log("入货日:",dayjs(receiptDate).format('YYYY-MM-DD HH:mm:ss'))
console.log("销售截止日:",dayjs(saleDLDate).format('YYYY-MM-DD HH:mm:ss'))


const result = handleDuaResult(purchaseDate, receiptDate, saleDLDate, salePlanList)
console.log(result)

// 计算 发注日  入货日期间  入货日期  售卖截止日期间的销售数、废弃数
function handleDuaResult(purchaseDate, receiptDate, saleDLDate, salePlanList) {
    // 获取收获日的前一天
    const endDate = dayjs(receiptDate).subtract(1, 'day').startOf('day').valueOf();
    console.log(endDate)

    let prSaleAmount = 0
    let prAbandonAmount = 0
    let rsSaleAmount = 0
    let rsAbandonAmount = 0

    salePlanList.map(item => {
        if (item.date !== "合计") {
            // 计算销售数和废弃数:时间跨度为发注日到 入货日前一日
            if (item.saleDate >= purchaseDate && item.saleDate <= endDate) {
                console.log(item)
                prSaleAmount += item.flowerAmount
                prAbandonAmount += item.abandon
            }

            // 计算 入货日期  截止日期间的销售数、废弃数
            if (item.saleDate >= receiptDate && item.saleDate <= saleDLDate) {
                rsSaleAmount += item.flowerAmount
                rsAbandonAmount += item.abandon
            }
        }
    })


    return {
        prSaleAmount: prSaleAmount,
        prAbandonAmount: prAbandonAmount,
        rsSaleAmount: rsSaleAmount,
        rsAbandonAmount: rsAbandonAmount
    }
}
<!DOCTYPE html>
<html>
<head>
  <title>Dayjs Example</title>
  <script src="https://cdn.jsdelivr.net/npm/dayjs"></script>
</head>
<body>
  <!-- 页面内容 -->
</body>
</html>