明树Git Lab

Commit 09e7c682 authored by zhanghan's avatar zhanghan

责任书书写完成

parent c76a6f19
Pipeline #108765 passed with stage
in 19 seconds
...@@ -286,6 +286,9 @@ ...@@ -286,6 +286,9 @@
font-size: 12px; font-size: 12px;
color: #969696; color: #969696;
} }
.el-form-item {
margin-bottom: 4px;
}
.el-form-item__label { .el-form-item__label {
min-width: 100px; min-width: 100px;
font-weight: 400; font-weight: 400;
......
...@@ -309,6 +309,9 @@ ...@@ -309,6 +309,9 @@
} }
// ==========================设置定制化样式 start ========================== // ==========================设置定制化样式 start ==========================
.el-form-item {
margin-bottom: 4px;
}
.el-form-item__label { .el-form-item__label {
min-width: 100px; min-width: 100px;
font-weight: 400; font-weight: 400;
......
...@@ -4,348 +4,707 @@ ...@@ -4,348 +4,707 @@
<routerBack /> <routerBack />
<div class="tabs-content"> <div class="tabs-content">
<div class="project-tab-content"> <el-tabs v-model="pageActiveName" type="border-card">
<div class="tab-content"> <el-tab-pane label="投资目标责任书" name="投资目标责任书">
<el-form :model="formData" :label-width="180" :disabled="isPreview"> <div class="project-tab-content">
<el-collapse v-model="ndActiveCollapse"> <div class="tab-content">
<!-- 基本信息 --> <el-form
<el-collapse-item title="基本信息" name="基本信息"> :model="formData"
<el-row :gutter="20"> :label-width="130"
<el-col :span="12"> :disabled="isPreview"
<el-form-item label="项目名称">
<el-input v-model="formData.nd_xmxx_projectName" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="决策主体">
<el-input v-model="formData.nd_xmxx_jczt" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="监管单位">
<el-select
v-model="formData.nd_xmxx_jgdw"
placeholder="请选择"
clearable
>
<el-option
v-for="item in jgdwList"
:key="item.key"
:label="item.name"
:value="item.key"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="签订单位">
<el-select
v-model="formData.nd_xmxx_qddw"
placeholder="请选择"
clearable
>
<el-option
v-for="item in qddwList"
:key="item.key"
:label="item.name"
:value="item.key"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="投资主体">
<el-input v-model="formData.nd_xmxx_tzzt" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目地点">
<el-input v-model="formData.nd_xmxx_xmdd" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="建设期(月份)">
<el-input-number
v-model="formData.nd_xmxx_jsq"
:min="0"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目投产时间">
<el-date-picker
v-model="formData.nd_xmxx_xmccsj"
type="date"
placeholder="请选择"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="运营期">
<el-input-number
v-model="formData.nd_xmxx_yyq"
:min="0"
controls-position="right"
/>
<span style="margin-left: 5px"></span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计划竣工时间">
<el-date-picker
v-model="formData.nd_xmxx_jhgcsj"
type="date"
placeholder="请选择"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="决策时间">
<el-date-picker
v-model="formData.nd_xmxx_jcsj"
type="date"
placeholder="请选择"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="项目内容">
<el-input
v-model="formData.nd_xmxx_xmnr"
type="textarea"
:autosize="{ minRows: 3, maxRows: 6 }"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="项目主要方案内容">
<el-input
v-model="formData.nd_xmxx_xmzyfanr"
type="textarea"
:autosize="{ minRows: 2, maxRows: 5 }"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="全投资财务内部收益率%(税前)">
<el-input-number
v-model="formData.nd_xmxx_qtzwsyln"
:min="0"
:max="100"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="资本金财务内部收益率%(税后)">
<el-input-number
v-model="formData.nd_xmxx_zjbwsylh"
:min="0"
:max="100"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="签订日期">
<el-date-picker
v-model="formData.nd_xmxx_qdrq"
type="date"
placeholder="请选择"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="填报人">
<el-input v-model="formData.nd_xmxx_tbr" />
</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="项目总投资(万元)">
<el-input-number
v-model="formData.xmztz"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="建安费(万元)">
<el-input-number
v-model="formData.jaf"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="设备及工具购置费(万元)">
<el-input-number
v-model="formData.sbjgjgzf"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="土地相关费用(万元)">
<el-input-number
v-model="formData.tdxgfy"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="建设单位管理费(万元)">
<el-input-number
v-model="formData.jsdwglf"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="其他建设项目管理费(万元)">
<el-input-number
v-model="formData.qtjsxmglf"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="其他费用(万元)">
<el-input-number
v-model="formData.qtfy"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="能建方建安费(万元)">
<el-input-number
v-model="formData.njfjaf"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="建设期利息(万元)">
<el-input-number
v-model="formData.jsqlx"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item
title="投融资与运营指标(万元)"
name="投融资与运营指标(万元)"
> >
<DynamicTable <el-collapse v-model="activeCollapse">
:columns="transferColumns1" <el-collapse-item
:disabled="isPreview" title="责任书基本信息"
v-model="formData.trzyyyzb" name="责任书基本信息"
/> >
</el-collapse-item> <el-row :gutter="24">
<el-col :span="12">
<el-form-item label="责任书类型">
<el-tree-select
v-model="formData.zrslx"
:data="zrslxList"
node-key="key"
:props="zrslxProps"
placeholder="请选择"
render-after-expand
@node-click="changeZrslx"
>
<template #label>
<span>{{ selectedFullPath }}</span>
</template>
</el-tree-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目信息" required>
<el-select
v-model="formData.projectId"
placeholder="请选择"
no-data-text="暂无数据"
@change="changeProject"
>
<el-option
v-for="item in projectList"
:key="item.id"
:label="item.projectName"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-collapse-item <el-col :span="12">
title="颠覆性影响的边界条件" <el-form-item label="项目名称">
name="颠覆性影响的边界条件" <el-input v-model="formData.projectName" />
> </el-form-item>
<DynamicTable </el-col>
:columns="transferColumns2" <el-col :span="12">
:disabled="isPreview" <el-form-item label="决策主体">
v-model="formData.qtdxmjcyssydfxyxdbj" <el-input v-model="formData.jczt" />
/> </el-form-item>
</el-collapse-item> </el-col>
<el-col :span="12">
<el-form-item label="监管单位">
<el-input v-model="formData.jgdw" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="签订单位">
<el-input v-model="formData.qddw" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="投资主体">
<el-input v-model="formData.tzzt" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="项目地点">
<el-input v-model="formData.xmdd" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="建设期(月份)">
<el-input-number
v-model="formData.jsqyf"
:min="0"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目投产时间">
<el-date-picker
v-model="formData.xmtcsj"
type="date"
placeholder="请选择"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="运营期(年)">
<el-input-number
v-model="formData.yyq"
:min="0"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="计划竣工时间">
<el-date-picker
v-model="formData.jhjgsj"
type="date"
placeholder="请选择"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="决策时间">
<el-date-picker
v-model="formData.jcsj"
type="date"
placeholder="请选择"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="项目内容">
<el-input
v-model="formData.xmnr"
type="textarea"
:autosize="{ minRows: 3, maxRows: 6 }"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="项目主要方案内容">
<el-input
v-model="formData.xmzyfanr"
type="textarea"
:autosize="{ minRows: 2, maxRows: 5 }"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="全投资财务内部收益率%(税前)">
<el-input-number
v-model="formData.qtzcwnbsyl"
:min="0"
:max="100"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="资本金财务内部收益率%(税后)">
<el-input-number
v-model="formData.zbjcwnbsyl"
:min="0"
:max="100"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="签订日期">
<el-date-picker
v-model="formData.qdrq"
type="date"
placeholder="请选择"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="填报人">
<el-input v-model="formData.tbr" />
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item <!-- 造价信息 -->
title="市场开拓相关指标" <el-collapse-item title="造价信息" name="造价信息">
name="市场开拓相关指标" <el-row :gutter="20">
> <el-col :span="8">
<DynamicTable <el-form-item
:columns="transferColumns2" label-width="180"
:disabled="isPreview" label="项目总投资(万元)"
v-model="formData.xmssgczqttgxmtzsylhddgsscktqk" >
/> <el-input-number
</el-collapse-item> v-model="formData.xmztz"
<!-- 签订信息 --> :min="0"
<el-collapse-item title="签订信息" name="签订信息"> :precision="2"
<el-row :gutter="20"> controls-position="right"
<el-col :span="12"> />
<el-form-item label="签订状态"> </el-form-item>
<el-input v-model="formData.qdzt" /> </el-col>
<el-col :span="8">
<el-form-item label-width="180" label="建安费(万元)">
<el-input-number
v-model="formData.jaf"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label-width="180"
label="设备及工具购置费(万元)"
>
<el-input-number
v-model="formData.sbjgjgzf"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label-width="180"
label="土地相关费用(万元)"
>
<el-input-number
v-model="formData.tdxgfy"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label-width="180"
label="建设单位管理费(万元)"
>
<el-input-number
v-model="formData.jsdwglf"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label-width="180"
label="其他建设项目管理费(万元)"
>
<el-input-number
v-model="formData.qtjsxmglf"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label-width="180"
label="其他费用(万元)"
>
<el-input-number
v-model="formData.qtfy"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label-width="180"
label="能建方建安费(万元)"
>
<el-input-number
v-model="formData.njfjaf"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label-width="180"
label="建设期利息(万元)"
>
<el-input-number
v-model="formData.jsqlx"
:min="0"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item title="年度" name="年度">
<el-row>
<el-col :span="8">
<el-form-item label="年度" required>
<el-date-picker
v-model="formData.niandu"
type="year"
format="YYYY"
value-format="YYYY"
placeholder="请选择编制年度"
/>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<!-- <el-select <el-collapse-item
v-model="formData.qdzt" title="投融资与运营指标(万元)"
name="投融资与运营指标(万元)"
>
<el-table
:data="zrsjtzbData"
style="width: 100%"
empty-text="暂无数据"
border
show-summary
:summary-method="getSummaries"
>
<el-table-column type="index" label="序号" width="60" />
<el-table-column prop="zbmc" label="指标名称" />
<el-table-column
prop="zbmbz"
label="指标目标值"
width="180"
>
<template #default="scope">
<el-input-number
v-model="scope.row.zbmbz"
:min="0"
:max="99999999999.99999999"
controls-position="right"
/>
</template>
</el-table-column>
<el-table-column
prop="khjzf"
label="考核基准分"
width="180"
>
<template #default="scope">
<el-input-number
v-model="scope.row.khjzf"
:min="0"
:max="99999999999.99999999"
controls-position="right"
/>
</template>
</el-table-column>
<el-table-column
prop="sfsy"
label="是否适用"
width="90"
>
<template #default="scope">
<el-switch
v-model="scope.row.sfsy"
inline-prompt
active-value="1"
active-text="是"
inactive-value="2"
inactive-text="否"
/>
</template>
</el-table-column>
<el-table-column prop="khsm" label="考核说明">
<template #default="scope">
<el-input
v-model="scope.row.khsm"
type="textarea"
/>
</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="addPfyjlsqk"
>新增</el-button
>
</div>
<el-table
:data="pfyjlsqkData"
style="width: 100%"
empty-text="暂无数据"
border
>
<el-table-column type="index" width="60" />
<el-table-column prop="lx" label="类型">
<template #default="scope">
<el-select
v-model="scope.row.lx"
placeholder="请选择" placeholder="请选择"
clearable no-data-text="暂无数据"
> >
<el-option <el-option
v-for="item in qdztList" v-for="item in pfyjlxList"
:key="item.key" :key="item.key"
:label="item.name" :label="item.name"
:value="item.key" :value="item.key"
/> ></el-option>
</el-select> --> </el-select>
</el-form-item> </template>
</el-col> </el-table-column>
<el-col :span="12"> <el-table-column prop="pfyj" label="批复意见">
<el-form-item label="是否按时签订"> <template #default="scope">
<CommonSelector <el-input
v-model="formData.sfasqd" v-model="scope.row.pfyj"
:radio="true" type="textarea"
dictName="sf" />
></CommonSelector> </template>
</el-form-item> </el-table-column>
</el-col> <el-table-column prop="jzf" label="基准分">
<el-col :span="12"> <template #default="scope">
<el-form-item label="签订单位"> <el-input-number
<el-input v-model="formData.qddw" /> v-model="scope.row.jzf"
</el-form-item> :min="0"
</el-col> :max="99999999999.99999999"
<el-col :span="24"> controls-position="right"
<el-form-item label="已盖章签字的运营阶段目标责任书附件"> />
<FileUploader </template>
v-model="formData.ygzqzdyyjdmbzrsfj" </el-table-column>
></FileUploader> <el-table-column prop="lsqk" label="落实情况">
</el-form-item> <template #default="scope">
</el-col> <el-select
</el-row> v-model="scope.row.lsqk"
</el-collapse-item> placeholder="请选择"
</el-collapse> no-data-text="暂无数据"
</el-form> >
</div> <el-option
</div> v-for="item in lsqkList"
:key="item.key"
:label="item.name"
:value="item.key"
></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="lssj" label="落实时间">
<template #default="scope">
<el-date-picker
v-model="scope.row.lssj"
type="datetime"
placeholder="请选择"
value-format="YYYY-MM-DD HH:mm:ss"
/>
</template>
</el-table-column>
<el-table-column
prop="lsqkjtsm"
label="落实情况具体说明"
>
<template #default="scope">
<el-input
v-model="scope.row.lsqkjtsm"
type="textarea"
/>
</template>
</el-table-column>
<el-table-column label="操作" width="60">
<template #default="scope">
<el-button
link
type="danger"
size="small"
@click="deletePfyjlsqk(scope.$index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-collapse-item>
<el-collapse-item
title="其他对项目决策与实施有颠覆性影响的边界条件"
name="其他对项目决策与实施有颠覆性影响的边界条件"
>
<DynamicTable
:columns="transferColumns2"
:disabled="isPreview"
v-model="formData.qtdxmjcyssydfxyxdbj"
/>
</el-collapse-item>
<el-collapse-item
title="项目实施过程中其他提高项目投资收益或带动公司市场开拓的情况"
name="项目实施过程中其他提高项目投资收益或带动公司市场开拓的情况"
>
<DynamicTable
:columns="transferColumns2"
:disabled="isPreview"
v-model="formData.xmssgczqttgxmtzsylhddgsscktqk"
/>
</el-collapse-item>
<el-collapse-item title="签订信息" name="签订信息">
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="签订状态">
<CommonSelector
v-model="formData.qdzt"
dictName="mbzrsqdqk"
></CommonSelector>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否按时签订">
<CommonSelector
v-model="formData.sfasqd"
:radio="true"
dictName="sf"
></CommonSelector>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="签订单位">
<el-input v-model="formData.qddw" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item
style="padding: 8px 0"
:label="`已盖章签字的${formData?.niandu}年度目标责任书附件`"
>
<FileUploader
v-model="formData.ygzqzdyyjdmbzrsfj"
></FileUploader>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
</el-collapse>
</el-form>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="全生命周期管理策划" name="全生命周期管理策划">
<div class="project-tab-content">
<div class="tab-content">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="策划文件">
<el-upload
:action="windowConfig.baseUrl + '/api/file/upload'"
:headers="{ Authorization: token }"
:show-file-list="false"
multiple
:disabled="isPreview"
:on-success="addChwjFile"
>
<el-button :disabled="isPreview" type="default"
>上传</el-button
>
</el-upload>
<el-button
type="default"
@click="multiDeleteChwj"
:disabled="!chwjSelectIds.length"
>删除选中文件</el-button
>
</el-form-item>
<el-form-item label=" ">
<el-table
:data="chwjData"
style="width: 100%"
empty-text="暂无数据"
border
@selection-change="chwjSelectionChange"
>
<el-table-column type="selection" width="55" />
<el-table-column prop="originalname" label="文件名" />
<el-table-column prop="updatedAt" label="上传时间">
<template #default="{ row }">
<span>{{
moment(row.updatedAt).format(
"YYYY-MM-DD HH:mm:SS",
)
}}</span>
</template>
</el-table-column>
<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="deleteChwj(index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="年度经营管理责任书" name="年度经营管理责任书">
<div class="project-tab-content">
<div class="tab-content">
<el-form
:model="formData"
:label-width="100"
:disabled="isPreview"
>
<el-col :span="24">
<el-form-item label="责任书文件">
<el-upload
:action="windowConfig.baseUrl + '/api/file/upload'"
:headers="{ Authorization: token }"
:show-file-list="false"
multiple
:on-success="addZrsFile"
>
<el-button type="default">上传</el-button>
</el-upload>
<el-button
type="default"
@click="multiDeleteZrs"
:disabled="!zrsSelectIds.length"
>删除选中文件</el-button
>
</el-form-item>
<el-form-item label="">
<el-table
:data="zrsData"
style="width: 100%"
empty-text="暂无数据"
border
@selection-change="zrsSelectionChange"
>
<el-table-column type="selection" width="55" />
<el-table-column prop="originalname" label="文件名" />
<el-table-column prop="updatedAt" label="上传时间">
<template #default="{ row, index }">
<span>{{
moment(row.updatedAt).format(
"YYYY-MM-DD HH:mm:SS",
)
}}</span>
</template>
</el-table-column>
<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="deleteZrs(index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-col>
</el-form>
</div>
</div>
</el-tab-pane>
</el-tabs>
</div> </div>
<div class="add-project-header"> <div class="add-project-header">
<div class="header-left"></div> <div class="header-left"></div>
...@@ -430,25 +789,22 @@ const transferColumns2 = ref([ ...@@ -430,25 +789,22 @@ const transferColumns2 = ref([
// 表单数据 // 表单数据
const pageActiveName = ref("全生命周期责任书"); const pageActiveName = ref("投资目标责任书");
let token = ref(""); let token = ref("");
token.value = userStore.authToken || sessionStorage.getItem("authToken") || ""; token.value = userStore.authToken || sessionStorage.getItem("authToken") || "";
import routerBack from "@/components/common/routerBack.vue"; import routerBack from "@/components/common/routerBack.vue";
const activeCollapse = reactive([ const activeCollapse = reactive([
"责任书基本信息", "责任书基本信息",
"责任书具体指标",
"批复意见落实情况",
]);
const ndActiveCollapse = reactive([
"基本信息",
"投融资与运营指标(万元)",
"市场开拓相关指标",
"颠覆性影响的边界条件",
"造价信息", "造价信息",
"年度",
"投融资与运营指标(万元)",
"其他对项目决策与实施有颠覆性影响的边界条件",
"项目实施过程中其他提高项目投资收益或带动公司市场开拓的情况",
"批复意见落实情况",
"签订信息", "签订信息",
]); ]);
let formData = reactive({ let formData = reactive({
qtdxmjcyssydfxyxdbj: [], qtdxmjcyssydfxyxdbj: [],
xmssgczqttgxmtzsylhddgsscktqk: [], xmssgczqttgxmtzsylhddgsscktqk: [],
...@@ -622,227 +978,515 @@ const multiDeleteZrs = () => { ...@@ -622,227 +978,515 @@ const multiDeleteZrs = () => {
}) })
.catch(() => {}); .catch(() => {});
}; };
// 责任书具体指标 // 投融资与运营指标(万元)
let zrsjtzbData = ref([ let zrsjtzbData = ref([
{ {
xh: "1", xh: "1",
zbmc: "项目总投资(亿元)", zbmc: "项目总投资",
}, },
{ {
xh: "1.1", xh: "1.1",
zbmc: "建安费用(亿元)", zbmc: "建安费用",
}, },
{ {
xh: "2", xh: "2",
zbmc: "项目带动工程收益(亿元)", zbmc: "项目带动工程收益",
}, },
]); ]);
let qsmzqZrs = [ let qsmzqZrs = [
{ {
xh: "1", xh: "1",
zbmc: "项目总投资(亿元)", zbmc: "项目总投资 ",
},
{
xh: "1.1",
zbmc: "建安费用(亿元)",
}, },
{ {
xh: "2", xh: "2",
zbmc: "项目带动工程收益(亿元)", zbmc: "建安费用不低于 ",
},
{
xh: "2.1",
zbmc: "工程收益率(%)",
}, },
{ {
xh: "3", xh: "3",
zbmc: "政府补助资金到位(亿元)", zbmc: "征地拆迁费不高于 ",
}, },
{ {
xh: "4", xh: "4",
zbmc: "我方资本金投入(亿元)", zbmc: "项目带动工程收益 ",
}, },
{ {
xh: "5", xh: "5",
zbmc: "我方负责引入的股权融资(亿元)", zbmc: "工程收益率 (%)",
}, },
{ {
xh: "6", xh: "6",
zbmc: "项目融资额(亿元)", zbmc: "政府补助资金到位 ",
},
{
xh: "6.1",
zbmc: "融资利率(%)",
}, },
{ {
xh: "7", xh: "7",
zbmc: "项目实现营业收入累计(亿元)", zbmc: "我方资本金投入 ",
}, },
{ {
xh: "8", xh: "8",
zbmc: "项目经营净现金流累计(亿元)", zbmc: "我方负责引入的股权融资 ",
}, },
{ {
xh: "9", xh: "9",
zbmc: "项目全投资财务内部收益率(税前)(%)", zbmc: "股权融资成本 (%)",
}, },
{ {
xh: "10", xh: "10",
zbmc: "项目资本金财务内部收益率(%)", zbmc: "项目融资额 ",
}, },
{ {
xh: "11", xh: "11",
zbmc: "项目竣工投产时间(年月)", zbmc: "融资利率 (%)",
}, },
];
let jsqZrs = [
{ {
xh: "1", xh: "12",
zbmc: "项目总投资 (亿元)", zbmc: "项目实现营业收入累计 ",
}, },
{ {
xh: "1.1", xh: "13",
zbmc: "建安费用(亿元)", zbmc: "利润总额累计 ",
}, },
{ {
xh: "2", xh: "14",
zbmc: "项目带动工程收益 (亿元)", zbmc: "项目经营净现金流累计 ",
}, },
{ {
xh: "2.1", xh: "15",
zbmc: "工程收益率(%)", zbmc: "项目全投资财务内部收益率 (税前%)",
}, },
{ {
xh: "3", xh: "16",
zbmc: "建设期政府补助资金(亿元)", zbmc: "回收额 ",
}, },
{ {
xh: "4", xh: "17",
zbmc: "我方资本金投入(亿元)", zbmc: "投资回报率 (%)",
}, },
{ {
xh: "5", xh: "18",
zbmc: "我方负责引入的股权融资(亿元)", zbmc: "政府应付 ",
}, },
{ {
xh: "5.1", xh: "19",
zbmc: "股权融资成本(%)", zbmc: "政府欠付 (逾期金额) ",
}, },
{ {
xh: "6", xh: "20",
zbmc: "项目建设期融资额(亿元)", zbmc: "使用者应付 ",
},
{
xh: "21",
zbmc: "使用者欠付 ",
}, },
{ {
xh: "6.1", xh: "22",
zbmc: "融资利率(%)", zbmc: "分项销售收入 (销售收入) ",
},
{
xh: "23",
zbmc: "补贴收入 (政府补贴) ",
},
{
xh: "24",
zbmc: "销售成本 (销售费用) ",
},
{
xh: "25",
zbmc: "经营活动产生净现金流 ",
},
{
xh: "26",
zbmc: "筹资活动产生净现金流 ",
},
{
xh: "27",
zbmc: "累计净现金流合计 ",
},
{
xh: "28",
zbmc: "投资活动产生净现金流 ",
},
{
xh: "29",
zbmc: "利息备付率",
},
{
xh: "30",
zbmc: "偿债备付率",
},
{
xh: "31",
zbmc: "能建方分红 (税前) ",
},
{
xh: "32",
zbmc: "未分配利润 ",
},
{
xh: "33",
zbmc: "项目资本金财务内部收益率 (税后%)",
},
{
xh: "34",
zbmc: "项目竣工投产时间 (年_月)",
},
];
let jsqZrs = [
{
xh: "1",
zbmc: "项目总投资",
},
{
xh: "2",
zbmc: "建安费用不低于",
},
{
xh: "3",
zbmc: "征地拆迁费不高于",
},
{
xh: "4",
zbmc: "项目带动工程收益",
},
{
xh: "5",
zbmc: "工程收益率 (%)",
},
{
xh: "6",
zbmc: "建设期政府补助资金到位",
}, },
{ {
xh: "7", xh: "7",
zbmc: "项目全投资财务内部收益率(税前)(%)", zbmc: "我方资本金投入",
}, },
{ {
xh: "8", xh: "8",
zbmc: "项目资本金财务内部收益率(%)", zbmc: "我方负责引入的股权融资",
}, },
{ {
xh: "9", xh: "9",
zbmc: "项目竣工投产时间(年月)", zbmc: "股权融资成本 (%)",
},
{
xh: "10",
zbmc: "项目建设期项目融资额",
},
{
xh: "11",
zbmc: "融资利率 (%)",
},
{
xh: "12",
zbmc: "项目全投资财务内部收益率 (税前%)",
},
{
xh: "13",
zbmc: "回收额",
},
{
xh: "14",
zbmc: "投资回收率",
},
{
xh: "15",
zbmc: "政府应付",
},
{
xh: "16",
zbmc: "政府欠付 (逾期金额)",
},
{
xh: "17",
zbmc: "使用者应付",
},
{
xh: "18",
zbmc: "使用者欠付",
},
{
xh: "19",
zbmc: "分项销售收入 (销售收入)",
},
{
xh: "20",
zbmc: "补贴收入 (政府补贴)",
},
{
xh: "21",
zbmc: "销售成本 (销售费用)",
},
{
xh: "22",
zbmc: "经营活动产生净现金流",
},
{
xh: "23",
zbmc: "筹资活动产生净现金流",
},
{
xh: "24",
zbmc: "累计净现金流合计",
},
{
xh: "25",
zbmc: "投资活动产生净现金流",
},
{
xh: "26",
zbmc: "利息备付率",
},
{
xh: "27",
zbmc: "偿债备付率",
},
{
xh: "28",
zbmc: "能建方分红 (税前)",
},
{
xh: "29",
zbmc: "未分配利润",
},
{
xh: "30",
zbmc: "项目资本金财务内部收益率 (税后%)",
},
{
xh: "31",
zbmc: "项目竣工投产时间_年_月",
}, },
]; ];
let yyqZrs = [ let yyqZrs = [
{ {
xh: "1", xh: "1",
zbmc: "运营期政府补助资金到位(亿元)", zbmc: "运营期政府补助资金到位",
}, },
{ {
xh: "2", xh: "2",
zbmc: "项目运营期融资额(亿元)", zbmc: "项目运营期融资额",
},
{
xh: "2.1",
zbmc: "融资利率(%)",
}, },
{ {
xh: "3", xh: "3",
zbmc: "项目实现营业收入累计(亿元)", zbmc: "融资利率 (%)",
},
{
xh: "3.1",
zbmc: "利润总额累计(亿元)",
}, },
{ {
xh: "4", xh: "4",
zbmc: "项目经营净现金流累计(亿元)", zbmc: "项目实现营业收入累计",
}, },
{ {
xh: "5", xh: "5",
zbmc: "项目全投资财务内部收益率(税前)(%)", zbmc: "利润总额累计",
}, },
{ {
xh: "6", xh: "6",
zbmc: "项目资本金财务内部收益率(%)", zbmc: "项目经营净现金流累计",
}, },
];
let ndZrs = [
{ {
xh: "1", xh: "7",
zbmc: "本年度完成投资(亿元)", zbmc: "项目全投资财务内部收益率 (税前%)",
}, },
{ {
xh: "1.1", xh: "8",
zbmc: "建安费用(亿元)", zbmc: "回收额",
}, },
{ {
xh: "1.2", xh: "9",
zbmc: "项目征地拆迁费(亿元)", zbmc: "投资回收率",
}, },
{ {
xh: "2", xh: "10",
zbmc: "本年度工程收益(亿元)", zbmc: "政府应付",
}, },
{ {
xh: "2.1", xh: "11",
zbmc: "工程收益率(%)", zbmc: "政府欠付 (逾期金额)",
}, },
{ {
xh: "3", xh: "12",
zbmc: "本年度政府补助资金(亿元)", zbmc: "使用者应付",
}, },
{ {
xh: "4", xh: "13",
zbmc: "本年度我方资本金投入(亿元)", zbmc: "使用者欠付",
}, },
{ {
xh: "5", xh: "14",
zbmc: "本年度我方负责引入的股权融资(亿元)", zbmc: "分项销售收入 (销售收入)",
}, },
{ {
xh: "5.1", xh: "15",
zbmc: "股权融资成本(%)", zbmc: "补贴收入 (政府补贴)",
}, },
{ {
xh: "6", xh: "16",
zbmc: "本年度项目融资额(亿元)", zbmc: "销售成本 (销售费用)",
},
{
xh: "17",
zbmc: "经营活动产生净现金流",
},
{
xh: "18",
zbmc: "筹资活动产生净现金流",
},
{
xh: "19",
zbmc: "累计净现金流合计",
},
{
xh: "20",
zbmc: "投资活动产生净现金流",
},
{
xh: "21",
zbmc: "利息备付率",
},
{
xh: "22",
zbmc: "偿债备付率",
},
{
xh: "23",
zbmc: "能建方分红 (税前)",
},
{
xh: "24",
zbmc: "未分配利润",
},
{
xh: "25",
zbmc: "项目资本金财务内部收益率 (税后%)",
},
];
let ndZrs = [
{
xh: "1",
zbmc: "本年度完成投资",
},
{
xh: "2",
zbmc: "建安费用不低于",
},
{
xh: "3",
zbmc: "征地拆迁费不高于",
},
{
xh: "4",
zbmc: "本年度工程收益",
},
{
xh: "5",
zbmc: "本年度政府补助资金",
}, },
{ {
xh: "6.1", xh: "6",
zbmc: "融资利率(%)", zbmc: "本年度我方资本金投入",
}, },
{ {
xh: "7", xh: "7",
zbmc: "本年度投资项目实现营业收入(亿元)", zbmc: "本年度我方负责引入的股权融资",
}, },
{ {
xh: "8", xh: "8",
zbmc: "本年度项目经营净现金流(亿元)", zbmc: "股权融资成本 (%)",
}, },
{ {
xh: "9", xh: "9",
zbmc: "项目全投资财务内部收益率(税前)(%)", zbmc: "本年度项目融资额",
}, },
{ {
xh: "10", xh: "10",
zbmc: "项目资本金财务内部收益率(%)", zbmc: "融资利率 (%)",
},
{
xh: "11",
zbmc: "本年度投资项目实现营业收入",
},
{
xh: "12",
zbmc: "利润总额",
},
{
xh: "13",
zbmc: "本年度项目经营净现金流",
},
{
xh: "14",
zbmc: "项目全投资财务内部收益率 (税前%)",
},
{
xh: "15",
zbmc: "回收额",
},
{
xh: "16",
zbmc: "投资回收率",
},
{
xh: "17",
zbmc: "政府应付",
},
{
xh: "18",
zbmc: "政府欠付 (逾期金额)",
},
{
xh: "19",
zbmc: "使用者应付",
},
{
xh: "20",
zbmc: "使用者欠付",
},
{
xh: "21",
zbmc: "分项销售收入 (销售收入)",
},
{
xh: "22",
zbmc: "补贴收入 (政府补贴)",
},
{
xh: "23",
zbmc: "销售成本 (销售费用)",
},
{
xh: "24",
zbmc: "经营活动产生净现金流",
},
{
xh: "25",
zbmc: "筹资活动产生净现金流",
},
{
xh: "26",
zbmc: "累计净现金流合计",
},
{
xh: "27",
zbmc: "投资活动产生净现金流",
},
{
xh: "28",
zbmc: "利息备付率",
},
{
xh: "29",
zbmc: "偿债备付率",
},
{
xh: "30",
zbmc: "能建方分红 (税前)",
},
{
xh: "31",
zbmc: "未分配利润",
},
{
xh: "32",
zbmc: "项目资本金财务内部收益率 (税后%)",
}, },
]; ];
// 选择责任书类型,同步切换责任书具体指标数据 // 选择责任书类型,同步切换责任书具体指标数据
......
...@@ -4,739 +4,308 @@ ...@@ -4,739 +4,308 @@
<routerBack /> <routerBack />
<div class="tabs-content"> <div class="tabs-content">
<el-tabs v-model="pageActiveName" type="border-card"> <div class="project-tab-content">
<el-tab-pane label="全生命周期责任书" name="全生命周期责任书"> <div class="tab-content">
<div class="project-tab-content"> <el-form :model="formData" :label-width="180" :disabled="isPreview">
<div class="tab-content"> <el-collapse v-model="ndActiveCollapse">
<el-form <!-- 基本信息 -->
:model="formData" <el-collapse-item title="基本信息" name="基本信息">
:label-width="130" <el-row :gutter="20">
:disabled="isPreview" <el-col :span="12">
> <el-form-item label="项目名称">
<el-collapse v-model="activeCollapse"> <el-input v-model="formData.nd_xmxx_projectName" />
<el-collapse-item </el-form-item>
title="责任书基本信息" </el-col>
name="责任书基本信息" <el-col :span="12">
> <el-form-item label="决策主体">
<el-row :gutter="20"> <el-input v-model="formData.nd_xmxx_jczt" />
<el-col :span="12"> </el-form-item>
<el-form-item label="责任书类型"> </el-col>
<el-tree-select <el-col :span="12">
v-model="formData.zrslx" <el-form-item label="监管单位">
:data="zrslxList" <el-select
node-key="key" v-model="formData.nd_xmxx_jgdw"
:props="zrslxProps" placeholder="请选择"
placeholder="请选择" clearable
render-after-expand
@node-click="changeZrslx"
>
<template #label>
<span>{{ selectedFullPath }}</span>
</template>
</el-tree-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目信息" required>
<el-select
v-model="formData.projectId"
placeholder="请选择"
no-data-text="暂无数据"
@change="changeProject"
>
<el-option
v-for="item in projectList"
:key="item.id"
:label="item.projectName"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="责任书文件">
<el-upload
:action="
windowConfig.baseUrl + '/api/file/upload'
"
:headers="{ Authorization: token }"
:show-file-list="false"
multiple
:on-success="addZrsFile"
>
<el-button type="default">上传</el-button>
</el-upload>
<el-button
type="default"
@click="multiDeleteZrs"
:disabled="!zrsSelectIds.length"
>删除选中文件</el-button
>
</el-form-item>
<el-form-item label="">
<el-table
:data="zrsData"
style="width: 100%"
empty-text="暂无数据"
border
@selection-change="zrsSelectionChange"
>
<el-table-column type="selection" width="55" />
<el-table-column
prop="originalname"
label="文件名"
/>
<el-table-column
prop="updatedAt"
label="上传时间"
>
<template #default="{ row, index }">
<span>{{
moment(row.updatedAt).format(
"YYYY-MM-DD HH:mm:SS",
)
}}</span>
</template>
</el-table-column>
<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 }">
<!-- 需要在查看表单disabled时保持允许下载 -->
<span
class="always-click"
@click="downloadFile(row)"
>下载</span
>
<el-button
link
type="danger"
size="small"
@click="deleteZrs(index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目名称">
<el-input v-model="formData.projectName" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="投资主体">
<el-input v-model="formData.tzzt" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目地点">
<el-input v-model="formData.xmdd" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目开工日期">
<el-date-picker
v-model="formData.xmkgrq"
type="date"
placeholder="请选择"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目实施期限">
<el-input-number
v-model="formData.xmssqx"
:min="0"
:max="99999999999.99999999"
controls-position="right"
></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目内容概述">
<el-input
v-model="formData.xmnrgs"
type="textarea"
:autosize="{ minRows: 2, maxRows: 5 }"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目经济指标概述">
<el-input
v-model="formData.xmjjzbgs"
type="textarea"
:autosize="{ minRows: 2, maxRows: 5 }"
/>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item
title="责任书具体指标"
name="责任书具体指标"
>
<el-table
:data="zrsjtzbData"
style="width: 100%"
empty-text="暂无数据"
border
show-summary
:summary-method="getSummaries"
>
<el-table-column type="index" label="序号" width="60" />
<el-table-column prop="zbmc" label="指标名称" />
<el-table-column
prop="zbmbz"
label="指标目标值"
width="180"
> >
<template #default="scope"> <el-option
<el-input-number v-for="item in jgdwList"
v-model="scope.row.zbmbz" :key="item.key"
:min="0" :label="item.name"
:max="99999999999.99999999" :value="item.key"
controls-position="right" />
/> </el-select>
</template> </el-form-item>
</el-table-column> </el-col>
<el-table-column <el-col :span="12">
prop="khjzf" <el-form-item label="签订单位">
label="考核基准分" <el-select
width="180" v-model="formData.nd_xmxx_qddw"
placeholder="请选择"
clearable
> >
<template #default="scope"> <el-option
<el-input-number v-for="item in qddwList"
v-model="scope.row.khjzf" :key="item.key"
:min="0" :label="item.name"
:max="99999999999.99999999" :value="item.key"
controls-position="right" />
/> </el-select>
</template> </el-form-item>
</el-table-column> </el-col>
<el-table-column <el-col :span="12">
prop="sfsy" <el-form-item label="投资主体">
label="是否适用" <el-input v-model="formData.nd_xmxx_tzzt" />
width="90" </el-form-item>
> </el-col>
<template #default="scope"> <el-col :span="12">
<el-switch <el-form-item label="项目地点">
v-model="scope.row.sfsy" <el-input v-model="formData.nd_xmxx_xmdd" />
inline-prompt </el-form-item>
active-value="1" </el-col>
active-text="是" <el-col :span="12">
inactive-value="2" <el-form-item label="建设期(月份)">
inactive-text="否" <el-input-number
/> v-model="formData.nd_xmxx_jsq"
</template> :min="0"
</el-table-column> controls-position="right"
<el-table-column prop="khsm" label="考核说明"> />
<template #default="scope"> </el-form-item>
<el-input </el-col>
v-model="scope.row.khsm" <el-col :span="12">
type="textarea" <el-form-item label="项目投产时间">
/> <el-date-picker
</template> v-model="formData.nd_xmxx_xmccsj"
</el-table-column> type="date"
</el-table> placeholder="请选择"
</el-collapse-item> value-format="YYYY-MM-DD"
<el-collapse-item />
title="批复意见落实情况" </el-form-item>
name="批复意见落实情况" </el-col>
> <el-col :span="12">
<div class="tab-handle"> <el-form-item label="运营期">
<el-button <el-input-number
type="primary" v-model="formData.nd_xmxx_yyq"
size="small" :min="0"
@click="addPfyjlsqk" controls-position="right"
>新增</el-button />
> <span style="margin-left: 5px"></span>
</div> </el-form-item>
<el-table </el-col>
:data="pfyjlsqkData" <el-col :span="12">
style="width: 100%" <el-form-item label="计划竣工时间">
empty-text="暂无数据" <el-date-picker
border v-model="formData.nd_xmxx_jhgcsj"
> type="date"
<el-table-column type="index" width="60" /> placeholder="请选择"
<el-table-column prop="lx" label="类型"> value-format="YYYY-MM-DD"
<template #default="scope"> />
<el-select </el-form-item>
v-model="scope.row.lx" </el-col>
placeholder="请选择" <el-col :span="12">
no-data-text="暂无数据" <el-form-item label="决策时间">
> <el-date-picker
<el-option v-model="formData.nd_xmxx_jcsj"
v-for="item in pfyjlxList" type="date"
:key="item.key" placeholder="请选择"
:label="item.name" value-format="YYYY-MM-DD"
:value="item.key" />
></el-option> </el-form-item>
</el-select> </el-col>
</template> <el-col :span="24">
</el-table-column> <el-form-item label="项目内容">
<el-table-column prop="pfyj" label="批复意见"> <el-input
<template #default="scope"> v-model="formData.nd_xmxx_xmnr"
<el-input type="textarea"
v-model="scope.row.pfyj" :autosize="{ minRows: 3, maxRows: 6 }"
type="textarea" />
/> </el-form-item>
</template> </el-col>
</el-table-column> <el-col :span="24">
<el-table-column prop="jzf" label="基准分"> <el-form-item label="项目主要方案内容">
<template #default="scope"> <el-input
<el-input-number v-model="formData.nd_xmxx_xmzyfanr"
v-model="scope.row.jzf" type="textarea"
:min="0" :autosize="{ minRows: 2, maxRows: 5 }"
:max="99999999999.99999999" />
controls-position="right" </el-form-item>
/> </el-col>
</template> <el-col :span="12">
</el-table-column> <el-form-item label="全投资财务内部收益率%(税前)">
<el-table-column prop="lsqk" label="落实情况"> <el-input-number
<template #default="scope"> v-model="formData.nd_xmxx_qtzwsyln"
<el-select :min="0"
v-model="scope.row.lsqk" :max="100"
placeholder="请选择" :precision="2"
no-data-text="暂无数据" controls-position="right"
> />
<el-option </el-form-item>
v-for="item in lsqkList" </el-col>
:key="item.key" <el-col :span="12">
:label="item.name" <el-form-item label="资本金财务内部收益率%(税后)">
:value="item.key" <el-input-number
></el-option> v-model="formData.nd_xmxx_zjbwsylh"
</el-select> :min="0"
</template> :max="100"
</el-table-column> :precision="2"
<el-table-column prop="lssj" label="落实时间"> controls-position="right"
<template #default="scope"> />
<el-date-picker </el-form-item>
v-model="scope.row.lssj" </el-col>
type="datetime" <el-col :span="12">
placeholder="请选择" <el-form-item label="签订日期">
value-format="YYYY-MM-DD HH:mm:ss" <el-date-picker
/> v-model="formData.nd_xmxx_qdrq"
</template> type="date"
</el-table-column> placeholder="请选择"
<el-table-column value-format="YYYY-MM-DD"
prop="lsqkjtsm" />
label="落实情况具体说明" </el-form-item>
> </el-col>
<template #default="scope"> <el-col :span="12">
<el-input <el-form-item label="填报人">
v-model="scope.row.lsqkjtsm" <el-input v-model="formData.nd_xmxx_tbr" />
type="textarea" </el-form-item>
/> </el-col>
</template> </el-row>
</el-table-column> </el-collapse-item>
<el-table-column label="操作" width="60">
<template #default="scope">
<el-button
link
type="danger"
size="small"
@click="deletePfyjlsqk(scope.$index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-collapse-item>
</el-collapse>
</el-form>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="全生命周期管理策划" name="全生命周期管理策划">
<div class="project-tab-content">
<div class="tab-content">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="策划文件">
<el-upload
:action="windowConfig.baseUrl + '/api/file/upload'"
:headers="{ Authorization: token }"
:show-file-list="false"
multiple
:disabled="isPreview"
:on-success="addChwjFile"
>
<el-button :disabled="isPreview" type="default"
>上传</el-button
>
</el-upload>
<el-button
type="default"
@click="multiDeleteChwj"
:disabled="!chwjSelectIds.length"
>删除选中文件</el-button
>
</el-form-item>
<el-form-item label="">
<el-table
:data="chwjData"
style="width: 100%"
empty-text="暂无数据"
border
@selection-change="chwjSelectionChange"
>
<el-table-column type="selection" width="55" />
<el-table-column prop="originalname" label="文件名" />
<el-table-column prop="updatedAt" label="上传时间">
<template #default="{ row }">
<span>{{
moment(row.updatedAt).format(
"YYYY-MM-DD HH:mm:SS",
)
}}</span>
</template>
</el-table-column>
<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="deleteChwj(index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="年度经营管理责任书" name="年度经营管理责任书">
<div class="project-tab-content">
<div class="tab-content">
<el-form
:model="formData"
:label-width="180"
:disabled="isPreview"
>
<el-collapse v-model="ndActiveCollapse">
<!-- 基本信息 -->
<el-collapse-item title="基本信息" name="基本信息">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="项目名称">
<el-input v-model="formData.nd_xmxx_projectName" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="决策主体">
<el-input v-model="formData.nd_xmxx_jczt" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="监管单位">
<el-select
v-model="formData.nd_xmxx_jgdw"
placeholder="请选择"
clearable
>
<el-option
v-for="item in jgdwList"
:key="item.key"
:label="item.name"
:value="item.key"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="签订单位">
<el-select
v-model="formData.nd_xmxx_qddw"
placeholder="请选择"
clearable
>
<el-option
v-for="item in qddwList"
:key="item.key"
:label="item.name"
:value="item.key"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="投资主体">
<el-input v-model="formData.nd_xmxx_tzzt" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目地点">
<el-input v-model="formData.nd_xmxx_xmdd" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="建设期(月份)">
<el-input-number
v-model="formData.nd_xmxx_jsq"
:min="0"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目投产时间">
<el-date-picker
v-model="formData.nd_xmxx_xmccsj"
type="date"
placeholder="请选择"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="运营期">
<el-input-number
v-model="formData.nd_xmxx_yyq"
:min="0"
controls-position="right"
/>
<span style="margin-left: 5px"></span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计划竣工时间">
<el-date-picker
v-model="formData.nd_xmxx_jhgcsj"
type="date"
placeholder="请选择"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="决策时间">
<el-date-picker
v-model="formData.nd_xmxx_jcsj"
type="date"
placeholder="请选择"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="项目内容">
<el-input
v-model="formData.nd_xmxx_xmnr"
type="textarea"
:autosize="{ minRows: 3, maxRows: 6 }"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="项目主要方案内容">
<el-input
v-model="formData.nd_xmxx_xmzyfanr"
type="textarea"
:autosize="{ minRows: 2, maxRows: 5 }"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="全投资财务内部收益率%(税前)">
<el-input-number
v-model="formData.nd_xmxx_qtzwsyln"
:min="0"
:max="100"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="资本金财务内部收益率%(税后)">
<el-input-number
v-model="formData.nd_xmxx_zjbwsylh"
:min="0"
:max="100"
:precision="2"
controls-position="right"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="签订日期">
<el-date-picker
v-model="formData.nd_xmxx_qdrq"
type="date"
placeholder="请选择"
value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="填报人">
<el-input v-model="formData.nd_xmxx_tbr" />
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<!-- 造价信息 --> <!-- 造价信息 -->
<el-collapse-item title="造价信息" name="造价信息"> <el-collapse-item title="造价信息" name="造价信息">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="项目总投资(万元)"> <el-form-item label="项目总投资(万元)">
<el-input-number <el-input-number
v-model="formData.xmztz" v-model="formData.xmztz"
:min="0" :min="0"
:precision="2" :precision="2"
controls-position="right" controls-position="right"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="建安费(万元)"> <el-form-item label="建安费(万元)">
<el-input-number <el-input-number
v-model="formData.jaf" v-model="formData.jaf"
:min="0" :min="0"
:precision="2" :precision="2"
controls-position="right" controls-position="right"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="设备及工具购置费(万元)"> <el-form-item label="设备及工具购置费(万元)">
<el-input-number <el-input-number
v-model="formData.sbjgjgzf" v-model="formData.sbjgjgzf"
:min="0" :min="0"
:precision="2" :precision="2"
controls-position="right" controls-position="right"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="土地相关费用(万元)"> <el-form-item label="土地相关费用(万元)">
<el-input-number <el-input-number
v-model="formData.tdxgfy" v-model="formData.tdxgfy"
:min="0" :min="0"
:precision="2" :precision="2"
controls-position="right" controls-position="right"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="建设单位管理费(万元)"> <el-form-item label="建设单位管理费(万元)">
<el-input-number <el-input-number
v-model="formData.jsdwglf" v-model="formData.jsdwglf"
:min="0" :min="0"
:precision="2" :precision="2"
controls-position="right" controls-position="right"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="其他建设项目管理费(万元)"> <el-form-item label="其他建设项目管理费(万元)">
<el-input-number <el-input-number
v-model="formData.qtjsxmglf" v-model="formData.qtjsxmglf"
:min="0" :min="0"
:precision="2" :precision="2"
controls-position="right" controls-position="right"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="其他费用(万元)"> <el-form-item label="其他费用(万元)">
<el-input-number <el-input-number
v-model="formData.qtfy" v-model="formData.qtfy"
:min="0" :min="0"
:precision="2" :precision="2"
controls-position="right" controls-position="right"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="能建方建安费(万元)"> <el-form-item label="能建方建安费(万元)">
<el-input-number <el-input-number
v-model="formData.njfjaf" v-model="formData.njfjaf"
:min="0" :min="0"
:precision="2" :precision="2"
controls-position="right" controls-position="right"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="建设期利息(万元)"> <el-form-item label="建设期利息(万元)">
<el-input-number <el-input-number
v-model="formData.jsqlx" v-model="formData.jsqlx"
:min="0" :min="0"
:precision="2" :precision="2"
controls-position="right" controls-position="right"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-collapse-item> </el-collapse-item>
<el-collapse-item <el-collapse-item
title="投融资与运营指标(万元)" title="投融资与运营指标(万元)"
name="投融资与运营指标(万元)" name="投融资与运营指标(万元)"
> >
<DynamicTable <DynamicTable
:columns="transferColumns1" :columns="transferColumns1"
:disabled="isPreview" :disabled="isPreview"
v-model="formData.trzyyyzb" v-model="formData.trzyyyzb"
/> />
</el-collapse-item> </el-collapse-item>
<el-collapse-item <el-collapse-item
title="颠覆性影响的边界条件" title="颠覆性影响的边界条件"
name="颠覆性影响的边界条件" name="颠覆性影响的边界条件"
> >
<DynamicTable <DynamicTable
:columns="transferColumns2" :columns="transferColumns2"
:disabled="isPreview" :disabled="isPreview"
v-model="formData.qtdxmjcyssydfxyxdbj" v-model="formData.qtdxmjcyssydfxyxdbj"
/> />
</el-collapse-item> </el-collapse-item>
<el-collapse-item <el-collapse-item
title="市场开拓相关指标" title="市场开拓相关指标"
name="市场开拓相关指标" name="市场开拓相关指标"
> >
<DynamicTable <DynamicTable
:columns="transferColumns2" :columns="transferColumns2"
:disabled="isPreview" :disabled="isPreview"
v-model="formData.xmssgczqttgxmtzsylhddgsscktqk" v-model="formData.xmssgczqttgxmtzsylhddgsscktqk"
/> />
</el-collapse-item> </el-collapse-item>
<!-- 签订信息 --> <!-- 签订信息 -->
<el-collapse-item title="签订信息" name="签订信息"> <el-collapse-item title="签订信息" name="签订信息">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="签订状态"> <el-form-item label="签订状态">
<el-input v-model="formData.qdzt" /> <el-input v-model="formData.qdzt" />
<!-- <el-select <!-- <el-select
v-model="formData.qdzt" v-model="formData.qdzt"
placeholder="请选择" placeholder="请选择"
clearable clearable
...@@ -748,39 +317,35 @@ ...@@ -748,39 +317,35 @@
:value="item.key" :value="item.key"
/> />
</el-select> --> </el-select> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否按时签订"> <el-form-item label="是否按时签订">
<CommonSelector <CommonSelector
v-model="formData.sfasqd" v-model="formData.sfasqd"
:radio="true" :radio="true"
dictName="sf" dictName="sf"
></CommonSelector> ></CommonSelector>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="签订单位"> <el-form-item label="签订单位">
<el-input v-model="formData.qddw" /> <el-input v-model="formData.qddw" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item <el-form-item label="已盖章签字的运营阶段目标责任书附件">
label="已盖章签字的运营阶段目标责任书附件" <FileUploader
> v-model="formData.ygzqzdyyjdmbzrsfj"
<FileUploader ></FileUploader>
v-model="formData.ygzqzdyyjdmbzrsfj" </el-form-item>
></FileUploader> </el-col>
</el-form-item> </el-row>
</el-col> </el-collapse-item>
</el-row> </el-collapse>
</el-collapse-item> </el-form>
</el-collapse> </div>
</el-form> </div>
</div>
</div>
</el-tab-pane>
</el-tabs>
</div> </div>
<div class="add-project-header"> <div class="add-project-header">
<div class="header-left"></div> <div class="header-left"></div>
......
...@@ -7,20 +7,14 @@ ...@@ -7,20 +7,14 @@
<div class="tab-content"> <div class="tab-content">
<el-form :model="formData" label-width="150" :disabled="isPreview"> <el-form :model="formData" label-width="150" :disabled="isPreview">
<el-collapse v-model="activeCollapse"> <el-collapse v-model="activeCollapse">
<!-- 选择类型 --> <!-- 移除原有的选择类型折叠面板 -->
<el-collapse-item title="选择类型" name="选择类型"> <el-collapse-item title="登记类型" name="登记类型">
<el-row :gutter="20"> <el-form-item label="登记类型">
<el-col :span="12"> <el-tag v-if="formData.djlx == 1">中止</el-tag>
<el-form-item label="请选择登记类型" required> <el-tag v-if="formData.djlx == 2">重启</el-tag>
<el-radio-group v-model="formData.djlx"> <el-tag v-if="formData.djlx == 3">终止</el-tag>
<el-radio value="1">中止</el-radio> <el-tag v-if="formData.djlx == 4">退出</el-tag>
<el-radio value="2">重启</el-radio> </el-form-item>
<el-radio value="3">终止</el-radio>
<el-radio value="4">退出</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item> </el-collapse-item>
<!-- 基本信息 --> <!-- 基本信息 -->
...@@ -742,11 +736,47 @@ ...@@ -742,11 +736,47 @@
</div> </div>
</div> </div>
</div> </div>
<!-- 新增:选择类型弹窗 -->
<el-dialog
v-model="showTypeDialog"
title="选择登记类型"
width="500px"
:close-on-click-modal="false"
:close-on-press-escape="false"
:show-close="false"
>
<el-form :model="formData" label-width="140">
<el-form-item
style="margin-bottom: 24px"
label="请选择登记类型"
required
>
<el-radio-group v-model="formData.djlx">
<el-radio value="1">中止</el-radio>
<el-radio value="2">重启</el-radio>
<el-radio value="3">终止</el-radio>
<el-radio value="4">退出</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<template #footer>
<el-button @click="showTypeDialog = false">取 消</el-button>
<el-button type="primary" @click="confirmType">确 定</el-button>
</template>
</el-dialog>
</div> </div>
</template> </template>
<script setup> <script setup>
import { reactive, ref, onMounted, getCurrentInstance, watch } from "vue"; import {
reactive,
ref,
onMounted,
getCurrentInstance,
watch,
nextTick,
} from "vue";
import { useRouter, useRoute } from "vue-router"; import { useRouter, useRoute } from "vue-router";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import DynamicTable from "@/components/FormDynamicTable/index.vue"; import DynamicTable from "@/components/FormDynamicTable/index.vue";
...@@ -824,7 +854,6 @@ const { proxy } = getCurrentInstance(); ...@@ -824,7 +854,6 @@ const { proxy } = getCurrentInstance();
// ========== 基础配置 ========== // ========== 基础配置 ==========
const activeCollapse = ref([ const activeCollapse = ref([
"选择类型",
"基本信息", "基本信息",
"项目中止内容", "项目中止内容",
"项目重启内容", "项目重启内容",
...@@ -832,12 +861,15 @@ const activeCollapse = ref([ ...@@ -832,12 +861,15 @@ const activeCollapse = ref([
"项目退出内容", "项目退出内容",
"项目投资效益", "项目投资效益",
"资金构成", "资金构成",
"登记类型",
"财务评价指标", "财务评价指标",
]); ]);
const loading = ref(false); const loading = ref(false);
const isPreview = ref(!!route.query.isPreview); const isPreview = ref(!!route.query.isPreview);
const projectList = ref([]); const projectList = ref([]);
const rcCgqyglId = ref(route.query.id || ""); const rcCgqyglId = ref(route.query.id || "");
// 新增:控制类型选择弹窗显示
const showTypeDialog = ref(false);
// ========== 表单数据(完全适配原有后端字段) ========== // ========== 表单数据(完全适配原有后端字段) ==========
const formData = reactive({ const formData = reactive({
...@@ -855,31 +887,6 @@ const formData = reactive({ ...@@ -855,31 +887,6 @@ const formData = reactive({
njfglmc2: "", njfglmc2: "",
}, },
], ],
projectId: "",
projectName: "",
djlx: "",
projectCode: "",
sfybb: "",
sbdw: "",
ssejqy: "",
tzsxyjfl: "",
tzsxejfl: "",
tzbk: "",
jnw: "",
cwbblx: "",
xmgsqc: "",
xmjsqy: 0,
yynxn: 0,
xmkgsjyj: "",
xmjgsjyj: "",
tcsqrq: "",
tcrq: "",
yjwcsj: "",
tblxr: "",
tblxrdh: "",
dqjzc: 0.0,
jsnrjgm: "",
cgRatio: "",
// 资金构成(使用原有zjgc字段,默认初始化表格结构) // 资金构成(使用原有zjgc字段,默认初始化表格结构)
zjgc: [ zjgc: [
...@@ -924,44 +931,23 @@ const formData = reactive({ ...@@ -924,44 +931,23 @@ const formData = reactive({
{ index: "", label: "批复总投资", unit: "万元", value: "", editable: true }, { index: "", label: "批复总投资", unit: "万元", value: "", editable: true },
], ],
// 财务评价指标(使用原有字段)
jcxmtznbsylsq: "",
xmzbjnbsyl: "",
xmtzhsq: "",
sjycxmqtznbsylsq: "",
ycxmzbjnbsylsh: "",
// 项目中止
zzyy: "",
zzxxyy: "",
qtsm: "",
xmzzbg: [], xmzzbg: [],
qtxgzccl: [], qtxgzccl: [],
bpbbwjlj: [], bpbbwjlj: [],
// 项目重启
jhcqsj: "",
cqyy: "", cqyy: "",
xmcqbg: [], xmcqbg: [],
jcwj: [], jcwj: [],
// 项目终止
zhongzyy: "",
zhongzyyxxfx: "",
xmssxz: "",
knfsdfljfhjjss: "",
xmzhongzbg: [],
// 项目退出
zmjz: 0.0,
tcphsr: 0.0,
ysdtcphzj: 0.0,
czdwt: "",
xxbgzcs: "",
tcyy: "",
tcyyxxfx: "",
}); });
// ========== 新增:弹窗确认选择类型 ==========
const confirmType = () => {
if (!formData.djlx) {
return ElMessage.warning("请选择登记类型");
}
showTypeDialog.value = false;
};
// ========== 新增:资金构成变更处理方法 ========== // ========== 新增:资金构成变更处理方法 ==========
const handleZjgcChange = (row) => { const handleZjgcChange = (row) => {
// 1. 批复总投资变更 → 同步到投资总额(万元)-审批时 // 1. 批复总投资变更 → 同步到投资总额(万元)-审批时
...@@ -1021,37 +1007,37 @@ const changeProject = (val) => { ...@@ -1021,37 +1007,37 @@ const changeProject = (val) => {
loading.value = false; loading.value = false;
if (!data) return; if (!data) return;
// 回填基础信息 // // 回填基础信息
formData.projectName = data.projectName || ""; // formData.projectName = data.projectName || "";
formData.sbdw = data.sbdw || ""; // formData.sbdw = data.sbdw || "";
formData.xmgsqc = data.xmgsqc || ""; // formData.xmgsqc = data.xmgsqc || "";
formData.xmkgsjyj = data.xmkgsjyj || ""; // formData.xmkgsjyj = data.xmkgsjyj || "";
formData.xmjgsjyj = data.xmjgsjyj || ""; // formData.xmjgsjyj = data.xmjgsjyj || "";
formData.yynxn = data.yynxn || 0; // formData.yynxn = data.yynxn || 0;
formData.xmjsqy = data.xmjsqy || 0; // formData.xmjsqy = data.xmjsqy || 0;
// 回填项目投资效益表格数据 // // 回填项目投资效益表格数据
formData.projectGdxxs[0].njfcgblqk_nt = // formData.projectGdxxs[0].njfcgblqk_nt =
data.projectXmtzzes?.at(1)?.children?.at(0)?.rmbjj || ""; // data.projectXmtzzes?.at(1)?.children?.at(0)?.rmbjj || "";
formData.projectGdxxs[0].njfcgbl = // formData.projectGdxxs[0].njfcgbl =
data.projectXmtzzes?.at(2)?.rmbjj || ""; // data.projectXmtzzes?.at(2)?.rmbjj || "";
formData.projectGdxxs[0].jjcgbl = data.projectCwpjzbs?.at(0)?.num || ""; // formData.projectGdxxs[0].jjcgbl = data.projectCwpjzbs?.at(0)?.num || "";
formData.projectGdxxs[0].jjcgbl2 = data.projectCwpjzbs?.at(1)?.num || ""; // formData.projectGdxxs[0].jjcgbl2 = data.projectCwpjzbs?.at(1)?.num || "";
// 回填资金构成(兼容后端返回的zjgc数据) // // 回填资金构成(兼容后端返回的zjgc数据)
if (data.zjgc && Array.isArray(data.zjgc)) { // if (data.zjgc && Array.isArray(data.zjgc)) {
formData.zjgc = data.zjgc.map((item) => ({ // formData.zjgc = data.zjgc.map((item) => ({
...item, // ...item,
editable: item.editable !== false, // editable: item.editable !== false,
})); // }));
} // }
// 回填财务评价指标 // // 回填财务评价指标
formData.jcxmtznbsylsq = data.jcxmtznbsylsq || ""; // formData.jcxmtznbsylsq = data.jcxmtznbsylsq || "";
formData.xmzbjnbsyl = data.xmzbjnbsyl || ""; // formData.xmzbjnbsyl = data.xmzbjnbsyl || "";
formData.xmtzhsq = data.xmtzhsq || ""; // formData.xmtzhsq = data.xmtzhsq || "";
formData.sjycxmqtznbsylsq = data.sjycxmqtznbsylsq || ""; // formData.sjycxmqtznbsylsq = data.sjycxmqtznbsylsq || "";
formData.ycxmzbjnbsylsh = data.ycxmzbjnbsylsh || ""; // formData.ycxmzbjnbsylsh = data.ycxmzbjnbsylsh || "";
}, },
error: () => { error: () => {
loading.value = false; loading.value = false;
...@@ -1144,6 +1130,13 @@ const getJsqtzjcDetail = () => { ...@@ -1144,6 +1130,13 @@ const getJsqtzjcDetail = () => {
}, },
]; ];
} }
// 编辑状态下如果已有类型值,不弹出弹窗;否则弹出
if (!isPreview.value) {
nextTick(() => {
showTypeDialog.value = true;
});
}
}, },
error: () => { error: () => {
loading.value = false; loading.value = false;
...@@ -1154,6 +1147,13 @@ const getJsqtzjcDetail = () => { ...@@ -1154,6 +1147,13 @@ const getJsqtzjcDetail = () => {
// ========== 保存表单 ========== // ========== 保存表单 ==========
const saveClick = () => { const saveClick = () => {
// 新增:保存前校验类型是否选择
if (!formData.djlx) {
ElMessage.warning("请先选择登记类型");
showTypeDialog.value = true;
return;
}
if (!formData.projectId) return ElMessage.warning("请选择项目信息"); if (!formData.projectId) return ElMessage.warning("请选择项目信息");
loading.value = true; loading.value = true;
const url = rcCgqyglId.value const url = rcCgqyglId.value
...@@ -1186,9 +1186,23 @@ const backClick = () => router.back(-1); ...@@ -1186,9 +1186,23 @@ const backClick = () => router.back(-1);
onMounted(() => { onMounted(() => {
getProjectData(); getProjectData();
if (rcCgqyglId.value) {
// 编辑/预览:拉取接口数据 // 非预览状态下自动弹出类型选择弹窗
getJsqtzjcDetail(); if (!isPreview.value) {
if (rcCgqyglId.value) {
// 编辑状态:先获取详情,再判断是否弹出
getJsqtzjcDetail();
} else {
// 新增状态:直接弹出
nextTick(() => {
showTypeDialog.value = true;
});
}
} else {
// 预览状态:获取详情但不弹出弹窗
if (rcCgqyglId.value) {
getJsqtzjcDetail();
}
} }
}); });
</script> </script>
......
...@@ -86,14 +86,14 @@ let tableColumns = ref([ ...@@ -86,14 +86,14 @@ let tableColumns = ref([
showOverflowTooltip: true, showOverflowTooltip: true,
}, },
{ {
prop: "xmkgrq", prop: "xmtcsj",
label: "项目开工日期", label: "项目投产时间",
showOverflowTooltip: true, showOverflowTooltip: true,
width: 170, width: 170,
}, },
{ {
prop: "xmssqx", prop: "jhjgsj",
label: "项目实施期限(年)", label: "计划竣工时间",
showOverflowTooltip: true, showOverflowTooltip: true,
width: 120, width: 120,
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment