明树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
ba4efeac
Commit
ba4efeac
authored
Apr 13, 2026
by
zhanghan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
项目修改
parent
ea70d53d
Pipeline
#109722
passed with stage
in 20 seconds
Changes
12
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
6599 additions
and
7527 deletions
+6599
-7527
settings.local.json
src/views/castbehind/.claude/settings.local.json
+14
-0
addProject.vue
src/views/projectManage/addProject.vue
+182
-7527
JueceApproval.vue
...ews/projectManage/addProject/components/JueceApproval.vue
+766
-0
JueceBasicInfo.vue
...ws/projectManage/addProject/components/JueceBasicInfo.vue
+1653
-0
JueceFinance.vue
...iews/projectManage/addProject/components/JueceFinance.vue
+448
-0
JueceReport.vue
...views/projectManage/addProject/components/JueceReport.vue
+933
-0
LixiangApproval.vue
...s/projectManage/addProject/components/LixiangApproval.vue
+490
-0
LixiangBasicInfo.vue
.../projectManage/addProject/components/LixiangBasicInfo.vue
+790
-0
useFinanceTables.js
.../projectManage/addProject/composables/useFinanceTables.js
+223
-0
useJueceData.js
...iews/projectManage/addProject/composables/useJueceData.js
+563
-0
useLixiangData.js
...ws/projectManage/addProject/composables/useLixiangData.js
+286
-0
useResource.js
...views/projectManage/addProject/composables/useResource.js
+251
-0
No files found.
src/views/castbehind/.claude/settings.local.json
0 → 100644
View file @
ba4efeac
{
"permissions"
:
{
"allow"
:
[
"Bash(mkdir:*)"
,
"Bash(for f in /c/Users/EDY/AppData/Local/Temp/claude/D--code-jt-front-src-views-castbehind/tasks/*.output)"
,
"Bash(do echo
\"
=== $f ===
\"
)"
,
"Read(//d/code/jt_front/src/views/castbehind/**)"
,
"Bash(done)"
,
"Bash(grep:*)"
,
"Bash(npx vue-tsc:*)"
,
"Bash(npx vite:*)"
]
}
}
src/views/projectManage/addProject.vue
View file @
ba4efeac
This source diff could not be displayed because it is too large. You can
view the blob
instead.
src/views/projectManage/addProject/components/JueceApproval.vue
0 → 100644
View file @
ba4efeac
<
template
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"jcFormData"
:label-width=
"150"
:disabled=
"isPreview"
>
<el-collapse
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
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
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=
"核心边界条件"
>
<div
class=
"tab-handle"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"addJchxbjtj"
>
新增
</el-button
>
</div>
<el-table
:data=
"jcHxbjtjData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
>
<el-table-column
type=
"index"
width=
"50"
/>
<el-table-column
prop=
"type"
label=
"业务类型"
width=
"130"
>
<
template
#
default=
"scope"
>
<CommonSelector
v-model=
"scope.row.type"
dictName=
"hxbjtjywlx"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"单位工程造价"
>
<el-table-column
prop=
"dwgczjSz"
label=
"数值"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.dwgczjSz"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"dwgczjDw"
label=
"单位"
width=
"130"
>
<
template
#
default=
"scope"
>
<CommonSelector
v-model=
"scope.row.dwgczjDw"
dictName=
"gczjdw"
/>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"销售/服务能力"
>
<el-table-column
prop=
"xsfwnlSz"
label=
"数值"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.xsfwnlSz"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"xsfwnlDw"
label=
"单位"
width=
"60"
/>
</el-table-column>
<el-table-column
label=
"年均负荷率"
>
<el-table-column
prop=
"njfhlSz"
label=
"数值"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.njfhlSz"
:min=
"0"
:max=
"99999.99"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"njfhlDw"
label=
"单位"
width=
"60"
/>
</el-table-column>
<el-table-column
label=
"单位生产/服务总成本"
>
<el-table-column
prop=
"dwscfwzcbSz"
label=
"数值"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.dwscfwzcbSz"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"dwscfwzcbDw"
label=
"单位"
width=
"60"
/>
</el-table-column>
<el-table-column
label=
"单位售价(含税)"
>
<el-table-column
prop=
"dwsjSz"
label=
"数值"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.dwsjSz"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"dwsjDw"
label=
"单位"
width=
"90"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.dwsjDw"
/>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"盈亏平衡点"
>
<el-table-column
prop=
"ykphdlx"
label=
"类型"
width=
"130"
>
<
template
#
default=
"scope"
>
<CommonSelector
v-model=
"scope.row.ykphdlx"
dictName=
"ykphdlx"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"ykphdsz"
label=
"数值"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.ykphdsz"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"ykphddw"
label=
"单位"
width=
"60"
/>
</el-table-column>
<el-table-column
prop=
"bcsm"
label=
"核心边界条件补充说明"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.bcsm"
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=
"deleteJchxbjtj(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=
"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"
>
<CommonSelector
v-model=
"scope.row.hylx"
dictName=
"hylx"
/>
</
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"
>
<CommonSelector
v-model=
"scope.row.hylx"
dictName=
"hylx"
/>
</
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"
>
<CommonSelector
v-model=
"jcFormData.jczzpfyj"
dictName=
"spyj"
/>
</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"
>
<CommonSelector
v-model=
"scope.row.lx"
dictName=
"jcspyjlx"
/>
</
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=
"8"
>
<el-form-item
label-width=
"160"
label=
"投资主体首次申报时间"
>
<el-date-picker
v-model=
"jcFormData.tzztscsbsj"
type=
"date"
placeholder=
"请选择"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label-width=
"160"
label=
"会签完成时间"
>
<el-date-picker
v-model=
"jcFormData.hqwcsj"
type=
"date"
placeholder=
"请选择"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label-width=
"160"
label=
"首次发函时间"
>
<el-date-picker
v-model=
"jcFormData.scfhsj"
type=
"date"
placeholder=
"请选择"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label-width=
"160"
label=
"补充资料时间"
>
<el-date-picker
v-model=
"jcFormData.bczlsj"
type=
"date"
placeholder=
"请选择"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label-width=
"160"
label=
"审核人"
>
<el-input
v-model=
"jcFormData.shr"
/>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
</el-collapse>
</el-form>
</div>
</div>
</template>
<
script
setup
>
import
{
inject
}
from
"vue"
;
import
CommonSelector
from
"@/components/CommonSelector.vue"
;
const
{
jcFormData
,
isPreview
,
activeCollapse
,
jcTzzeqkjData
,
jcCwpjzbData
,
jcHxbjtjData
,
jcztshqkData
,
tzztshqkData
,
jcspyjData
,
addJchxbjtj
,
deleteJchxbjtj
,
addJcztshqk
,
deleteJcztshqk
,
addJcztshqkFile
,
deleteJcztshqkFile
,
addTzztshqk
,
deleteTzztshqk
,
addTzztshqkFile
,
deleteTzztshqkFile
,
addJcspyj
,
deleteJcspyj
,
addJcspyjFile
,
deleteRowFile
,
downloadFile
,
windowConfig
,
token
,
}
=
inject
(
"jcShared"
);
</
script
>
src/views/projectManage/addProject/components/JueceBasicInfo.vue
0 → 100644
View file @
ba4efeac
<
template
>
<div
class=
"project-tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"jcFormData"
label-width=
"200px"
:disabled=
"isPreview"
>
<el-collapse
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"
/>
</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=
"申报单位企业规格"
>
<CommonSelector
v-model=
"jcFormData.sbdwqygg"
dictName=
"sbdwqygg"
/>
</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.dwqypp"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"是否能建重大或重要投资"
>
<CommonSelector
:radio=
"true"
v-model=
"jcFormData.sfnjzdhzytz"
dictName=
"sf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"能建是否牵头方"
>
<CommonSelector
:radio=
"true"
v-model=
"jcFormData.njsfqtf"
dictName=
"sf"
/>
</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项目"
>
<CommonSelector
:radio=
"true"
v-model=
"jcFormData.sfpppxm"
dictName=
"sf"
/>
</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=
"商务部项目类型"
>
<CommonSelector
v-model=
"jcFormData.swbxmlx"
dictName=
"swbxmlx"
/>
</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=
"是否自主决策"
>
<CommonSelector
:radio=
"true"
v-model=
"jcFormData.sfzzjc"
dictName=
"sf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"财务报表类型"
>
<CommonSelector
v-model=
"jcFormData.cwbblx"
dictName=
"cwbblx"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"项目类型"
>
<CommonSelector
v-model=
"jcFormData.xmlx"
dictName=
"xmlx"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"项目阶段"
>
<CommonSelector
v-model=
"jcFormData.xmjd"
dictName=
"xmjd"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"主业/非主业"
>
<CommonSelector
v-model=
"jcFormData.zyfzy"
dictName=
"zyfzy"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"是否已经立项"
>
<CommonSelector
:radio=
"true"
v-model=
"jcFormData.sfyjlx"
dictName=
"sf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"是否能建联合体项目"
>
<CommonSelector
:radio=
"true"
v-model=
"jcFormData.sfnjlhtxm"
dictName=
"sf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"是否重点区域"
>
<CommonSelector
:radio=
"true"
v-model=
"jcFormData.sfzdqy"
dictName=
"sf"
/>
</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=
"投资回收方式"
>
<CommonSelector
v-model=
"jcFormData.tzhsfs"
dictName=
"tzhsfs"
/>
</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=
"境内/外"
>
<CommonSelector
v-model=
"jcFormData.jnw"
dictName=
"dqlx"
@
change=
"changeJcJnw"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"省(境内)/洲际(境外)"
>
<CommonSelector
v-model=
"jcFormData.sjnzjjw"
:options=
"jcSzjList"
@
change=
"changeJcSzj"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"地市(境内)/国家(境外)"
>
<CommonSelector
v-model=
"jcFormData.dsjngjjw"
:options=
"jcDsgjList"
@
change=
"changeJcDsgj"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"区县(境内)/国家(境外)"
>
<CommonSelector
v-model=
"jcFormData.qxjngjjw"
:options=
"jcQxgjList"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"项目区域"
>
<CommonSelector
v-model=
"jcFormData.xmqy"
dictName=
"xmqy"
/>
</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=
"币种"
>
<CommonSelector
v-model=
"jcFormData.bizhong"
dictName=
"bizhong"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"汇率"
>
<el-input
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-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=
"一级分类"
>
<CommonSelector
v-model=
"jcFormData.tzsxyjfl"
dictName=
"tzsx"
@
change=
"changeJcTzsxyjfl"
/>
</el-form-item>
<el-form-item
label=
"二级分类"
>
<CommonSelector
v-model=
"jcFormData.tzsxejfl"
:options=
"jcTzsxejflList"
/>
</el-form-item>
<el-form-item
label=
"投资板块"
>
<CommonSelector
v-model=
"jcFormData.tzbk"
dictName=
"tzbk"
@
change=
"changeJcTzsxtzbk"
/>
</el-form-item>
<el-form-item
label=
"细分板块"
>
<CommonSelector
v-model=
"jcFormData.subsector"
:options=
"jcTzsxxfbkList"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"col-title"
>
投资目的分类
</div>
<el-form-item
label=
"一级分类"
>
<CommonSelector
v-model=
"jcFormData.tzmdyjfl"
dictName=
"tzmd"
@
change=
"changeJcTzmdyjfl"
/>
</el-form-item>
<el-form-item
label=
"二级分类"
>
<CommonSelector
v-model=
"jcFormData.tzmdejfl"
:options=
"jcTzmdejflList"
/>
</el-form-item>
<el-form-item
label=
"四新分类"
>
<CommonSelector
v-model=
"jcFormData.sxfl"
dictName=
"sxfl"
/>
</el-form-item>
<el-form-item
label=
"是否纳入补贴目录"
>
<CommonSelector
:radio=
"true"
v-model=
"jcFormData.sfnrbtml"
dictName=
"sf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"col-title"
>
投资指南分类
</div>
<el-form-item
label=
"一级分类"
>
<CommonSelector
v-model=
"jcFormData.tzznyjfl"
dictName=
"tzzn"
@
change=
"changeJcTzznyjfl"
/>
</el-form-item>
<el-form-item
label=
"二级分类"
>
<CommonSelector
v-model=
"jcFormData.tzznejfl"
:options=
"jcTzznejflList"
/>
</el-form-item>
<el-form-item
label=
"是否再决策"
>
<CommonSelector
:radio=
"true"
v-model=
"jcFormData.sfzjc"
dictName=
"sf"
/>
</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=
"是否需报国家发展改革委和商务部核准"
>
<CommonSelector
:radio=
"true"
v-model=
"jcFormData.sfxbgjfzggwhswbhz"
dictName=
"sf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label-width=
"300px"
label=
"是否国家领导见签"
>
<CommonSelector
:radio=
"true"
v-model=
"jcFormData.sfgjldjq"
dictName=
"sf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label-width=
"300px"
label=
"是否境内特别监管类"
>
<CommonSelector
:radio=
"true"
v-model=
"jcFormData.sfjntbjgl"
dictName=
"sf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label-width=
"300px"
label=
"是否一带一路沿线国家"
>
<CommonSelector
:radio=
"true"
v-model=
"jcFormData.sfydylyxgj"
dictName=
"sf"
/>
</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
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=
"是否已经政府审批"
>
<CommonSelector
:radio=
"true"
v-model=
"jcFormData.sfyjzfsp"
dictName=
"sf"
/>
</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=
"8"
>
<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=
"8"
>
<el-form-item
label=
"审批文号"
>
<el-input
v-model=
"jcFormData.pwwh"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"审批级别"
>
<CommonSelector
v-model=
"jcFormData.spjb"
dictName=
"spjb"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<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"
>
<CommonSelector
v-if=
"scope.$index
<
jcGdxxData
.
length
-
1
"
v-model=
"scope.row.gdlx"
dictName=
"gdlx"
@
change=
"changeJcGdxxSums"
/>
<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
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
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
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
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
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=
"ycxmzbj"
label=
"应出项目资本金(万元)"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
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=
"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=
"bz"
label=
"备注"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-if=
"scope.$index
<
jcGdxxData
.
length
-
1
"
v-model=
"scope.row.bz"
/>
<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-width=
"160px"
label=
"我方出资人及持股比例"
>
<el-input
v-model=
"jcFormData.wfczrjcgbl"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label-width=
"160px"
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=
"8"
>
<el-form-item
label-width=
"170px"
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=
"8"
>
<el-form-item
label-width=
"170px"
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=
"8"
>
<el-form-item
label-width=
"170px"
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=
"8"
>
<el-form-item
label-width=
"170px"
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=
"8"
>
<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=
"8"
>
<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=
"8"
>
<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=
"8"
>
<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.xmbyx"
type=
"textarea"
:autosize=
"{ minRows: 2, maxRows: 5 }"
/>
</el-form-item>
<el-form-item
label=
"其他说明"
>
<el-input
v-model=
"jcFormData.qtsm"
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=
"可研材料"
>
<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=
"经济指标初步测算资料"
>
<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=
"补充相关支撑材料"
>
<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=
"其他相关支撑材料"
>
<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=
"上会议案"
>
<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>
</template>
<
script
setup
>
import
{
inject
}
from
"vue"
;
import
CommonSelector
from
"@/components/CommonSelector.vue"
;
const
{
jcFormData
,
formData
,
isPreview
,
activeCollapse
,
jcSwlzbData
,
jcGdxxData
,
jcgdxxSums
,
dbzqData
,
fxglData
,
lcbjdData
,
lcbspData
,
lcbspSelectIds
,
kyclData
,
kyclSelectIds
,
jjzbcsData
,
jjzbcsSelectIds
,
tpbczcclData
,
tpbczcclSelectIds
,
tpzcclData
,
tpzcclSelectIds
,
shyaData
,
shyaSelectIds
,
jcztshqkData
,
tzztshqkData
,
jcspyjData
,
downloadFile
,
ElMessageBox
,
addJcSwlzb
,
deleteJcSwlzb
,
addJcGdxx
,
deleteJcGdxx
,
changeJcGdxxSums
,
getObjSums
,
jcgdxxIndexMethod
,
addDbzq
,
deleteDbzq
,
addFxgl
,
deleteFxgl
,
addLcbjd
,
deleteLcbjd
,
addLcbspFile
,
deleteLcbsp
,
lcbspSelectionChange
,
multiDeleteLcbsp
,
addKyclFile
,
deleteKycl
,
kyclSelectionChange
,
multiDeleteKycl
,
addJjzbcsFile
,
deleteJjzbcs
,
jjzbcsSelectionChange
,
multiDeleteJjzbcs
,
addTpbczcclFile
,
deleteTpbczccl
,
tpbczcclSelectionChange
,
multiDeleteTpbczccl
,
addTpzcclFile
,
deleteTpzccl
,
tpzcclSelectionChange
,
multiDeleteTpzccl
,
addShyaFile
,
deleteShya
,
shyaSelectionChange
,
multiDeleteShya
,
addJcztshqk
,
deleteJcztshqk
,
addJcztshqkFile
,
deleteJcztshqkFile
,
addTzztshqk
,
deleteTzztshqk
,
addTzztshqkFile
,
deleteTzztshqkFile
,
addJcspyj
,
deleteJcspyj
,
addJcspyjFile
,
deleteRowFile
,
changeJcJnw
,
changeJcSzj
,
changeJcDsgj
,
changeJcTzsxyjfl
,
changeJcTzsxtzbk
,
changeJcTzmdyjfl
,
changeJcTzznyjfl
,
xmzjlyList
,
jcSzjList
,
jcDsgjList
,
jcQxgjList
,
jcTzsxejflList
,
jcTzsxxfbkList
,
jcTzmdejflList
,
jcTzznejflList
,
gmjjhyList
,
gmjjhyProps
,
windowConfig
,
token
,
}
=
inject
(
"jcShared"
);
</
script
>
src/views/projectManage/addProject/components/JueceFinance.vue
0 → 100644
View file @
ba4efeac
<
template
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"jcFormData"
:label-width=
"150"
:disabled=
"isPreview"
>
<el-collapse
v-model=
"activeCollapse"
>
<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
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
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
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
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
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>
</template>
<
script
setup
>
import
{
inject
}
from
"vue"
;
const
{
jcFormData
,
formData
,
isPreview
,
activeCollapse
,
jcTjjhData
,
tjglColumns
,
xmtzzjllData
,
xmtzzjllColumns
,
xmzbjxjllData
,
xmzbjxjllColumns
,
njfxjllData
,
njfxjllColumns
,
lrbData
,
lrbColumns
,
downloadTemplate
,
importTjjh
,
importXmtzzjll
,
importXmzbjxjll
,
importNjfxjll
,
importLrb
,
windowConfig
,
token
,
}
=
inject
(
"jcShared"
);
</
script
>
src/views/projectManage/addProject/components/JueceReport.vue
0 → 100644
View file @
ba4efeac
<
template
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"jcFormData"
:label-width=
"150"
:inline=
"false"
:disabled=
"isPreview"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse-item
title=
"一、项目背景"
name=
"一、项目背景"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<h3>
关于
{{
jcFormData
.
projectName
}}
的申请报告
</h3>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
""
label-width=
"0"
>
<el-input
v-model=
"jcFormData.projectIntro"
type=
"textarea"
:rows=
"3"
placeholder=
"x公司(与x公司,公司内部单位,如有)申请出资x亿元、持股x%,投资建设x省x高速公路项目。项目总投资x亿元。"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"项目获取"
>
<el-input
v-model=
"jcFormData.xmhq"
type=
"textarea"
:rows=
"3"
placeholder=
"1.x年x月,x省政府(授权x市发改委,按项目实际)开展x高速公路项目投资主体的遴选。 2.x年x月,x公司与x市政府签订投资合作框架协议。 3.x年x月,x公司(与x公司、x公司组成的联合体)参与x省x高速公路项目投标,x年x月取得投资主体资格。"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"前期论证主要节点"
>
<el-input
v-model=
"jcFormData.qqlzzyjd"
type=
"textarea"
:rows=
"3"
placeholder=
"1.x年x月,本项目取得x省发改委核准。 2.x年x月,工程可研报告通过x机构审查。 3.x年x月,工程初步设计及概算取得x交通厅批复。"
/>
</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=
"所在地"
>
<div
class=
"text-border"
>
{{
jcFormData
.
sjnzjjw
?
jcSzjList
.
filter
(
(
item
)
=>
item
.
key
===
jcFormData
.
sjnzjjw
,
)[
0
]?.
name
:
""
}}
{{
jcFormData
.
dsjngjjw
?
jcDsgjList
.
filter
(
(
item
)
=>
item
.
key
===
jcFormData
.
dsjngjjw
,
)[
0
]?.
name
:
""
}}
{{
jcFormData
.
qxjngjjw
?
jcQxgjList
.
filter
(
(
item
)
=>
item
.
key
===
jcFormData
.
qxjngjjw
,
)[
0
]?.
name
:
""
}}
</div>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"建设规模"
>
<el-input
v-model=
"jcFormData.jsgm"
placeholder=
"x向x车道(全长x公里)"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"建设内容"
>
<div
class=
"text-border"
>
{{
jcFormData
.
jsnrjgm
}}
</div>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目类型"
>
<el-input
v-model=
"jcFormData.sqbgxmlx"
placeholder=
"高速公路"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否标前决策"
>
<el-input
v-model=
"jcFormData.sfbqjc"
placeholder=
"是或否"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"总投资"
>
<div
class=
"text-border"
>
{{
jcFormData
.
xmztz
?
jcFormData
.
xmztz
+
"亿元"
:
""
}}
</div>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"单位造价"
>
<el-input-number
v-model=
"jcFormData.dwzj"
: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=
"24"
>
<el-form-item
label=
"投资构成"
>
<el-input
v-model=
"jcFormData.tzgc"
type=
"textarea"
:rows=
"3"
placeholder=
"工程费(含建安工程费、设备及工器具购置费等)、工程建设其他费(含征地拆迁费等)、预备费、建设期利息等"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"建设期"
>
<div
class=
"text-border"
>
{{
jcFormData.xmjsqy
? jcFormData.xmjsqy + "个月"
: ""
}}
</div>
</el-form-item>
<el-form-item
label=
"运营期"
>
<div
class=
"text-border"
>
{{
jcFormData.yynxn
? jcFormData.yynxn + "年"
: ""
}}
</div>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"合规情况"
>
<el-input
v-model=
"jcFormData.hgqk"
type=
"textarea"
:rows=
"3"
placeholder=
"规划情况,项目立项审批情况,特许经营/实施方案及批复情况"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"实施机构"
>
<el-input
v-model=
"jcFormData.ssjg"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"政府出资代表"
>
<el-input
v-model=
"jcFormData.zfczdb"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"地方财政情况"
>
<el-input
v-model=
"jcFormData.dfczqk"
type=
"textarea"
:rows=
"3"
placeholder=
"一般公共预算收入、一般公共预算支出、债务率等(如涉及)"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"回报机制"
>
<el-input
v-model=
"jcFormData.hbjz"
type=
"textarea"
:rows=
"3"
placeholder=
"主要收入来源:通行费收入,路衍经济收益"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"保函情况"
>
<el-table
:data=
"bhqkData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
>
<el-table-column
prop=
"lx"
label=
"类型"
/>
<el-table-column
prop=
"tjzt"
label=
"提交主体"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.tjzt"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"je"
label=
"金额"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.je"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"tjsj"
label=
"提交时间"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.tjsj"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"thsj"
label=
"退换时间"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.thsj"
/>
</
template
>
</el-table-column>
</el-table>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"绩效考核"
>
<el-input
v-model=
"jcFormData.jxkh"
type=
"textarea"
:rows=
"3"
placeholder=
"考核时点、关键考核指标,与保函、项目收入的关联性"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"调价机制"
>
<el-input
v-model=
"jcFormData.tjjz"
type=
"textarea"
:rows=
"3"
placeholder=
""
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"征地拆迁"
>
<el-input
v-model=
"jcFormData.zdcq"
type=
"textarea"
:rows=
"3"
placeholder=
"根据项目合同,征地拆迁费用以工可征地拆迁总金额作为上限包干使用(×亿元),按照“归因归责”原则,因政府方导致的费用超支,由政府方承担责任;因其他原因导致的费用超支、进度滞后由社会资本方承担。"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"前期费用"
>
<el-input
v-model=
"jcFormData.qqfy"
type=
"textarea"
:rows=
"3"
placeholder=
"×万元;已结算、已发生未结算的,经审计后由项目公司承担。"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"投资模式"
>
<div
class=
"text-border"
>
{{ jcFormData.tzms }}
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"投资能力"
>
<el-input
v-model=
"jcFormData.tznl"
type=
"textarea"
:rows=
"3"
placeholder=
"1.资产负债率:截至×月底为×%,未/已被纳入资产负债率管控重点关注/重点管控企业名单;实施本项目将推高资产负债率×个百分点。 2.资金状况:资金紧张/充裕,截至×月底货币资金×万元,较上年同期增加/减少流入×亿元。 3.应收账款:截至目前,×公司部分项目存在投资项目回款逾期(如有,应收款×亿元,包括已确权应收款×亿元,应结未结款×亿元)。"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"report-item"
>
<div
class=
"report-label"
>
资金方案
</div>
<div
class=
"report-content"
>
<div
class=
"report-item"
>
<div
class=
"report-label"
>
资本金
</div>
<div
class=
"report-content"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"比例"
>
<el-input-number
v-model=
"jcFormData.zbjbl"
:min=
"0"
:max=
"99999999999.99999999"
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.zbjje"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"来源"
>
<el-input
v-model=
"jcFormData.zbjly"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
<div
class=
"report-item"
>
<div
class=
"report-label"
>
贷款
</div>
<div
class=
"report-content"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"比例"
>
<el-input-number
v-model=
"jcFormData.dkbl"
:min=
"0"
:max=
"99999999999.99999999"
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.dkbje"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"融资主体"
>
<el-input
v-model=
"jcFormData.dkrzzt"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"期限"
>
<el-input-number
v-model=
"jcFormData.dkqx"
:min=
"0"
:max=
"99999999999.99999999"
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.dkll"
:min=
"0"
:max=
"99999999999.99999999"
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.dkdbfa"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"意向书"
>
<el-input
v-model=
"jcFormData.dkyxs"
type=
"textarea"
:rows=
"3"
placeholder=
"已取得x行、x行、x行融资意向函,贷款利率按照202x年四季度同期x率计算(目前为x%)。"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</div>
</div>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"股权结构"
>
<el-table
:data=
"jcGdxxData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
>
<el-table-column
prop=
"gdmc"
label=
"股东方"
>
<
template
#
default=
"scope"
>
<div>
{{
scope
.
$index
<
jcGdxxData
.
length
-
1
?
scope
.
row
.
gdmc
:
"合计"
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"cgbl"
label=
"持股比例(%)"
>
<
template
#
default=
"scope"
>
<div>
{{
scope
.
$index
<
jcGdxxData
.
length
-
1
?
scope
.
row
.
cgbl
:
getObjSums
(
jcgdxxSums
,
"cgbl"
)
+
"%"
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"ycxmzbj"
label=
"项目资本金(亿元)"
>
<
template
#
default=
"scope"
>
<div>
{{
scope
.
$index
<
jcGdxxData
.
length
-
1
?
scope
.
row
.
ycxmzbj
?
(
scope
.
row
.
ycxmzbj
/
10000
).
toFixed
(
2
)
:
scope
.
row
.
ycxmzbj
:
(
getObjSums
(
jcgdxxSums
,
"ycxmzbj"
,
)
/
10000
).
toFixed
(
2
)
+
"亿元"
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"yjzczb"
label=
"其中:项目公司注册资本(亿元)"
>
<
template
#
default=
"scope"
>
<div>
{{
scope
.
$index
<
jcGdxxData
.
length
-
1
?
scope
.
row
.
yjzczb
?
(
scope
.
row
.
yjzczb
/
10000
).
toFixed
(
2
)
:
scope
.
row
.
yjzczb
:
(
getObjSums
(
jcgdxxSums
,
"yjzczb"
,
)
/
10000
).
toFixed
(
2
)
+
"亿元"
}}
</div>
</
template
>
</el-table-column>
</el-table>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"股东方情况"
>
<div
class=
"text-border"
>
<span
v-for=
"(item, index) in jcGdxxData.slice(
0,
-1,
)"
:key=
"index"
>
{{ item.gdmc }}(占股{{ item.cgbl }}%){{
index
<
jcGdxxData
.
length
-
1
?
"、"
:
"。"
}}</
span
>
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"report-item"
>
<div
class=
"report-label"
>
项目公司治理结构
</div>
<div
class=
"report-content"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"股东会"
>
<el-input
v-model=
"jcFormData.zljggdh"
type=
"textarea"
:rows=
"3"
placeholder=
"人数,表决事项,表决通过要求。部分重要事项应设定一致决。"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"董事会"
>
<el-input
v-model=
"jcFormData.zljgdsh"
type=
"textarea"
:rows=
"3"
placeholder=
""
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"监事会"
>
<el-input
v-model=
"jcFormData.zljgjsh"
type=
"textarea"
:rows=
"3"
placeholder=
""
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"管理层"
>
<el-input
v-model=
"jcFormData.zljgglc"
type=
"textarea"
:rows=
"3"
placeholder=
""
/>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"建设管理方案"
>
<el-input
v-model=
"jcFormData.jsglfa"
type=
"textarea"
:rows=
"3"
placeholder=
""
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"运营管理方案"
>
<el-input
v-model=
"jcFormData.yyglfa"
type=
"textarea"
:rows=
"3"
placeholder=
""
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"report-item"
>
<div
class=
"report-label"
>
退出机制
</div>
<div
class=
"report-content"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"正常退出"
>
<el-input
v-model=
"jcFormData.tcjzzc"
type=
"textarea"
:rows=
"3"
placeholder=
""
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"非正常退出"
>
<el-input
v-model=
"jcFormData.tcjzfzc"
type=
"textarea"
:rows=
"3"
placeholder=
""
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div>
(如有)股权锁定期限制;股权转让对受让方的资信、条件限制等。
</div>
</el-col>
</el-row>
</div>
</div>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item
title=
"三、项目必要性"
name=
"三、项目必要性"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"必要性"
>
<div
class=
"text-border"
>
{{ jcFormData.xmbyx }}
</div>
</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
v-model=
"jcFormData.kybzdw"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"可研评审单位"
>
<el-input
v-model=
"jcFormData.kypsdw"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"report-item"
>
<div
class=
"report-label"
>
经济可行性
</div>
<div
class=
"report-content"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"全投资财务内部收益率(税前)"
:label-width=
"210"
>
<el-input-number
v-model=
"jcFormData.qtzcwnbsyl"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
>
<
template
#
suffix
>
<span>
%
</span>
</
template
>
</el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"资本金财务内部收益率(税后)"
:label-width=
"210"
>
<el-input-number
v-model=
"jcFormData.zbjcwnbsyl"
:min=
"0"
:max=
"99999999999.99999999"
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.jxjlhznf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"净利润回正年份"
>
<el-input
v-model=
"jcFormData.jlrhznf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"可分配利润回正年份"
>
<el-input
v-model=
"jcFormData.kfplrhznf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"财务净现值(税前)"
>
<el-input-number
v-model=
"jcFormData.cwjxz"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
>
<
template
#
suffix
>
<span>
万元
</span>
</
template
>
</el-input-number>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"tab-handle"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"addJxjl"
>
新增
</el-button
>
</div>
<el-table
:data=
"jxjlData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
>
<el-table-column
prop=
"nf"
label=
"年份"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.nf"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"je"
label=
"净现金流(万元)"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.je"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"60"
fixed=
"right"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"deleteJxjl(scope.$index)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"tab-handle"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"addJlr"
>
新增
</el-button
>
</div>
<el-table
:data=
"jlrData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
>
<el-table-column
prop=
"nf"
label=
"年份"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.nf"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"je"
label=
"净利润(万元)"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.je"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"60"
fixed=
"right"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"deleteJlr(scope.$index)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"敏感性分析"
:label-width=
"90"
>
<el-input
v-model=
"jcFormData.mgxfx"
type=
"textarea"
:rows=
"3"
placeholder=
"如存在融合一体化子项,应分别说明各子项基本情况,各子项各自财务评价参数与结果及整体测算结果。"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"工程收益"
>
<el-input
v-model=
"jcFormData.gcsy"
type=
"textarea"
:rows=
"3"
placeholder=
"建安费金额,考虑x%下浮后,建安费x亿元,考虑施工直接成本、项目管理成本、工程收益预计x亿元,工程收益率x%"
/>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item
title=
"五、风险防控"
name=
"五、风险防控"
>
<el-table
:data=
"fxglData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
>
<el-table-column
prop=
"fxlb"
label=
"风险点"
/>
<el-table-column
prop=
"fxms"
label=
"内容"
/>
<el-table-column
prop=
"ydcs"
label=
"防控措施"
/>
</el-table>
</el-collapse-item>
<el-collapse-item
title=
"六、内部决策情况"
name=
"六、内部决策情况"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"各级决策情况"
>
<el-input
v-model=
"jcFormData.gjjcqk"
type=
"textarea"
:rows=
"3"
placeholder=
"(各级决策情况) ×年×月×日,×公司×年第×次办公会,要求×。"
/>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item
title=
"七、需要说明的问题"
name=
"七、需要说明的问题"
>
<el-input
v-model=
"jcFormData.xysmdwt"
type=
"textarea"
:rows=
"3"
placeholder=
"股东出资能力、特殊合同条款、协同经营情况等需要特殊说明事项"
/>
</el-collapse-item>
</el-collapse>
</el-form>
</div>
</div>
</template>
<
script
setup
>
import
{
inject
}
from
"vue"
;
const
{
jcFormData
,
isPreview
,
activeCollapse
,
bhqkData
,
jxjlData
,
jlrData
,
fxglData
,
jcgdxxSums
,
getObjSums
,
addJxjl
,
deleteJxjl
,
addJlr
,
deleteJlr
,
jcSzjList
,
jcDsgjList
,
jcQxgjList
,
jcGdxxData
,
}
=
inject
(
"jcShared"
);
</
script
>
src/views/projectManage/addProject/components/LixiangApproval.vue
0 → 100644
View file @
ba4efeac
<
template
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
:label-width=
"150"
:disabled=
"
isPreview ||
(Number(formData.projectLzType)
<
=
5
&&
Number
(
formData
.
projectLzType
)
!=
1
)
"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse-item
title=
"项目投资总额(全口径)"
name=
"项目投资总额(全口径)"
>
<el-table
:data=
"tzzeqkjData"
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
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=
"cwpjzbData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
>
<el-table-column
prop=
"name"
label=
"指标"
/>
<el-table-column
prop=
"unit"
label=
""
width=
"70"
/>
<el-table-column
prop=
"tzpgjdpfz"
label=
"投资评估阶段批复值"
>
<
template
#
default=
"scope"
>
<el-input
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=
"核心边界条件"
>
<div
class=
"tab-handle"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"addHxbjtj"
>
新增
</el-button
>
</div>
<el-table
:data=
"hxbjtjData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
>
<el-table-column
type=
"index"
width=
"50"
/>
<el-table-column
prop=
"type"
label=
"业务类型"
width=
"130"
>
<
template
#
default=
"scope"
>
<CommonSelector
v-model=
"scope.row.type"
dictName=
"hxbjtjywlx"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"单位工程造价"
>
<el-table-column
prop=
"dwgczjSz"
label=
"数值"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.dwgczjSz"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"dwgczjDw"
label=
"单位"
width=
"130"
>
<
template
#
default=
"scope"
>
<CommonSelector
v-model=
"scope.row.dwgczjDw"
dictName=
"gczjdw"
/>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"销售/服务能力"
>
<el-table-column
prop=
"xsfwnlSz"
label=
"数值"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.xsfwnlSz"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"xsfwnlDw"
label=
"单位"
width=
"60"
/>
</el-table-column>
<el-table-column
label=
"年均负荷率"
>
<el-table-column
prop=
"njfhlSz"
label=
"数值"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.njfhlSz"
:min=
"0"
:max=
"99999.99"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"njfhlDw"
label=
"单位"
width=
"60"
/>
</el-table-column>
<el-table-column
label=
"单位生产/服务总成本"
>
<el-table-column
prop=
"dwscfwzcbSz"
label=
"数值"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.dwscfwzcbSz"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"dwscfwzcbDw"
label=
"单位"
width=
"60"
/>
</el-table-column>
<el-table-column
label=
"单位售价(含税)"
>
<el-table-column
prop=
"dwsjSz"
label=
"数值"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.dwsjSz"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"dwsjDw"
label=
"单位"
width=
"90"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.dwsjDw"
/>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"盈亏平衡点"
>
<el-table-column
prop=
"ykphdlx"
label=
"类型"
width=
"130"
>
<
template
#
default=
"scope"
>
<CommonSelector
v-model=
"scope.row.ykphdlx"
dictName=
"ykphdlx"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"ykphdsz"
label=
"数值"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.ykphdsz"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"ykphddw"
label=
"单位"
width=
"60"
/>
</el-table-column>
<el-table-column
prop=
"bcsm"
label=
"核心边界条件补充说明"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.bcsm"
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=
"deleteHxbjtj(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=
"24"
>
<el-form-item
label=
"其他会议审议情况"
>
<el-input
v-model=
"formData.qthysyqk"
type=
"textarea"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"立项最终审批意见"
>
<CommonSelector
v-model=
"formData.lxzzpfyj"
dictName=
"spyj"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"项目立项批复时间"
>
<el-date-picker
v-model=
"formData.lxxmpfsj"
type=
"date"
placeholder=
"请选择"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<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=
"立项批复文件"
:label-width=
"100"
>
<el-upload
:action=
"
windowConfig.baseUrl + '/api/file/upload'
"
:headers=
"{ Authorization: token }"
:show-file-list=
"false"
multiple
:on-success=
"addLxpfFile"
>
<el-button
type=
"default"
>
上传
</el-button>
</el-upload>
<el-button
type=
"default"
@
click=
"multiDeleteLxpf"
:disabled=
"!lxpfSelectIds.length"
>
删除选中文件
</el-button
>
</el-form-item>
<el-table
:data=
"lxpfwjData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
@
selection-change=
"lxpfSelectionChange"
>
<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=
"deleteLxpf($index)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item
title=
"审批意见"
name=
"审批意见"
>
<FormDynamicTable
:modelValue=
"spyjTableData"
@
update:modelValue=
"updateSpyjTable"
:columns=
"spyjColumns"
/>
<el-form-item
label=
"相关上会材料"
:label-width=
"100"
>
<el-upload
:action=
"
windowConfig.baseUrl + '/api/file/upload'
"
:headers=
"{ Authorization: token }"
:show-file-list=
"false"
multiple
:on-success=
"addShclFile"
>
<el-button
type=
"default"
>
上传
</el-button>
</el-upload>
<el-button
type=
"default"
@
click=
"multiDeleteShcl"
:disabled=
"!shclSelectIds.length"
>
删除选中文件
</el-button
>
</el-form-item>
<el-table
:data=
"shclData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
@
selection-change=
"shclSelectionChange"
>
<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=
"deleteShcl($index)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-collapse-item>
</el-collapse>
</el-form>
</div>
</div>
</template>
<
script
setup
>
import
{
inject
}
from
"vue"
;
import
CommonSelector
from
"@/components/CommonSelector.vue"
;
import
FormDynamicTable
from
"@/components/FormDynamicTable/index.vue"
;
const
{
formData
,
isPreview
,
activeCollapse
,
tzzeqkjData
,
cwpjzbData
,
hxbjtjData
,
lxpfwjData
,
lxpfSelectIds
,
spyjTableData
,
shclData
,
shclSelectIds
,
downloadFile
,
ElMessageBox
,
addHxbjtj
,
deleteHxbjtj
,
addLxpfFile
,
deleteLxpf
,
lxpfSelectionChange
,
multiDeleteLxpf
,
addShclFile
,
deleteShcl
,
shclSelectionChange
,
multiDeleteShcl
,
windowConfig
,
token
,
}
=
inject
(
"lxShared"
);
// 审批意见表格列配置
const
spyjColumns
=
[
{
prop
:
"lx"
,
label
:
"类型"
,
type
:
"select"
,
optionKey
:
"yjlx"
,
minWidth
:
130
},
{
prop
:
"pfyj"
,
label
:
"批复意见"
,
type
:
"textarea"
},
{
prop
:
"pfyjsj"
,
label
:
"批复意见时间"
,
type
:
"date"
},
];
// 更新审批意见表格数据(适配 reactive 数组与 FormDynamicTable 的 v-model 机制)
const
updateSpyjTable
=
(
val
)
=>
{
spyjTableData
.
splice
(
0
,
spyjTableData
.
length
,
...
val
);
};
</
script
>
src/views/projectManage/addProject/components/LixiangBasicInfo.vue
0 → 100644
View file @
ba4efeac
<
template
>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-form
:model=
"formData"
label-width=
"200px"
:disabled=
"
isPreview ||
(Number(formData.projectLzType)
<
=
5
&&
Number
(
formData
.
projectLzType
)
!=
1
)
"
>
<el-collapse
v-model=
"activeCollapse"
>
<el-collapse-item
title=
"项目基本信息"
name=
"项目基本信息"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目名称"
>
<el-input
v-model=
"formData.projectName"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目编号"
>
<el-input
v-model=
"formData.projectCode"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目外文名称"
>
<el-input
v-model=
"formData.projectForeignName"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"是否再决策"
>
<CommonSelector
:radio=
"true"
v-model=
"formData.sfzjc"
dictName=
"sf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"投资主体"
>
<el-input
v-model=
"formData.tzzt"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"是否能建联合体项目"
>
<CommonSelector
:radio=
"true"
v-model=
"formData.sfnjlhtxm"
dictName=
"sf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"主业/非主业"
>
<CommonSelector
v-model=
"formData.zyfzy"
dictName=
"zyfzy"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"直属企业"
>
<el-input
v-model=
"formData.zsqy"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否能建重大或重要投资"
>
<CommonSelector
:radio=
"true"
v-model=
"formData.sfnjzdhzytz"
dictName=
"sf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否自主决策"
>
<CommonSelector
:radio=
"true"
v-model=
"formData.sfzzjc"
dictName=
"sf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目阶段"
>
<CommonSelector
v-model=
"formData.xmjd"
dictName=
"xmjd"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"财务报表类型"
>
<CommonSelector
v-model=
"formData.cwbblx"
dictName=
"cwbblx"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"政府审批(核准、备案)级别"
>
<CommonSelector
v-model=
"formData.zfsphzbajb"
dictName=
"spjb"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否履行标前预审程序"
>
<CommonSelector
:radio=
"true"
v-model=
"formData.sflxbqyscx"
dictName=
"sf"
/>
</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=
"境内/外"
>
<CommonSelector
v-model=
"formData.jnw"
dictName=
"dqlx"
@
change=
"changeJnw"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"省(境内)/洲际(境外)"
>
<CommonSelector
v-model=
"formData.sjnzjjw"
:options=
"szjList"
@
change=
"changeSzj"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"地市(境内)/国家(境外)"
>
<CommonSelector
v-model=
"formData.dsjngjjw"
:options=
"dsgjList"
@
change=
"changeDsgj"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"区县(境内)/国家(境外)"
>
<CommonSelector
v-model=
"formData.qxjngjjw"
:options=
"qxgjList"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"项目区域"
>
<CommonSelector
v-model=
"formData.xmqy"
dictName=
"xmqy"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"是否一带一路沿线国家"
>
<CommonSelector
:radio=
"true"
v-model=
"formData.sfydylyxgj"
dictName=
"sf"
/>
</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=
"币种"
>
<CommonSelector
v-model=
"formData.bizhong"
dictName=
"bizhong"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"汇率"
>
<!-- 999.99 [20,4]-->
<el-input
v-model=
"formData.huilv"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
/>
</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.xmjsqy"
:min=
"0"
:max=
"99999999999.99999999"
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=
"formData.yynxn"
:min=
"0"
:max=
"99999999999.99999999"
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=
"formData.xmhzqn"
:min=
"0"
:max=
"99999999999.99999999"
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=
"formData.xmkgsjyj"
type=
"date"
placeholder=
"请选择"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"项目交工时间(预计)"
>
<el-date-picker
v-model=
"formData.xmjgsjyj"
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=
"一级分类"
>
<CommonSelector
v-model=
"formData.tzsxyjfl"
dictName=
"tzsx"
@
change=
"changeTzsxyjfl"
/>
</el-form-item>
<el-form-item
label=
"二级分类"
>
<CommonSelector
v-model=
"formData.tzsxejfl"
:options=
"tzsxejflList"
/>
</el-form-item>
<el-form-item
label=
"投资板块"
>
<CommonSelector
v-model=
"formData.tzbk"
dictName=
"tzbk"
@
change=
"changeTzsxtzbk"
/>
</el-form-item>
<el-form-item
label=
"细分板块"
>
<CommonSelector
v-model=
"formData.subsector"
:options=
"tzsxxfbkList"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<div
class=
"col-title"
>
投资目的分类
</div>
<el-form-item
label=
"一级分类"
>
<CommonSelector
v-model=
"formData.tzmdyjfl"
dictName=
"tzmd"
@
change=
"changeTzmdyjfl"
/>
</el-form-item>
<el-form-item
label=
"二级分类"
>
<CommonSelector
v-model=
"formData.tzmdejfl"
:options=
"tzmdejflList"
/>
</el-form-item>
<el-form-item
label=
"四新分类"
>
<CommonSelector
v-model=
"formData.sxfl"
dictName=
"sxfl"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<div
class=
"col-title"
>
投资指南分类
</div>
<el-form-item
label=
"一级分类"
>
<CommonSelector
v-model=
"formData.tzznyjfl"
dictName=
"tzzn"
@
change=
"changeTzznyjfl"
/>
</el-form-item>
<el-form-item
label=
"二级分类"
>
<CommonSelector
v-model=
"formData.tzznejfl"
:options=
"tzznejflList"
/>
</el-form-item>
<el-form-item
label=
"投资指南分类概述"
v-if=
"formData.tzznyjfl !== 233"
>
<el-input
v-model=
"formData.tzznflgs"
type=
"textarea"
:autosize=
"{ minRows: 2, maxRows: 5 }"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"col-title"
></div>
<el-form-item
label=
"国民经济行业"
>
<el-tree-select
v-model=
"formData.gmjjhy"
:data=
"gmjjhyList"
node-key=
"id"
:props=
"gmjjhyProps"
placeholder=
"请选择"
render-after-expand
clearable
/>
</el-form-item>
</el-col>
</el-row>
</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=
"是否需报国家发展改革委和商务部核准"
>
<CommonSelector
:radio=
"true"
v-model=
"formData.sfxbgjfzggwhswbhz"
dictName=
"sf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label-width=
"300px"
label=
"是否国家领导见签"
>
<CommonSelector
:radio=
"true"
v-model=
"formData.sfgjldjq"
dictName=
"sf"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label-width=
"300px"
label=
"是否境内特别监管类"
>
<CommonSelector
:radio=
"true"
v-model=
"formData.sfjntbjgl"
dictName=
"sf"
/>
</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=
"addSwlzb"
>
新增
</el-button
>
</div>
<el-table
:data=
"swlzbData"
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=
"数量"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
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=
"deleteSwlzb(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=
"addGdxx"
>
新增
</el-button
>
</div>
<el-table
:data=
"gdxxData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
>
<el-table-column
type=
"index"
width=
"50"
:index=
"gdxxIndexMethod"
/>
<el-table-column
prop=
"gdlx"
label=
"股东类型"
width=
"130"
>
<
template
#
default=
"scope"
>
<CommonSelector
v-if=
"scope.$index
<
gdxxData
.
length
-
1
"
v-model=
"scope.row.gdlx"
dictName=
"gdlx"
@
change=
"changeGdxxSums"
/>
<div
v-else
class=
"sums-column"
>
<div
class=
""
v-for=
"(value, key) in gdxxSums"
:key=
"key"
>
{{
value
.
name
}}
</div>
<div>
合计
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"gdmc"
label=
"股东名称"
>
<
template
#
default=
"scope"
>
<el-input
v-if=
"scope.$index
<
gdxxData
.
length
-
1
"
v-model=
"scope.row.gdmc"
/>
<div
v-else
></div>
</
template
>
</el-table-column>
<el-table-column
prop=
"cgbl"
label=
"持股比例(%)"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-if=
"scope.$index
<
gdxxData
.
length
-
1
"
v-model=
"scope.row.cgbl"
:min=
"0"
:max=
"99999.99"
controls-position=
"right"
@
blur=
"changeGdxxSums"
/>
<div
v-else
class=
"sums-column"
>
<div
class=
""
v-for=
"(value, key) in gdxxSums"
:key=
"key"
>
{{
value
.
cgbl
}}
%
</div>
<div>
{{
getObjSums
(
gdxxSums
,
"cgbl"
)
}}
%
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"cze"
label=
"出资额(万元)"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-if=
"scope.$index
<
gdxxData
.
length
-
1
"
v-model=
"scope.row.cze"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
@
blur=
"changeGdxxSums"
/>
<div
v-else
class=
"sums-column"
>
<div
class=
""
v-for=
"(value, key) in gdxxSums"
:key=
"key"
>
{{
value
.
cze
}}
万元
</div>
<div>
{{
getObjSums
(
gdxxSums
,
"cze"
)
}}
万元
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"yjzczb"
label=
"应缴注册资本(万元)"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-if=
"scope.$index
<
gdxxData
.
length
-
1
"
v-model=
"scope.row.yjzczb"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
@
blur=
"changeGdxxSums"
/>
<div
v-else
class=
"sums-column"
>
<div
class=
""
v-for=
"(value, key) in gdxxSums"
:key=
"key"
>
{{
value
.
yjzczb
}}
万元
</div>
<div>
{{
getObjSums
(
gdxxSums
,
"yjzczb"
)
}}
万元
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"ycxmzbj"
label=
"应出项目资本金(万元)"
width=
"180"
>
<
template
#
default=
"scope"
>
<el-input
v-if=
"scope.$index
<
gdxxData
.
length
-
1
"
v-model=
"scope.row.ycxmzbj"
:min=
"0"
:max=
"99999999999.99999999"
controls-position=
"right"
@
blur=
"changeGdxxSums"
/>
<div
v-else
class=
"sums-column"
>
<div
class=
""
v-for=
"(value, key) in gdxxSums"
:key=
"key"
>
{{
value
.
ycxmzbj
}}
万元
</div>
<div>
{{
getObjSums
(
gdxxSums
,
"ycxmzbj"
)
}}
万元
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"hzfqk"
label=
"合作方情况"
>
<
template
#
default=
"scope"
>
<el-input
v-if=
"scope.$index
<
gdxxData
.
length
-
1
"
v-model=
"scope.row.hzfqk"
/>
<div
v-else
></div>
</
template
>
</el-table-column>
<el-table-column
prop=
"bz"
label=
"备注"
>
<
template
#
default=
"scope"
>
<el-input
v-if=
"scope.$index
<
gdxxData
.
length
-
1
"
v-model=
"scope.row.bz"
/>
<div
v-else
></div>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"60"
>
<
template
#
default=
"scope"
>
<el-button
v-if=
"scope.$index
<
gdxxData
.
length
-
1
"
link
type=
"danger"
size=
"small"
@
click=
"deleteGdxx(scope.$index)"
>
删除
</el-button
>
<div
v-else
></div>
</
template
>
</el-table-column>
</el-table>
</el-collapse-item>
<el-collapse-item
title=
"项目必要性及可行性"
name=
"项目必要性及可行性"
>
<el-form-item
label=
"建设内容及规模"
>
<el-input
v-model=
"formData.jsnrjgm"
type=
"textarea"
:autosize=
"{ minRows: 2, maxRows: 5 }"
/>
</el-form-item>
<el-form-item
label=
"项目必要性"
>
<el-input
v-model=
"formData.xmbyx"
type=
"textarea"
:autosize=
"{ minRows: 2, maxRows: 5 }"
/>
</el-form-item>
<el-form-item
label=
"项目可行性"
>
<el-input
v-model=
"formData.xmkxx"
type=
"textarea"
:autosize=
"{ minRows: 2, maxRows: 5 }"
/>
</el-form-item>
<!-- <el-form-item label="其他说明">
<el-input v-model="formData.qtsm" type="textarea" />
</el-form-item> -->
</el-collapse-item>
<el-collapse-item
title=
"立项资料"
name=
"立项资料"
>
<el-form-item
label=
"相关支撑材料"
:label-width=
"100"
>
<el-upload
:action=
"
windowConfig.baseUrl + '/api/file/upload'
"
:headers=
"{ Authorization: token }"
:show-file-list=
"false"
multiple
:on-success=
"addZcclFile"
>
<el-button
type=
"default"
>
上传
</el-button>
</el-upload>
<el-button
type=
"default"
@
click=
"multiDeleteZccl"
:disabled=
"!zcclSelectIds.length"
>
删除选中文件
</el-button
>
</el-form-item>
<el-table
:data=
"zcclData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
@
selection-change=
"zcclSelectionChange"
>
<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 }"
>
<!-- 需要在查看表单disabled时保持允许下载 -->
<span
class=
"always-click"
@
click=
"downloadFile(row)"
>
下载
</span
>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"deleteZccl($index)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</el-collapse-item>
</el-collapse>
</el-form>
</div>
</div>
</template>
<
script
setup
>
import
{
inject
}
from
"vue"
;
import
CommonSelector
from
"@/components/CommonSelector.vue"
;
const
{
formData
,
isPreview
,
activeCollapse
,
swlzbData
,
gdxxData
,
gdxxSums
,
zcclData
,
zcclSelectIds
,
downloadFile
,
ElMessageBox
,
changeJnw
,
changeSzj
,
changeDsgj
,
changeTzsxyjfl
,
changeTzsxtzbk
,
changeTzmdyjfl
,
changeTzznyjfl
,
addSwlzb
,
deleteSwlzb
,
addGdxx
,
deleteGdxx
,
changeGdxxSums
,
getObjSums
,
gdxxIndexMethod
,
addZcclFile
,
deleteZccl
,
zcclSelectionChange
,
multiDeleteZccl
,
szjList
,
dsgjList
,
qxgjList
,
tzsxejflList
,
tzsxxfbkList
,
tzmdejflList
,
tzznejflList
,
gmjjhyList
,
gmjjhyProps
,
windowConfig
,
token
,
}
=
inject
(
"lxShared"
);
</
script
>
src/views/projectManage/addProject/composables/useFinanceTables.js
0 → 100644
View file @
ba4efeac
import
{
ref
}
from
"vue"
;
export
function
useFinanceTables
()
{
// 投决管理
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
)
=>
({
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
)
=>
({
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
)
=>
({
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
)
=>
({
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
)
=>
({
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
formatDynamicTableData
=
(
columns
,
data
)
=>
{
if
(
!
columns
.
value
.
length
)
return
[];
let
row1
=
[];
let
row2
=
[];
let
row3
=
[];
columns
.
value
[
0
].
children
.
map
((
column
)
=>
{
row1
.
push
(
columns
.
value
[
0
].
label
);
row2
.
push
(
column
.
label
);
if
(
column
.
children
)
{
column
.
children
.
map
((
item
)
=>
{
row1
.
push
(
columns
.
value
[
0
].
label
);
row2
.
push
(
column
.
label
);
row3
.
push
(
item
.
label
);
});
}
else
{
row3
.
push
(
column
.
label
);
}
});
let
rowData
=
[];
data
.
value
.
map
((
d
)
=>
{
let
arr
=
[];
row3
.
map
((
item
)
=>
{
arr
.
push
(
d
[
item
]);
});
rowData
.
push
(
arr
);
});
return
[
row1
,
row2
,
row3
,
...
rowData
];
};
const
getTjjhData
=
()
=>
formatDynamicTableData
(
tjglColumns
,
jcTjjhData
);
const
getXmtzzjllData
=
()
=>
formatDynamicTableData
(
xmtzzjllColumns
,
xmtzzjllData
);
const
getXmzbjxjllData
=
()
=>
formatDynamicTableData
(
xmzbjxjllColumns
,
xmzbjxjllData
);
const
getNjfxjllData
=
()
=>
formatDynamicTableData
(
njfxjllColumns
,
njfxjllData
);
const
getLrbData
=
()
=>
formatDynamicTableData
(
lrbColumns
,
lrbData
);
return
{
jcTjjhData
,
tjglColumns
,
importTjjh
,
xmtzzjllData
,
xmtzzjllColumns
,
importXmtzzjll
,
xmzbjxjllData
,
xmzbjxjllColumns
,
importXmzbjxjll
,
njfxjllData
,
njfxjllColumns
,
importNjfxjll
,
lrbData
,
lrbColumns
,
importLrb
,
getTjjhData
,
getXmtzzjllData
,
getXmzbjxjllData
,
getNjfxjllData
,
getLrbData
,
};
}
src/views/projectManage/addProject/composables/useJueceData.js
0 → 100644
View file @
ba4efeac
import
{
reactive
,
ref
}
from
"vue"
;
import
{
ElMessageBox
}
from
"element-plus"
;
import
Decimal
from
"decimal.js"
;
export
function
useJueceData
(
jcFormData
,
gdlxListRef
)
{
const
jcRadioClick
=
(
value
,
key
)
=>
{
if
(
jcFormData
[
key
]
!==
value
)
{
jcFormData
[
key
]
=
value
;
}
else
{
delete
jcFormData
[
key
];
}
};
// 建设规模(实物量指标)
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
(
!
obj
[
item
.
gdlx
])
{
obj
[
item
.
gdlx
]
=
{
name
:
gdlxListRef
.
filter
((
gdlx
)
=>
gdlx
.
key
==
item
.
gdlx
)[
0
].
value
,
};
}
obj
[
item
.
gdlx
].
mycgbl
=
new
Decimal
(
Number
(
obj
[
item
.
gdlx
].
mycgbl
||
0
),
).
plus
(
new
Decimal
(
Number
(
item
.
mycgbl
||
0
)));
obj
[
item
.
gdlx
].
cgbl
=
new
Decimal
(
Number
(
obj
[
item
.
gdlx
].
cgbl
||
0
),
).
plus
(
new
Decimal
(
Number
(
item
.
cgbl
||
0
)));
obj
[
item
.
gdlx
].
lrfpbl
=
new
Decimal
(
Number
(
obj
[
item
.
gdlx
].
lrfpbl
||
0
),
).
plus
(
new
Decimal
(
Number
(
item
.
lrfpbl
||
0
)));
obj
[
item
.
gdlx
].
cze
=
new
Decimal
(
Number
(
obj
[
item
.
gdlx
].
cze
||
0
),
).
plus
(
new
Decimal
(
Number
(
item
.
cze
||
0
)));
obj
[
item
.
gdlx
].
yjzczb
=
new
Decimal
(
Number
(
obj
[
item
.
gdlx
].
yjzczb
||
0
),
).
plus
(
new
Decimal
(
Number
(
item
.
yjzczb
||
0
)));
obj
[
item
.
gdlx
].
ycxmzbj
=
new
Decimal
(
Number
(
obj
[
item
.
gdlx
].
ycxmzbj
||
0
),
).
plus
(
new
Decimal
(
Number
(
item
.
ycxmzbj
||
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"
,
},
]);
// 核心边界条件
let
jcHxbjtjData
=
reactive
([]);
const
addJchxbjtj
=
()
=>
{
jcHxbjtjData
.
push
({
njfhlDw
:
"%"
,
ykphddw
:
"%"
,
xsfwnlDw
:
"万元"
,
dwscfwzcbDw
:
"万元"
,
});
};
const
deleteJchxbjtj
=
(
index
)
=>
{
jcHxbjtjData
.
splice
(
index
,
1
);
};
// 决策主体审核情况
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
;
};
// 申请报告
let
bhqkData
=
reactive
([
{
lx
:
"投标保证金"
,
tjzt
:
""
,
je
:
null
,
tjsj
:
""
,
thsj
:
""
},
{
lx
:
"投资人履约保函"
,
tjzt
:
""
,
je
:
null
,
tjsj
:
""
,
thsj
:
""
},
{
lx
:
"建设期履约保函"
,
tjzt
:
""
,
je
:
null
,
tjsj
:
""
,
thsj
:
""
},
{
lx
:
"运营期履约保函"
,
tjzt
:
""
,
je
:
null
,
tjsj
:
""
,
thsj
:
""
},
{
lx
:
"移交履约保函"
,
tjzt
:
""
,
je
:
null
,
tjsj
:
""
,
thsj
:
""
},
]);
// 经济可行性-净现金流
let
jxjlData
=
reactive
([]);
const
addJxjl
=
()
=>
{
jxjlData
.
push
({
nf
:
""
,
je
:
null
});
};
const
deleteJxjl
=
(
index
)
=>
{
jxjlData
.
splice
(
index
,
1
);
};
// 经济可行性-净利润
let
jlrData
=
reactive
([]);
const
addJlr
=
()
=>
{
jlrData
.
push
({
nf
:
""
,
je
:
null
});
};
const
deleteJlr
=
(
index
)
=>
{
jlrData
.
splice
(
index
,
1
);
};
return
{
jcRadioClick
,
jcSwlzbData
,
addJcSwlzb
,
deleteJcSwlzb
,
jcGdxxData
,
addJcGdxx
,
deleteJcGdxx
,
jcgdxxSums
,
changeJcGdxxSums
,
jcgdxxIndexMethod
,
dbzqData
,
addDbzq
,
deleteDbzq
,
fxglData
,
addFxgl
,
deleteFxgl
,
lcbjdData
,
addLcbjd
,
deleteLcbjd
,
lcbspData
,
addLcbspFile
,
deleteLcbsp
,
lcbspSelectIds
,
lcbspSelectionChange
,
multiDeleteLcbsp
,
kyclData
,
addKyclFile
,
deleteKycl
,
kyclSelectIds
,
kyclSelectionChange
,
multiDeleteKycl
,
jjzbcsData
,
addJjzbcsFile
,
deleteJjzbcs
,
jjzbcsSelectIds
,
jjzbcsSelectionChange
,
multiDeleteJjzbcs
,
tpbczcclData
,
addTpbczcclFile
,
deleteTpbczccl
,
tpbczcclSelectIds
,
tpbczcclSelectionChange
,
multiDeleteTpbczccl
,
tpzcclData
,
addTpzcclFile
,
deleteTpzccl
,
tpzcclSelectIds
,
tpzcclSelectionChange
,
multiDeleteTpzccl
,
shyaData
,
addShyaFile
,
deleteShya
,
shyaSelectIds
,
shyaSelectionChange
,
multiDeleteShya
,
jcTzzeqkjData
,
jcCwpjzbData
,
jcHxbjtjData
,
addJchxbjtj
,
deleteJchxbjtj
,
jcztshqkData
,
addJcztshqk
,
deleteJcztshqk
,
addJcztshqkFile
,
deleteJcztshqkFile
,
tzztshqkData
,
addTzztshqk
,
deleteTzztshqk
,
addTzztshqkFile
,
deleteTzztshqkFile
,
jcspyjData
,
addJcspyj
,
deleteJcspyj
,
addJcspyjFile
,
deleteRowFile
,
bhqkData
,
jxjlData
,
addJxjl
,
deleteJxjl
,
jlrData
,
addJlr
,
deleteJlr
,
};
}
src/views/projectManage/addProject/composables/useLixiangData.js
0 → 100644
View file @
ba4efeac
import
{
reactive
,
ref
}
from
"vue"
;
import
{
ElMessageBox
}
from
"element-plus"
;
import
Decimal
from
"decimal.js"
;
export
function
useLixiangData
(
formData
,
gdlxListRef
)
{
// gdlxListRef will be set later from resource data
// 单选框点击事件
const
radioClick
=
(
value
,
key
)
=>
{
if
(
formData
[
key
]
!==
value
)
{
formData
[
key
]
=
value
;
}
else
{
delete
formData
[
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
])
{
obj
[
item
.
gdlx
]
=
{
name
:
gdlxListRef
.
filter
((
gdlx
)
=>
gdlx
.
key
==
item
.
gdlx
)[
0
].
value
,
};
}
obj
[
item
.
gdlx
].
cgbl
=
new
Decimal
(
Number
(
obj
[
item
.
gdlx
].
cgbl
||
0
),
).
plus
(
new
Decimal
(
Number
(
item
.
cgbl
||
0
)));
obj
[
item
.
gdlx
].
cze
=
new
Decimal
(
Number
(
obj
[
item
.
gdlx
].
cze
||
0
),
).
plus
(
new
Decimal
(
Number
(
item
.
cze
||
0
)));
obj
[
item
.
gdlx
].
yjzczb
=
new
Decimal
(
Number
(
obj
[
item
.
gdlx
].
yjzczb
||
0
),
).
plus
(
new
Decimal
(
Number
(
item
.
yjzczb
||
0
)));
obj
[
item
.
gdlx
].
ycxmzbj
=
new
Decimal
(
Number
(
obj
[
item
.
gdlx
].
ycxmzbj
||
0
),
).
plus
(
new
Decimal
(
Number
(
item
.
ycxmzbj
||
0
)));
}
}
});
gdxxSums
.
value
=
obj
;
};
// 计算对象总和
const
getObjSums
=
(
obj
,
objkey
)
=>
{
return
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
(()
=>
{});
};
return
{
radioClick
,
swlzbData
,
addSwlzb
,
deleteSwlzb
,
gdxxData
,
addGdxx
,
deleteGdxx
,
gdxxSums
,
changeGdxxSums
,
gdxxIndexMethod
,
getObjSums
,
zcclData
,
addZcclFile
,
deleteZccl
,
zcclSelectIds
,
zcclSelectionChange
,
multiDeleteZccl
,
tzzeqkjData
,
cwpjzbData
,
hxbjtjData
,
addHxbjtj
,
deleteHxbjtj
,
lxpfwjData
,
addLxpfFile
,
deleteLxpf
,
lxpfSelectIds
,
lxpfSelectionChange
,
multiDeleteLxpf
,
spyjTableData
,
addSpyj
,
deleteSpyj
,
shclData
,
addShclFile
,
deleteShcl
,
shclSelectIds
,
shclSelectionChange
,
multiDeleteShcl
,
};
}
src/views/projectManage/addProject/composables/useResource.js
0 → 100644
View file @
ba4efeac
import
{
reactive
,
ref
}
from
"vue"
;
export
function
useResource
(
formData
,
jcFormData
)
{
let
zyList
=
reactive
([]);
// 主业/非主业
let
cwbblxList
=
reactive
([]);
// 财务报表类型
let
zfspjbList
=
reactive
([]);
// 政府审批(核准、备案)级别
let
xmjdList
=
ref
([]);
// 项目阶段
let
jnwList
=
reactive
([]);
// 境内/外
let
szjList
=
ref
([]);
// 省(境内)/洲际(境外)
let
dsgjList
=
ref
([]);
// 地市(境内)/国家(境外)
let
qxgjList
=
ref
([]);
// 区县(境内)/国家(境外)
let
xmqyList
=
reactive
([]);
// 项目区域
let
bzList
=
reactive
([]);
// 币种
let
tzsxyjflList
=
reactive
([]);
// 投资属性一级分类
let
tzsxejflList
=
ref
([]);
// 投资属性二级分类
let
tzsxtzbkList
=
reactive
([]);
// 投资属性投资板块
let
tzsxxfbkList
=
ref
([]);
// 投资属性细分板块
let
tzmdyjflList
=
reactive
([]);
// 投资目的一级分类
let
tzmdejflList
=
ref
([]);
// 投资目的二级分类
let
tzmdsxflList
=
reactive
([]);
// 投资目的四新分类
let
tzznyjflList
=
reactive
([]);
// 投资指南一级分类
let
tzznejflList
=
ref
([]);
// 投资指南二级分类
let
gmjjhyList
=
reactive
([]);
// 国民经济行业
const
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
([]);
// 投资回收方式
let
hylxList
=
reactive
([]);
// 会议类型
let
jcspyjlx
=
reactive
([]);
// 决策审批意见类型
// 决策二级分类
let
jcTzsxejflList
=
ref
([]);
let
jcTzsxxfbkList
=
ref
([]);
let
jcTzmdejflList
=
ref
([]);
let
jcTzznejflList
=
ref
([]);
// 级联选择 change 事件 - 立项
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
;
};
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
;
};
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
;
};
const
changeTzmdyjfl
=
(
val
)
=>
{
if
(
val
||
val
===
0
)
{
let
selectData
=
tzmdyjflList
.
filter
((
item
)
=>
item
.
key
==
val
);
tzmdejflList
.
value
=
(
selectData
[
0
]
&&
selectData
[
0
].
children
)
||
[];
}
else
{
tzmdejflList
.
value
=
[];
}
delete
formData
.
tzmdejfl
;
};
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
;
};
// 级联选择 change 事件 - 决策
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
;
};
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
;
};
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
;
};
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
;
};
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
;
};
const
replaceArr
=
(
arr
,
data
)
=>
{
arr
.
splice
(
0
,
arr
.
length
,
...
data
);
};
const
initResourceData
=
()
=>
{
const
resourceData
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"resourceData"
));
replaceArr
(
zyList
,
resourceData
.
zyfzy
);
replaceArr
(
cwbblxList
,
resourceData
.
cwbblx
);
replaceArr
(
zfspjbList
,
resourceData
.
spjb
);
xmjdList
.
value
=
resourceData
.
xmjd
;
replaceArr
(
jnwList
,
resourceData
.
dqlx
);
replaceArr
(
xmqyList
,
resourceData
.
xmqy
);
replaceArr
(
bzList
,
resourceData
.
bizhong
);
replaceArr
(
tzsxyjflList
,
resourceData
.
tzsx
);
replaceArr
(
tzsxtzbkList
,
resourceData
.
tzbk
);
replaceArr
(
tzmdyjflList
,
resourceData
.
tzmd
);
replaceArr
(
tzmdsxflList
,
resourceData
.
sxfl
);
replaceArr
(
tzznyjflList
,
resourceData
.
tzzn
);
replaceArr
(
gmjjhyList
,
resourceData
.
gmjjhy
);
replaceArr
(
gdlxList
,
resourceData
.
gdlx
);
replaceArr
(
hxbjtjlxlxList
,
resourceData
.
hxbjtjywlx
);
replaceArr
(
hxbjtjzjdwList
,
resourceData
.
gczjdw
);
replaceArr
(
hxbjtjykphdlxList
,
resourceData
.
ykphdlx
);
lxzzspyjList
.
value
=
resourceData
.
spyj
;
replaceArr
(
spyjlxList
,
resourceData
.
yjlx
);
// 决策
replaceArr
(
qyggList
,
resourceData
.
sbdwqygg
);
replaceArr
(
xmzjlyList
,
resourceData
.
xmzjly
);
replaceArr
(
swbxmlxList
,
resourceData
.
swbxmlx
);
replaceArr
(
xmlxList
,
resourceData
.
xmlx
);
replaceArr
(
tzhsfsList
,
resourceData
.
tzhsfs
);
replaceArr
(
hylxList
,
resourceData
.
hylx
);
replaceArr
(
jcspyjlx
,
resourceData
.
jcspyjlx
);
};
return
{
// resource lists
zyList
,
cwbblxList
,
zfspjbList
,
xmjdList
,
jnwList
,
szjList
,
dsgjList
,
qxgjList
,
xmqyList
,
bzList
,
tzsxyjflList
,
tzsxejflList
,
tzsxtzbkList
,
tzsxxfbkList
,
tzmdyjflList
,
tzmdejflList
,
tzmdsxflList
,
tzznyjflList
,
tzznejflList
,
gmjjhyList
,
gmjjhyProps
,
gdlxList
,
hxbjtjlxlxList
,
hxbjtjzjdwList
,
hxbjtjykphdlxList
,
lxzzspyjList
,
spyjlxList
,
qyggList
,
jcSzjList
,
jcDsgjList
,
jcQxgjList
,
xmzjlyList
,
swbxmlxList
,
xmlxList
,
tzhsfsList
,
hylxList
,
jcspyjlx
,
jcTzsxejflList
,
jcTzsxxfbkList
,
jcTzmdejflList
,
jcTzznejflList
,
// cascading handlers
changeJnw
,
changeSzj
,
changeDsgj
,
changeTzsxyjfl
,
changeTzsxtzbk
,
changeTzmdyjfl
,
changeTzznyjfl
,
changeJcJnw
,
changeJcSzj
,
changeJcDsgj
,
changeJcTzsxyjfl
,
changeJcTzsxtzbk
,
changeJcTzmdyjfl
,
changeJcTzznyjfl
,
// init
initResourceData
,
};
}
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