<template>
    <div>
        <div class="headers">
            <div class="headers-left">
                <div class="imgs">
                    <img v-if="enterpriseLogo" :src="enterpriseLogo" alt="企业LOGO" class="enterprise-logo-img" />
                </div>
                <div class="img-right">
                    <div class="name-title">微育科技</div>
                    <div class="right-name">数智科创 · 通达未来 </div>
                </div>
            </div>
            <div class="headers-right">
                <div class="rights">
                    <div class="rights-names" @click="closeguan">
                        <span>上一级 &lt; </span> <span style="color:#3333;margin-left:8px;">登记详情</span>
                    </div>
                </div>
            </div>
        </div>

        <div class="contents">
            <div class="content-left">
                <div class="content-lefts">
                    <div class="leftss">
                        <div class="leftss-header">
                            <div>{{ detailData.contract_name || '合同详情' }}</div>
                            <div>
                                <el-button size="small" type="danger" plain @click="showDeleteDialog">删除</el-button>
                                <el-button @click="btnEdint" size="small" style="background-color: #5165f7;color:white;">编辑</el-button>
                            </div>
                        </div>
                        <div class="table-area">
                            <div class="table-header">
                                <div>
                                   <div class="shu"></div> <span class="times"> 合同信息 </span>
                                </div>
                              
                            </div>
                        </div>
                    </div>
                    <div class="content-table">
                       
                      
                        <div class="content-areas content-areas2">
                            <div class="contents-left">
                                <span class="table-name">合同编号</span>
                            </div>
                            <div class="contents-right">
                                <div class="rightss rightss1"><span class="table-name">
                                    {{ detailData.contract_no || '-' }}
                                </span></div>
                                <div class="rightss rightss2" style="border-top: none;width: 32%;"><span class="table-name">登记日期</span></div>
                                <div class="rightss rightss3"><span class="table-name">
                                    {{ detailData.register_date || '-' }}
                                </span></div>
                            </div>
                        </div>
                        <div class="content-areas content-areas2">
                            <div class="contents-left">
                                <span class="table-name">合同金额（元）</span>
                            </div>
                            <div class="contents-right">
                                <div class="rightss rightss1"><span class="table-name">
                                    {{ detailData.amount || '-' }}
                                </span></div>
                                <div class="rightss rightss2" style="border-top: none;width: 32%;"><span class="table-name">其中技术额（元）</span></div>
                                <div class="rightss rightss3"><span class="table-name">
                                    {{ detailData.tech_amount || '-' }}
                                </span></div>
                            </div>
                        </div>
                        <div class="content-areas content-areas2">
                            <div class="contents-left">
                                <span class="table-name">登记状态</span>
                            </div>
                            <div class="contents-right">
                                <div class="rightss rightss1"><span class="table-name">
                                    {{ detailData.status == 1 ? '有效' : '无效' }}
                                </span></div>
                                <div class="rightss rightss2" style="border-top: none;width: 32%;"><span class="table-name">登记机构</span></div>
                                <div class="rightss rightss3"><span class="table-name">
                                    {{ detailData.register_institution || '-' }}
                                </span></div>
                            </div>
                        </div>
                        <div class="content-areas content-areas2">
                            <div class="contents-left">
                                <span class="table-name">业主单位（购买方）</span>
                            </div>
                            <div class="contents-right">
                                <div class="rightss rightss1" style="width: 100%;"><span class="table-name">
                                    {{ detailData.buyer_unit || '-' }}
                                </span></div>
                            </div>
                        </div>
                        
                    </div>

                </div>

            </div>
            <div class="content-right">

                <div class="leftss-header right-header">
                    <div class="header-area">
                        <div class="area-name" v-for="(item, index) in listDate" :key="index" @click="btnNmae(index)"
                            :class="{ 'active': active == index }">
                            {{ item.name }}
                        </div>

                    </div>
                    <div> <el-button size="small" style="color:#5165f7;">
                            <i class="el-icon-download"></i> 下载</el-button>
                    </div>
                </div>
                <div class="right-area">
                    <div class="preview-images" v-if="currentFileList.length > 0">
                        <div class="image-item" v-for="(file, index) in currentFileList" :key="index" @click="previewImage(file)">
                            <img :src="file.url" alt="预览图片" />
                        </div>
                    </div>
                    <div class="no-image-tip" v-else>暂无图片</div>
                </div>
                
                <!-- 图片预览对话框 -->
                <el-dialog :visible.sync="previewDialogVisible" :destroy-on-close="true" :append-to-body="true">
                    <img width="100%" :src="previewImageUrl" alt="">
                </el-dialog>

            </div>
        </div>

        <!-- 删除确认对话框 -->
        <el-dialog :visible.sync="deleteDialogVisible" width="400px" :show-close="false" center>
            <div class="delete-dialog-content">
                <img src="@/assets/err.png" alt="删除" class="delete-icon" />
                <div class="delete-title">确认删除</div>
                <div class="delete-message">确定要删除该合同吗？删除后无法恢复。</div>
                <div class="delete-buttons">
                    <el-button @click="cancelDelete">取消</el-button>
                    <el-button type="danger" @click="confirmDelete">确定删除</el-button>
                </div>
            </div>
        </el-dialog>

    </div>
</template>
<script>
import { getEnterpriseLogo } from '@/utils/auth'
import { Details, deletes } from '@/api/resource/contract/contract'

export default {
    data() {
        return {
            enterpriseLogo: '',
            active: 0,
            listDate: [
                { name: '技术合同' },
                { name: '补充材料' },
                { name: '登记凭证' }
            ],
            // 详情数据
            detailData: {
                id: '',
                contract_name: '',
                contract_no: '',
                register_date: '',
                amount: '',
                tech_amount: '',
                status: '',
                register_institution: '',
                buyer_unit: ''
            },
            // 附件列表
            fileListMap: {
                0: [], // 技术合同
                1: [], // 补充材料
                2: []  // 登记凭证
            },
            // 删除确认框
            deleteDialogVisible: false,
            // 图片预览
            previewDialogVisible: false,
            previewImageUrl: ''
        }
    },

    computed: {
        // 根据当前 tab 返回对应的文件列表
        currentFileList() {
            return this.fileListMap[this.active] || []
        }
    },

    created() {
        this.loadEnterpriseLogo()
        this.fetchDetail()
    },

    methods: {
        // 加载企业LOGO
        loadEnterpriseLogo() {
            const logo = getEnterpriseLogo()
            if (logo) {
                this.enterpriseLogo = logo
            }
        },
        // 获取详情数据
        async fetchDetail() {
            const id = this.$route.query.id
            if (!id) {
                this.$message.error('缺少参数')
                return
            }
            try {
                const res = await Details(id)
                if (res && res.code === 1 && res.data) {
                    const data = res.data.data || res.data
                    this.detailData = {
                        id: data.id || '',
                        contract_name: data.contract_name || '',
                        contract_no: data.contract_no || '',
                        register_date: data.register_date || '',
                        amount: data.amount || '',
                        tech_amount: data.tech_amount || '',
                        status: data.status,
                        register_institution: data.register_institution || '',
                        buyer_unit: data.buyer_unit || ''
                    }
                    // 填充附件
                    if (data.attachments && data.attachments.length > 0) {
                        data.attachments.forEach(item => {
                            const file = {
                                uid: Date.now() + Math.random(),
                                name: item.file_name || '附件',
                                url: item.file_path,
                                status: 'success'
                            }
                            const fileType = Number(item.file_type)
                            if (fileType === 0) {
                                this.fileListMap[0].push(file)
                            } else if (fileType === 1) {
                                this.fileListMap[1].push(file)
                            } else if (fileType === 2) {
                                this.fileListMap[2].push(file)
                            }
                        })
                    }
                }
            } catch (error) {
                console.error('获取详情失败:', error)
                this.$message.error('获取详情失败')
            }
        },
        // 返回
        closeguan() {
            this.$router.go(-1)
        },
        // 切换 tab
        btnNmae(e) {
            this.active = e
        },
        // 图片预览
        previewImage(file) {
            this.previewImageUrl = file.url
            this.previewDialogVisible = true
        },
        // 显示删除确认框
        showDeleteDialog() {
            this.deleteDialogVisible = true
        },
        // 取消删除
        cancelDelete() {
            this.deleteDialogVisible = false
        },
        // 确认删除
        async confirmDelete() {
            try {
                const res = await deletes(this.detailData.id)
                if (res && res.code === 1) {
                    this.deleteDialogVisible = false
                    this.$message.success('删除成功')
                    this.$nextTick(() => {
                        this.$router.go(-1)
                    })
                } else {
                    this.$message.error(res.msg || '删除失败')
                }
            } catch (error) {
                console.error('删除失败:', error)
                this.$message.error('删除失败')
            }
        },
        // 编辑跳转
        btnEdint() {
            this.$router.push({
                path: '/conponentEdit',
                query: { id: this.detailData.id }
            })
        }
    }
}
</script>
<style>
.el-tooltip__popper.is-dark {
    color: #F04B4B !important;
    background: #FCF1EB !important;
}

.el-tooltip__popper .popper__arrow {
    border-top-color: #FCF1EB !important;
    /* 上方箭头 */
}

.el-tooltip__popper .popper__arrow::after {
    border-top-color: #FCF1EB !important;
}

/* 其他方向的箭头（按需添加） */
.el-tooltip__popper[x-placement^='bottom'] .popper__arrow {
    border-bottom-color: #FCF1EB !important;
}

.el-tooltip__popper[x-placement^='left'] .popper__arrow {
    border-left-color: #FCF1EB !important;
}

.el-tooltip__popper[x-placement^='right'] .popper__arrow {
    border-right-color: #FCF1EB !important;
}
</style>
<style scoped>
.area-name {
    margin-left: 30px;
    cursor: pointer;
}

.active {

    border-bottom: 3px solid #5165f7;
    height: 45px;
}

.header-area {
    display: flex;
    position: relative;
    left: -30px;
}

.rightss3 {
    border-right: none;
    border-left: none;
}

.table-name {
    margin-left: 20px;
}

.rightss2 {
    background: #EDEFFE;
}

.rightss1 {
    border-left: none !important;
    border-right: none !important;

}

.rightss {
    height: 100%;
    border: 1px solid #DCE0FD;
    width: 100%;
    border-top: none;

}

.content-areas2 {
    position: relative;
    top: 1px;

}

.contents-right {
    flex: 1;
    border: 1px solid #DCE0FD;
    line-height: 50px;
    font-size: 14px;
    color: #363636;
    display: flex
}

.contents-left {
    width: 30%;
    border: 1px solid #DCE0FD;
    background: #EDEFFE;
    ;
    line-height: 50px;
    font-size: 14px;
    color: #363636;

}

.content-areas {
    display: flex;
    height: 50px;
    flex-wrap: wrap;
}
.content-areas22 {
    display: flex;

    flex-wrap: wrap;
}
.tab-area {
    margin-top: 24px;
}

.namess {
    color: #5B5E72;
    font-size: 13px;
    margin-left: 12px;
}

.names {
    font-size: 14px;
    color: #363636;
}

:deep .el-tooltip__popper.is-dark {
    color: #F04B4B !important;
}

.right-area {
    width: 90%;
    margin: 0 auto;
    height: 80vh;
    background: #f8f8f8;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 20px;
    overflow-y: auto;
}

.preview-images {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
}

.image-item {
    width: 200px;
    height: 200px;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    background: white;
}

.image-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-color: #5165f7;
}

.image-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.no-image-tip {
    color: #999;
    font-size: 14px;
    margin-top: 100px;
}

/* 删除确认对话框样式 */
.delete-dialog-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
}

.delete-icon {
    margin-bottom: 16px;
}

.delete-title {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    margin-bottom: 12px;
}

.delete-message {
    font-size: 14px;
    color: #666;
    margin-bottom: 24px;
    text-align: center;
}

.delete-buttons {
    display: flex;
    gap: 16px;
}

.right-header {
    width: 90%;
    margin: 0 auto;
}

.ths {
    text-align: center;
    background: #DCE0FD !important;
    color: #363636;
}

.tou {
    height: 30px;
    line-height: 30px;
    color: #606266;
    text-align: center;
}

.financial-table {
    width: 100%;
    border-collapse: collapse;
    font-family: Arial, sans-serif;
    font-size: 14px;
}

.financial-table th,
.financial-table td {
    border: 1px solid #ddd;
    padding: 8px 7px;
    text-align: center;
}

.financial-table th {
    background-color: #f5f5f5;
    font-weight: bold;
}

.financial-table .nested-label {

    text-align: center;
    vertical-align: middle;
    font-weight: bold;
}

.table-right {
    flex: 1;
}

.table-left {
    flex: 1;
}

.content-table {

    width: 90%;
    margin: 0 auto;
    margin-top: 14px;
}

/* 默认情况（有效）左边圆角 */
.left-radius {
    border-bottom-left-radius: 16px !important;
    border-top-left-radius: 16px !important;
}

/* 无效情况右边圆角 */
.right-radius {
    border-bottom-right-radius: 16px !important;
    border-top-right-radius: 16px !important;
}

.yuan-left {
    flex: 1;
    text-align: center;
    line-height: 30px;
    background: #f8f8f8;
    /* border-bottom-left-radius: 16px;
    border-top-left-radius: 16px; */
    cursor: pointer;
}

.yuanright {
    flex: 1;
    background: #5165f7;
    color: white;

    /* border-bottom-right-radius: 16px;
    border-top-right-radius: 16px;  */
    text-align: center;
    line-height: 30px;
    cursor: pointer;

}

.youxiaos {
    position: relative;
    top: 6px;
    left: -12px;
    cursor: pointer;
}

