<template>
  <div class="add-project-container">
    <div class="add-project-content" v-loading="loading">
      <routerBack
        :loading="loading"
        @save="() => saveClick('save')"
      ></routerBack>
      <div class="tabs-content">
        <div class="project-tab-content">
          <el-tabs v-model="jcTabActiveName">
            <el-tab-pane label="基本信息" name="基本信息">
              <div class="tab-content">
                <el-form
                  :model="jcFormData"
                  label-width="160px"
                  :disabled="isPreview"
                >
                  <el-collapse
                    v-collapse-nav="navigationItems"
                    v-model="activeCollapse"
                  >
                    <!-- 1. 项目基本信息 -->
                    <el-collapse-item title="项目基本信息" name="项目基本信息">
                      <el-row :gutter="20">
                        <el-col :span="12">
                          <el-form-item label="项目名称">
                            <el-input v-model="jcFormData.projectName" :disabled="projectDisabled" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="12">
                          <el-form-item label="项目外文名称">
                            <el-input v-model="jcFormData.projectForeignName" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="12">
                          <el-form-item label="曾用名">
                            <el-input v-model="jcFormData.cym" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="12">
                          <el-form-item label="项目编号">
                            <el-input v-model="jcFormData.projectCode" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="申报单位">
                            <el-input v-model="jcFormData.sbdw" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="申报单位企业规格">
                            <el-select
                              v-model="jcFormData.sbdwqygg"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in qyggList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="项目总投资">
                            <el-input-number
                              v-model="jcFormData.xmztz"
                              :min="0"
                              controls-position="right"
                            >
                              <template #suffix><span>万元</span></template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="所属直属企业">
                            <el-input v-model="jcFormData.zsqy" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="管理主体">
                            <el-input v-model="jcFormData.glzt" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="投资模式">
                            <el-input v-model="jcFormData.tzms" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="原决策审批单位">
                            <el-input v-model="jcFormData.jcspdw" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="对外签约品牌">
                            <el-input v-model="jcFormData.dwqypp" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="是否能建重大或重要投资">
                            <el-radio-group v-model="jcFormData.sfnjzdhzytz">
                              <el-radio
                                value="1"
                                @click.prevent="
                                  () => jcRadioClick('1', 'sfnjzdhzytz')
                                "
                                >是</el-radio
                              >
                              <el-radio
                                value="2"
                                @click.prevent="
                                  () => jcRadioClick('2', 'sfnjzdhzytz')
                                "
                                >否</el-radio
                              >
                            </el-radio-group>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="能建是否牵头方">
                            <el-radio-group v-model="jcFormData.njsfqtf">
                              <el-radio
                                value="1"
                                @click.prevent="
                                  () => jcRadioClick('1', 'njsfqtf')
                                "
                                >是</el-radio
                              >
                              <el-radio
                                value="2"
                                @click.prevent="
                                  () => jcRadioClick('2', 'njsfqtf')
                                "
                                >否</el-radio
                              >
                            </el-radio-group>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="能建占股比">
                            <el-input-number
                              v-model="jcFormData.njzgb"
                              :min="0"
                              controls-position="right"
                            >
                              <template #suffix><span>%</span></template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="是否PPP项目">
                            <el-radio-group v-model="jcFormData.sfpppxm">
                              <el-radio
                                value="1"
                                @click.prevent="
                                  () => jcRadioClick('1', 'sfpppxm')
                                "
                                >是</el-radio
                              >
                              <el-radio
                                value="2"
                                @click.prevent="
                                  () => jcRadioClick('2', 'sfpppxm')
                                "
                                >否</el-radio
                              >
                            </el-radio-group>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="项目资金来源">
                            <el-select
                              v-model="jcFormData.xmzjly"
                              multiple
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in xmzjlyList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="商务部项目类型">
                            <el-select
                              v-model="jcFormData.swbxmlx"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in swbxmlxList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="国民经济行业">
                            <el-tree-select
                              v-model="jcFormData.gmjjhy"
                              :data="gmjjhyList"
                              node-key="id"
                              :props="gmjjhyProps"
                              placeholder="请选择"
                              render-after-expand
                              clearable
                            />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="是否自主决策">
                            <el-radio-group v-model="jcFormData.sfzzjc">
                              <el-radio
                                value="1"
                                @click.prevent="
                                  () => jcRadioClick('1', 'sfzzjc')
                                "
                                >是</el-radio
                              >
                              <el-radio
                                value="2"
                                @click.prevent="
                                  () => jcRadioClick('2', 'sfzzjc')
                                "
                                >否</el-radio
                              >
                            </el-radio-group>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="财务报表类型">
                            <el-select
                              v-model="jcFormData.cwbblx"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in cwbblxList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="项目类型">
                            <el-select
                              v-model="jcFormData.xmlx"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in xmlxList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="项目阶段">
                            <el-select
                              v-model="jcFormData.xmjd"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in xmjdList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="主业/非主业">
                            <el-select
                              v-model="jcFormData.zyfzy"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in zyList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="是否已经立项">
                            <el-radio-group v-model="jcFormData.sfyjlx">
                              <el-radio
                                value="1"
                                @click.prevent="
                                  () => jcRadioClick('1', 'sfyjlx')
                                "
                                >是</el-radio
                              >
                              <el-radio
                                value="2"
                                @click.prevent="
                                  () => jcRadioClick('2', 'sfyjlx')
                                "
                                >否</el-radio
                              >
                            </el-radio-group>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="是否能建联合体项目">
                            <el-radio-group v-model="jcFormData.sfnjlhtxm">
                              <el-radio
                                value="1"
                                @click.prevent="
                                  () => jcRadioClick('1', 'sfnjlhtxm')
                                "
                                >是</el-radio
                              >
                              <el-radio
                                value="2"
                                @click.prevent="
                                  () => jcRadioClick('2', 'sfnjlhtxm')
                                "
                                >否</el-radio
                              >
                            </el-radio-group>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="是否重点区域">
                            <el-radio-group v-model="jcFormData.sfzdqy">
                              <el-radio
                                value="1"
                                @click.prevent="
                                  () => jcRadioClick('1', 'sfzdqy')
                                "
                                >是</el-radio
                              >
                              <el-radio
                                value="2"
                                @click.prevent="
                                  () => jcRadioClick('2', 'sfzdqy')
                                "
                                >否</el-radio
                              >
                            </el-radio-group>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="重点区域">
                            <el-input v-model="jcFormData.zdqy" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="24">
                          <el-form-item label="建设内容及规模">
                            <el-input
                              v-model="jcFormData.jsnrjgm"
                              type="textarea"
                              :autosize="{ minRows: 2, maxRows: 5 }"
                            />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="关联项目">
                            <el-select
                              v-model="jcFormData.glxm"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            ></el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="联系人">
                            <el-input v-model="jcFormData.lxr" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="联系人电话">
                            <el-input v-model="jcFormData.lxrdh" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="投资回收方式">
                            <el-select
                              v-model="jcFormData.tzhsfs"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in tzhsfsList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="成本利润率">
                            <el-input-number
                              v-model="jcFormData.cblrl"
                              :min="0"
                              controls-position="right"
                            >
                              <template #suffix><span>%</span></template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                        <el-col :span="24">
                          <el-form-item label="未通过主要原因与要求">
                            <el-input
                              v-model="jcFormData.wtgzyyyyyq"
                              type="textarea"
                              :autosize="{ minRows: 2, maxRows: 5 }"
                            />
                          </el-form-item>
                        </el-col>
                      </el-row>
                    </el-collapse-item>

                    <!-- 2. 项目所在地 -->
                    <el-collapse-item title="项目所在地" name="项目所在地">
                      <el-row :gutter="20">
                        <el-col :span="8">
                          <el-form-item label="境内/外">
                            <el-select
                              v-model="jcFormData.jnw"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                              @change="changeJcJnw"
                            >
                              <el-option
                                v-for="item in jnwList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="省（境内）/洲际（境外）">
                            <el-select
                              v-model="jcFormData.sjnzjjw"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                              @change="changeJcSzj"
                            >
                              <el-option
                                v-for="item in jcSzjList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="地市（境内）/国家（境外）">
                            <el-select
                              v-model="jcFormData.dsjngjjw"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                              @change="changeJcDsgj"
                            >
                              <el-option
                                v-for="item in jcDsgjList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="区县(境内)/国家(境外)">
                            <el-select
                              v-model="jcFormData.qxjngjjw"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in jcQxgjList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="项目区域">
                            <el-select
                              v-model="jcFormData.xmqy"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in xmqyList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                      </el-row>
                    </el-collapse-item>

                    <!-- 3. 计量币种 -->
                    <el-collapse-item title="计量币种" name="计量币种">
                      <el-row :gutter="20">
                        <el-col :span="8">
                          <el-form-item label="币种">
                            <el-select
                              v-model="jcFormData.bizhong"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in bzList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="汇率">
                            <el-input-number
                              v-model="jcFormData.huilv"
                              :min="0"
                              controls-position="right"
                            />
                          </el-form-item>
                        </el-col>
                      </el-row>
                    </el-collapse-item>

                    <!-- 4. 实施时间 -->
                    <el-collapse-item title="实施时间" name="实施时间">
                      <el-row :gutter="20">
                        <el-col :span="8">
                          <el-form-item label="运营年限">
                            <el-input-number
                              v-model="jcFormData.yynxn"
                              :min="0"
                              controls-position="right"
                            >
                              <template #suffix><span>年</span></template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="项目建设期">
                            <el-input-number
                              v-model="jcFormData.xmjsqy"
                              :min="0"
                              controls-position="right"
                            >
                              <template #suffix><span>月</span></template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="项目合作期">
                            <el-input-number
                              v-model="jcFormData.xmhzqn"
                              :min="0"
                              controls-position="right"
                            >
                              <template #suffix><span>年</span></template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="项目开工时间">
                            <el-date-picker
                              v-model="jcFormData.xmkgsjyj"
                              type="date"
                              placeholder="请选择"
                            />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="项目交工时间">
                            <el-date-picker
                              v-model="jcFormData.xmjgsjyj"
                              type="date"
                              placeholder="请选择"
                            />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="运营起始时间">
                            <el-date-picker
                              v-model="jcFormData.yykssj"
                              type="date"
                              value-format="YYYY-MM-DD"
                              fomat="YYYY-MM-DD"
                              placeholder="请选择"
                            />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="运营结束时间">
                            <el-date-picker
                              v-model="jcFormData.yyjssj"
                              value-format="YYYY-MM-DD"
                              fomat="YYYY-MM-DD"
                              type="date"
                              placeholder="请选择"
                            />
                          </el-form-item>
                        </el-col>
                      </el-row>
                    </el-collapse-item>
                    <el-collapse-item title="投资分类" name="投资分类">
                      <el-row :gutter="20">
                        <el-col :span="8">
                          <div class="col-title">投资属性分类</div>
                          <el-form-item label="一级分类">
                            <el-select
                              v-model="jcFormData.tzsxyjfl"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                              @change="changeJcTzsxyjfl"
                            >
                              <el-option
                                v-for="item in tzsxyjflList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                          <el-form-item label="二级分类">
                            <el-select
                              v-model="jcFormData.tzsxejfl"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in jcTzsxejflList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                          <el-form-item label="投资板块">
                            <el-select
                              v-model="jcFormData.tzbk"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                              @change="changeJcTzsxtzbk"
                            >
                              <el-option
                                v-for="item in tzsxtzbkList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                          <el-form-item label="细分板块">
                            <el-select
                              v-model="jcFormData.subsector"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in jcTzsxxfbkList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <div class="col-title">投资目的分类</div>
                          <el-form-item label="一级分类">
                            <el-select
                              v-model="jcFormData.tzmdyjfl"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                              @change="changeJcTzmdyjfl"
                            >
                              <el-option
                                v-for="item in tzmdyjflList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                          <el-form-item label="二级分类">
                            <el-select
                              v-model="jcFormData.tzmdejfl"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in jcTzmdejflList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                          <el-form-item label="四新分类">
                            <el-select
                              v-model="jcFormData.sxfl"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in tzmdsxflList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                          <el-form-item label="是否纳入补贴目录">
                            <el-radio-group v-model="jcFormData.sfnrbtml">
                              <el-radio
                                value="1"
                                @click.prevent="
                                  () => jcRadioClick('1', 'sfnrbtml')
                                "
                                >是</el-radio
                              >
                              <el-radio
                                value="2"
                                @click.prevent="
                                  () => jcRadioClick('2', 'sfnrbtml')
                                "
                                >否</el-radio
                              >
                            </el-radio-group>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <div class="col-title">投资指南分类</div>
                          <el-form-item label="一级分类">
                            <el-select
                              v-model="jcFormData.tzznyjfl"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                              @change="changeJcTzznyjfl"
                            >
                              <el-option
                                v-for="item in tzznyjflList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                          <el-form-item label="二级分类">
                            <el-select
                              v-model="jcFormData.tzznejfl"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in jcTzznejflList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                          <el-form-item label="是否再决策">
                            <el-radio-group v-model="jcFormData.sfzjc">
                              <el-radio
                                value="1"
                                id="是"
                                @click.prevent="
                                  () => jcRadioClick('1', 'sfzjc')
                                "
                                >是</el-radio
                              >
                              <el-radio
                                value="2"
                                id="否"
                                @click.prevent="
                                  () => jcRadioClick('2', 'sfzjc')
                                "
                                >否</el-radio
                              >
                            </el-radio-group>
                          </el-form-item>
                          <el-form-item
                            label="投资指南分类概述"
                            v-if="jcFormData.tzznyjfl !== 233"
                          >
                            <el-input
                              v-model="jcFormData.tzznflgs"
                              type="textarea"
                              :autosize="{ minRows: 2, maxRows: 5 }"
                            />
                          </el-form-item>
                        </el-col>
                      </el-row>
                    </el-collapse-item>
                    <el-collapse-item
                      title="特别关注、特别监管类等信息"
                      name="特别关注、特别监管类等信息"
                    >
                      <el-row :gutter="20">
                        <el-col :span="8">
                          <el-form-item
                            label-width="300px"
                            label="是否需报国家发展改革委和商务部核准"
                          >
                            <el-radio-group
                              v-model="jcFormData.sfxbgjfzggwhswbhz"
                            >
                              <el-radio
                                value="1"
                                @click.prevent="
                                  () => jcRadioClick('1', 'sfxbgjfzggwhswbhz')
                                "
                                >是</el-radio
                              >
                              <el-radio
                                value="2"
                                @click.prevent="
                                  () => jcRadioClick('2', 'sfxbgjfzggwhswbhz')
                                "
                                >否</el-radio
                              >
                            </el-radio-group>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item
                            label-width="300px"
                            label="是否国家领导见签"
                          >
                            <el-radio-group v-model="jcFormData.sfgjldjq">
                              <el-radio
                                value="1"
                                @click.prevent="
                                  () => jcRadioClick('1', 'sfgjldjq')
                                "
                                >是</el-radio
                              >
                              <el-radio
                                value="2"
                                @click.prevent="
                                  () => jcRadioClick('2', 'sfgjldjq')
                                "
                                >否</el-radio
                              >
                            </el-radio-group>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item
                            label-width="300px"
                            label="是否境内特别监管类"
                          >
                            <el-radio-group v-model="jcFormData.sfjntbjgl">
                              <el-radio
                                value="1"
                                @click.prevent="
                                  () => jcRadioClick('1', 'sfjntbjgl')
                                "
                                >是</el-radio
                              >
                              <el-radio
                                value="2"
                                @click.prevent="
                                  () => jcRadioClick('2', 'sfjntbjgl')
                                "
                                >否</el-radio
                              >
                            </el-radio-group>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item
                            label-width="300px"
                            label="是否一带一路沿线国家"
                          >
                            <el-radio-group v-model="jcFormData.sfydylyxgj">
                              <el-radio
                                value="1"
                                @click.prevent="
                                  () => jcRadioClick('1', 'sfydylyxgj')
                                "
                                >是</el-radio
                              >
                              <el-radio
                                value="2"
                                @click.prevent="
                                  () => jcRadioClick('2', 'sfydylyxgj')
                                "
                                >否</el-radio
                              >
                            </el-radio-group>
                          </el-form-item>
                        </el-col>
                      </el-row>
                    </el-collapse-item>
                    <el-collapse-item
                      title="建设规模（实物量指标）"
                      name="建设规模（实物量指标）"
                    >
                      <el-row :gutter="20">
                        <el-col :span="12">
                          <el-form-item label="高速公路里程">
                            <el-input-number
                              v-model="jcFormData.gsgllc"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                            >
                              <template #suffix>
                                <span>km</span>
                              </template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                        <el-col :span="12">
                          <el-form-item label="其他收费公路里程">
                            <el-input-number
                              v-model="jcFormData.qtsfgllc"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                            >
                              <template #suffix>
                                <span>km</span>
                              </template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                      </el-row>
                      <div class="tab-handle">
                        <el-button
                          type="primary"
                          size="small"
                          @click="addJcSwlzb"
                          >新增</el-button
                        >
                      </div>
                      <el-table
                        :data="jcSwlzbData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                      >
                        <el-table-column type="index" width="50" />
                        <el-table-column prop="name" label="指标名称">
                          <template #default="scope">
                            <el-input v-model="scope.row.name" />
                          </template>
                        </el-table-column>
                        <el-table-column prop="num" label="数量">
                          <template #default="scope">
                            <el-input-number
                              v-model="scope.row.num"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column prop="unit" label="单位">
                          <template #default="scope">
                            <el-input v-model="scope.row.unit" />
                          </template>
                        </el-table-column>
                        <el-table-column prop="bcsm" label="补充说明">
                          <template #default="scope">
                            <el-input
                              v-model="scope.row.bcsm"
                              type="textarea"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column label="操作" width="60">
                          <template #default="scope">
                            <el-button
                              link
                              type="danger"
                              size="small"
                              @click="deleteJcSwlzb(scope.$index)"
                              >删除</el-button
                            >
                          </template>
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                    <el-collapse-item
                      title="政府审批（核准、备案）情况"
                      name="政府审批（核准、备案）情况"
                    >
                      <el-row :gutter="20">
                        <el-col :span="12">
                          <el-form-item label="是否已经政府审批">
                            <el-radio-group v-model="jcFormData.sfyjzfsp">
                              <el-radio
                                value="1"
                                @click.prevent="
                                  () => jcRadioClick('1', 'sfyjzfsp')
                                "
                                >是</el-radio
                              >
                              <el-radio
                                value="2"
                                @click.prevent="
                                  () => jcRadioClick('2', 'sfyjzfsp')
                                "
                                >否</el-radio
                              >
                            </el-radio-group>
                          </el-form-item>
                        </el-col>
                        <el-col :span="12">
                          <el-form-item label="审批单位名称（全称）">
                            <el-input v-model="jcFormData.spdwmc" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="6">
                          <el-form-item label="审批金额">
                            <el-input-number
                              v-model="jcFormData.spje"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                            >
                              <template #suffix>
                                <span>万元</span>
                              </template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                        <el-col :span="6">
                          <el-form-item label="审批文号">
                            <el-input v-model="jcFormData.pwwh" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="6">
                          <el-form-item label="审批级别">
                            <el-select
                              v-model="jcFormData.spjb"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in zfspjbList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="6">
                          <el-form-item label="审批时间">
                            <el-date-picker
                              v-model="jcFormData.spsj"
                              type="date"
                              placeholder="请选择"
                            />
                          </el-form-item>
                        </el-col>
                      </el-row>
                    </el-collapse-item>
                    <el-collapse-item title="股东信息" name="股东信息">
                      <div class="tab-handle">
                        <el-button
                          type="primary"
                          size="small"
                          @click="addJcGdxx"
                          >新增</el-button
                        >
                      </div>
                      <el-table
                        :data="jcGdxxData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                      >
                        <el-table-column
                          type="index"
                          width="50"
                          :index="jcgdxxIndexMethod"
                        />
                        <el-table-column
                          prop="gdlx"
                          label="股东类型"
                          width="180"
                        >
                          <template #default="scope">
                            <el-select
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.gdlx"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                              @change="changeJcGdxxSums"
                            >
                              <el-option
                                v-for="item in gdlxList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                            <div v-else class="sums-column">
                              <div
                                class=""
                                v-for="(value, key) in jcgdxxSums"
                                :key="key"
                              >
                                {{ value.name }}
                              </div>
                              <div>合计</div>
                            </div>
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="gdmc"
                          label="股东名称"
                          width="180"
                        >
                          <template #default="scope">
                            <el-input
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.gdmc"
                            />
                            <div v-else></div>
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="mycgbl"
                          label="名义持股比例（%）"
                          width="180"
                        >
                          <template #default="scope">
                            <el-input-number
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.mycgbl"
                              :min="0"
                              :max="99999.99"
                              controls-position="right"
                              @change="changeJcGdxxSums"
                            />
                            <div v-else class="sums-column">
                              <div
                                class=""
                                v-for="(value, key) in jcgdxxSums"
                                :key="key"
                              >
                                {{ value.mycgbl }}%
                              </div>
                              <div>{{ getObjSums(jcgdxxSums, "mycgbl") }}%</div>
                            </div>
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="cgbl"
                          label="持股比例（%）"
                          width="180"
                        >
                          <template #default="scope">
                            <el-input-number
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.cgbl"
                              :min="0"
                              :max="99999.99"
                              controls-position="right"
                              @change="changeJcGdxxSums"
                            />
                            <div v-else class="sums-column">
                              <div
                                class=""
                                v-for="(value, key) in jcgdxxSums"
                                :key="key"
                              >
                                {{ value.cgbl }}%
                              </div>
                              <div>{{ getObjSums(jcgdxxSums, "cgbl") }}%</div>
                            </div>
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="lrfpbl"
                          label="利润分配比例（%）"
                          width="180"
                        >
                          <template #default="scope">
                            <el-input-number
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.lrfpbl"
                              :min="0"
                              :max="99999.99"
                              controls-position="right"
                              @change="changeJcGdxxSums"
                            />
                            <div v-else class="sums-column">
                              <div
                                class=""
                                v-for="(value, key) in jcgdxxSums"
                                :key="key"
                              >
                                {{ value.lrfpbl }}%
                              </div>
                              <div>{{ getObjSums(jcgdxxSums, "lrfpbl") }}%</div>
                            </div>
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="cze"
                          label="出资额（万元）"
                          width="180"
                        >
                          <template #default="scope">
                            <el-input-number
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.cze"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                              @change="changeJcGdxxSums"
                            />
                            <div v-else class="sums-column">
                              <div
                                class=""
                                v-for="(value, key) in jcgdxxSums"
                                :key="key"
                              >
                                {{ value.cze }}万元
                              </div>
                              <div>{{ getObjSums(jcgdxxSums, "cze") }}万元</div>
                            </div>
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="sffldw"
                          label="是否关联单位"
                          width="80"
                        >
                          <template #default="scope">
                            <el-switch
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.sffldw"
                              inline-prompt
                              active-value="1"
                              active-text="是"
                              inactive-value="2"
                              inactive-text="否"
                            />
                            <div v-else></div>
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="yjzczb"
                          label="应缴注册资本金（万元）"
                          width="180"
                        >
                          <template #default="scope">
                            <el-input-number
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.yjzczb"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                              @change="changeJcGdxxSums"
                            />
                            <div v-else class="sums-column">
                              <div
                                class=""
                                v-for="(value, key) in jcgdxxSums"
                                :key="key"
                              >
                                {{ value.yjzczb }}万元
                              </div>
                              <div>
                                {{ getObjSums(jcgdxxSums, "yjzczb") }}万元
                              </div>
                            </div>
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="yjzczbj"
                          label="已缴注册资本金（万元）"
                          width="180"
                        >
                          <template #default="scope">
                            <el-input-number
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.yjzczbj"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                              @change="changeJcGdxxSums"
                            />
                            <div v-else class="sums-column">
                              <div
                                class=""
                                v-for="(value, key) in jcgdxxSums"
                                :key="key"
                              >
                                {{ (value.yjzczbj || 0).toFixed(2) }}万元
                              </div>
                              <div>
                                {{
                                  (
                                    getObjSums(jcgdxxSums, "yjzczbj") || 0
                                  ).toFixed(2)
                                }}万元
                              </div>
                            </div>
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="ycxmzbj"
                          label="应出项目资本金（万元）"
                          width="180"
                        >
                          <template #default="scope">
                            <el-input-number
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.ycxmzbj"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                              @change="changeJcGdxxSums"
                            />
                            <div v-else class="sums-column">
                              <div
                                class=""
                                v-for="(value, key) in jcgdxxSums"
                                :key="key"
                              >
                                {{ value.ycxmzbj }}万元
                              </div>
                              <div>
                                {{ getObjSums(jcgdxxSums, "ycxmzbj") }}万元
                              </div>
                            </div>
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="yjxmzbj"
                          label="已缴项目资本金（万元）"
                          width="180"
                        >
                          <template #default="scope">
                            <el-input-number
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.yjxmzbj"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                              @change="changeJcGdxxSums"
                            />
                            <div v-else class="sums-column">
                              <div
                                class=""
                                v-for="(value, key) in jcgdxxSums"
                                :key="key"
                              >
                                {{ (value.yjxmzbj || 0).toFixed(2) }}万元
                              </div>
                              <div>
                                {{
                                  (
                                    getObjSums(jcgdxxSums, "yjxmzbj") || 0
                                  ).toFixed(2)
                                }}万元
                              </div>
                            </div>
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="sfwqcnsy"
                          label="是否为其承诺收益"
                          width="100"
                        >
                          <template #default="scope">
                            <el-switch
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.sfwqcnsy"
                              inline-prompt
                              active-value="1"
                              active-text="是"
                              inactive-value="2"
                              inactive-text="否"
                            />
                            <div v-else></div>
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="sfwqtgdbhgcnd"
                          label="是否为其提供担保回购承诺等"
                          width="130"
                        >
                          <template #default="scope">
                            <el-switch
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.sfwqtgdbhgcnd"
                              inline-prompt
                              active-value="1"
                              active-text="是"
                              inactive-value="2"
                              inactive-text="否"
                            />
                            <div v-else></div>
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="sfczmgszqx"
                          label="是否存在名股实债情形"
                          width="130"
                        >
                          <template #default="scope">
                            <el-switch
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.sfczmgszqx"
                              inline-prompt
                              active-value="1"
                              active-text="是"
                              inactive-value="2"
                              inactive-text="否"
                            />
                            <div v-else></div>
                          </template>
                        </el-table-column>

                        <el-table-column
                          prop="yjzczbj"
                          label="备注"
                          width="180"
                        >
                          <template #default="scope">
                            <el-input
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.yjzczbj"
                            />
                            <div v-else></div>
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="hzfqk"
                          label="合作方情况"
                          width="180"
                        >
                          <template #default="scope">
                            <el-input
                              v-if="scope.$index < jcGdxxData.length - 1"
                              v-model="scope.row.hzfqk"
                            />
                            <div v-else></div>
                          </template>
                        </el-table-column>
                        <el-table-column label="操作" width="60" fixed="right">
                          <template #default="scope">
                            <el-button
                              v-if="scope.$index < jcGdxxData.length - 1"
                              link
                              type="danger"
                              size="small"
                              @click="deleteJcGdxx(scope.$index)"
                              >删除</el-button
                            >
                            <div v-else></div>
                          </template>
                        </el-table-column>
                      </el-table>
                      <el-row :gutter="20">
                        <el-col :span="24">
                          <el-form-item label="我方出资人及持股比例">
                            <el-input v-model="jcFormData.wfczrjcgbl" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="24">
                          <el-form-item label="涉及能建方施工单位">
                            <el-input v-model="jcFormData.sjnjfsgdw" />
                          </el-form-item>
                        </el-col>
                      </el-row>
                    </el-collapse-item>
                    <el-collapse-item
                      title="我方担保及股权融资情况"
                      name="我方担保及股权融资情况"
                    >
                      <el-row :gutter="20">
                        <el-col :span="6">
                          <el-form-item label="我方负责的股权融资金额">
                            <el-input-number
                              v-model="jcFormData.wffzdgqrzjewy"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                            >
                              <template #suffix>
                                <span>万元</span>
                              </template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                        <el-col :span="6">
                          <el-form-item label="融资成本">
                            <el-input-number
                              v-model="jcFormData.rzcbgq"
                              :min="0"
                              :max="99999.99"
                              controls-position="right"
                            >
                              <template #suffix>
                                <span>%</span>
                              </template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                        <el-col :span="6">
                          <el-form-item label="期限">
                            <el-input-number
                              v-model="jcFormData.qxgq"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                            >
                              <template #suffix>
                                <span>年</span>
                              </template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                        <el-col :span="6">
                          <el-form-item label="担保金额">
                            <el-input-number
                              v-model="jcFormData.dbje"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                            >
                              <template #suffix>
                                <span>万元</span>
                              </template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                      </el-row>
                    </el-collapse-item>
                    <el-collapse-item
                      title="我方担保及债权融资情况"
                      name="我方担保及债权融资情况"
                    >
                      <div class="tab-handle">
                        <el-button type="primary" size="small" @click="addDbzq"
                          >新增</el-button
                        >
                      </div>
                      <el-table
                        :data="dbzqData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                      >
                        <el-table-column type="index" width="50" />
                        <el-table-column prop="wffzdzqrzjewy" label="金额">
                          <template #default="scope">
                            <el-input-number
                              v-model="scope.row.wffzdzqrzjewy"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                            >
                              <template #suffix>
                                <span>万元</span>
                              </template>
                            </el-input-number>
                          </template>
                        </el-table-column>
                        <el-table-column prop="rzcbzq" label="融资成本">
                          <template #default="scope">
                            <el-input-number
                              v-model="scope.row.rzcbzq"
                              :min="0"
                              :max="99999.99"
                              controls-position="right"
                            >
                              <template #suffix>
                                <span>%</span>
                              </template>
                            </el-input-number>
                          </template>
                        </el-table-column>
                        <el-table-column prop="qxzq" label="期限">
                          <template #default="scope">
                            <el-input-number
                              v-model="scope.row.qxzq"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                            >
                              <template #suffix>
                                <span>年</span>
                              </template>
                            </el-input-number>
                          </template>
                        </el-table-column>
                        <el-table-column prop="yjldsjzq" label="预计落地时间">
                          <template #default="scope">
                            <el-date-picker
                              v-model="scope.row.yjldsjzq"
                              type="date"
                              placeholder="请选择"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column label="操作" width="60">
                          <template #default="scope">
                            <el-button
                              link
                              type="danger"
                              size="small"
                              @click="deleteDbzq(scope.$index)"
                              >删除</el-button
                            >
                          </template>
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                    <el-collapse-item title="工程带动情况" name="工程带动情况">
                      <el-row :gutter="20">
                        <el-col :span="6">
                          <el-form-item label="带动工程合同额">
                            <el-input-number
                              v-model="jcFormData.ddgchte"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                            >
                              <template #suffix>
                                <span>万元</span>
                              </template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                        <el-col :span="6">
                          <el-form-item label="投资带动比">
                            <el-input-number
                              v-model="jcFormData.tzddb"
                              :min="0"
                              :max="99999.99"
                              controls-position="right"
                            >
                              <template #suffix>
                                <span>%</span>
                              </template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                        <el-col :span="6">
                          <el-form-item label="工程利润">
                            <el-input-number
                              v-model="jcFormData.gclrwy"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                            >
                              <template #suffix>
                                <span>万元</span>
                              </template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                        <el-col :span="6">
                          <el-form-item label="工程利润率">
                            <el-input-number
                              v-model="jcFormData.gclrl"
                              :min="0"
                              :max="99999.99"
                              controls-position="right"
                            >
                              <template #suffix>
                                <span>%</span>
                              </template>
                            </el-input-number>
                          </el-form-item>
                        </el-col>
                      </el-row>
                    </el-collapse-item>
                    <el-collapse-item title="项目实施现状" name="项目实施现状">
                      <el-form-item label="投资完成情况">
                        <el-input
                          v-model="jcFormData.tzwcqk"
                          type="textarea"
                          :autosize="{ minRows: 2, maxRows: 5 }"
                        />
                      </el-form-item>
                      <el-form-item label="投资回收情况">
                        <el-input
                          v-model="jcFormData.tzhsqk"
                          type="textarea"
                          :autosize="{ minRows: 2, maxRows: 5 }"
                        />
                      </el-form-item>
                    </el-collapse-item>
                    <el-collapse-item title="风险管理" name="风险管理">
                      <div class="tab-handle">
                        <el-button type="primary" size="small" @click="addFxgl"
                          >新增</el-button
                        >
                      </div>
                      <el-table
                        :data="fxglData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                      >
                        <el-table-column type="index" width="50" />
                        <el-table-column prop="fxlb" label="风险类别">
                          <template #default="scope">
                            <el-input v-model="scope.row.fxlb" />
                          </template>
                        </el-table-column>
                        <el-table-column prop="fxms" label="风险描述">
                          <template #default="scope">
                            <el-input
                              v-model="scope.row.fxms"
                              type="textarea"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column prop="ydcs" label="应对措施">
                          <template #default="scope">
                            <el-input
                              v-model="scope.row.ydcs"
                              type="textarea"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column label="操作" width="60">
                          <template #default="scope">
                            <el-button
                              link
                              type="danger"
                              size="small"
                              @click="deleteFxgl(scope.$index)"
                              >删除</el-button
                            >
                          </template>
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                    <el-collapse-item title="里程碑节点" name="里程碑节点">
                      <div class="tab-handle">
                        <el-button type="primary" size="small" @click="addLcbjd"
                          >新增</el-button
                        >
                      </div>
                      <el-table
                        :data="lcbjdData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                      >
                        <el-table-column type="index" width="50" />
                        <el-table-column prop="lcbjdmc" label="里程碑节点名称">
                          <template #default="scope">
                            <el-input v-model="scope.row.lcbjdmc" />
                          </template>
                        </el-table-column>
                        <el-table-column prop="jdwcms" label="节点完成描述">
                          <template #default="scope">
                            <el-input
                              v-model="scope.row.jdwcms"
                              type="textarea"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column prop="yjwcsj" label="预计完成时间">
                          <template #default="scope">
                            <el-date-picker
                              v-model="scope.row.yjwcsj"
                              type="date"
                              placeholder="请选择"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column label="操作" width="60">
                          <template #default="scope">
                            <el-button
                              link
                              type="danger"
                              size="small"
                              @click="deleteLcbjd(scope.$index)"
                              >删除</el-button
                            >
                          </template>
                        </el-table-column>
                      </el-table>
                      <el-form-item label="里程碑计划审批表" :label-width="130">
                        <el-upload
                          :action="windowConfig.baseUrl + '/api/file/upload'"
                          :headers="{ Authorization: token }"
                          :show-file-list="false"
                          multiple
                          :on-success="addLcbspFile"
                        >
                          <el-button type="default">上传</el-button>
                        </el-upload>
                        <el-button
                          type="default"
                          @click="multiDeleteLcbsp"
                          :disabled="!lcbspSelectIds.length"
                          >删除选中文件</el-button
                        >
                      </el-form-item>
                      <el-table
                        :data="lcbspData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                        @selection-change="lcbspSelectionChange"
                      >
                        <el-table-column type="selection" width="55" />
                        <el-table-column prop="originalname" label="文件名" />
                        <el-table-column prop="updatedAt" label="上传时间" />
                        <el-table-column prop="size" label="大小">
                          <template #default="{ row }">
                            <span>{{ row.size }} MB</span>
                          </template>
                        </el-table-column>
                        <el-table-column fixed="right" label="操作" width="100">
                          <template #default="{ row, $index }">
                            <span
                              class="always-click"
                              @click="downloadFile(row)"
                              >下载</span
                            >
                            <el-button
                              link
                              type="danger"
                              size="small"
                              @click="deleteLcbsp($index)"
                              >删除</el-button
                            >
                          </template>
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                    <el-collapse-item title="投评决策资料" name="投评决策资料">
                      <el-form-item label="可研材料" :label-width="160">
                        <el-upload
                          :action="windowConfig.baseUrl + '/api/file/upload'"
                          :headers="{ Authorization: token }"
                          :show-file-list="false"
                          multiple
                          :on-success="addKyclFile"
                        >
                          <el-button type="default">上传</el-button>
                        </el-upload>
                        <el-button
                          type="default"
                          @click="multiDeleteKycl"
                          :disabled="!kyclSelectIds.length"
                          >删除选中文件</el-button
                        >
                      </el-form-item>
                      <el-table
                        :data="kyclData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                        @selection-change="kyclSelectionChange"
                      >
                        <el-table-column type="selection" width="55" />
                        <el-table-column prop="originalname" label="文件名" />
                        <el-table-column prop="updatedAt" label="上传时间" />
                        <el-table-column prop="size" label="大小">
                          <template #default="{ row }">
                            <span>{{ row.size }} MB</span>
                          </template>
                        </el-table-column>
                        <el-table-column fixed="right" label="操作" width="100">
                          <template #default="{ row, $index }">
                            <span
                              class="always-click"
                              @click="downloadFile(row)"
                              >下载</span
                            >
                            <el-button
                              link
                              type="danger"
                              size="small"
                              @click="deleteKycl($index)"
                              >删除</el-button
                            >
                          </template>
                        </el-table-column>
                      </el-table>
                      <el-form-item
                        label="经济指标初步测算资料"
                        :label-width="160"
                      >
                        <el-upload
                          :action="windowConfig.baseUrl + '/api/file/upload'"
                          :headers="{ Authorization: token }"
                          :show-file-list="false"
                          multiple
                          :on-success="addJjzbcsFile"
                        >
                          <el-button type="default">上传</el-button>
                        </el-upload>
                        <el-button
                          type="default"
                          @click="multiDeleteJjzbcs"
                          :disabled="!jjzbcsSelectIds.length"
                          >删除选中文件</el-button
                        >
                      </el-form-item>
                      <el-table
                        :data="jjzbcsData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                        @selection-change="jjzbcsSelectionChange"
                      >
                        <el-table-column type="selection" width="55" />
                        <el-table-column prop="originalname" label="文件名" />
                        <el-table-column prop="updatedAt" label="上传时间" />
                        <el-table-column prop="size" label="大小">
                          <template #default="{ row }">
                            <span>{{ row.size }} MB</span>
                          </template>
                        </el-table-column>
                        <el-table-column fixed="right" label="操作" width="100">
                          <template #default="{ row, $index }">
                            <span
                              class="always-click"
                              @click="downloadFile(row)"
                              >下载</span
                            >
                            <el-button
                              link
                              type="danger"
                              size="small"
                              @click="deleteJjzbcs($index)"
                              >删除</el-button
                            >
                          </template>
                        </el-table-column>
                      </el-table>
                      <el-form-item label="补充相关支撑材料" :label-width="160">
                        <el-upload
                          :action="windowConfig.baseUrl + '/api/file/upload'"
                          :headers="{ Authorization: token }"
                          :show-file-list="false"
                          multiple
                          :on-success="addTpbczcclFile"
                        >
                          <el-button type="default">上传</el-button>
                        </el-upload>
                        <el-button
                          type="default"
                          @click="multiDeleteTpbczccl"
                          :disabled="!tpbczcclSelectIds.length"
                          >删除选中文件</el-button
                        >
                      </el-form-item>
                      <el-table
                        :data="tpbczcclData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                        @selection-change="tpbczcclSelectionChange"
                      >
                        <el-table-column type="selection" width="55" />
                        <el-table-column prop="originalname" label="文件名" />
                        <el-table-column prop="updatedAt" label="上传时间" />
                        <el-table-column prop="size" label="大小">
                          <template #default="{ row }">
                            <span>{{ row.size }} MB</span>
                          </template>
                        </el-table-column>
                        <el-table-column fixed="right" label="操作" width="100">
                          <template #default="{ row, $index }">
                            <span
                              class="always-click"
                              @click="downloadFile(row)"
                              >下载</span
                            >
                            <el-button
                              link
                              type="danger"
                              size="small"
                              @click="deleteTpbczccl($index)"
                              >删除</el-button
                            >
                          </template>
                        </el-table-column>
                      </el-table>
                      <el-form-item label="其他相关支撑材料" :label-width="160">
                        <el-upload
                          :action="windowConfig.baseUrl + '/api/file/upload'"
                          :headers="{ Authorization: token }"
                          :show-file-list="false"
                          multiple
                          :on-success="addTpzcclFile"
                        >
                          <el-button type="default">上传</el-button>
                        </el-upload>
                        <el-button
                          type="default"
                          @click="multiDeleteTpzccl"
                          :disabled="!tpzcclSelectIds.length"
                          >删除选中文件</el-button
                        >
                      </el-form-item>
                      <el-table
                        :data="tpzcclData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                        @selection-change="tpzcclSelectionChange"
                      >
                        <el-table-column type="selection" width="55" />
                        <el-table-column prop="originalname" label="文件名" />
                        <el-table-column prop="updatedAt" label="上传时间" />
                        <el-table-column prop="size" label="大小">
                          <template #default="{ row }">
                            <span>{{ row.size }} MB</span>
                          </template>
                        </el-table-column>
                        <el-table-column fixed="right" label="操作" width="100">
                          <template #default="{ row, $index }">
                            <span
                              class="always-click"
                              @click="downloadFile(row)"
                              >下载</span
                            >
                            <el-button
                              link
                              type="danger"
                              size="small"
                              @click="deleteTpzccl($index)"
                              >删除</el-button
                            >
                          </template>
                        </el-table-column>
                      </el-table>
                      <el-form-item label="上会议案" :label-width="160">
                        <el-upload
                          :action="windowConfig.baseUrl + '/api/file/upload'"
                          :headers="{ Authorization: token }"
                          :show-file-list="false"
                          multiple
                          :on-success="addShyaFile"
                        >
                          <el-button type="default">上传</el-button>
                        </el-upload>
                        <el-button
                          type="default"
                          @click="multiDeleteShya"
                          :disabled="!shyaSelectIds.length"
                          >删除选中文件</el-button
                        >
                      </el-form-item>
                      <el-table
                        :data="shyaData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                        @selection-change="shyaSelectionChange"
                      >
                        <el-table-column type="selection" width="55" />
                        <el-table-column prop="originalname" label="文件名" />
                        <el-table-column prop="updatedAt" label="上传时间" />
                        <el-table-column prop="size" label="大小">
                          <template #default="{ row }">
                            <span>{{ row.size }} MB</span>
                          </template>
                        </el-table-column>
                        <el-table-column fixed="right" label="操作" width="100">
                          <template #default="{ row, $index }">
                            <span
                              class="always-click"
                              @click="downloadFile(row)"
                              >下载</span
                            >
                            <el-button
                              link
                              type="danger"
                              size="small"
                              @click="deleteShya($index)"
                              >删除</el-button
                            >
                          </template>
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                  </el-collapse>
                </el-form>
              </div>
              <div class="navigation-wrapper">
                <CollapseNavigation
                  :nav-items="navigationItems"
                  :active-item="activeCollapse"
                  @nav-click="handleNavClick"
                />
              </div>
            </el-tab-pane>
            <el-tab-pane label="财务评价" name="财务评价">
              <div class="tab-content">
                <el-form :model="jcFormData" :disabled="isPreview">
                  <el-collapse
                    v-collapse-nav="navigationItems2"
                    v-model="cwpjcollapse"
                  >
                    <el-collapse-item title="投决计划" name="投决计划">
                      <div class="tab-handle">
                        <el-button
                          type="primary"
                          size="small"
                          @click="downloadTemplate('tjjh')"
                          >模板下载</el-button
                        >
                        <el-upload
                          :action="
                            windowConfig.baseUrl +
                            '/api/template/importExcelTempData'
                          "
                          :headers="{ Authorization: token }"
                          :show-file-list="false"
                          :data="{
                            tampName: 'tjjh',
                            projectId: formData.id,
                          }"
                          :on-success="
                            (res, file) => importTjjh(res.data, file)
                          "
                        >
                          <el-button
                            type="primary"
                            size="small"
                            style="margin-left: 12px"
                            >导入数据</el-button
                          >
                        </el-upload>
                      </div>
                      <el-table
                        :data="jcTjjhData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                      >
                        <el-table-column
                          v-for="(column, index) in tjglColumns"
                          :key="index"
                          :prop="column.key"
                          :label="column.label"
                        >
                          <el-table-column
                            v-for="(col, ind) in column.children"
                            :key="ind"
                            :prop="col.key"
                            :label="col.label"
                            :width="ind === 1 ? 180 : null"
                          >
                            <template #default="scope">
                              <el-table-column
                                v-if="col.children?.length"
                                v-for="(col_, ind_) in col.children"
                                :key="ind_"
                                :prop="col_.key.toString()"
                                :label="col_.label.toString()"
                                width="180"
                              >
                                <template #default="scope_">
                                  <!-- 去掉空白单元行 -->
                                  <el-input-number
                                    v-if="
                                      scope_.row[col.children[1].key] ||
                                      scope_.row[col.children[1].key] === 0
                                    "
                                    v-model="scope_.row[col_.key.toString()]"
                                    :min="0"
                                    :max="99999999999.99999999"
                                    controls-position="right"
                                  />
                                  <span v-else></span>
                                </template>
                              </el-table-column>
                              <span v-else>{{ scope.row[col.key] }}</span>
                            </template>
                          </el-table-column>
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                    <el-collapse-item
                      title="项目投资资金流量表"
                      name="项目投资资金流量表"
                    >
                      <div class="tab-handle">
                        <el-button
                          type="primary"
                          size="small"
                          @click="downloadTemplate('xmtzzjll')"
                          >模板下载</el-button
                        >
                        <el-upload
                          :action="
                            windowConfig.baseUrl +
                            '/api/template/importExcelTempData'
                          "
                          :headers="{ Authorization: token }"
                          :show-file-list="false"
                          :data="{
                            tampName: 'xmtzzjll',
                            projectId: formData.id,
                          }"
                          :on-success="
                            (res, file) => importXmtzzjll(res.data, file)
                          "
                        >
                          <el-button
                            type="primary"
                            size="small"
                            style="margin-left: 12px"
                            >导入数据</el-button
                          >
                        </el-upload>
                      </div>
                      <el-table
                        :data="xmtzzjllData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                      >
                        <el-table-column
                          v-for="(column, index) in xmtzzjllColumns"
                          :key="index"
                          :prop="column.key"
                          :label="column.label"
                        >
                          <el-table-column
                            v-for="(col, ind) in column.children"
                            :key="ind"
                            :prop="col.key"
                            :label="col.label"
                            :width="ind === 1 ? 180 : null"
                          >
                            <template #default="scope">
                              <el-table-column
                                v-if="col.children?.length"
                                v-for="(col_, ind_) in col.children"
                                :key="ind_"
                                :prop="col_.key.toString()"
                                :label="col_.label.toString()"
                                width="180"
                              >
                                <template #default="scope_">
                                  <!-- 去掉空白单元行 -->
                                  <el-input-number
                                    v-if="
                                      scope_.row[col.children[1].key] ||
                                      scope_.row[col.children[1].key] === 0
                                    "
                                    v-model="scope_.row[col_.key.toString()]"
                                    :min="0"
                                    :max="99999999999.99999999"
                                    controls-position="right"
                                  />
                                  <span v-else></span>
                                </template>
                              </el-table-column>
                              <span v-else>{{ scope.row[col.key] }}</span>
                            </template>
                          </el-table-column>
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                    <el-collapse-item
                      title="项目资本金现金流量表"
                      name="项目资本金现金流量表"
                    >
                      <div class="tab-handle">
                        <el-button
                          type="primary"
                          size="small"
                          @click="downloadTemplate('xmzbjxjll')"
                          >模板下载</el-button
                        >
                        <el-upload
                          :action="
                            windowConfig.baseUrl +
                            '/api/template/importExcelTempData'
                          "
                          :headers="{ Authorization: token }"
                          :show-file-list="false"
                          :data="{
                            tampName: 'xmzbjxjll',
                            projectId: formData.id,
                          }"
                          :on-success="
                            (res, file) => importXmzbjxjll(res.data, file)
                          "
                        >
                          <el-button
                            type="primary"
                            size="small"
                            style="margin-left: 12px"
                            >导入数据</el-button
                          >
                        </el-upload>
                      </div>
                      <el-table
                        :data="xmzbjxjllData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                      >
                        <el-table-column
                          v-for="(column, index) in xmzbjxjllColumns"
                          :key="index"
                          :prop="column.key"
                          :label="column.label"
                        >
                          <el-table-column
                            v-for="(col, ind) in column.children"
                            :key="ind"
                            :prop="col.key"
                            :label="col.label"
                            :width="ind === 1 ? 180 : null"
                          >
                            <template #default="scope">
                              <el-table-column
                                v-if="col.children?.length"
                                v-for="(col_, ind_) in col.children"
                                :key="ind_"
                                :prop="col_.key.toString()"
                                :label="col_.label.toString()"
                                width="180"
                              >
                                <template #default="scope_">
                                  <!-- 去掉空白单元行 -->
                                  <el-input-number
                                    v-if="
                                      scope_.row[col.children[1].key] ||
                                      scope_.row[col.children[1].key] === 0
                                    "
                                    v-model="scope_.row[col_.key.toString()]"
                                    :min="0"
                                    :max="99999999999.99999999"
                                    controls-position="right"
                                  />
                                  <span v-else></span>
                                </template>
                              </el-table-column>
                              <span v-else>{{ scope.row[col.key] }}</span>
                            </template>
                          </el-table-column>
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                    <el-collapse-item
                      title="能建方现金流量表"
                      name="能建方现金流量表"
                    >
                      <div class="tab-handle">
                        <el-button
                          type="primary"
                          size="small"
                          @click="downloadTemplate('njfxjll')"
                          >模板下载</el-button
                        >
                        <el-upload
                          :action="
                            windowConfig.baseUrl +
                            '/api/template/importExcelTempData'
                          "
                          :headers="{ Authorization: token }"
                          :show-file-list="false"
                          :data="{
                            tampName: 'njfxjll',
                            projectId: formData.id,
                          }"
                          :on-success="
                            (res, file) => importNjfxjll(res.data, file)
                          "
                        >
                          <el-button
                            type="primary"
                            size="small"
                            style="margin-left: 12px"
                            >导入数据</el-button
                          >
                        </el-upload>
                      </div>
                      <el-table
                        :data="njfxjllData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                      >
                        <el-table-column
                          v-for="(column, index) in njfxjllColumns"
                          :key="index"
                          :prop="column.key"
                          :label="column.label"
                        >
                          <el-table-column
                            v-for="(col, ind) in column.children"
                            :key="ind"
                            :prop="col.key"
                            :label="col.label"
                            :width="ind === 1 ? 180 : null"
                          >
                            <template #default="scope">
                              <el-table-column
                                v-if="col.children?.length"
                                v-for="(col_, ind_) in col.children"
                                :key="ind_"
                                :prop="col_.key.toString()"
                                :label="col_.label.toString()"
                                width="180"
                              >
                                <template #default="scope_">
                                  <!-- 去掉空白单元行 -->
                                  <el-input-number
                                    v-if="
                                      scope_.row[col.children[1].key] ||
                                      scope_.row[col.children[1].key] === 0
                                    "
                                    v-model="scope_.row[col_.key.toString()]"
                                    :min="0"
                                    :max="99999999999.99999999"
                                    controls-position="right"
                                  />
                                  <span v-else></span>
                                </template>
                              </el-table-column>
                              <span v-else>{{ scope.row[col.key] }}</span>
                            </template>
                          </el-table-column>
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                    <el-collapse-item title="利润表" name="利润表">
                      <div class="tab-handle">
                        <el-button
                          type="primary"
                          size="small"
                          @click="downloadTemplate('lrb')"
                          >模板下载</el-button
                        >
                        <el-upload
                          :action="
                            windowConfig.baseUrl +
                            '/api/template/importExcelTempData'
                          "
                          :headers="{ Authorization: token }"
                          :show-file-list="false"
                          :data="{
                            tampName: 'lrb',
                            projectId: formData.id,
                          }"
                          :on-success="(res, file) => importLrb(res.data, file)"
                        >
                          <el-button
                            type="primary"
                            size="small"
                            style="margin-left: 12px"
                            >导入数据</el-button
                          >
                        </el-upload>
                      </div>
                      <el-table
                        :data="lrbData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                      >
                        <el-table-column
                          v-for="(column, index) in lrbColumns"
                          :key="index"
                          :prop="column.key"
                          :label="column.label"
                        >
                          <el-table-column
                            v-for="(col, ind) in column.children"
                            :key="ind"
                            :prop="col.key"
                            :label="col.label"
                            :width="ind === 1 ? 180 : null"
                          >
                            <template #default="scope">
                              <el-table-column
                                v-if="col.children?.length"
                                v-for="(col_, ind_) in col.children"
                                :key="ind_"
                                :prop="col_.key.toString()"
                                :label="col_.label.toString()"
                                width="180"
                              >
                                <template #default="scope_">
                                  <!-- 去掉空白单元行 -->
                                  <el-input-number
                                    v-if="
                                      scope_.row[col.children[1].key] ||
                                      scope_.row[col.children[1].key] === 0
                                    "
                                    v-model="scope_.row[col_.key.toString()]"
                                    :min="0"
                                    :max="99999999999.99999999"
                                    controls-position="right"
                                  />
                                  <span v-else></span>
                                </template>
                              </el-table-column>
                              <span v-else>{{ scope.row[col.key] }}</span>
                            </template>
                          </el-table-column>
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                  </el-collapse>
                </el-form>
              </div>
              <div class="navigation-wrapper">
                <CollapseNavigation
                  :nav-items="navigationItems2"
                  :active-item="cwpjcollapse"
                  @nav-click="handleNavClick"
                />
              </div>
            </el-tab-pane>
            <el-tab-pane label="重新决策批复" name="重新决策批复">
              <div class="tabBody"></div>
              <div class="tab-content">
                <el-form :model="jcFormData" :disabled="isPreview">
                  <el-collapse
                    v-collapse-nav="navigationItems3"
                    v-model="activeCollapse"
                  >
                    <el-collapse-item
                      title="项目投资总额（全口径）"
                      name="项目投资总额（全口径）"
                    >
                      <el-table
                        :data="jcTzzeqkjData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        default-expand-all
                        row-key="xh"
                        border
                      >
                        <el-table-column prop="xh" label="序号" />
                        <el-table-column prop="zb" label="指标" />
                        <el-table-column prop="dw" label="" width="70" />
                        <el-table-column prop="rmbjj" label="人民币计价">
                          <template #default="scope">
                            <el-input-number
                              v-if="!['一', '二'].includes(scope.row.xh)"
                              v-model="scope.row.rmbjj"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                            />
                          </template>
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                    <el-collapse-item title="财务评价指标" name="财务评价指标">
                      <el-table
                        :data="jcCwpjzbData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                      >
                        <el-table-column prop="name" label="指标" />
                        <el-table-column prop="unit" label="" width="70" />
                        <el-table-column prop="num" label="投资评估阶段批复值">
                          <template #default="scope">
                            <el-input
                              v-model="scope.row.num"
                              v-if="scope.row.type === 'year'"
                            />
                            <el-input-number
                              v-else
                              v-model="scope.row.num"
                              :min="0"
                              :max="99999999999.99999999"
                              controls-position="right"
                            />
                          </template>
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                    <el-collapse-item title="核心边界条件" name="核心边界条件">
                      <DynamicTable
                        v-model="jcHxbjtjData"
                        :columns="boundaryColumns"
                        :default-row="boundaryDefaultRow"
                        :select-options="boundarySelectOptions"
                        :show-add-button="true"
                        :show-delete-button="true"
                        :show-import-export="true"
                        :scrollbar-always-on="true"
                        :disabled="isPreview"
                      />
                    </el-collapse-item>

                    <el-collapse-item
                      title="决策主体审核情况"
                      name="决策主体审核情况"
                    >
                      <div class="tab-handle">
                        <el-button
                          type="primary"
                          size="small"
                          @click="addJcztshqk"
                          >新增</el-button
                        >
                      </div>
                      <el-table
                        :data="jcztshqkData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                      >
                        <el-table-column type="index" width="50" />
                        <el-table-column prop="hylx" label="会议类型">
                          <template #default="scope">
                            <el-select
                              v-model="scope.row.hylx"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in hylxList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </template>
                        </el-table-column>
                        <el-table-column prop="hymc" label="会议名称">
                          <template #default="scope">
                            <el-input v-model="scope.row.hymc" />
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="jcsj"
                          label="决策时间"
                          width="260"
                        >
                          <template #default="scope">
                            <el-date-picker
                              v-model="scope.row.jcsj"
                              type="date"
                              placeholder="请选择"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column prop="jcjl" label="决策结论">
                          <template #default="scope">
                            <el-input
                              v-model="scope.row.jcjl"
                              type="textarea"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column
                          label="会议纪要"
                          prop="hyjy"
                          width="170"
                        >
                          <template #default="scope">
                            <el-upload
                              v-if="!scope.row.hyjy"
                              :action="
                                windowConfig.baseUrl + '/api/file/upload'
                              "
                              :headers="{ Authorization: token }"
                              :show-file-list="false"
                              :on-success="
                                (res, file) =>
                                  addJcztshqkFile(res, file, scope.row)
                              "
                            >
                              <el-button link type="primary">上传</el-button>
                            </el-upload>
                            <div class="upload-file-wrap" v-else>
                              <span
                                class="file-name"
                                @click="downloadFile(scope.row.hyjy)"
                                >{{ scope.row.hyjy.originalname }}</span
                              >
                              <span
                                class="delete-btn"
                                @click="
                                  deleteJcztshqkFile(scope.row, scope.$index)
                                "
                              >
                                <el-icon><CloseBold /></el-icon>
                              </span>
                            </div>
                          </template>
                        </el-table-column>
                        <el-table-column prop="qtsm" label="其他说明">
                          <template #default="scope">
                            <el-input
                              v-model="scope.row.qtsm"
                              type="textarea"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column label="操作" width="60" fixed="right">
                          <template #default="scope">
                            <el-button
                              link
                              type="danger"
                              size="small"
                              @click="deleteJcztshqk(scope.$index)"
                              >删除</el-button
                            >
                          </template>
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                    <el-collapse-item
                      title="投资主体审核情况"
                      name="投资主体审核情况"
                    >
                      <div class="tab-handle">
                        <el-button
                          type="primary"
                          size="small"
                          @click="addTzztshqk"
                          >新增</el-button
                        >
                      </div>
                      <el-table
                        :data="tzztshqkData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                      >
                        <el-table-column type="index" width="50" />
                        <el-table-column prop="hylx" label="会议类型">
                          <template #default="scope">
                            <el-select
                              v-model="scope.row.hylx"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in hylxList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </template>
                        </el-table-column>
                        <el-table-column prop="hymc" label="会议名称">
                          <template #default="scope">
                            <el-input v-model="scope.row.hymc" />
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="shsj"
                          label="审核时间"
                          width="260"
                        >
                          <template #default="scope">
                            <el-date-picker
                              v-model="scope.row.shsj"
                              type="date"
                              placeholder="请选择"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column prop="jl" label="结论">
                          <template #default="scope">
                            <el-input v-model="scope.row.jl" type="textarea" />
                          </template>
                        </el-table-column>
                        <el-table-column label="附件" prop="fj">
                          <template #default="scope">
                            <el-upload
                              v-if="!scope.row.fj"
                              :action="
                                windowConfig.baseUrl + '/api/file/upload'
                              "
                              :headers="{ Authorization: token }"
                              :show-file-list="false"
                              :on-success="
                                (res, file) =>
                                  addTzztshqkFile(res, file, scope.row)
                              "
                            >
                              <el-button link type="primary">上传</el-button>
                            </el-upload>
                            <div class="upload-file-wrap" v-else>
                              <span
                                class="file-name"
                                @click="downloadFile(scope.row.fj)"
                                >{{ scope.row.fj.originalname }}</span
                              >
                              <span
                                class="delete-btn"
                                @click="
                                  deleteTzztshqkFile(scope.row, scope.$index)
                                "
                              >
                                <el-icon><CloseBold /></el-icon>
                              </span>
                            </div>
                          </template>
                        </el-table-column>
                        <el-table-column prop="qtsm" label="其他说明">
                          <template #default="scope">
                            <el-input
                              v-model="scope.row.qtsm"
                              type="textarea"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column label="操作" width="60" fixed="right">
                          <template #default="scope">
                            <el-button
                              link
                              type="danger"
                              size="small"
                              @click="deleteTzztshqk(scope.$index)"
                              >删除</el-button
                            >
                          </template>
                        </el-table-column>
                      </el-table>
                      <el-row :gutter="20">
                        <el-col :span="24">
                          <el-form-item label="其他会议审议情况">
                            <el-input
                              v-model="jcFormData.jcqthysyqk"
                              type="textarea"
                              :autosize="{ minRows: 2, maxRows: 5 }"
                            />
                          </el-form-item>
                        </el-col>
                      </el-row>
                    </el-collapse-item>
                    <el-collapse-item title="项目批复信息" name="项目批复信息">
                      <el-row :gutter="20">
                        <el-col :span="8">
                          <el-form-item label="最终审批意见" label-width="160">
                            <el-select
                              v-model="jcFormData.jczzpfyj"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in lxzzspyjList"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="项目批复时间">
                            <el-date-picker
                              v-model="jcFormData.jcxmpfsj"
                              type="date"
                              placeholder="请选择"
                            />
                          </el-form-item>
                        </el-col>
                        <el-col :span="8">
                          <el-form-item label="项目批复文号">
                            <el-input v-model="jcFormData.jcxmpfwh" />
                          </el-form-item>
                        </el-col>
                        <el-col :span="24">
                          <el-form-item
                            label="未通过主要原因与要求"
                            label-width="160"
                          >
                            <el-input
                              v-model="jcFormData.jcwtgzyyyyyq"
                              type="textarea"
                              :autosize="{ minRows: 2, maxRows: 5 }"
                            />
                          </el-form-item>
                        </el-col>
                      </el-row>
                    </el-collapse-item>
                    <el-collapse-item title="审批意见" name="审批意见">
                      <div class="tab-handle">
                        <el-button
                          type="primary"
                          size="small"
                          @click="addJcspyj"
                          >新增</el-button
                        >
                      </div>
                      <el-table
                        :data="jcspyjData"
                        style="width: 100%"
                        empty-text="暂无数据"
                        border
                      >
                        <el-table-column type="index" width="50" />
                        <el-table-column prop="lx" label="类型">
                          <template #default="scope">
                            <el-select
                              v-model="scope.row.lx"
                              placeholder="请选择"
                              no-data-text="暂无数据"
                              clearable
                            >
                              <el-option
                                v-for="item in jcspyjlx"
                                :key="item.key"
                                :label="item.name"
                                :value="item.key"
                              ></el-option>
                            </el-select>
                          </template>
                        </el-table-column>
                        <el-table-column prop="pfyj" label="批复意见">
                          <template #default="scope">
                            <el-input
                              v-model="scope.row.pfyj"
                              type="textarea"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column
                          prop="pfyjsj"
                          label="批复意见时间"
                          width="260"
                        >
                          <template #default="scope">
                            <el-date-picker
                              v-model="scope.row.pfyjsj"
                              type="date"
                              placeholder="请选择"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column label="执行回复" prop="zxhf">
                          <template #default="scope">
                            <el-input
                              v-model="scope.row.zxhf"
                              type="textarea"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column
                          label="执行回复时间"
                          prop="zxhfsj"
                          width="260"
                        >
                          <template #default="scope">
                            <el-date-picker
                              v-model="scope.row.zxhfsj"
                              type="date"
                              placeholder="请选择"
                            />
                          </template>
                        </el-table-column>
                        <el-table-column label="执行回复附件" prop="zxhffj">
                          <template #default="scope">
                            <el-upload
                              v-if="!scope.row.zxhffj"
                              :action="
                                windowConfig.baseUrl + '/api/file/upload'
                              "
                              :headers="{ Authorization: token }"
                              :show-file-list="false"
                              :on-success="
                                (res, file) =>
                                  addJcspyjFile(res, file, scope.row)
                              "
                            >
                              <el-button link type="primary">上传</el-button>
                            </el-upload>
                            <div class="upload-file-wrap" v-else>
                              <span
                                class="file-name"
                                @click="downloadFile(scope.row.zxhffj)"
                                >{{ scope.row.zxhffj.originalname }}</span
                              >
                              <span
                                class="delete-btn"
                                @click="deleteRowFile(scope.row, scope.$index)"
                              >
                                <el-icon><CloseBold /></el-icon>
                              </span>
                            </div>
                          </template>
                        </el-table-column>
                        <el-table-column label="操作" width="60" fixed="right">
                          <template #default="scope">
                            <el-button
                              link
                              type="danger"
                              size="small"
                              @click="deleteJcspyj(scope.$index)"
                              >删除</el-button
                            >
                          </template>
                        </el-table-column>
                      </el-table>
                    </el-collapse-item>
                    <el-collapse-item title="其他" name="其他">
                      <el-row :gutter="20">
                        <el-col :span="6">
                          <el-form-item
                            label="投资主体首次申报时间"
                            :label-width="160"
                          >
                            <el-date-picker
                              v-model="jcFormData.tzztscsbsj"
                              type="date"
                              placeholder="请选择"
                            />
                          </el-form-item>
                        </el-col>
                        <el-col :span="6">
                          <el-form-item label="会签完成时间">
                            <el-date-picker
                              v-model="jcFormData.hqwcsj"
                              type="date"
                              placeholder="请选择"
                            />
                          </el-form-item>
                        </el-col>
                        <el-col :span="6">
                          <el-form-item label="首次发函时间">
                            <el-date-picker
                              v-model="jcFormData.scfhsj"
                              type="date"
                              placeholder="请选择"
                            />
                          </el-form-item>
                        </el-col>
                        <el-col :span="6">
                          <el-form-item label="补充资料时间">
                            <el-date-picker
                              v-model="jcFormData.bczlsj"
                              type="date"
                              placeholder="请选择"
                            />
                          </el-form-item>
                        </el-col>
                        <el-col :span="6">
                          <el-form-item label="审核人" :label-width="160">
                            <el-input v-model="jcFormData.shr" />
                          </el-form-item>
                        </el-col>
                      </el-row>
                    </el-collapse-item>
                  </el-collapse>
                </el-form>
              </div>
              <div class="navigation-wrapper">
                <CollapseNavigation
                  :nav-items="navigationItems3"
                  :active-item="jcpfcollapse"
                  @nav-click="handleNavClick"
                />
              </div>
            </el-tab-pane>
          </el-tabs>
        </div>

        <div class="add-project-header">
          <div class="header-left"></div>
          <div class="header-right">
            <el-button type="default" @click="backClick">返回</el-button>
            <template v-if="!loading && !isPreview">
              <el-button type="primary" @click="saveClick('save')"
                >保存</el-button
              >
              <el-button
                type="primary"
                v-if="formData.projectLzType == '1'"
                @click="saveClick('submit')"
                >发起立项填报</el-button
              >
              <el-button
                type="primary"
                v-if="jcFormData.projectLzType == '7'"
                @click="saveClick('submit')"
                >发起决策信息填报</el-button
              >
              <el-button
                type="primary"
                v-if="
                  jcFormData.projectLzType == '9' ||
                  jcFormData.projectLzType == '11' ||
                  jcFormData.projectLzType == '13'
                "
                @click="saveClick('zaiSubmit')"
                >重新决策</el-button
              >
            </template>
          </div>
        </div>
      </div>
    </div>

    <!-- 审核表单区域 -->
    <div
      class="audit-section"
      v-if="
        isPreview &&
        canAudit &&
        (formData.projectLzType == '3' ||
          formData.projectLzType == 3 ||
          jcFormData.projectLzType == '8' ||
          jcFormData.projectLzType == 8 ||
          jcFormData.projectLzType == '11' ||
          jcFormData.projectLzType == 11 ||
          jcFormData.projectLzType == '12' ||
          jcFormData.projectLzType == 12) &&
        formData.del !== 1
      "
    >
      <el-collapse v-model="activeCollapse">
        <el-collapse-item title="审批操作" name="审批操作">
          <el-form
            :model="auditFormData"
            ref="auditForm"
            :rules="auditRules"
            label-width="150"
          >
            <el-form-item label="是否同意" prop="approvalResult">
              <el-select
                v-model="auditFormData.approvalResult"
                placeholder="请选择审批意见"
                clearable
                style="width: 200px"
              >
                <el-option :value="true" label="同意"></el-option>
                <el-option :value="false" label="不同意"></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="审批意见" prop="approvalMessage">
              <el-input
                type="textarea"
                v-model="auditFormData.approvalMessage"
                :rows="4"
                placeholder="请输入审批意见"
              />
            </el-form-item>
            <el-form-item>
              <el-button type="primary" @click="submitAudit"
                >提交审批</el-button
              >
              <el-button @click="cancelAudit">重置</el-button>
            </el-form-item>
          </el-form>
        </el-collapse-item>
      </el-collapse>
    </div>
  </div>
</template>

<script setup>
import { reactive, ref, onMounted, getCurrentInstance, computed } from "vue";
import { useRouter, useRoute } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus";
import { useUserStore } from "@/stores/user.js";
import routerBack from "@/components/common/routerBack.vue";
import CollapseNavigation from "@/components/CollapseNavigation/index.vue";
import DynamicTable from "@/components/FormDynamicTable/index.vue";

import _ from "lodash";
import Decimal from "decimal.js";
import { useProjectDetail } from "@/composables/useProjectDetail";
const router = useRouter();
const route = useRoute();
const { proxy } = getCurrentInstance();

const { projectDisabled, cachedInfo } = useProjectDetail();
const userStore = useUserStore();
let token = ref("");
token.value = userStore.authToken || sessionStorage.getItem("authToken") || "";
// 是否是审核角色
const userInfo =
  userStore.userInfo ||
  (sessionStorage.getItem("userInfo") &&
    JSON.parse(sessionStorage.getItem("userInfo"))) ||
  {};
let canAudit = ref(false);
userInfo.roles.map((item) => {
  if (["xmlx_sp", "xmjc_sp"].includes(item.key)) {
    canAudit.value = true;
  }
});

// tab相关
const pageActiveName = ref("立项填报");
const lxTabActiveName = ref("基本信息");
const jcTabActiveName = ref("基本信息");
const activeCollapse = reactive([
  "项目基本信息",
  "项目所在地",
  "审批操作",
  "计量币种",
  "实施时间",
  "投资分类",
  "特别关注、特别监管类等信息",
  "建设规模（实物量指标）",
  "股东信息",
  "项目必要性及可行性",
  "立项资料",
  "项目投资总额（全口径）",
  "财务评价指标",
  "核心边界条件",
  "项目立项信息",
  "审批意见",
  "政府审批（核准、备案）情况",
  "我方担保及股权融资情况",
  "我方担保及债权融资情况",
  "工程带动情况",
  "项目实施现状",
  "风险管理",
  "里程碑节点",
  "投评决策资料",
  "决策主体审核情况",
  "投资主体审核情况",
  "项目批复信息",
  "其他",
  "投决计划",
  "项目投资资金流量表",
  "项目资本金现金流量表",
  "能建方现金流量表",
  "利润表",
]);

const cwpjcollapse = reactive([
  "投决计划",
  "项目投资资金流量表",
  "项目资本金现金流量表",
  "能建方现金流量表",
  "利润表",
]);
const jcpfcollapse = reactive([
  "项目投资总额（全口径）",
  "财务评价指标",
  "核心边界条件",
  "决策主体审核情况",
  "投资主体审核情况",
  "项目批复信息",
  "审批意见",
  "其他",
]);
let formData = reactive({});
let jcFormData = reactive({});
let loading = ref(false);
// 单选框点击事件
const radioClick = (value, key) => {
  if (formData[key] !== value) {
    formData[key] = value;
  } else {
    delete formData[key];
  }
};
const jcRadioClick = (value, key) => {
  if (jcFormData[key] !== value) {
    jcFormData[key] = value;
  } else {
    delete jcFormData[key];
  }
};
// 建设规模（实物量指标）
let swlzbData = reactive([]);
const addSwlzb = () => {
  swlzbData.push({});
};
const deleteSwlzb = (index) => {
  swlzbData.splice(index, 1);
};
// 股东信息
let gdxxData = reactive([{}]);
const addGdxx = () => {
  gdxxData.splice(gdxxData.length - 1, 0, {});
};
const deleteGdxx = (index) => {
  gdxxData.splice(index, 1);
};
const gdxxIndexMethod = (index) => {
  return index === gdxxData.length - 1 ? "" : index + 1;
};
let gdxxSums = ref({});
// 动态计算合计行
const changeGdxxSums = () => {
  let obj = {};
  gdxxData.forEach((item, index) => {
    if (index < gdxxData.length - 1) {
      if (item.gdlx) {
        if (!obj[item.gdlx]) {
          console.log(gdlxList, item.gdlx);
          obj[item.gdlx] = {
            name: gdlxList.filter((gdlx) => gdlx.key == item.gdlx)[0].value,
          };
        }
        obj[item.gdlx].cgbl = Number(
          new Decimal(Number(obj[item.gdlx].cgbl || 0)).plus(
            new Decimal(Number(item.cgbl || 0)),
          ),
        );
        obj[item.gdlx].cze = Number(
          new Decimal(Number(obj[item.gdlx].cze || 0)).plus(
            new Decimal(Number(item.cze || 0)),
          ),
        );
        obj[item.gdlx].yjzczb = Number(
          new Decimal(Number(obj[item.gdlx].yjzczb || 0)).plus(
            new Decimal(Number(item.yjzczb || 0)),
          ),
        );
        obj[item.gdlx].ycxmzbj = Number(
          new Decimal(Number(obj[item.gdlx].ycxmzbj || 0)).plus(
            new Decimal(Number(item.ycxmzbj || 0)),
          ),
        );
      }
    }
  });
  gdxxSums.value = obj;
};
// 计算数组总和

// 计算对象总和
const getObjSums = (obj, objkey) => {
  return Number(
    Object.entries(obj).reduce(
      (acc, [key, item]) => acc.plus(new Decimal(item[objkey] || 0)),
      new Decimal(0),
    ),
  );
};
// 支撑材料
let zcclData = ref([]);
const addZcclFile = (res, file) => {
  zcclData.value.push(res.data);
};
const deleteZccl = (index) => {
  ElMessageBox.confirm("确认删除该项？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      zcclData.value.splice(index, 1);
    })
    .catch(() => {});
};
let zcclSelectIds = ref([]);
const zcclSelectionChange = (datas) => {
  zcclSelectIds.value = datas.map((item) => item.id);
};
const multiDeleteZccl = () => {
  ElMessageBox.confirm("确认删除选中数据？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      zcclData.value = zcclData.value.filter(
        (item) => !zcclSelectIds.value.includes(item.id),
      );
    })
    .catch(() => {});
};

// 项目投资总额全口径
let tzzeqkjData = reactive([
  {
    xh: "1",
    zb: "项目资本金",
    dw: "万元",
    key: "1",
    children: [
      {
        xh: "1.1",
        zb: "能建方出资",
        dw: "万元",
        key: "1.1",
        parentKey: "1",
      },
      {
        xh: "1.2",
        zb: "外部股东",
        dw: "万元",
        key: "1.2",
        parentKey: "1",
      },
    ],
  },
  {
    xh: "2",
    zb: "贷款",
    dw: "万元",
    key: "2",
    children: [
      {
        xh: "2.1",
        zb: "其中：并非表项目我方贷款/投保额",
        dw: "万元",
        key: "2.1",
        parentKey: "2",
      },
    ],
  },
  {
    xh: "3",
    zb: "其他出资",
    dw: "万元",
    key: "3",
    children: [
      {
        xh: "3.1",
        zb: "其中：能建方出资",
        dw: "万元",
        key: "3.1",
        parentKey: "3",
      },
    ],
  },
  {
    xh: "",
    zb: "批复总出资",
    dw: "万元",
    key: "4",
  },
]);

// 财务评价指标
let cwpjzbData = reactive([
  {
    name: "项目投资内部收益率（税后）",
    unit: "%",
  },
  {
    name: "项目资本金内部收益率（税后）",
    unit: "%",
  },
  {
    name: "项目投资回收期（税前）",
    unit: "年",
  },
]);

// 核心边界条件
let hxbjtjData = reactive([]);
const addHxbjtj = () => {
  hxbjtjData.push({
    njfhlDw: "%",
    ykphddw: "%",
    xsfwnlDw: "万元",
    dwscfwzcbDw: "万元",
  });
};
const deleteHxbjtj = (index) => {
  hxbjtjData.splice(index, 1);
};

// 项目立项信息--立项批复文件
let lxpfwjData = ref([]);
const addLxpfFile = (res, file) => {
  lxpfwjData.value.push(res.data);
};
const deleteLxpf = (index) => {
  ElMessageBox.confirm("确认删除该项？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      lxpfwjData.value.splice(index, 1);
    })
    .catch(() => {});
};
let lxpfSelectIds = ref([]);
const lxpfSelectionChange = (datas) => {
  lxpfSelectIds.value = datas.map((item) => item.id);
};
const multiDeleteLxpf = () => {
  ElMessageBox.confirm("确认删除选中数据？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      lxpfwjData.value = lxpfwjData.value.filter(
        (item) => !lxpfSelectIds.value.includes(item.id),
      );
    })
    .catch(() => {});
};

