明树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
f1fcb653
Commit
f1fcb653
authored
Feb 04, 2026
by
zhanghan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
回收开发
parent
91b35f0b
Pipeline
#106972
passed with stage
in 19 seconds
Changes
6
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1321 additions
and
226 deletions
+1321
-226
CustomAmountTable.vue
src/components/CustomAmountTable.vue
+5
-0
index.vue
src/components/FormDynamicTable/index.vue
+269
-195
routes.js
src/router/routes.js
+14
-6
investmentCecovery.vue
src/views/castbehind/investmentCecovery.vue
+184
-20
investmentCecoveryAdd.vue
src/views/castbehind/investmentCecoveryAdd.vue
+711
-0
annualAdd.vue
src/views/everydayPage/annualAdd.vue
+138
-5
No files found.
src/components/CustomAmountTable.vue
0 → 100644
View file @
f1fcb653
<
template
>
<div>
11111111111111
</div>
</
template
>
<
script
setup
></
script
>
<
style
scoped
lang=
"scss"
></
style
>
src/components/FormDynamicTable/index.vue
View file @
f1fcb653
This diff is collapsed.
Click to expand it.
src/router/routes.js
View file @
f1fcb653
...
...
@@ -156,12 +156,6 @@ const routes = [
title
:
"投后管理"
,
redirect
:
"/runningPeriod"
,
children
:
[
{
path
:
"/runningPeriod"
,
name
:
"runningPeriod"
,
title
:
"运营期投资检查"
,
component
:
()
=>
import
(
"@/views/castbehind/runningPeriod.vue"
),
},
{
path
:
"/investmentCecovery"
,
name
:
"investmentCecovery"
,
...
...
@@ -169,6 +163,20 @@ const routes = [
component
:
()
=>
import
(
"@/views/castbehind/investmentCecovery.vue"
),
},
{
path
:
"/investmentCecoveryAdd"
,
name
:
"investmentCecoveryAdd"
,
title
:
"运营期投资回收"
,
component
:
()
=>
import
(
"@/views/castbehind/investmentCecoveryAdd.vue"
),
},
{
path
:
"/runningPeriod"
,
name
:
"runningPeriod"
,
title
:
"运营期投资检查"
,
component
:
()
=>
import
(
"@/views/castbehind/runningPeriod.vue"
),
},
{
path
:
"/runningPeriodAdd"
,
name
:
"runningPeriodAdd"
,
...
...
src/views/castbehind/investmentCecovery.vue
View file @
f1fcb653
<
template
>
<div
class=
"building-container"
>
<img
src=
"@/assets/images/building.png"
alt=
""
/>
<div
class=
"title"
>
努力开发中……
</div>
<div
class=
"manage-container"
>
<div
class=
"manage-wrap"
>
<div
class=
"manage-header"
>
<div
class=
"header-left"
></div>
<div
class=
"header-right"
>
<el-button
type=
"primary"
@
click=
"investmentCecoveryAdd"
>
新增
</el-button
>
</div>
</div>
<div
class=
"manage-content"
v-loading=
"loading"
>
<common-table
:autoHeight=
"true"
:maxRows=
"10"
:data=
"tableData"
:columns=
"tableColumns"
:total=
"total"
:current-page=
"currentPage"
:page-size=
"pageSize"
:index=
"true"
:indexLabel=
"'序号'"
title=
""
:border=
"true"
@
size-change=
"handleSizeChange"
@
current-page-change=
"handleCurrentPageChange"
>
<template
#
operations=
"
{ row, index }">
<el-button
link
type=
"primary"
size=
"small"
@
click=
"previewStatement(row)"
>
查看
</el-button
>
<el-button
link
type=
"primary"
size=
"small"
@
click=
"editStatement(row)"
>
编辑
</el-button
>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"deleteStatement(row)"
>
删除
</el-button
>
</
template
>
</common-table>
</div>
</div>
</div>
</template>
<
script
setup
></
script
>
<
script
setup
>
import
{
ref
,
onMounted
,
getCurrentInstance
}
from
"vue"
;
import
{
useRouter
}
from
"vue-router"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
CommonTable
from
"@/components/common/commonTable.vue"
;
<
style
lang=
"less"
>
.building-container {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
img {
max-width: 300px;
}
.title {
font-size: 18px;
color: #999;
}
}
const
router
=
useRouter
();
const
{
proxy
}
=
getCurrentInstance
();
let
tableData
=
ref
([]);
let
tableColumns
=
ref
([
{
prop
:
"qc"
,
label
:
"项目全称"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"jc"
,
label
:
"项目简称"
,
showOverflowTooltip
:
true
,
},
{
prop
:
"nbtzglzt"
,
label
:
"内部投资管理主体"
,
showOverflowTooltip
:
true
,
width
:
170
,
},
{
prop
:
"xmscjd"
,
label
:
"项目所处阶段"
,
showOverflowTooltip
:
true
,
width
:
120
,
},
{
prop
:
"gqjg"
,
label
:
"股权结构"
,
showOverflowTooltip
:
true
,
width
:
120
,
},
{
prop
:
"xmzbjze"
,
label
:
"项目资本金总额(亿元)"
,
showOverflowTooltip
:
true
,
width
:
180
,
},
{
prop
:
"operations"
,
label
:
"操作"
,
width
:
170
,
slot
:
"operations"
,
fixed
:
"right"
,
align
:
"center"
,
},
]);
let
loading
=
ref
(
false
);
let
total
=
ref
(
0
);
let
currentPage
=
ref
(
1
);
let
pageSize
=
ref
(
10
);
// 获取列表数据
const
getStatementData
=
()
=>
{
loading
.
value
=
true
;
proxy
.
$post
({
url
:
"/api/project/getYyqtzhsList"
,
data
:
{
page
:
currentPage
.
value
,
pagesize
:
pageSize
.
value
,
},
callback
:
(
data
)
=>
{
tableData
.
value
=
data
.
rows
;
total
.
value
=
data
.
count
;
loading
.
value
=
false
;
},
});
};
// 分页
const
handleSizeChange
=
(
size
)
=>
{
pageSize
.
value
=
size
;
currentPage
.
value
=
1
;
getStatementData
();
};
const
handleCurrentPageChange
=
(
page
)
=>
{
currentPage
.
value
=
page
;
getStatementData
();
};
const
investmentCecoveryAdd
=
()
=>
{
router
.
push
(
"/investmentCecoveryAdd"
);
};
const
editStatement
=
(
item
)
=>
{
router
.
push
({
name
:
"investmentCecoveryAdd"
,
query
:
{
id
:
item
.
id
,
},
});
};
const
previewStatement
=
(
item
)
=>
{
router
.
push
({
name
:
"investmentCecoveryAdd"
,
query
:
{
isPreview
:
true
,
id
:
item
.
id
,
},
});
};
const
deleteStatement
=
(
item
)
=>
{
ElMessageBox
.
confirm
(
"确认删除该项?"
,
"提示"
,
{
confirmButtonText
:
"确认"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
proxy
.
$post
({
url
:
"/api/project/deleteYyqtzhs"
,
data
:
{
id
:
item
.
id
,
},
callback
:
(
data
)
=>
{
ElMessage
.
success
(
"删除成功"
);
getStatementData
();
},
});
})
.
catch
(()
=>
{});
};
onMounted
(()
=>
{
getStatementData
();
});
</
script
>
<
style
scoped
lang=
"less"
>
@import "@/styles/manage.less";
</
style
>
src/views/castbehind/investmentCecoveryAdd.vue
0 → 100644
View file @
f1fcb653
This diff is collapsed.
Click to expand it.
src/views/everydayPage/annualAdd.vue
View file @
f1fcb653
...
...
@@ -19,10 +19,10 @@
<el-collapse-item
title=
"基本信息"
name=
"基本信息"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目
信息
"
required
>
<el-form-item
label=
"项目
名称
"
required
>
<el-select
v-model=
"formData.projectId"
placeholder=
"请选择项目
信息
"
placeholder=
"请选择项目
名称
"
no-data-text=
"暂无数据"
@
change=
"changeProject"
>
...
...
@@ -35,6 +35,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目外文名称"
>
<el-input
...
...
@@ -71,10 +72,142 @@
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目公司名称/被投资企业名称"
>
<el-form-item
label=
"项目公司名称"
>
<el-input
v-model=
"formData.xmgsmc"
placeholder=
"请输入项目公司名称"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目预计完成时间"
>
<el-date-picker
v-model=
"formData.xmjgsjyj"
type=
"date"
placeholder=
"请选择项目预计完成时间"
value-format=
"YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"填报人"
>
<el-input
v-model=
"formData.tbr"
placeholder=
"请输入填报人"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"填报人联系电话"
>
<el-input
v-model=
"formData.tbrlxdh"
placeholder=
"请输入填报人联系电话"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目建设期 (月)"
>
<el-input
v-model=
"formData.xmjsqy"
:min=
"0"
placeholder=
"请输入项目建设期 (月)"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目流转状态(审批状态)"
>
<CommonSelector
v-model=
"formData.projectLzType"
dictName=
"xmlzzt"
></CommonSelector>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目阶段"
>
<CommonSelector
v-model=
"formData.xmjd"
dictName=
"project_phase"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"运营年限(年)"
>
<el-input
v-model=
"formData.yynxn"
:min=
"0"
placeholder=
"请输入运营年限(年)"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"建成后成效"
>
<el-input
v-model=
"formData.jchcx"
type=
"textarea"
:rows=
"3"
placeholder=
"请输入建成后成效"
/>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目信息"
required
>
<el-select
v-model=
"formData.projectId"
placeholder=
"请选择项目信息"
no-data-text=
"暂无数据"
@
change=
"changeProject"
>
<el-option
v-for=
"item in projectList"
:key=
"item.id"
:label=
"item.projectName"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目外文名称"
>
<el-input
v-model=
"formData.projectForeignName"
placeholder=
"请输入项目外文名称"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"填报单位名称"
>
<el-input
v-model=
"formData.tbdwmc"
placeholder=
"请输入填报单位名称"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"所属二级企业"
>
<el-input
v-model=
"formData.ssejqy"
placeholder=
"请输入所属二级企业"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目预计起始时间"
>
<el-date-picker
v-model=
"formData.xmkgsjyj"
type=
"date"
placeholder=
"请选择项目预计起始时间"
value-format=
"YYYY-MM-DD"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"项目公司名称"
>
<el-input
v-model=
"formData.xmgsmc"
placeholder=
"请输入项目公司名称
/被投资企业名称
"
placeholder=
"请输入项目公司名称"
/>
</el-form-item>
</el-col>
...
...
@@ -1125,7 +1258,7 @@ const formData = reactive({
projectForeignName
:
""
,
sbdw
:
""
,
// 申报单位
ssejqy
:
""
,
// 所属二级企业
xmgsmc
:
""
,
// 项目公司名称
/被投资企业名称
xmgsmc
:
""
,
// 项目公司名称
xmkgsjyj
:
""
,
// 项目预计起始时间
xmjgsjyj
:
""
,
// 项目预计完成时间
tbr
:
""
,
// 填报人
...
...
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