<template>
    <div class="achievement-report-page">
        <custom-header name="报告详情"></custom-header>
        <div class="report-content-wrap" v-loading="loading">
            <div class="report-content" ref="reportDom">
                <!-- <img src="@/assets/img/home/qrcode.png" alt="" class="code-icon" /> -->
                    <img class="header-img" src="@/assets/img/home/report.png" alt="" />
                <div class="report-header">
                    <!-- <img class="header-book" src="@/assets/img/home/book.png" alt="" /> -->
                    <div class="time-tag">{{ workItem?.reportDate }}</div>
                    <div class="report-title">长势报告</div>
                    <div class="report-info">
                        <div class="info-item">
                            <img class="info-icon" src="@/assets/img/home/farm.png" alt="" />
                            <span class="info-text">{{ workItem?.orchardName }}</span>
                        </div>
                    </div>
                </div>

                <div class="report-box">
                    <div class="box-title">农情总结</div>
                    <div class="box-text">
                        {{ workItem?.summaryAgricultural || "--" }}
                    </div>
                </div>

                <div class="report-box">
                    <div class="box-title">物候与长势</div>
                    <div class="box-text">
                        <div class="box-bg">
                            <span class="box-subtitle">背景描述：</span>
                            <div v-html="workItem?.phenologyBackground"></div>
                        </div>
                        <div class="box-advice">
                            <span class="box-subtitle">对策建议：</span>
                            <div v-html="workItem?.phenologySuggestion"></div>
                        </div>
                        <div class="box-sum" v-html="workItem?.phenologySummary"></div>
                    </div>
                </div>

                <div class="report-box">
                    <div class="box-title">病虫害问题</div>
                    <div class="box-text">
                        <div class="box-bg">
                            <span class="box-subtitle">背景描述：</span>
                            <div v-html="workItem?.pestBackground"></div>
                        </div>
                        <div class="box-advice">
                            <span class="box-subtitle">对策建议：</span>
                            <div v-html="workItem?.pestSuggestion"></div>
                        </div>
                        <div class="box-sum">
                            <div v-html="workItem?.pestSummary"></div>
                        </div>
                    </div>
                </div>

                <div class="report-box">
                    <div class="box-title">未来预测</div>
                    <div class="box-text">
                        <div class="box-bg">
                            <span class="box-subtitle">背景描述：</span>
                            <div v-html="workItem?.forecastBackground"></div>
                        </div>
                        <div class="box-advice">
                            <span class="box-subtitle">对策建议：</span>
                            <div v-html="workItem?.forecastSuggestion"></div>
                        </div>
                    </div>
                </div>

                <div class="report-box">
                    <div class="box-text next-info">
                        <div class="box-bg">
                            <span class="box-subtitle">下一次农情互动预告：</span>
                            <div v-html="workItem?.nextInteractionPreview"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>

<script setup>
import CustomHeader from "@/components/customHeader.vue";
import { ref, onActivated, onDeactivated, onUnmounted } from "vue";
import { useRoute } from "vue-router";

const route = useRoute();
const loading = ref(false);
const workItem = ref({
    executeDate: '2026-02-02',
    farmName: '荔枝博览园',
    resultInfo: '近7天时间地点，当下农情指标（物候期指标等等），面临的风险和出现的问题。',
    growthInfo: {
        description: '当前处于蒂蛀虫高发期，请及时采集。处于蒂蛀虫高发期',
        advice: '根据问题写一下需要注意的事项有哪些；简单描述农事该怎么做（可以链接详细的操作贴）；更加详细的意见，等待专家进一步确认。如果都没有问题，那么这个时期高发什么风险，需要密切关注。',
    },
    futureInfo: {
        description: '为什么这个气象风险很重要，对产量有什么影响；',
        advice: '如果需要做农事，就建议农事，如果暂时不需要做农事，就提醒密切关注长势动态。',
    },
    nextInfo: {
        advice: '时间和主题，主要是为了什么互动，说明其重要性。',
    },
});
function formatArea(val) {
    const num = typeof val === "number" ? val : parseFloat(val);
    if (Number.isNaN(num)) return val;
    return Number.isInteger(num) ? num : num.toFixed(2) + "亩";
}
const paramsPage = ref({});
onActivated(() => {
    window.scrollTo(0, 0);
    paramsPage.value = route.query || {};
    getDetail();
    // getResultReport();
});


const setReadStatus = (id) => {
    VE_API.farm.readReportByFarm({ id,isRead:1 }).then(({ data }) => {
        console.log(data);
    });
}
const getDetail = () => {
    if (!paramsPage.value.farmId) return;
    loading.value = true;
    VE_API.farm
        .growthReportByFarm({ farmId: paramsPage.value.farmId, limit: 20 })
        .then(({ data }) => {
            workItem.value = data[0];
            setReadStatus(data[0].id);
        })
        .finally(() => {
            loading.value = false;
        });
};

// 清理数据的函数
const clearData = () => {
    workItem.value = {};
    paramsPage.value = {};
    loading.value = false;
};

onDeactivated(() => {
    clearData();
});

onUnmounted(() => {
    clearData();
});
</script>

<style lang="scss" scoped>
.achievement-report-page {
    width: 100%;
    height: 100vh;
    background: linear-gradient(195.35deg, #d4e4ff 16.34%, rgba(93, 189, 255, 0) 50.3%),
        linear-gradient(156.64deg, rgba(255, 255, 255, 0.16) 27.7%, rgba(255, 255, 255, 0) 72.82%);

    .report-content-wrap {
        height: calc(100% - 40px);
        // padding-bottom: 60px;
        overflow: auto;
        box-sizing: border-box;
        position: relative;
        .bottom-btn {
            z-index: 2;
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            background: #fff;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0 12px;
            box-sizing: border-box;
            box-shadow: 2px 2px 4.5px 0px rgba(0, 0, 0, 0.4);
            .btn-item {
                height: 40px;
                line-height: 40px;
                padding: 0 24px;
                border-radius: 20px;
                font-size: 14px;
                &.second {
                    color: #666666;
                    border: 1px solid rgba(153, 153, 153, 0.5);
                }
                &.primay {
                    padding: 0 34px;
                    background: linear-gradient(180deg, #76c3ff, #2199f8);
                    color: #fff;
                }
            }
        }
    }
    
    .code-icon {
        position: absolute;
        right: 10px;
        top: 12px;
        width: 48px;
    }
    .report-content {
        // background: url("@/assets/img/home/report_bg.png") no-repeat center center;
        background: linear-gradient(0deg, #9BCCFF, #9BCCFF),
        linear-gradient(160deg, rgba(255, 255, 255, 0.16) 30%, rgba(255, 255, 255, 0) 72%);
        background-size: 100% auto;
        background-position: top center;
        padding: 24px 16px 16px;
        box-sizing: border-box;
        position: relative;
        min-height: 100%;
        .header-img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
        }
        .report-header {
            position: relative;
            .header-book {
                position: absolute;
                right: 0;
                bottom: -6px;
                height: 88px;
                z-index: 10;
            }
            .time-tag {
                background: linear-gradient(137.86deg, #9fd5ff 5.87%, #2199f8 82.98%);
                border-radius: 5px 0 5px 0;
                height: 23px;
                line-height: 23px;
                font-size: 13px;
                font-weight: 500;
                color: #fff;
                padding: 0 9px;
                width: fit-content;
            }
            .report-title {
                font-family: "PangMenZhengDao";
                font-size: 34px;
                line-height: 38px;
                color: #000000;
            }
            .report-info {
                padding: 10px 0 16px 0;
                .info-item {
                    width: fit-content;
                    display: flex;
                    height: 33px;
                    align-items: center;
                    padding: 0 18px 0 6px;
                    background: linear-gradient(90deg, rgba(255, 255, 255, 0.58) 0%, rgba(255, 255, 255, 0.0696) 100%);
                    border-radius: 20px;
                    border: 0.5px solid rgba(33, 153, 248, 0.35);
                    gap: 6px;
                    .info-icon {
                        width: 26px;
                        height: 26px;
                        object-fit: cover;
                        border-radius: 50%;
                    }
                    .info-text {
                        font-size: 14px;
                        color: #2199f8;
                    }
                }
                .info-item + .info-item {
                    margin-top: 5px;
                }
            }
        }

        .report-box {
            display: flex;
            align-items: center;
            padding: 8px;
            background: linear-gradient(0deg, #ffffff 86.32%, #2199f8 136.87%);
            border: 1px solid #ffffff;
            border-radius: 8px;
            gap: 5px;
            position: relative;
            .report-box-item {
                flex: 1;
                background: rgba(33, 153, 248, 0.1);
                border-radius: 8px;
                min-height: 62px;
                box-sizing: border-box;
                padding: 2px 4px;
                display: flex;
                flex-direction: column;
                justify-content: center;
                .item-content {
                    color: #2199f8;
                    font-size: 14px;
                    text-align: center;
                }
                .item-title {
                    color: #000000;
                    font-size: 10px;
                    text-align: center;
                    padding-top: 5px;
                }
            }

            .box-title {
                position: absolute;
                top: -8px;
                left: -1px;
                height: 32px;
                line-height: 26px;
                font-family: "PangMenZhengDao";
                font-size: 14px;
                padding: 0 10px;
                color: #ffffff;
                background: url("@/assets/img/home/title-bg.png") no-repeat center center / 100% 100%;
            }
            .box-text {
                padding: 22px 0 8px 0;
                font-weight: 350;
                line-height: 21px;
                .box-subtitle {
                    color: #000;
                }
                .box-bg {
                    font-weight: 400;
                    color: rgba(0, 0, 0, 0.5);
                }
                .box-advice {
                    color: rgba(0, 0, 0, 0.5);
                    padding-top: 10px;
                }
                .box-sum {
                    margin-top: 10px;
                    background: rgba(33, 153, 248, 0.1);
                    border-radius: 5px;
                    padding: 10px;
                    line-height: 20px;
                    color: #2199F8;
                }
                &.next-info {
                    padding: 8px 0 8px 0;
                }
            }
        }
        .report-box + .report-box {
            margin-top: 20px;
        }
        .report-excute {
            position: relative;
            margin-top: 12px;
            .tag-label {
                position: absolute;
                top: 0;
                left: 0;
                padding: 4px 10px;
                background: rgba(54, 52, 52, 0.8);
                color: #fff;
                font-size: 12px;
                border-radius: 8px 0 8px 0;
                z-index: 1;
            }
            ::v-deep {
                .carousel-container .carousel-wrapper .carousel-img {
                    min-width: calc(100vw - 32px);
                    width: calc(100vw - 32px);
                }
            }
        }
    }
    .download-btn {
        position: fixed;
        bottom: 20px;
        left: 50%;
        // background: #fff;
        // box-shadow: 2px 2px 4.5px 0px #00000066;
        // width: 100%;
        transform: translateX(-50%);
    }

    .review-hide-box {
        position: absolute;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        bottom: 0;
    }

    .review-image {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin: 12px;
        background: #fff;
        border-radius: 8px;
        .review-mask {
            z-index: 1;
            pointer-events: none;
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            border-radius: 8px;
            background: linear-gradient(
                360deg,
                rgba(0, 0, 0, 0.78) 0%,
                rgba(0, 0, 0, 0.437208) 19.87%,
                rgba(0, 0, 0, 0) 33.99%
            );
            display: flex;
            flex-direction: column;
            align-items: baseline;
            justify-content: end;
            padding: 12px;
            box-sizing: border-box;
            color: #fff;
            .review-text {
                font-family: "PangMenZhengDao";
                font-size: 16px;
                margin-bottom: 1px;
            }
            .review-content {
                font-size: 10px;
                line-height: 15px;
            }
        }
        .vs-wrap {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            width: 40px;
            height: 40px;
            z-index: 10;
            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        }
        .review-image-item {
            position: relative;
            flex: 1;
            .review-image-item-title {
                position: absolute;
                top: 0;
                left: 0;
                background: rgba(54, 52, 52, 0.6);
                padding: 4px 10px;
                border-radius: 8px 0 8px 0;
                backdrop-filter: 4px;
                font-size: 12px;
                color: #fff;
            }
            // .review-image-item-img {
            //     width: 100%;
            //     height: 250px;
            //     object-fit: cover;
            // }
            .review-image-item-img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center;
            }
            .left-img {
                border-radius: 8px 0 0 8px;
            }
            .right-img {
                border-radius: 0 8px 8px 0;
            }
        }
    }
}


.cavans-popup {
    width: 100%;
    max-width: 100%;
    max-height: 92vh;
    background: none;
    border-radius: 12px;
    overflow: auto;
    display: flex;
    flex-direction: column;
    backdrop-filter: 4px;
    .cavans-content {
        text-align: center;
        padding: 0 12px;
        height: fit-content;
        overflow: auto;
        .current-img {
            width: 100%;
        }
    }

    // 底部操作按钮
    .bottom-actions {
        flex-shrink: 0;

        .action-buttons {
            padding: 12px 0 4px 0;
            display: flex;
            justify-content: space-around;

            .action-btn {
                display: flex;
                flex-direction: column;
                align-items: center;
                cursor: pointer;
                &.text-btn {
                    font-size: 12px;
                    color: rgba(255, 255, 255, 0.7);
                }

                .icon-circle {
                    width: 48px;
                    height: 48px;
                    border-radius: 50%;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    color: #fff;
                    margin-bottom: 4px;

                    .el-icon {
                        color: #fff;
                    }
                    img {
                        width: 50px;
                    }
                }

                &.blue-btn .icon-circle {
                    background: #2199f8;
                }

                &.green-btn .icon-circle {
                    background: #07c160;
                }

                &.orange-btn .icon-circle {
                    background: #ff790b;
                }

                .btn-label {
                    font-size: 12px;
                    color: #fff;
                }
            }
        }

        .cancel-btn {
            text-align: center;
            font-size: 18px;
            color: #fff;
            cursor: pointer;
        }
    }
}
</style>