// 审批意见
let spyjTableData = reactive([]);
const addSpyj = () => {
  spyjTableData.push({});
};
const deleteSpyj = (index) => {
  spyjTableData.splice(index, 1);
};
let shclData = ref([]);
const addShclFile = (res, file) => {
  shclData.value.push(res.data);
};
const deleteShcl = (index) => {
  ElMessageBox.confirm("确认删除该项？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      shclData.value.splice(index, 1);
    })
    .catch(() => {});
};
let shclSelectIds = ref([]);
const shclSelectionChange = (datas) => {
  shclSelectIds.value = datas.map((item) => item.id);
};
const multiDeleteShcl = () => {
  ElMessageBox.confirm("确认删除选中数据？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      shclData.value = shclData.value.filter(
        (item) => !shclSelectIds.value.includes(item.id),
      );
    })
    .catch(() => {});
};

// 决策
// 建设规模（实物量指标）
let jcSwlzbData = reactive([]);
const addJcSwlzb = () => {
  jcSwlzbData.push({});
};
const deleteJcSwlzb = (index) => {
  jcSwlzbData.splice(index, 1);
};
// 股东信息
let jcGdxxData = reactive([{}]);
const addJcGdxx = () => {
  jcGdxxData.splice(jcGdxxData.length - 1, 0, {});
};
const deleteJcGdxx = (index) => {
  jcGdxxData.splice(index, 1);
};
const jcgdxxIndexMethod = (index) => {
  return index === jcGdxxData.length - 1 ? "" : index + 1;
};
let jcgdxxSums = ref({});
// 动态计算合计行
const changeJcGdxxSums = () => {
  let obj = {};
  jcGdxxData.forEach((item, index) => {
    if (index < jcGdxxData.length - 1) {
      if (item.gdlx) {
        if (!obj[item.gdlx]) {
          const gdlxItem = gdlxList.filter((gdlx) => gdlx.key == item.gdlx)[0];
          obj[item.gdlx] = {
            name: gdlxItem ? gdlxItem.value : "",
          };
        }
        obj[item.gdlx].mycgbl = Number(
          new Decimal(Number(obj[item.gdlx].mycgbl || 0)).plus(
            new Decimal(Number(item.mycgbl || 0)),
          ),
        );
        obj[item.gdlx].cgbl = Number(
          new Decimal(Number(obj[item.gdlx].cgbl || 0)).plus(
            new Decimal(Number(item.cgbl || 0)),
          ),
        );
        obj[item.gdlx].lrfpbl = Number(
          new Decimal(Number(obj[item.gdlx].lrfpbl || 0)).plus(
            new Decimal(Number(item.lrfpbl || 0)),
          ),
        );
        obj[item.gdlx].cze = Number(
          new Decimal(Number(obj[item.gdlx].cze || 0)).plus(
            new Decimal(Number(item.cze || 0)),
          ),
        );
        obj[item.gdlx].yjzczb = Number(
          new Decimal(Number(obj[item.gdlx].yjzczb || 0)).plus(
            new Decimal(Number(item.yjzczb || 0)),
          ),
        );
        obj[item.gdlx].yjzczbj = Number(
          new Decimal(Number(obj[item.gdlx].yjzczbj || 0)).plus(
            new Decimal(Number(item.yjzczbj || 0)),
          ),
        );
        obj[item.gdlx].ycxmzbj = Number(
          new Decimal(Number(obj[item.gdlx].ycxmzbj || 0)).plus(
            new Decimal(Number(item.ycxmzbj || 0)),
          ),
        );
        obj[item.gdlx].yjxmzbj = Number(
          new Decimal(Number(obj[item.gdlx].yjxmzbj || 0)).plus(
            new Decimal(Number(item.yjxmzbj || 0)),
          ),
        );
      }
    }
  });
  jcgdxxSums.value = obj;
};
// 我方担保及债权融资情况
let dbzqData = reactive([]);
const addDbzq = () => {
  dbzqData.push({});
};
const deleteDbzq = (index) => {
  dbzqData.splice(index, 1);
};
// 风险管理
let fxglData = reactive([]);
const addFxgl = () => {
  fxglData.push({});
};
const deleteFxgl = (index) => {
  fxglData.splice(index, 1);
};
// 里程碑节点
let lcbjdData = reactive([]);
const addLcbjd = () => {
  lcbjdData.push({});
};
const deleteLcbjd = (index) => {
  lcbjdData.splice(index, 1);
};
// 里程碑计划审批表
let lcbspData = ref([]);
const addLcbspFile = (res, file) => {
  lcbspData.value.push(res.data);
};
const deleteLcbsp = (index) => {
  ElMessageBox.confirm("确认删除该项？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      lcbspData.value.splice(index, 1);
    })
    .catch(() => {});
};
let lcbspSelectIds = ref([]);
const lcbspSelectionChange = (datas) => {
  lcbspSelectIds.value = datas.map((item) => item.id);
};
const multiDeleteLcbsp = () => {
  ElMessageBox.confirm("确认删除选中数据？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      lcbspData.value = lcbspData.value.filter(
        (item) => !lcbspSelectIds.value.includes(item.id),
      );
    })
    .catch(() => {});
};
// 投评决策资料-可研材料
let kyclData = ref([]);
const addKyclFile = (res, file) => {
  kyclData.value.push(res.data);
};
const deleteKycl = (index) => {
  ElMessageBox.confirm("确认删除该项？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      kyclData.value.splice(index, 1);
    })
    .catch(() => {});
};
let kyclSelectIds = ref([]);
const kyclSelectionChange = (datas) => {
  kyclSelectIds.value = datas.map((item) => item.id);
};
const multiDeleteKycl = () => {
  ElMessageBox.confirm("确认删除选中数据？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      kyclData.value = kyclData.value.filter(
        (item) => !kyclSelectIds.value.includes(item.id),
      );
    })
    .catch(() => {});
};
// 投评决策资料-经济指标初步测算资料
let jjzbcsData = ref([]);
const addJjzbcsFile = (res, file) => {
  jjzbcsData.value.push(res.data);
};
const deleteJjzbcs = (index) => {
  ElMessageBox.confirm("确认删除该项？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      jjzbcsData.value.splice(index, 1);
    })
    .catch(() => {});
};
let jjzbcsSelectIds = ref([]);
const jjzbcsSelectionChange = (datas) => {
  jjzbcsSelectIds.value = datas.map((item) => item.id);
};
const multiDeleteJjzbcs = () => {
  ElMessageBox.confirm("确认删除选中数据？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      jjzbcsData.value = jjzbcsData.value.filter(
        (item) => !jjzbcsSelectIds.value.includes(item.id),
      );
    })
    .catch(() => {});
};
// 投评决策资料-补充相关支撑材料
let tpbczcclData = ref([]);
const addTpbczcclFile = (res, file) => {
  tpbczcclData.value.push(res.data);
};
const deleteTpbczccl = (index) => {
  ElMessageBox.confirm("确认删除该项？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      tpbczcclData.value.splice(index, 1);
    })
    .catch(() => {});
};
let tpbczcclSelectIds = ref([]);
const tpbczcclSelectionChange = (datas) => {
  tpbczcclSelectIds.value = datas.map((item) => item.id);
};
const multiDeleteTpbczccl = () => {
  ElMessageBox.confirm("确认删除选中数据？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      tpbczcclData.value = tpbczcclData.value.filter(
        (item) => !tpbczcclSelectIds.value.includes(item.id),
      );
    })
    .catch(() => {});
};
// 投评决策资料-其他相关支撑材料
let tpzcclData = ref([]);
const addTpzcclFile = (res, file) => {
  tpzcclData.value.push(res.data);
};
const deleteTpzccl = (index) => {
  ElMessageBox.confirm("确认删除该项？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      tpzcclData.value.splice(index, 1);
    })
    .catch(() => {});
};
let tpzcclSelectIds = ref([]);
const tpzcclSelectionChange = (datas) => {
  tpzcclSelectIds.value = datas.map((item) => item.id);
};
const multiDeleteTpzccl = () => {
  ElMessageBox.confirm("确认删除选中数据？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      tpzcclData.value = tpzcclData.value.filter(
        (item) => !tpzcclSelectIds.value.includes(item.id),
      );
    })
    .catch(() => {});
};
// 投评决策资料-上会议案
let shyaData = ref([]);
const addShyaFile = (res, file) => {
  shyaData.value.push(res.data);
};
const deleteShya = (index) => {
  ElMessageBox.confirm("确认删除该项？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      shyaData.value.splice(index, 1);
    })
    .catch(() => {});
};
let shyaSelectIds = ref([]);
const shyaSelectionChange = (datas) => {
  shyaSelectIds.value = datas.map((item) => item.id);
};
const multiDeleteShya = () => {
  ElMessageBox.confirm("确认删除选中数据？", "提示", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      shyaData.value = shyaData.value.filter(
        (item) => !shyaSelectIds.value.includes(item.id),
      );
    })
    .catch(() => {});
};
// 决策-项目投资总额全口径
let jcTzzeqkjData = reactive([
  {
    xh: "一",
    zb: "项目造价构成",
    dw: "",
    key: "1",
    children: [
      {
        xh: "1",
        zb: "建安设备费",
        dw: "万元",
        key: "1.1",
        parentKey: "1",
      },
      {
        xh: "2",
        zb: "其他费用",
        dw: "万元",
        key: "1.2",
        parentKey: "1",
        children: [
          {
            xh: "2.1",
            zb: "其中：土地相关费用",
            dw: "万元",
            key: "1.2.1",
            parentKey: "1.2",
          },
        ],
      },
      {
        xh: "3",
        zb: "基本预备费",
        dw: "万元",
        key: "1.3",
        parentKey: "1",
      },
      {
        xh: "4",
        zb: "建设期利息",
        dw: "万元",
        key: "1.4",
        parentKey: "1",
      },
    ],
  },
  {
    xh: "二",
    zb: "项目资金构成",
    dw: "",
    key: "2",
    children: [
      {
        xh: "1",
        zb: "项目资本金",
        dw: "万元",
        key: "2.1",
        parentKey: "2",
        children: [
          {
            xh: "1.1",
            zb: "能建方出资",
            dw: "万元",
            key: "2.1.1",
            parentKey: "2.1",
          },
          {
            xh: "1.2",
            zb: "外部股东",
            dw: "万元",
            key: "2.1.2",
            parentKey: "2.1",
          },
        ],
      },
      {
        xh: "2",
        zb: "贷款",
        dw: "万元",
        key: "2.2",
        parentKey: "2",
        children: [
          {
            xh: "2.1",
            zb: "其中：非并表项目我方贷款/担保额",
            dw: "万元",
            key: "2.2.1",
            parentKey: "2.2",
          },
        ],
      },
      {
        xh: "3",
        zb: "其他出资",
        dw: "万元",
        key: "2.3",
        parentKey: "2",
        children: [
          {
            xh: "3.1",
            zb: "其中：能建方出资",
            dw: "万元",
            key: "2.3.1",
            parentKey: "2.3",
          },
        ],
      },
    ],
  },
  {
    xh: "",
    zb: "批复总出资",
    dw: "万元",
    key: "3",
  },
]);

// 财务评价指标
let jcCwpjzbData = reactive([
  {
    name: "项目投资内部收益率（税前）",
    unit: "%",
  },
  {
    name: "项目资本金内部收益率（税后）",
    unit: "%",
  },
  {
    name: "项目投资回收期（税前）",
    unit: "年",
  },
  {
    name: "能建方内部收益率",
    unit: "%",
  },
  {
    name: "净现金流首次回正年份",
    type: "year",
  },
  {
    name: "净利润首次回正年份",
    type: "year",
  },
  {
    name: "可分配利润首次回正年份",
    type: "year",
  },
]);

// ========== 核心边界条件表格配置 ==========
// 列配置（保持原有数据结构，使用autocomplete）
const boundaryColumns = ref([
  {
    prop: "type",
    label: "边界条件名称",
    type: "autocomplete",
    placeholder: "请选择边界条件名称",
    optionKey: "bjtjmc",
    minWidth: 130,
  },
  {
    prop: "dwgczjSz",
    label: "数值",
    type: "number",
    placeholder: "请输入数值",
    minWidth: 140,
  },
  {
    prop: "dwgczjDw",
    label: "单位",
    type: "input",
    placeholder: "请输入或选择单位",
    optionKey: "hxbjtjzjdw",
    minWidth: 130,
  },
]);

// 核心边界条件默认行数据（保持原有字段）
const boundaryDefaultRow = ref({
  type: "",
  dwgczjSz: null,
  dwgczjDw: "",
  xsfwnlSz: null,
  xsfwnlDw: "万元",
  njfhlSz: null,
  njfhlDw: "%",
  dwscfwzcbSz: null,
  dwscfwzcbDw: "万元",
  dwsjSz: null,
  dwsjDw: "",
  ykphdlx: "",
  ykphdsz: null,
  ykphddw: "%",
  bcsm: "",
});

// 下拉选择框选项配置（使用computed确保引用正确）
const boundarySelectOptions = computed(() => ({
  hxbjtjlxlx: hxbjtjlxlxList,
  hxbjtjzjdw: hxbjtjzjdwList,
  hxbjtjykphdlx: hxbjtjykphdlxList,
}));

// 核心边界条件
let jcHxbjtjData = ref([]);

// 决策主体审核情况
let jcztshqkData = reactive([]);
const addJcztshqk = () => {
  jcztshqkData.push({});
};
const deleteJcztshqk = (index) => {
  jcztshqkData.splice(index, 1);
};
const addJcztshqkFile = (res, file, row) => {
  row.hyjy = {};
  Object.assign(row.hyjy, res.data);
};
const deleteJcztshqkFile = (row, index) => {
  let { hyjy, ...data } = row;
  jcztshqkData[index] = data;
};
// 投资主体审核情况
let tzztshqkData = reactive([]);
const addTzztshqk = () => {
  tzztshqkData.push({});
};
const deleteTzztshqk = (index) => {
  tzztshqkData.splice(index, 1);
};
const addTzztshqkFile = (res, file, row) => {
  row.fj = {};
  Object.assign(row.fj, res.data);
};
const deleteTzztshqkFile = (row, index) => {
  let { fj, ...data } = row;
  tzztshqkData[index] = data;
};
// 审批意见
let jcspyjData = reactive([]);
const addJcspyj = () => {
  jcspyjData.push({});
};
const deleteJcspyj = (index) => {
  jcspyjData.splice(index, 1);
};
const addJcspyjFile = (res, file, row) => {
  row.zxhffj = {};
  Object.assign(row.zxhffj, res.data);
};
const deleteRowFile = (row, index) => {
  let { zxhffj, ...data } = row;
  jcspyjData[index] = data;
};

// 财务评价
// 模板下载
const downloadTemplate = async (type) => {
  fetch(
    proxy.windowConfig.baseUrl +
      "/api/template/getExcelTemplate2?tampName=" +
      type,
    {
      headers: {
        Authorization: token.value,
      },
    },
  )
    .then((res) => res.blob())
    .then((blob) => {
      const url = URL.createObjectURL(blob);
      const link = document.createElement("a");
      link.href = url;
      let name =
        type === "tjjh"
          ? "投决计划"
          : type === "xmtzzjll"
            ? "项目投资资金流量表"
            : type === "xmzbjxjll"
              ? "项目资本金现金流量表"
              : type === "njfxjll"
                ? "能建方现金流量表"
                : type === "lrb"
                  ? "利润表"
                  : "";
      link.download = name + "模板.xlsx";
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
      URL.revokeObjectURL(url);
    });
};
// 投决管理
let jcTjjhData = ref([]);
let tjglColumns = ref([]);
const importTjjh = (data, file) => {
  if (data?.length > 3) {
    tjglColumns.value = [
      {
        label: data[0][0],
        key: data[0][0],
        children: [
          {
            label: data[1][0],
            key: data[1][0],
          },
          {
            label: data[1][1],
            key: data[1][1],
          },
          {
            label: data[1][2],
            key: data[1][2],
            children: data[2].slice(2).map((item) => {
              return {
                label: item,
                key: item,
              };
            }),
          },
        ],
      },
    ];
    let tableData = data.slice(3); // 从第四行开始是表格数据
    let columnKeys = data.slice(2, 3)[0]; // 第三行是具体表头
    jcTjjhData.value = tableData.map((item) => {
      let obj = {};
      item.map((child, index) => {
        obj[columnKeys[index]] = child;
      });
      return obj;
    });
  }
};
// 项目投资资金流量表
let xmtzzjllData = ref([]);
let xmtzzjllColumns = ref([]);
const importXmtzzjll = (data, file) => {
  if (data?.length > 3) {
    xmtzzjllColumns.value = [
      {
        label: data[0][0],
        key: data[0][0],
        children: [
          {
            label: data[1][0],
            key: data[1][0],
          },
          {
            label: data[1][1],
            key: data[1][1],
          },
          {
            label: data[1][2],
            key: data[1][2],
            children: data[2].slice(2).map((item) => {
              return {
                label: item,
                key: item,
              };
            }),
          },
        ],
      },
    ];
    let tableData = data.slice(3); // 从第四行开始是表格数据
    let columnKeys = data.slice(2, 3)[0]; // 第三行是具体表头
    xmtzzjllData.value = tableData.map((item) => {
      let obj = {};
      item.map((child, index) => {
        obj[columnKeys[index]] = child;
      });
      return obj;
    });
  }
};
// 项目资本金现金流量表
let xmzbjxjllData = ref([]);
let xmzbjxjllColumns = ref([]);
const importXmzbjxjll = (data, file) => {
  if (data?.length > 3) {
    xmzbjxjllColumns.value = [
      {
        label: data[0][0],
        key: data[0][0],
        children: [
          {
            label: data[1][0],
            key: data[1][0],
          },
          {
            label: data[1][1],
            key: data[1][1],
          },
          {
            label: data[1][2],
            key: data[1][2],
            children: data[2].slice(2).map((item) => {
              return {
                label: item,
                key: item,
              };
            }),
          },
        ],
      },
    ];
    let tableData = data.slice(3); // 从第四行开始是表格数据
    let columnKeys = data.slice(2, 3)[0]; // 第三行是具体表头
    xmzbjxjllData.value = tableData.map((item) => {
      let obj = {};
      item.map((child, index) => {
        obj[columnKeys[index]] = child;
      });
      return obj;
    });
  }
};
// 能建方现金流量表
let njfxjllData = ref([]);
let njfxjllColumns = ref([]);
const importNjfxjll = (data, file) => {
  if (data?.length > 3) {
    njfxjllColumns.value = [
      {
        label: data[0][0],
        key: data[0][0],
        children: [
          {
            label: data[1][0],
            key: data[1][0],
          },
          {
            label: data[1][1],
            key: data[1][1],
          },
          {
            label: data[1][2],
            key: data[1][2],
            children: data[2].slice(2).map((item) => {
              return {
                label: item,
                key: item,
              };
            }),
          },
        ],
      },
    ];
    let tableData = data.slice(3); // 从第四行开始是表格数据
    let columnKeys = data.slice(2, 3)[0]; // 第三行是具体表头
    njfxjllData.value = tableData.map((item) => {
      let obj = {};
      item.map((child, index) => {
        obj[columnKeys[index]] = child;
      });
      return obj;
    });
  }
};
// 利润表
let lrbData = ref([]);
let lrbColumns = ref([]);
const importLrb = (data, file) => {
  if (data?.length > 3) {
    lrbColumns.value = [
      {
        label: data[0][0],
        key: data[0][0],
        children: [
          {
            label: data[1][0],
            key: data[1][0],
          },
          {
            label: data[1][1],
            key: data[1][1],
          },
          {
            label: data[1][2],
            key: data[1][2],
            children: data[2].slice(2).map((item) => {
              return {
                label: item,
                key: item,
              };
            }),
          },
        ],
      },
    ];
    let tableData = data.slice(3); // 从第四行开始是表格数据
    let columnKeys = data.slice(2, 3)[0]; // 第三行是具体表头
    lrbData.value = tableData.map((item) => {
      let obj = {};
      item.map((child, index) => {
        obj[columnKeys[index]] = child;
      });
      return obj;
    });
  }
};

// 下载已上传文件
const downloadFile = (data) => {
  let a = document.createElement("a");
  a.href = `${proxy.windowConfig.baseUrl}/api/file/download/${data.id}`;
  a.download = data.originalname;
  document.body.appendChild(a);
  a.click();
  a.remove();
};

// 获取资源库数据
let zyList = reactive([]); // 主页/非主业
let cwbblxList = reactive([]); // 财务报表类型
let zfspjbList = reactive([]); // 政府审批（核准、备案）级别
let xmjdList = ref([]); // 项目阶段
let jnwList = reactive([]); // 境内/外 // 级联
let szjList = ref([]); // 省（境内）/洲际（境外） // 级联
let dsgjList = ref([]); // 地市（境内）/国家（境外） // 级联
let qxgjList = ref([]); // 区县（境内）/国家（境外） // 级联
const changeJnw = (val) => {
  if (val || val === 0) {
    let selectData = jnwList.filter((item) => item.key == val);
    szjList.value = (selectData[0] && selectData[0].children) || [];
  } else {
    szjList.value = [];
  }
  dsgjList.value = [];
  qxgjList.value = [];
  delete formData.sjnzjjw;
  delete formData.dsjngjjw;
  delete formData.qxjngjjw;
};
const changeSzj = (val) => {
  if (val || val === 0) {
    let selectData = szjList.value.filter((item) => item.key == val);
    dsgjList.value = (selectData[0] && selectData[0].children) || [];
  } else {
    dsgjList.value = [];
  }
  qxgjList.value = [];
  delete formData.dsjngjjw;
  delete formData.qxjngjjw;
};
const changeDsgj = (val) => {
  if (val || val === 0) {
    let selectData = dsgjList.value.filter((item) => item.key == val);
    qxgjList.value = (selectData[0] && selectData[0].children) || [];
  } else {
    qxgjList.value = [];
  }
  delete formData.qxjngjjw;
};
let xmqyList = reactive([]); // 项目区域
let bzList = reactive([]); // 币种
let tzsxyjflList = reactive([]); // 投资属性一级分类
let tzsxejflList = ref([]); // 投资属性二级分类
const changeTzsxyjfl = (val) => {
  if (val || val === 0) {
    let selectData = tzsxyjflList.filter((item) => item.key == val);
    tzsxejflList.value = (selectData[0] && selectData[0].children) || [];
  } else {
    tzsxejflList.value = [];
  }
  delete formData.tzsxejfl;
};
let tzsxtzbkList = reactive([]); // 投资属性投资板块
let tzsxxfbkList = ref([]); // 投资属性细分板块
const changeTzsxtzbk = (val) => {
  if (val || val === 0) {
    let selectData = tzsxtzbkList.filter((item) => item.key == val);
    tzsxxfbkList.value = (selectData[0] && selectData[0].children) || [];
  } else {
    tzsxxfbkList.value = [];
  }
  delete formData.subsector;
};
let tzmdyjflList = reactive([]); // 投资目的一级分类
let tzmdejflList = ref([]); // 投资目的二级分类
const changeTzmdyjfl = (val) => {
  if (val || val === 0) {
    let selectData = tzmdyjflList.filter((item) => item.key == val);
    tzmdejflList.value = (selectData[0] && selectData[0].children) || [];
  } else {
    zmdejflList.value = [];
  }
  delete formData.tzmdejfl;
};
let tzmdsxflList = reactive([]); // 投资目的四新分类
let tzznyjflList = reactive([]); // 投资指南一级分类
let tzznejflList = ref([]); // 投资指南二级分类
const changeTzznyjfl = (val) => {
  if (val || val === 0) {
    let selectData = tzznyjflList.filter((item) => item.key == val);
    tzznejflList.value = (selectData[0] && selectData[0].children) || [];
  } else {
    tzznejflList.value = [];
  }
  delete formData.tzznejfl;
};
let gmjjhyList = reactive([]); //国民经济行业
let gmjjhyProps = {
  label: "name",
};

let gdlxList = reactive([]); // 股东类型
let hxbjtjlxlxList = reactive([]); // 核心边界条件立项类型
let hxbjtjzjdwList = reactive([]); // 核心边界条件造价单位
let hxbjtjykphdlxList = reactive([]); // 核心边界条件盈亏平衡点类型
let lxzzspyjList = ref([]); // 立项最终审批意见
let spyjlxList = reactive([]); // 审批意见类型
// 决策
let qyggList = reactive([]); // 申报单位企业规格
let jcSzjList = ref([]); // 省（境内）/洲际（境外） // 级联
let jcDsgjList = ref([]); // 地市（境内）/国家（境外） // 级联
let jcQxgjList = ref([]); // 区县（境内）/国家（境外） // 级联
let xmzjlyList = reactive([]); // 项目资金来源
let swbxmlxList = reactive([]); // 商务部项目类型
let xmlxList = reactive([]); // 项目类型
let tzhsfsList = reactive([]); // 投资回收方式
const changeJcJnw = (val) => {
  if (val || val === 0) {
    let selectData = jnwList.filter((item) => item.key == val);
    jcSzjList.value = (selectData[0] && selectData[0].children) || [];
  } else {
    jcSzjList.value = [];
  }
  jcDsgjList.value = [];
  jcQxgjList.value = [];
  delete jcFormData.sjnzjjw;
  delete jcFormData.dsjngjjw;
  delete jcFormData.qxjngjjw;
};
const changeJcSzj = (val) => {
  if (val || val === 0) {
    let selectData = jcSzjList.value.filter((item) => item.key == val);
    jcDsgjList.value = (selectData[0] && selectData[0].children) || [];
  } else {
    jcDsgjList.value = [];
  }
  jcQxgjList.value = [];
  delete jcFormData.dsjngjjw;
  delete jcFormData.qxjngjjw;
};
const changeJcDsgj = (val) => {
  if (val || val === 0) {
    let selectData = jcDsgjList.value.filter((item) => item.key == val);
    jcQxgjList.value = (selectData[0] && selectData[0].children) || [];
  } else {
    jcQxgjList.value = [];
  }
  delete jcFormData.qxjngjjw;
};
let jcTzsxejflList = ref([]); // 投资属性二级分类
const changeJcTzsxyjfl = (val) => {
  if (val || val === 0) {
    let selectData = tzsxyjflList.filter((item) => item.key == val);
    jcTzsxejflList.value = (selectData[0] && selectData[0].children) || [];
  } else {
    jcTzsxejflList.value = [];
  }
  delete jcFormData.tzsxejfl;
};
let jcTzsxxfbkList = ref([]); // 投资属性细分板块
const changeJcTzsxtzbk = (val) => {
  if (val || val === 0) {
    let selectData = tzsxtzbkList.filter((item) => item.key == val);
    jcTzsxxfbkList.value = (selectData[0] && selectData[0].children) || [];
  } else {
    jcTzsxxfbkList.value = [];
  }
  delete jcFormData.subsector;
};
let jcTzmdejflList = ref([]); // 投资目的二级分类
const changeJcTzmdyjfl = (val) => {
  if (val || val === 0) {
    let selectData = tzmdyjflList.filter((item) => item.key == val);
    jcTzmdejflList.value = (selectData[0] && selectData[0].children) || [];
  } else {
    jcTzmdejflList.value = [];
  }
  delete jcFormData.tzmdejfl;
};
let jcTzznejflList = ref([]); // 投资指南二级分类
const changeJcTzznyjfl = (val) => {
  if (val || val === 0) {
    let selectData = tzznyjflList.filter((item) => item.key == val);
    jcTzznejflList.value = (selectData[0] && selectData[0].children) || [];
  } else {
    jcTzznejflList.value = [];
  }
  delete jcFormData.tzznejfl;
};
let hylxList = reactive([]); // 会议类型
let jcspyjlx = reactive([]); // 决策审批意见类型

