明树Git Lab
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
J
jt_front
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
jt_front
Commits
c8347dca
Commit
c8347dca
authored
Dec 01, 2025
by
yangyajing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
项目管理页面开发
parent
9d98e887
Pipeline
#103943
passed with stage
in 12 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
354 additions
and
6 deletions
+354
-6
addProject.vue
src/views/managePage/addProject.vue
+354
-6
No files found.
src/views/managePage/addProject.vue
View file @
c8347dca
...
@@ -360,7 +360,7 @@
...
@@ -360,7 +360,7 @@
<el-input
v-model=
"scope.row.mark"
type=
"textarea"
/>
<el-input
v-model=
"scope.row.mark"
type=
"textarea"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
width=
"
9
0"
>
<el-table-column
label=
"操作"
width=
"
6
0"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"deleteSwlzb(scope.$index)"
>
删除
</el-button>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"deleteSwlzb(scope.$index)"
>
删除
</el-button>
</
template
>
</
template
>
...
@@ -417,7 +417,7 @@
...
@@ -417,7 +417,7 @@
<el-input
v-model=
"scope.row.mark"
/>
<el-input
v-model=
"scope.row.mark"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
width=
"
9
0"
>
<el-table-column
label=
"操作"
width=
"
6
0"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"deleteGdxx(scope.$index)"
>
删除
</el-button>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"deleteGdxx(scope.$index)"
>
删除
</el-button>
</
template
>
</
template
>
...
@@ -465,17 +465,276 @@
...
@@ -465,17 +465,276 @@
<el-table-column
prop=
"fileName"
label=
"文件名"
/>
<el-table-column
prop=
"fileName"
label=
"文件名"
/>
<el-table-column
prop=
"fileTime"
label=
"上传时间"
/>
<el-table-column
prop=
"fileTime"
label=
"上传时间"
/>
<el-table-column
prop=
"fileSize"
label=
"大小"
/>
<el-table-column
prop=
"fileSize"
label=
"大小"
/>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"
9
0"
>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"
6
0"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"danger"
size=
"small"
>
删除
</el-button>
<el-button
link
type=
"danger"
size=
"small"
>
删除
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
</el-collapse-item>
</el-collapse-item>
<el-collapse-item
title=
"项目投资总额(全口径)"
name=
"项目投资总额(全口径)"
>
<el-table
:data=
"tzzeqkjData"
style=
"width: 100%"
empty-text=
"暂无数据"
>
<el-table-column
prop=
"no"
label=
"序号"
>
<
template
#
default=
"scope"
>
<div
v-html=
"scope.row.no"
></div>
</
template
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"指标"
/>
<el-table-column
prop=
"unit"
label=
""
width=
"70"
/>
<el-table-column
prop=
"money"
label=
"人民币计价"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.money"
type=
"number"
/>
</
template
>
</el-table-column>
</el-table>
</el-collapse-item>
<el-collapse-item
title=
"财务评价指标"
name=
"财务评价指标"
>
<el-table
:data=
"cwpjzbData"
style=
"width: 100%"
empty-text=
"暂无数据"
>
<el-table-column
prop=
"name"
label=
"指标"
/>
<el-table-column
prop=
"unit"
label=
""
width=
"70"
/>
<el-table-column
prop=
"count"
label=
"投资评估阶段批复值"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.count"
type=
"number"
/>
</
template
>
</el-table-column>
</el-table>
</el-collapse-item>
</el-collapse>
</div>
</el-tab-pane>
<el-tab-pane
label=
"全生命周期策划文件"
name=
"全生命周期策划文件"
>
<div
class=
"tab-content"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse-item
title=
"核心边界条件"
name=
"核心边界条件"
>
<div
class=
"tab-handle"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"addHxbjtj"
>
新增
</el-button>
</div>
<el-table
:data=
"hxbjtjData"
style=
"width: 100%"
empty-text=
"暂无数据"
>
<el-table-column
type=
"index"
width=
"50"
/>
<el-table-column
prop=
"type"
label=
"业务类型"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.type"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
</el-select>
</
template
>
</el-table-column>
<el-table-column
label=
"单位工程造价"
>
<el-table-column
prop=
"gczjCount"
label=
"数值"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.gczjCount"
type=
"number"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"gczjUnit"
label=
"单位"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.gczjUnit"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
</el-select>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"销售/服务能力"
>
<el-table-column
prop=
"xsnlCount"
label=
"数值"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.xsnlCount"
type=
"number"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"xsnlUnit"
label=
"单位"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.xsnlUnit"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
</el-select>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"年均负荷率"
>
<el-table-column
prop=
"njfhCount"
label=
"数值"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.njfhCount"
type=
"number"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"njfhUnit"
label=
"单位"
width=
"60"
>
<
template
#
default=
"scope"
>
%
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"单位生产/服务总成本"
>
<el-table-column
prop=
"zcbCount"
label=
"数值"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.zcbCount"
type=
"number"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"zcbUnit"
label=
"单位"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.zcbUnit"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
</el-select>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"单位售价(含税)"
>
<el-table-column
prop=
"dwsjCount"
label=
"数值"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.dwsjCount"
type=
"number"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"dwsjUnit"
label=
"单位"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.dwsjUnit"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
</el-select>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"盈亏平衡点"
>
<el-table-column
prop=
"ykphdType"
label=
"类型"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.ykphdType"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
</el-select>
</
template
>
</el-table-column>
<el-table-column
prop=
"ykphdCount"
label=
"数值"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.ykphdCount"
type=
"number"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"xsnlUnit"
label=
"单位"
width=
"60"
>
<
template
#
default=
"scope"
>
%
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"remark"
label=
"核心边界条件补充说明"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.remark"
type=
"textarea"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"60"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"deleteHxbjtj(scope.$index)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-collapse-item>
<el-collapse-item
title=
"项目立项信息"
name=
"项目立项信息"
>
<el-form
:model=
"formData"
:label-width=
"190"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"其他会议审议情况"
>
<el-input
v-model=
"formData.qthysyqk"
type=
"textarea"
/>
</el-form-item>
</el-col>
<el-col
:span=
"7"
>
<el-form-item
label=
"立项最终审批意见"
>
<el-select
v-model=
"formData.lxzzpfyj"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"7"
>
<el-form-item
label=
"项目立项批复时间"
>
<el-date-picker
v-model=
"formData.lxxmpfsj"
type=
"date"
placeholder=
"请选择"
/>
</el-form-item>
</el-col>
<el-col
:span=
"7"
>
<el-form-item
label=
"立项项目批复文号"
>
<el-input
v-model=
"formData.lxxmpfwh"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"未通过主要原因与要求"
>
<el-input
v-model=
"formData.wtgzyyyyyq"
type=
"textarea"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"立项批复文件"
>
<el-upload
v-model:file-list=
"lxpfwjFileList"
class=
"upload-demo"
action=
""
:show-file-list=
"false"
>
<el-button
type=
"default"
>
上传
</el-button>
</el-upload>
<el-button
type=
"default"
>
删除选中文件
</el-button>
</el-form-item>
<el-table
:data=
"lxpfwjData"
style=
"width: 100%"
empty-text=
"暂无数据"
>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
prop=
"fileName"
label=
"文件名"
/>
<el-table-column
prop=
"fileTime"
label=
"上传时间"
/>
<el-table-column
prop=
"fileSize"
label=
"大小"
/>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"60"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"danger"
size=
"small"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-col>
</el-row>
</el-form>
</el-collapse-item>
<el-collapse-item
title=
"审批意见"
name=
"审批意见"
>
<div
class=
"tab-handle"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"addSpyj"
>
新增
</el-button>
</div>
<el-table
:data=
"spyjTableData"
style=
"width: 100%"
empty-text=
"暂无数据"
>
<el-table-column
type=
"index"
width=
"50"
/>
<el-table-column
prop=
"type"
label=
"类型"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.type"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
</el-select>
</
template
>
</el-table-column>
<el-table-column
label=
"批复意见"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.pfyj"
type=
"textarea"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"批复意见时间"
>
<
template
#
default=
"scope"
>
<el-date-picker
v-model=
"scope.row.pfyjsj"
type=
"date"
placeholder=
"请选择"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"60"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"deleteSpyj(scope.$index)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-form
:model=
"formData"
:label-width=
"190"
>
<el-form-item
label=
"相关上会材料"
>
<el-upload
v-model:file-list=
"spyjFileList"
class=
"upload-demo"
action=
""
:show-file-list=
"false"
>
<el-button
type=
"default"
>
上传
</el-button>
</el-upload>
<el-button
type=
"default"
>
删除选中文件
</el-button>
</el-form-item>
<el-table
:data=
"spyjData"
style=
"width: 100%"
empty-text=
"暂无数据"
>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
prop=
"fileName"
label=
"文件名"
/>
<el-table-column
prop=
"fileTime"
label=
"上传时间"
/>
<el-table-column
prop=
"fileSize"
label=
"大小"
/>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"60"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"danger"
size=
"small"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-form>
</el-collapse-item>
</el-collapse>
</el-collapse>
</div>
</div>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"全生命周期策划文件"
name=
"全生命周期策划文件"
>
全生命周期策划文件
</el-tab-pane>
<el-tab-pane
label=
"项目绩效评价"
name=
"项目绩效评价"
>
项目绩效评价
</el-tab-pane>
<el-tab-pane
label=
"项目绩效评价"
name=
"项目绩效评价"
>
项目绩效评价
</el-tab-pane>
<el-tab-pane
label=
"目标责任书考核"
name=
"目标责任书考核"
>
目标责任书考核
</el-tab-pane>
<el-tab-pane
label=
"目标责任书考核"
name=
"目标责任书考核"
>
目标责任书考核
</el-tab-pane>
<el-tab-pane
label=
"后评价"
name=
"后评价"
>
后评价
</el-tab-pane>
<el-tab-pane
label=
"后评价"
name=
"后评价"
>
后评价
</el-tab-pane>
...
@@ -492,7 +751,7 @@
...
@@ -492,7 +751,7 @@
</template>
</template>
<
script
setup
>
<
script
setup
>
import
{
reactive
,
ref
,
onMounted
,
getCurrentInstance
}
from
"vue"
;
import
{
reactive
,
ref
,
onMounted
,
getCurrentInstance
,
h
}
from
"vue"
;
import
{
useRouter
}
from
"vue-router"
;
import
{
useRouter
}
from
"vue-router"
;
const
router
=
useRouter
();
const
router
=
useRouter
();
const
{
proxy
}
=
getCurrentInstance
();
const
{
proxy
}
=
getCurrentInstance
();
...
@@ -501,7 +760,8 @@
...
@@ -501,7 +760,8 @@
const
tabActiveName
=
ref
(
"项目基本信息"
);
const
tabActiveName
=
ref
(
"项目基本信息"
);
const
activeCollapse
=
reactive
([
const
activeCollapse
=
reactive
([
"项目基本信息"
,
"项目所在地"
,
"计量币种"
,
"实施时间"
,
"投资分类"
,
"特别关注、特别监管类等信息"
,
"项目基本信息"
,
"项目所在地"
,
"计量币种"
,
"实施时间"
,
"投资分类"
,
"特别关注、特别监管类等信息"
,
"建设规模(实物量指标)"
,
"股东信息"
,
"项目必要性及可行性"
,
"立项资料"
"建设规模(实物量指标)"
,
"股东信息"
,
"项目必要性及可行性"
,
"立项资料"
,
"项目投资总额(全口径)"
,
"财务评价指标"
,
"核心边界条件"
,
"项目立项信息"
,
"审批意见"
]);
]);
// 获取资源库数据
// 获取资源库数据
const
getResourceData
=
()
=>
{
const
getResourceData
=
()
=>
{
...
@@ -538,7 +798,91 @@
...
@@ -538,7 +798,91 @@
// 支撑材料
// 支撑材料
const
zcclFileList
=
reactive
([]);
const
zcclFileList
=
reactive
([]);
const
zcclData
=
reactive
([]);
const
zcclData
=
reactive
([]);
// 项目投资总额全口径
const
tzzeqkjData
=
reactive
([
{
no
:
"1"
,
name
:
"项目资本金"
,
unit
:
"万元"
},
{
no
:
" 1.1"
,
name
:
"能建方出资"
,
unit
:
"万元"
},
{
no
:
" 1.2"
,
name
:
"外部股东"
,
unit
:
"万元"
},
{
no
:
"2"
,
name
:
"贷款"
,
unit
:
"万元"
},
{
no
:
" 2.1"
,
name
:
"其中:并非表项目我方贷款/投保额"
,
unit
:
"万元"
},
{
no
:
"3"
,
name
:
"其他出资"
,
unit
:
"万元"
},
{
no
:
" 3.1"
,
name
:
"其中:能建方出资"
,
unit
:
"万元"
},
{
no
:
""
,
name
:
"批复总出资"
,
unit
:
"万元"
}
]);
// 财务评价指标
const
cwpjzbData
=
reactive
([
{
name
:
"项目投资内部收益率"
,
unit
:
"%"
},
{
name
:
"项目资本金内部收益率"
,
unit
:
"%"
},
{
name
:
"项目投资回收期(税前)"
,
uni
:
"年"
}
]);
// 核心边界条件
const
hxbjtjData
=
reactive
([]);
const
addHxbjtj
=
()
=>
{
hxbjtjData
.
push
({});
}
const
deleteHxbjtj
=
(
index
)
=>
{
hxbjtjData
.
splice
(
index
,
1
);
}
// 项目立项信息--立项批复文件
const
lxpfwjFileList
=
reactive
([]);
const
lxpfwjData
=
reactive
([]);
// 审批意见
const
spyjTableData
=
reactive
([]);
const
spyjFileList
=
reactive
([]);
const
spyjData
=
reactive
([]);
const
addSpyj
=
()
=>
{
spyjTableData
.
push
({});
}
const
deleteSpyj
=
(
index
)
=>
{
spyjTableData
.
splice
(
index
,
1
);
}
// 返回列表页
// 返回列表页
const
backClick
=
()
=>
{
const
backClick
=
()
=>
{
router
.
push
(
"/projectManage"
);
router
.
push
(
"/projectManage"
);
...
@@ -590,9 +934,13 @@
...
@@ -590,9 +934,13 @@
text-align: center;
text-align: center;
}
}
.tab-handle{
.tab-handle{
margin: 10px 0;
display: flex;
display: flex;
justify-content: flex-end;
justify-content: flex-end;
}
}
.el-table{
margin-bottom: 10px;
}
}
}
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment