<template>
    <div class="edit-add-detail">
        <div v-loading="detailLoading" class="form-content" element-loading-text="加载中...">
            <div class="page-form">
                <!-- 主要内容区域 -->
                <div class="main-content">
                    <!-- 左侧菜单 -->
                    <div class="sidebar-menu">
                        <div class="menu-section">
                            <el-divider content-position="center">
                                <div class="menu-title">供应商信息</div>
                            </el-divider>
                            <div class="menu-items">
                                <div
                                    v-for="item in menuItems"
                                    :key="item.id"
                                    class="menu-item"
                                    :class="{ active: activeMenuItem === item.id }"
                                    @click="scrollToSection(item.id)"
                                >
                                    <span>{{ item.title }}</span>
                                </div>
                            </div>
                        </div>
                    </div>

                    <!-- 右侧内容区域 -->
                    <div class="content-area">
                        <el-form
                            ref="addEditFormRef"
                            :model="detailForm"
                            size="large"
                            label-position="left"
                            label-suffix="："
                        >
                            <el-collapse v-model="activeCollapse">
                                <!-- 准入申请信息 -->
                                <div
                                    v-if="hasMenuItem('access-application')"
                                    class="content-section"
                                    id="access-application"
                                >
                                    <div class="content-title">
                                        <div class="content-title-left">准入申请信息</div>
                                    </div>
                                    <el-collapse-item name="access-application">
                                        <template #title>
                                            <div class="section-title">
                                                <el-icon><Document /></el-icon>
                                                <span>申请信息</span>
                                            </div>
                                        </template>
                                        <div class="section-content">
                                            <el-descriptions :column="2" border>
                                                <el-descriptions-item :span="2">
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        企业名称
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        推荐人
                                                    </template>
                                                    <el-form-item prop="a"
                                                        >{{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        推荐单位
                                                    </template>
                                                    <el-form-item prop="c">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item :span="2">
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        申请时间
                                                    </template>
                                                    <el-form-item prop="d">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item :span="2">
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        拟供应物资
                                                    </template>
                                                    <el-form-item prop="d">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item :span="2">
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        推荐理由
                                                    </template>
                                                    <el-form-item prop="d">
                                                        <el-checkbox-group
                                                            v-model="detailForm.recommend"
                                                        >
                                                            <el-checkbox
                                                                v-for="item in []"
                                                                :key="item.id"
                                                                :label="item.name"
                                                                :value="item.id"
                                                            ></el-checkbox>
                                                        </el-checkbox-group>
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item :span="2">
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        供应商合作意愿
                                                    </template>
                                                    <el-form-item prop="d">
                                                        <el-checkbox-group
                                                            v-model="detailForm.cooperate"
                                                        >
                                                            <el-checkbox
                                                                v-for="item in []"
                                                                :key="item.id"
                                                                :label="item.name"
                                                                :value="item.id"
                                                            ></el-checkbox>
                                                        </el-checkbox-group>
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item :span="2">
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        简要说明
                                                    </template>
                                                    <el-form-item prop="d">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                            </el-descriptions>
                                        </div>
                                    </el-collapse-item>
                                </div>

                                <!-- 基本情况 -->
                                <div
                                    v-if="hasMenuItem('basic-info')"
                                    class="content-section"
                                    id="basic-info"
                                >
                                    <div class="content-title">
                                        <div class="content-title-left">基本情况</div>
                                    </div>
                                    <el-collapse-item name="basic-info">
                                        <template #title>
                                            <div class="section-title">
                                                <el-icon><Document /></el-icon>
                                                <span>供应商基本情况表</span>
                                            </div>
                                        </template>
                                        <div class="section-content">
                                            <el-descriptions :column="2" border>
                                                <el-descriptions-item :span="2">
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        供应商名称
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        企业性质
                                                    </template>
                                                    <el-form-item prop="a">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        注册资金
                                                    </template>
                                                    <el-form-item prop="c">
                                                        {{
                                                            detailForm.a
                                                                ? detailForm.a + '万元（RMB）'
                                                                : '-'
                                                        }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        法定代表人
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        成立年份
                                                    </template>
                                                    <el-form-item prop="d">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item :span="2">
                                                    <template #label> 生产地址 </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item :span="2">
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        开户银行
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        账号
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        税号
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        业务联系人
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        电话
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label> 公司网址 </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label> 传真 </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        手机
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label> 邮箱 </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        质量联系人
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        电话
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                            </el-descriptions>
                                        </div>
                                    </el-collapse-item>
                                </div>

                                <!-- 企业规模 -->
                                <div
                                    v-if="hasMenuItem('other-notes')"
                                    class="content-section"
                                    id="other-notes"
                                >
                                    <div class="content-title">
                                        <div class="content-title-left">企业规模</div>
                                    </div>
                                    <el-collapse-item name="other-notes">
                                        <template #title>
                                            <div class="section-title">
                                                <el-icon><Document /></el-icon>
                                                <span>企业规模表</span>
                                            </div>
                                        </template>
                                        <div class="section-content">
                                            <el-descriptions :column="2" border>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        固定资产
                                                    </template>
                                                    <el-form-item prop="c">
                                                        {{
                                                            detailForm.a
                                                                ? detailForm.a + '万元（RMB）'
                                                                : '-'
                                                        }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        上年销售额
                                                    </template>
                                                    <el-form-item prop="c">
                                                        {{
                                                            detailForm.a
                                                                ? detailForm.a + '万元（RMB）'
                                                                : '-'
                                                        }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        主营产品上年度销量
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        主营产品上年度销量额
                                                    </template>
                                                    <el-form-item prop="c">
                                                        {{
                                                            detailForm.a
                                                                ? detailForm.a + '万元（RMB）'
                                                                : '-'
                                                        }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        员工人数
                                                    </template>
                                                    <el-form-item prop="c">
                                                        {{
                                                            detailForm.a ? detailForm.a + '人' : '-'
                                                        }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label> 生产作业人员 </template>
                                                    <el-form-item prop="c">
                                                        {{
                                                            detailForm.a ? detailForm.a + '人' : '-'
                                                        }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label> 技术工程师 </template>
                                                    <el-form-item prop="c">
                                                        {{
                                                            detailForm.a ? detailForm.a + '人' : '-'
                                                        }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item>
                                                    <template #label> 质量管理人员 </template>
                                                    <el-form-item prop="c">
                                                        {{
                                                            detailForm.a ? detailForm.a + '人' : '-'
                                                        }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                            </el-descriptions>
                                        </div>
                                    </el-collapse-item>
                                </div>

                                <!-- 企业资质 -->
                                <div
                                    v-if="hasMenuItem('qualification')"
                                    class="content-section"
                                    id="qualification"
                                >
                                    <div class="content-title">
                                        <div class="content-title-left">企业资质</div>
                                    </div>
                                    <el-collapse-item name="qualification">
                                        <template #title>
                                            <div class="section-title">
                                                <el-icon><Document /></el-icon>
                                                <span>必填资质</span>
                                            </div>
                                        </template>
                                        <div class="section-content">
                                            <el-table
                                                :data="detailForm.qualificationData"
                                                border
                                                stripe
                                            >
                                                <el-table-column
                                                    label="序号"
                                                    width="60"
                                                    align="center"
                                                >
                                                    <template #default="{ $index }">
                                                        {{ $index + 1 }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="资质名称"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="资质类型"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="编号"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="所属权分类"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="资质所属权"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="有效开始期"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="有效截止期"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>
                                                <el-table-column
                                                    label="附件"
                                                    align="center"
                                                    width="200"
                                                >
                                                    <template #default="{ row }"
                                                        ><CustomUploader
                                                            :fileList="fileList"
                                                            :disabled="true"
                                                            :previewAndDownload="false"
                                                            :typeRegularArr="typeRegularArr"
                                                            @change="handleFileChange"
                                                            @startUpload="handleStartUpload"
                                                        >
                                                        </CustomUploader>
                                                    </template>
                                                </el-table-column>
                                            </el-table>
                                        </div>
                                    </el-collapse-item>
                                    <el-collapse-item name="qualification">
                                        <template #title>
                                            <div class="section-title">
                                                <el-icon><Document /></el-icon>
                                                <span>选填资质</span>
                                            </div>
                                        </template>
                                        <div class="section-content">
                                            <el-table
                                                :data="detailForm.qualificationData"
                                                border
                                                stripe
                                            >
                                                <el-table-column
                                                    label="序号"
                                                    width="60"
                                                    align="center"
                                                >
                                                    <template #default="{ $index }">
                                                        {{ $index + 1 }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="资质名称"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="资质类型"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="编号"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="所属权分类"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="资质所属权"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="有效开始期"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="有效截止期"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>
                                                <el-table-column
                                                    label="附件"
                                                    align="center"
                                                    width="200"
                                                >
                                                    <template #default="{ row }"
                                                        ><CustomUploader
                                                            :fileList="fileList"
                                                            :disabled="true"
                                                            :previewAndDownload="false"
                                                            :typeRegularArr="typeRegularArr"
                                                            @change="handleFileChange"
                                                            @startUpload="handleStartUpload"
                                                        >
                                                        </CustomUploader>
                                                    </template>
                                                </el-table-column>
                                            </el-table>
                                        </div>
                                    </el-collapse-item>
                                    <el-collapse-item name="qualification">
                                        <template #title>
                                            <div class="section-title">
                                                <el-icon><Document /></el-icon>
                                                <span>其他资质</span>
                                            </div>
                                        </template>
                                        <div class="section-content">
                                            <el-table
                                                :data="detailForm.qualificationData"
                                                border
                                                stripe
                                            >
                                                <el-table-column
                                                    label="序号"
                                                    width="60"
                                                    align="center"
                                                >
                                                    <template #default="{ $index }">
                                                        {{ $index + 1 }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="资质名称"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="资质类型"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="编号"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="所属权分类"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="资质所属权"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="有效开始期"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="有效截止期"
                                                    align="center"
                                                    width="120"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>
                                                <el-table-column
                                                    label="附件"
                                                    align="center"
                                                    width="200"
                                                >
                                                    <template #default="{ row }"
                                                        ><CustomUploader
                                                            :fileList="fileList"
                                                            :disabled="true"
                                                            :previewAndDownload="false"
                                                            :typeRegularArr="typeRegularArr"
                                                            @change="handleFileChange"
                                                            @startUpload="handleStartUpload"
                                                        >
                                                        </CustomUploader>
                                                    </template>
                                                </el-table-column>
                                            </el-table>
                                        </div>
                                    </el-collapse-item>
                                </div>

                                <!-- 主营产品情况及质量业绩 -->
                                <div
                                    v-if="hasMenuItem('products-quality')"
                                    class="content-section"
                                    id="products-quality"
                                >
                                    <div class="content-title">
                                        <div class="content-title-left">
                                            主营产品情况及质量业绩表
                                        </div>
                                    </div>
                                    <el-collapse-item name="products-quality">
                                        <template #title>
                                            <div class="section-title">
                                                <el-icon><Document /></el-icon>
                                                <span>主营产品生产销售情况</span>
                                            </div>
                                        </template>
                                        <div class="section-content">
                                            <el-table
                                                :data="detailForm.productsQualityData"
                                                border
                                                stripe
                                            >
                                                <el-table-column
                                                    label="序号"
                                                    width="60"
                                                    align="center"
                                                >
                                                    <template #default="{ $index }">
                                                        {{ $index + 1 }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column label="产品种类" align="center">
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column label="规格" align="center">
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="近三年年产量"
                                                    align="center"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column label="交货周期" align="center">
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="主要客户及市场"
                                                    align="center"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>
                                            </el-table>
                                        </div>
                                    </el-collapse-item>
                                    <el-collapse-item name="products-quality">
                                        <template #title>
                                            <div class="section-title">
                                                <el-icon><Document /></el-icon>
                                                <span>主营产品质量表现</span>
                                            </div>
                                        </template>
                                        <div class="section-content">
                                            <el-table
                                                :data="detailForm.qualityPerformanceData"
                                                border
                                                stripe
                                            >
                                                <el-table-column
                                                    label="序号"
                                                    width="60"
                                                    align="center"
                                                >
                                                    <template #default="{ $index }">
                                                        {{ $index + 1 }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="产品名称及规格"
                                                    align="center"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="去年质量目标"
                                                    align="center"
                                                >
                                                    <el-table-column label="指标" align="center">
                                                        <template #default="{ row }">
                                                            {{ row.a || '-' }}
                                                        </template>
                                                    </el-table-column>

                                                    <el-table-column label="实际值" align="center">
                                                        <template #default="{ row }">
                                                            {{ row.a || '-' }}
                                                        </template>
                                                    </el-table-column>
                                                </el-table-column>

                                                <el-table-column
                                                    label="今年质量目标"
                                                    align="center"
                                                >
                                                    <el-table-column label="指标" align="center">
                                                        <template #default="{ row }">
                                                            {{ row.a || '-' }}
                                                        </template>
                                                    </el-table-column>

                                                    <el-table-column label="实际值" align="center">
                                                        <template #default="{ row }">
                                                            {{ row.a || '-' }}
                                                        </template>
                                                    </el-table-column>
                                                </el-table-column>
                                            </el-table>
                                            <el-descriptions :column="2" border>
                                                <el-descriptions-item :span="2">
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        拟提供我司产品
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item :span="2">
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        企业业绩
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item :span="2">
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        附件
                                                    </template>
                                                    <el-form-item prop="b">
                                                        <CustomUploader
                                                            type="button"
                                                            :fileList="fileList"
                                                            :disabled="true"
                                                            :previewAndDownload="false"
                                                            :typeRegularArr="typeRegularArr"
                                                            @change="handleFileChange"
                                                            @startUpload="handleStartUpload"
                                                        >
                                                        </CustomUploader>
                                                    </el-form-item>
                                                </el-descriptions-item>
                                            </el-descriptions>
                                        </div>
                                    </el-collapse-item>
                                    <el-collapse-item name="products-quality">
                                        <template #title>
                                            <div class="section-title">
                                                <el-icon><Document /></el-icon>
                                                <span>客户抱怨</span>
                                            </div>
                                        </template>
                                        <div class="section-content">
                                            <el-table
                                                :data="detailForm.productsQualityData"
                                                border
                                                stripe
                                            >
                                                <el-table-column
                                                    label="序号"
                                                    width="60"
                                                    align="center"
                                                >
                                                    <template #default="{ $index }">
                                                        {{ $index + 1 }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="客户抱怨问题"
                                                    align="center"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column label="控制措施" align="center">
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>
                                            </el-table>
                                        </div>
                                    </el-collapse-item>
                                </div>

                                <!-- 主要原材料及供应商表 -->
                                <div
                                    v-if="hasMenuItem('raw-materials')"
                                    class="content-section"
                                    id="raw-materials"
                                >
                                    <div class="content-title">
                                        <div class="content-title-left">主要原材料及供应商表</div>
                                    </div>
                                    <el-collapse-item name="raw-materials">
                                        <template #title>
                                            <div class="section-title">
                                                <el-icon><Document /></el-icon>
                                                <span>主要原材料信息</span>
                                            </div>
                                        </template>
                                        <div class="section-content">
                                            <el-table
                                                :data="detailForm.materialsAndSuppliersData"
                                                border
                                                stripe
                                            >
                                                <el-table-column
                                                    label="序号"
                                                    width="60"
                                                    align="center"
                                                >
                                                    <template #default="{ $index }">
                                                        {{ $index + 1 }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="主要原料名称"
                                                    align="center"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column label="供应厂家" align="center">
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="上年度业绩表现"
                                                    align="center"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>
                                            </el-table>
                                        </div>
                                    </el-collapse-item>
                                </div>

                                <!-- 生产制造过程绩效 -->
                                <div
                                    v-if="hasMenuItem('manufacturing')"
                                    class="content-section"
                                    id="manufacturing"
                                >
                                    <div class="content-title">
                                        <div class="content-title-left">生产制造过程绩效表</div>
                                    </div>
                                    <el-collapse-item name="manufacturing">
                                        <template #title>
                                            <div class="section-title">
                                                <el-icon><Document /></el-icon>
                                                <span>生产制造过程绩效</span>
                                            </div>
                                        </template>
                                        <div class="section-content">
                                            <el-descriptions :column="2" border>
                                                <el-descriptions-item :span="2">
                                                    <template #label>
                                                        <span class="required-asterisk">*</span>
                                                        生产工艺流程(可附页说明)
                                                    </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item :span="2">
                                                    <template #label> 附件 </template>
                                                    <el-form-item prop="b">
                                                        <CustomUploader
                                                            type="button"
                                                            :fileList="fileList"
                                                            :disabled="true"
                                                            :previewAndDownload="false"
                                                            :typeRegularArr="typeRegularArr"
                                                            @change="handleFileChange"
                                                            @startUpload="handleStartUpload"
                                                        >
                                                        </CustomUploader>
                                                    </el-form-item>
                                                </el-descriptions-item>
                                            </el-descriptions>
                                            <el-table
                                                :data="detailForm.manufacturingPerformanceData"
                                                border
                                                stripe
                                            >
                                                <el-table-column
                                                    label="序号"
                                                    width="60"
                                                    align="center"
                                                >
                                                    <template #default="{ $index }">
                                                        {{ $index + 1 }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="关键&重要过程"
                                                    align="center"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="控制参数或特性"
                                                    align="center"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="过程能力指数"
                                                    align="center"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>
                                            </el-table>
                                        </div>
                                    </el-collapse-item>
                                </div>

                                <!-- 生产及检验设备 -->
                                <div
                                    v-if="hasMenuItem('equipment')"
                                    class="content-section"
                                    id="equipment"
                                >
                                    <div class="content-title">
                                        <div class="content-title-left">生产及检验设备表</div>
                                    </div>
                                    <el-collapse-item name="equipment">
                                        <template #title>
                                            <div class="section-title">
                                                <el-icon><Document /></el-icon>
                                                <span>主要生产设备</span>
                                            </div>
                                        </template>
                                        <div class="section-content">
                                            <el-table
                                                :data="detailForm.mainProductionEquipmentData"
                                                border
                                                stripe
                                            >
                                                <el-table-column
                                                    label="序号"
                                                    width="60"
                                                    align="center"
                                                >
                                                    <template #default="{ $index }">
                                                        {{ $index + 1 }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="生产设备名称/型号"
                                                    align="center"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column label="产能" align="center">
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column label="数量" align="center">
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column label="生产厂家" align="center">
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column label="使用年限" align="center">
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>
                                            </el-table>
                                            <el-descriptions :column="2" border>
                                                <el-descriptions-item :span="2">
                                                    <template #label> 附件 </template>
                                                    <el-form-item prop="b">
                                                        <CustomUploader
                                                            type="button"
                                                            :fileList="fileList"
                                                            :disabled="true"
                                                            :previewAndDownload="false"
                                                            :typeRegularArr="typeRegularArr"
                                                            @change="handleFileChange"
                                                            @startUpload="handleStartUpload"
                                                        >
                                                        </CustomUploader>
                                                    </el-form-item>
                                                </el-descriptions-item>
                                            </el-descriptions>
                                        </div>
                                    </el-collapse-item>
                                    <el-collapse-item name="equipment">
                                        <template #title>
                                            <div class="section-title">
                                                <el-icon><Document /></el-icon>
                                                <span>主要检验设备</span>
                                            </div>
                                        </template>
                                        <div class="section-content">
                                            <el-table
                                                :data="detailForm.mainInspectionEquipmentData"
                                                border
                                                stripe
                                            >
                                                <el-table-column
                                                    label="序号"
                                                    width="60"
                                                    align="center"
                                                >
                                                    <template #default="{ $index }">
                                                        {{ $index + 1 }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column
                                                    label="生产设备名称/型号"
                                                    align="center"
                                                >
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column label="产能" align="center">
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column label="数量" align="center">
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column label="生产厂家" align="center">
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>

                                                <el-table-column label="使用年限" align="center">
                                                    <template #default="{ row }">
                                                        {{ row.a || '-' }}
                                                    </template>
                                                </el-table-column>
                                            </el-table>
                                            <el-descriptions :column="2" border>
                                                <el-descriptions-item :span="2">
                                                    <template #label> 附件 </template>
                                                    <el-form-item prop="b">
                                                        <CustomUploader
                                                            type="button"
                                                            :fileList="fileList"
                                                            :disabled="true"
                                                            :previewAndDownload="false"
                                                            :typeRegularArr="typeRegularArr"
                                                            @change="handleFileChange"
                                                            @startUpload="handleStartUpload"
                                                        >
                                                        </CustomUploader>
                                                    </el-form-item>
                                                </el-descriptions-item>
                                            </el-descriptions>
                                        </div>
                                    </el-collapse-item>
                                </div>

                                <!-- 其他特别说明 -->
                                <div
                                    v-if="hasMenuItem('company-scale')"
                                    class="content-section"
                                    id="company-scale"
                                >
                                    <div class="content-title">
                                        <div class="content-title-left">其他特别说明</div>
                                    </div>
                                    <el-collapse-item name="company-scale">
                                        <template #title>
                                            <div class="section-title">
                                                <el-icon><Document /></el-icon>
                                                <span>附件说明</span>
                                            </div>
                                        </template>
                                        <div class="section-content">
                                            <el-descriptions :column="2" border>
                                                <el-descriptions-item :span="2">
                                                    <template #label> 特别说明 </template>
                                                    <el-form-item prop="b">
                                                        {{ detailForm.a || '-' }}
                                                    </el-form-item>
                                                </el-descriptions-item>
                                                <el-descriptions-item :span="2">
                                                    <template #label> 附件 </template>
                                                    <el-form-item prop="b">
                                                        <CustomUploader
                                                            type="button"
                                                            :fileList="fileList"
                                                            :disabled="true"
                                                            :previewAndDownload="false"
                                                            :typeRegularArr="typeRegularArr"
                                                            @change="handleFileChange"
                                                            @startUpload="handleStartUpload"
                                                        >
                                                        </CustomUploader>
                                                    </el-form-item>
                                                </el-descriptions-item>
                                            </el-descriptions>
                                        </div>
                                    </el-collapse-item>
                                </div>
                            </el-collapse>
                        </el-form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>

<script lang="ts" setup>
import { Document, Tickets, Check, CircleCheck } from '@element-plus/icons-vue'
import CustomUploader from '@/components/CustomUploader/index.vue'
import { dataDetail } from '@/api/supplierMonitor/QualificationAudit/SupplyInfo'

interface AddEditForm {
    [key: string]: string | number | undefined | null | any
}

interface FileItem {
    id?: string
    fileId?: string
    status: string

    [key: string]: any
}

const route = useRoute()
const router = useRouter()

// UI状态
// 折叠面板激活状态 - 只包含存在的菜单项
const activeCollapse = computed(() => {
    return menuItems.value.map((item) => item.id)
})
const activeMenuItem = ref('access-application') // 当前激活的菜单项
const detailLoading = ref(false) // 详情加载状态

// 表单相关
const detailForm = reactive<AddEditForm>({})

// 表格数据

// 检查菜单项是否存在的辅助函数
const hasMenuItem = (menuId: string) => {
    return menuItems.value.some((item) => item.id === menuId)
}

// 菜单配置数据
const menuItems = ref([
    {
        id: 'access-application',
        title: '准入申请信息',
        saveStatusKey: 'accessApplication'
    },
    {
        id: 'basic-info',
        title: '基本情况',
        saveStatusKey: 'basicInfo'
    },
    {
        id: 'other-notes',
        title: '企业规模',
        saveStatusKey: 'otherNotes'
    },
    {
        id: 'qualification',
        title: '企业资质表',
        saveStatusKey: 'qualification'
    },
    {
        id: 'products-quality',
        title: '主营产品情况及质量业绩',
        saveStatusKey: 'productsQuality'
    },
    {
        id: 'raw-materials',
        title: '主要原材料及供应商',
        saveStatusKey: 'rawMaterials'
    },
    {
        id: 'manufacturing',
        title: '生产制造过程绩效',
        saveStatusKey: 'manufacturing'
    },
    {
        id: 'equipment',
        title: '生产及检验设备',
        saveStatusKey: 'equipment'
    },
    {
        id: 'company-scale',
        title: '其他特别说明',
        saveStatusKey: 'companyScale'
    }
])

// 导航相关
const scrollToSection = (sectionId: string) => {
    // 设置滚动标志，防止滚动监听干扰
    isScrolling = true

    // 更新激活的菜单项
    activeMenuItem.value = sectionId

    const element = document.getElementById(sectionId)
    if (element) {
        element.scrollIntoView({
            behavior: 'smooth',
            block: 'start'
        })

        // 滚动完成后重置标志
        setTimeout(() => {
            isScrolling = false
        }, 1000)
    } else {
        isScrolling = false
    }
}

// 滚动监听相关
let scrollContainer: HTMLElement | null = null
let isScrolling = false

// 监听滚动事件，更新激活的菜单项
const handleScroll = () => {
    if (isScrolling) return

    const sections = menuItems.value
        .map((item) => ({
            id: item.id,
            element: document.getElementById(item.id)
        }))
        .filter((section) => section.element)

    if (sections.length === 0) return

    // 获取滚动容器的滚动位置
    const scrollTop = scrollContainer?.scrollTop || window.pageYOffset
    const containerHeight = scrollContainer?.clientHeight || window.innerHeight
    const scrollHeight = scrollContainer?.scrollHeight || document.documentElement.scrollHeight

    // 检查是否滚动到底部（距离底部100px以内）
    const isNearBottom = scrollTop + containerHeight >= scrollHeight - 100

    // 如果接近底部，直接选中最后一个section
    if (isNearBottom) {
        const lastSection = sections[sections.length - 1]
        if (lastSection && activeMenuItem.value !== lastSection.id) {
            activeMenuItem.value = lastSection.id
        }
        return
    }

    // 找到当前可见的section
    let currentSection = sections[0]

    for (const section of sections) {
        if (!section.element) continue

        const rect = section.element.getBoundingClientRect()
        const elementTop = rect.top + scrollTop
        const elementBottom = elementTop + rect.height

        // 如果section的顶部在视口范围内
        if (elementTop <= scrollTop + containerHeight / 2 && elementBottom > scrollTop) {
            currentSection = section
        }
    }

    // 更新激活的菜单项
    if (currentSection && activeMenuItem.value !== currentSection.id) {
        activeMenuItem.value = currentSection.id
    }
}

// 防抖处理滚动事件
const debouncedHandleScroll = () => {
    if (isScrolling) return
    requestAnimationFrame(() => {
        handleScroll()
    })
}

// 数据获取
const getDetail = async (id: string) => {
    // 获取详情逻辑
    const { ...rest } = (await dataDetail(id)) as AddEditForm
    Object.assign(detailForm, {
        ...rest
    })
}

//附件上传
const btnLoading = ref<Boolean>(false)
const fileList = ref<FileItem[]>([])
const typeRegularArr = [
    'mp4',
    'mov',
    'avi',
    'mkv',
    'wmv',
    'flv',
    'mpeg',
    'mpg',
    '3gp',
    'webm', // 视频格式
    'doc',
    'docx',
    'xls',
    'xlsx',
    'ppt',
    'pptx',
    'txt',
    'rtf',
    'pdf', // 文档格式
    'jpg',
    'png',
    'bmp',
    'gif' // 图像文件
]
const handleStartUpload = () => {
    btnLoading.value = true
}

const handleFileChange = (file: [FileItem]) => {
    fileList.value = file.map((item) => item as FileItem)
    btnLoading.value = !file.every((item: FileItem) => item.status === 'success')
}

onMounted(() => {
    if (route.query.id && typeof route.query.id === 'string') {
        getDetail(route.query.id)
    }

    // 确保activeMenuItem指向一个存在的菜单项
    if (!hasMenuItem(activeMenuItem.value) && menuItems.value.length > 0) {
        activeMenuItem.value = menuItems.value[0].id
    }

    // 设置滚动监听
    setTimeout(() => {
        // 查找滚动容器
        scrollContainer = document.querySelector('.page-form') as HTMLElement

        // 添加滚动监听器
        if (scrollContainer) {
            scrollContainer.addEventListener('scroll', debouncedHandleScroll)
        } else {
            // 如果没有找到滚动容器，监听window滚动
            window.addEventListener('scroll', debouncedHandleScroll)
        }

        // 初始化滚动位置
        const element = document.getElementById(activeMenuItem.value)
        if (element) {
            element.scrollIntoView({
                behavior: 'instant',
                block: 'start'
            })
        }
    }, 100)
})

onUnmounted(() => {
    // 清理滚动监听器
    if (scrollContainer) {
        scrollContainer.removeEventListener('scroll', debouncedHandleScroll)
    } else {
        window.removeEventListener('scroll', debouncedHandleScroll)
    }
})
</script>

<style lang="scss" scoped>
.edit-add-detail {
    .form-content {
        display: flex;
        flex-direction: column;
        align-items: center;

        .page-form {
            width: 80%;
            overflow-x: hidden;
            overflow-y: auto;
            max-height: 100%;
            padding: 0 20px;

            /* 隐藏滚动条样式 */
            &::-webkit-scrollbar {
                width: 0;
                height: 0;
            }

            &::-webkit-scrollbar-track {
                background: transparent;
            }

            &::-webkit-scrollbar-thumb {
                background: transparent;
            }

            /* Firefox 隐藏滚动条 */
            scrollbar-width: none;
            -ms-overflow-style: none;
        }
        .step-container {
            width: 100%;
            margin-bottom: 20px;
            padding: 20px;
            border-radius: 8px;
        }

        .main-content {
            display: flex;
            gap: 20px;
            width: 100%;
            padding-bottom: 20px;

            .sidebar-menu {
                width: 180px;
                background-color: var(--theme-search-wrapper-bg);
                box-shadow: 0px 0px 20px 0px rgba(0, 36, 65, 0.2);
                border-radius: 16px;
                padding: 10px 20px 20px 20px;
                height: fit-content;
                position: sticky;
                top: 10px;

                .menu-section {
                    margin-bottom: 30px;

                    .menu-title {
                        font-size: 16px;
                        font-weight: bold;
                        color: var(--theme-text-primary);
                        white-space: pre;
                    }

                    .menu-items {
                        .menu-item {
                            font-size: 14px;
                            padding: 10px 15px;
                            margin-bottom: 5px;
                            cursor: pointer;
                            border-radius: 4px;
                            transition: all 0.3s ease;
                            color: var(--theme-text-primary);
                            display: flex;
                            justify-content: space-between;
                            align-items: center;

                            &:hover {
                                background-color: var(--theme-system-module-1);
                                color: var(--theme-primary);
                            }

                            &.active {
                                background-color: var(--theme-primary);
                                color: white;
                            }

                            .save-icon {
                                font-size: 20px;

                                &.saved {
                                    color: #67c23a; /* 绿色 */
                                }

                                &.not-saved {
                                    color: #c0c4cc; /* 灰色 */
                                }
                            }
                        }
                    }
                }
            }

            .content-area {
                width: calc(100% - 180px - 80px);
                background-color: var(--theme-form-content-bg);
                border-radius: 8px;
                padding: 20px 20px 0 20px;

                .content-section {
                    margin-bottom: 20px;

                    .content-title {
                        margin-bottom: 5px;
                        display: flex;
                        justify-content: space-between;
                        align-items: center;
                        .content-title-left {
                            font-size: 14px;
                            font-weight: bold;
                            color: var(--theme-text-primary);
                            display: flex;
                            align-items: center;
                        }
                        .content-title-left::before {
                            content: '';
                            display: inline-block;
                            width: 4px;
                            height: 18px;
                            background-color: #1a8cff;
                            border-radius: 2px;
                            margin-right: 8px;
                        }
                    }

                    .site-inspection-content {
                        background-color: #f5f8fa;
                        padding: 16px;
                        box-sizing: border-box;
                        .review-requirements {
                            margin-bottom: 10px;
                            .review-requirements-title {
                                color: var(--theme-text-primary);
                                margin-bottom: 5px;
                                font-size: 14px;
                                font-weight: bold;
                            }
                            ul {
                                list-style: none;
                                li {
                                    color: var(--theme-text-primary);
                                    line-height: 25px;
                                    font-size: 14px;
                                }
                            }
                        }
                    }

                    .section-content {
                        color: var(--theme-text-inverse);

                        .review-actions {
                            display: flex;
                            padding: 10px 0 10px 10px;
                        }
                    }
                }
            }
        }
    }
}

// 表格相关样式
.operation-buttons {
    display: flex;
    gap: 8px;
    justify-content: center;
}

.table-header {
    margin: 10px 0 10px 10px;
    display: flex;
    justify-content: flex-start;
}

.attachment-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;

    .attachment-name {
        font-size: 12px;
        color: var(--theme-text-color);
    }
}
</style>