/* 修改.yuan的样式，移除外层圆角 */
.yuan {
    width: 100px;
    height: 30px;
    background: white;
    display: flex;
    font-size: 14px;
    overflow: hidden;
    /* 关键：确保内部div的圆角效果不被截断 */
}

/* 默认状态下两个按钮的外侧圆角 */
.yuan-left:first-child {
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
}

.yuan-left:last-child {
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
}

/* 选中状态样式 */
.yuanright {
    background: #5165f7;
    color: white;
}

.rights-names {
    margin-left: 32px;
    cursor: pointer;
    color: #5165f7;
}

/* 选中"有效"时的样式 */
.yuan-left.left-radius {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* 选中"无效"时的样式 */
.yuan-left.right-radius {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}


.times {
    position: relative;
    top: 3px;
}

.youxiao {
    color: #5B5D76;
    font-size: 13px;
}

.table-header {
    display: flex;
    justify-content: space-between;
    margin-top: 14px;
}

.table-area {
    margin-top: 12px;
    font-size: 15px;
}

.leftss-header {
    display: flex;
    height: 60px;
    line-height: 60px;
    border-bottom: 1px solid #3333;
    font-weight: bold;
    justify-content: space-between;
}

.leftss {
    width: 90%;
    margin: 0 auto;
}

.content-lefts {
    background: white;
    height: 100%;
    width: 100%;
}

.content-left {
    flex: 1;
   
    height: 100%;
}

.content-right {
    width: 600px;
    height: 100%;
    background: white;
}

.contents {
    width: 100%;
    height: 92vh;
    background: #f8f8f8;
    display: flex;
    margin-top: 6px;
    flex-wrap: wrap
}


.shu {
    width: 3px;
    height: 18px;
    background: #5165f7;
    position: relative;
    display: inline-block;
    top: 7px;
}

::v-deep .el-table thead {
    background-color: #DCE0FD !important;
    color: #363636 !important;
    font-weight: bold;
}

::v-deep .el-table__header th {
    background-color: #DCE0FD !important;
    color: #363636 !important;
    font-weight: bold;
}





.active{
    color: #5165f7 !important;
}
.rights-names{
    margin-left: 32px;
    cursor: pointer;
}
.rights{
    width: 96%;
    height: 100%;
    margin: 0 auto;
    line-height: 94px;
    display: flex;
    position: relative;
    left: -27px;
}
.name-title{
    position: relative;
    top: -6px;
    font-weight: bold;
}
.right-name{
    font-size: 12px;
}
.img-right{
    font-size: 14px;
    position: relative;
    top: 40px;
    height: 40px;
    margin-left: 12px;
}
.imgs{
    width: 42px;
    height: 40px;
    border-radius: 6px;
    position: relative;
    top: 26px;
    margin-left: 24px;
    overflow: hidden;
}

.enterprise-logo-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 6px;
}
.headers-right{
    flex: 1;
    background: white;
  
}
.headers-left{
    width: 222px;
    height: 100%;
    display: flex;
    background: white;
    border-right: 1px solid #EDEFFE;
}
.headers{
  width: 100%;
    height: 90px;
    display: flex
;
    border-bottom: 1px solid #EDEFFE;
}





.patent-container {
    max-width: 1000px;
    margin: 0 auto;
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.patent-header {
    background: linear-gradient(135deg, #6a5acd, #8a7dff);
    color: white;
    padding: 20px 30px;
    text-align: center;
}

.patent-header h1 {
    font-size: 24px;
    margin-bottom: 10px;
    font-weight: 600;
}

.patent-header p {
    opacity: 0.9;
    font-size: 14px;
}

.search-box {
    padding: 15px 30px;
    background-color: #f8f9fa;
    border-bottom: 1px solid #eaeaea;
}

.search-box input {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    transition: border-color 0.3s;
}

.search-box input:focus {
    outline: none;
    border-color: #8a7dff;
    box-shadow: 0 0 0 2px rgba(138, 125, 255, 0.2);
}

.patent-table {
    width: 100%;
    border-collapse: collapse;
}

.patent-table th {
    background-color: #f0e6ff;
    color: #5a4fcf;
    padding: 12px 15px;
    text-align: left;
    font-weight: 600;
    border-bottom: 1px solid #ddd;
}

.patent-table td {
    padding: 12px 15px;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.2s;
}

.patent-table tr:hover td {
    background-color: #f9f7ff;
}

.patent-table tr:last-child td {
    border-bottom: none;
}

.status-badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
}

.status-paid {
    background-color: #e8f5e9;
    color: #2e7d32;
}

.patent-footer {
    padding: 15px 30px;
    text-align: center;
    color: #777;
    font-size: 14px;
    border-top: 1px solid #eaeaea;
    background-color: #fafafa;
}
</style>