const isPreview = ref(!!route.query.isPreview);
let projectId = route.query.projectId;
const getProjectInfo = () => {
  loading.value = true;
  proxy.$post({
    url: "/api/project/getProjectInfo",
    data: {
      id: projectId,
    },
    callback: (res) => {
      loading.value = false;
      let data = res.lixiang || {};
      if (data.del === 1) {
        ElMessage.warning("该条数据已被删除");
      }
      Object.assign(formData, data);
      Object.assign(swlzbData, data.projectJsgms);
      Object.assign(gdxxData, data.projectGdxxs.concat([{}]));
      changeGdxxSums();
      Object.assign(zcclData.value, data.lxzl);
      Object.assign(tzzeqkjData, data.projectXmtzzes);
      Object.assign(cwpjzbData, data.projectCwpjzbs);
      Object.assign(lxpfwjData.value, data.lxpfwj);
      Object.assign(spyjTableData, data.projectSpyjs);
      Object.assign(shclData.value, data.xgshcl);
      // 关联筛选
      szjList.value =
        jnwList.filter((item) => item.key == data.jnw)[0]?.children || [];
      dsgjList.value =
        szjList.value.filter((item) => item.key == data.sjnzjjw)[0]?.children ||
        [];
      qxgjList.value =
        dsgjList.value.filter((item) => item.key == data.dsjngjjw)[0]
          ?.children || [];
      tzsxejflList.value =
        tzsxyjflList.filter((item) => item.key == data.tzsxyjfl)[0]?.children ||
        [];
      tzsxxfbkList.value =
        tzsxtzbkList.filter((item) => item.key == data.tzbk)[0]?.children || [];
      tzmdejflList.value =
        tzmdyjflList.filter((item) => item.key == data.tzmdyjfl)[0]?.children ||
        [];
      tzznejflList.value =
        tzznyjflList.filter((item) => item.key == data.tzznyjfl)[0]?.children ||
        [];

      if (Number(formData.projectLzType) >= 5) {
        pageActiveName.value = "决策信息填报";
      }
      // 决策
      let jcData = res.zaijuece || res.juece || {};
      Object.assign(jcFormData, jcData);
      if (res.zaijuece) {
        Object.assign(jcSwlzbData, jcData.projectJsgms);
        Object.assign(dbzqData, jcData.projectZqrzs);
        Object.assign(fxglData, jcData.projectFxgls);
        Object.assign(jcGdxxData, jcData.projectGdxxs.concat([{}]));
        changeJcGdxxSums();
        Object.assign(lcbjdData, jcData.projectLcbjds);
        Object.assign(lcbspData.value, jcData.lcbjhspb);
        Object.assign(kyclData.value, jcData.kycl);
        Object.assign(jjzbcsData.value, jcData.jjzbcbcscl);
        Object.assign(tpzcclData.value, jcData.qtxgzccl);
        Object.assign(tpbczcclData.value, jcData.bcxgzccl);
        Object.assign(shyaData.value, jcData.shya);
        Object.assign(jcHxbjtjData.value, jcData.projectBjtjs);
        Object.assign(jcTzzeqkjData, jcData.projectXmtzzes);
        Object.assign(jcCwpjzbData, jcData.projectCwpjzbs);
        Object.assign(jcztshqkData, jcData.projectJczts);
        Object.assign(tzztshqkData, jcData.projectTzzts);
        Object.assign(jcspyjData, jcData.projectSpyjs);
        importTjjh(jcData.tjjh);
        importXmtzzjll(jcData.xmtzzjll);
        importXmzbjxjll(jcData.xmzbjxjll);
        importNjfxjll(jcData.njfxjll);
        importLrb(jcData.lrb);
      }
      // 关联筛选
      jcSzjList.value =
        jnwList.filter((item) => item.key == jcData.jnw)[0]?.children || [];
      jcDsgjList.value =
        jcSzjList.value.filter((item) => item.key == jcData.sjnzjjw)[0]
          ?.children || [];
      jcQxgjList.value =
        jcDsgjList.value.filter((item) => item.key == jcData.dsjngjjw)[0]
          ?.children || [];
      jcTzsxejflList.value =
        tzsxyjflList.filter((item) => item.key == jcData.tzsxyjfl)[0]
          ?.children || [];
      jcTzsxxfbkList.value =
        tzsxtzbkList.filter((item) => item.key == jcData.tzbk)[0]?.children ||
        [];
      jcTzmdejflList.value =
        tzmdyjflList.filter((item) => item.key == jcData.tzmdyjfl)[0]
          ?.children || [];
      jcTzznejflList.value =
        tzznyjflList.filter((item) => item.key == jcData.tzznyjfl)[0]
          ?.children || [];
    },
  });
};

let resourceData = null;
onMounted(() => {
  projectId && getProjectInfo();
  if (cachedInfo) {
    formData.projectName = cachedInfo.projectName || "";
    formData.projectId = cachedInfo.projectId || "";
  }
  resourceData = JSON.parse(sessionStorage.getItem("resourceData"));
  zyList = resourceData.zyfzy;
  cwbblxList = resourceData.cwbblx;
  zfspjbList = resourceData.spjb;
  xmjdList = resourceData.xmjd;
  jnwList = resourceData.dqlx;
  xmqyList = resourceData.xmqy;
  bzList = resourceData.bizhong;
  tzsxyjflList = resourceData.tzsx;
  tzsxtzbkList = resourceData.tzbk;
  tzmdyjflList = resourceData.tzmd;
  tzmdsxflList = resourceData.sxfl;
  tzznyjflList = resourceData.tzzn;
  gmjjhyList = resourceData.gmjjhy;
  gdlxList = resourceData.gdlx;
  hxbjtjlxlxList = resourceData.hxbjtjywlx;
  hxbjtjzjdwList = resourceData.gczjdw;
  hxbjtjykphdlxList = resourceData.ykphdlx;
  lxzzspyjList = resourceData.spyj;
  spyjlxList = resourceData.yjlx;
  // 决策
  qyggList = resourceData.sbdwqygg;
  xmzjlyList = resourceData.xmzjly;
  swbxmlxList = resourceData.swbxmlx;
  xmlxList = resourceData.xmlx;
  tzhsfsList = resourceData.tzhsfs;
  hylxList = resourceData.hylx;
  jcspyjlx = resourceData.jcspyjlx;
});

// 返回列表页
const backClick = () => {
  router.back(-1);
};
// 获取动态表格数据
const getTjjhData = () => {
  if (tjglColumns.value.length) {
    let row1 = [];
    let row2 = [];
    let row3 = [];
    tjglColumns.value[0].children.map((column) => {
      row1.push(tjglColumns.value[0].label);
      row2.push(column.label);
      if (column.children) {
        column.children.map((item) => {
          row1.push(tjglColumns.value[0].label);
          row2.push(column.label);
          row3.push(item.label);
        });
      } else {
        row3.push(column.label);
      }
    });
    let rowData = [];
    jcTjjhData.value.map((data) => {
      let arr = [];
      row3.map((item) => {
        arr.push(data[item]);
      });
      rowData.push(arr);
    });
    return [row1, row2, row3, ...rowData];
  } else {
    return [];
  }
};
const getXmtzzjllData = () => {
  if (xmtzzjllColumns.value.length) {
    let row1 = [];
    let row2 = [];
    let row3 = [];
    xmtzzjllColumns.value[0].children.map((column) => {
      row1.push(xmtzzjllColumns.value[0].label);
      row2.push(column.label);
      if (column.children) {
        column.children.map((item) => {
          row1.push(xmtzzjllColumns.value[0].label);
          row2.push(column.label);
          row3.push(item.label);
        });
      } else {
        row3.push(column.label);
      }
    });
    let rowData = [];
    xmtzzjllData.value.map((data) => {
      let arr = [];
      row3.map((item) => {
        arr.push(data[item]);
      });
      rowData.push(arr);
    });
    return [row1, row2, row3, ...rowData];
  } else {
    return [];
  }
};
const getXmzbjxjllData = () => {
  if (xmzbjxjllColumns.value.length) {
    let row1 = [];
    let row2 = [];
    let row3 = [];
    xmzbjxjllColumns.value[0].children.map((column) => {
      row1.push(xmzbjxjllColumns.value[0].label);
      row2.push(column.label);
      if (column.children) {
        column.children.map((item) => {
          row1.push(xmzbjxjllColumns.value[0].label);
          row2.push(column.label);
          row3.push(item.label);
        });
      } else {
        row3.push(column.label);
      }
    });
    let rowData = [];
    xmzbjxjllData.value.map((data) => {
      let arr = [];
      row3.map((item) => {
        arr.push(data[item]);
      });
      rowData.push(arr);
    });
    return [row1, row2, row3, ...rowData];
  } else {
    return [];
  }
};
const getNjfxjllData = () => {
  if (njfxjllColumns.value.length) {
    let row1 = [];
    let row2 = [];
    let row3 = [];
    njfxjllColumns.value[0].children.map((column) => {
      row1.push(njfxjllColumns.value[0].label);
      row2.push(column.label);
      if (column.children) {
        column.children.map((item) => {
          row1.push(njfxjllColumns.value[0].label);
          row2.push(column.label);
          row3.push(item.label);
        });
      } else {
        row3.push(column.label);
      }
    });
    let rowData = [];
    njfxjllData.value.map((data) => {
      let arr = [];
      row3.map((item) => {
        arr.push(data[item]);
      });
      rowData.push(arr);
    });
    return [row1, row2, row3, ...rowData];
  } else {
    return [];
  }
};
const getLrbData = () => {
  if (lrbColumns.value.length) {
    let row1 = [];
    let row2 = [];
    let row3 = [];
    lrbColumns.value[0].children.map((column) => {
      row1.push(lrbColumns.value[0].label);
      row2.push(column.label);
      if (column.children) {
        column.children.map((item) => {
          row1.push(lrbColumns.value[0].label);
          row2.push(column.label);
          row3.push(item.label);
        });
      } else {
        row3.push(column.label);
      }
    });
    let rowData = [];
    lrbData.value.map((data) => {
      let arr = [];
      row3.map((item) => {
        arr.push(data[item]);
      });
      rowData.push(arr);
    });
    return [row1, row2, row3, ...rowData];
  } else {
    return [];
  }
};
// 保存数据

const saveClick = (type) => {
  let url = type === "zaiSubmit" ? "startZaiJuece" : "saveZaiJuece";
  let gdxxNewArr = JSON.parse(JSON.stringify(jcGdxxData));
  gdxxNewArr.splice(-1);
  let params = {
    ...jcFormData,
    projectJsgms: jcSwlzbData,
    projectZqrzs: dbzqData,
    projectFxgls: fxglData,
    projectGdxxs: gdxxNewArr,
    projectLcbjds: lcbjdData,
    lcbjhspb: lcbspData.value,
    kycl: kyclData.value,
    jjzbcbcscl: jjzbcsData.value,
    qtxgzccl: tpzcclData.value,
    bcxgzccl: tpbczcclData.value,
    shya: shyaData.value,
    projectXmtzzes: jcTzzeqkjData,
    projectCwpjzbs: jcCwpjzbData,
    projectBjtjs: jcHxbjtjData.value,
    projectJczts: jcztshqkData,
    projectTzzts: tzztshqkData,
    projectSpyjs: jcspyjData,
  };
  // 获取动态表格数据
  let tjjhArr = getTjjhData();
  if (tjjhArr.length) {
    params.tjjh = tjjhArr;
  }
  let xmtzzjllArr = getXmtzzjllData();
  if (xmtzzjllArr.length) {
    params.xmtzzjll = xmtzzjllArr;
  }
  let xmzbjxjllArr = getXmzbjxjllData();
  if (xmzbjxjllArr.length) {
    params.xmzbjxjll = xmzbjxjllArr;
  }
  let njfxjllArr = getNjfxjllData();
  if (njfxjllArr.length) {
    params.njfxjll = njfxjllArr;
  }
  let lrbArr = getLrbData();
  if (lrbArr.length) {
    params.lrb = lrbArr;
  }
  proxy.$post({
    url: "/api/project/" + url,
    data: params,
    callback: (data) => {
      router.push("/decision");
    },
  });
};
// 审核
let auditFormData = ref({});
let auditForm = ref();
const auditRules = {
  approvalResult: [
    { required: true, message: "请选择审批意见", trigger: "change" },
  ],
};

// 获取项目状态文本
const getProjectStatusText = () => {
  const type =
    formData.projectLzType?.toString() || jcFormData.projectLzType?.toString();
  const statusMap = {
    1: "待立项",
    3: "立项审批中",
    5: "已立项",
    7: "决策填报中",
    8: "决策审批中",
    9: "已决策",
    11: "再决策填报中",
    12: "再决策审批中",
    13: "再决策审批通过",
  };
  return statusMap[type] || "未知状态";
};
const cancelAudit = () => {
  auditFormData.value = {};
  auditForm.value?.resetFields();
};

// ========== 导航配置（由 v-collapse-nav 指令自动生成） ==========
const navigationItems = ref([]);
const navigationItems2 = ref([]);
const navigationItems3 = ref([]);

// 导航点击处理
const handleNavClick = (item) => {
  console.log("Navigation clicked:", item);

  // 等待 DOM 更新后滚动
  nextTick(() => {
    setTimeout(() => {
      const targetId = `collapse-${item.name}`;
      const targetElement = document.getElementById(targetId);

      console.log("Scrolling to element:", {
        targetId,
        found: !!targetElement,
        element: targetElement,
      });

      if (targetElement) {
        // 使用 scrollIntoView 获得更平滑的效果
        targetElement.scrollIntoView({
          behavior: "smooth",
          block: "start",
          inline: "nearest",
        });

        // 可选：添加额外的偏移量调整
        setTimeout(() => {
          const elementPosition = targetElement.getBoundingClientRect().top;
          if (elementPosition < 80) {
            // 如果距离顶部太近，向上滚动一点
            window.scrollBy({
              top: elementPosition - 80,
              behavior: "smooth",
            });
          }
        }, 300);
      } else {
        console.error("Element not found:", targetId);
        console.log(
          "Available collapse elements:",
          document.querySelectorAll('[id^="collapse-"]'),
        );
      }
    }, 300); // 增加延迟确保动画完成
  });
};

const submitAudit = () => {
  auditForm.value.validate((valid) => {
    if (valid) {
      let url =
        formData.projectLzType.toString() === "3"
          ? "approvalLixiang"
          : jcFormData.projectLzType.toString() === "8"
            ? "approvalJuece"
            : jcFormData.projectLzType.toString() === "12" ||
                jcFormData.projectLzType.toString() === "11"
              ? "approvalZaiJuece"
              : "";
      proxy.$post({
        url: "/api/project/" + url,
        data: {
          id: formData.id,
          ...auditFormData.value,
        },
        callback: (data) => {
          ElMessage.success("审批成功");
          // 重置表单
          auditFormData.value = {};
          auditForm.value?.resetFields();
          // 返回列表页
          router.back(-1);
        },
      });
    }
  });
};
</script>

<style scoped lang="less">
.collapse-navigation {
  position: fixed;
  top: 228px;
  right: 36px;
}

.project-tab-content {
  margin-right: 230px;
}

.navigation-wrapper {
  flex-shrink: 0;
  width: auto;
  padding-left: 10px;
  .nav-list {
    width: 215px;
  }
}
.tab-content {
  width: 100%;
}
</style>
