明树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
727ed250
Commit
727ed250
authored
Mar 26, 2026
by
zhanghan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
c1b0a015
Pipeline
#108886
passed with stage
in 21 seconds
Changes
3
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1160 additions
and
1141 deletions
+1160
-1141
InvestmentRecoveryTable.vue
src/components/InvestmentRecoveryTable.vue
+16
-69
decision.vue
src/views/investingManage/decision.vue
+56
-8
decisionAdd.vue
src/views/investingManage/decisionAdd.vue
+1088
-1064
No files found.
src/components/InvestmentRecoveryTable.vue
View file @
727ed250
...
...
@@ -114,36 +114,6 @@
<!-- 本年完成率(分组) -->
<el-table-column
label=
"本年完成率"
align=
"center"
>
<el-table-column
label=
"本年决策"
prop=
"yearDecision"
min-width=
"180"
align=
"center"
>
<
template
#
default=
"{ row }"
>
<span
v-if=
"!row.isTotalRow"
class=
"calculated-value"
>
{{
formatCalculatedValue
(
row
.
yearDecision
)
}}
</span>
<span
v-else
class=
"calculated-value"
>
{{
formatCalculatedValue
(
row
.
yearDecision
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"本年计划"
prop=
"yearPlan"
align=
"center"
width=
"180"
>
<
template
#
default=
"{ row }"
>
<span
v-if=
"!row.isTotalRow"
class=
"calculated-value"
>
{{
formatCalculatedValue
(
row
.
yearPlan
)
}}
</span>
<span
v-else
class=
"calculated-value"
>
{{
formatCalculatedValue
(
row
.
yearPlan
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"本年累计/本年决策"
prop=
"yearCompletionRateDecision"
...
...
@@ -174,7 +144,7 @@
<el-table-column
label=
"截至本年完成(开累)"
prop=
"invoiceCompleted"
min-width=
"
18
0"
min-width=
"
20
0"
align=
"center"
>
<
template
#
default=
"{ row }"
>
...
...
@@ -190,36 +160,6 @@
<!-- 开累完成率(分组) -->
<el-table-column
label=
"开累完成率"
min-width=
"180"
align=
"center"
>
<el-table-column
min-width=
"180"
label=
"开累决策"
prop=
"invoiceDecision"
align=
"center"
>
<
template
#
default=
"{ row }"
>
<span
v-if=
"!row.isTotalRow"
class=
"calculated-value"
>
{{
formatCalculatedValue
(
row
.
invoiceDecision
)
}}
</span>
<span
v-else
class=
"calculated-value"
>
{{
formatCalculatedValue
(
row
.
invoiceDecision
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"开累计划"
min-width=
"180"
prop=
"invoicePlan"
align=
"center"
>
<
template
#
default=
"{ row }"
>
<span
v-if=
"!row.isTotalRow"
class=
"calculated-value"
>
{{
formatCalculatedValue
(
row
.
invoicePlan
)
}}
</span>
<span
v-else
class=
"calculated-value"
>
{{
formatCalculatedValue
(
row
.
invoicePlan
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"开累完成/开累决策"
prop=
"invoiceCompletionRateDecision"
...
...
@@ -465,7 +405,7 @@ const getIndicatorValue = (indicatorName, dataSource, type) => {
if
(
!
dataSource
||
!
dataSource
.
tableData
)
return
0
;
const
row
=
dataSource
.
tableData
.
find
(
(
r
)
=>
r
.
indicatorName
===
indicatorName
(
r
)
=>
r
.
indicatorName
===
indicatorName
,
);
if
(
!
row
)
return
0
;
...
...
@@ -510,23 +450,26 @@ const autoFillDecisionAndPlan = () => {
row
.
yearDecision
=
getIndicatorValue
(
row
.
indicatorName
,
props
.
decisionData
,
"yearDecision"
"yearDecision"
,
);
}
// 自动填充本年计划(从去年投资回收计划数据获取)
if
(
props
.
lastYearPlanData
&&
Object
.
keys
(
props
.
lastYearPlanData
).
length
>
0
)
{
if
(
props
.
lastYearPlanData
&&
Object
.
keys
(
props
.
lastYearPlanData
).
length
>
0
)
{
row
.
yearPlan
=
getIndicatorValue
(
row
.
indicatorName
,
props
.
lastYearPlanData
,
"yearPlan"
"yearPlan"
,
);
}
else
if
(
props
.
planData
&&
Object
.
keys
(
props
.
planData
).
length
>
0
)
{
// 如果没有去年数据,则使用当前年计划数据作为后备
row
.
yearPlan
=
getIndicatorValue
(
row
.
indicatorName
,
props
.
planData
,
"yearPlan"
"yearPlan"
,
);
}
...
...
@@ -535,7 +478,7 @@ const autoFillDecisionAndPlan = () => {
row
.
invoiceDecision
=
getIndicatorValue
(
row
.
indicatorName
,
props
.
decisionData
,
"invoiceDecision"
"invoiceDecision"
,
);
}
...
...
@@ -544,7 +487,7 @@ const autoFillDecisionAndPlan = () => {
row
.
invoicePlan
=
getIndicatorValue
(
row
.
indicatorName
,
props
.
planData
,
"invoicePlan"
"invoicePlan"
,
);
}
});
...
...
@@ -747,7 +690,11 @@ watch(
// 监听计划数据和决策数据变化
watch
(
[()
=>
props
.
planData
,
()
=>
props
.
decisionData
,
()
=>
props
.
lastYearPlanData
],
[
()
=>
props
.
planData
,
()
=>
props
.
decisionData
,
()
=>
props
.
lastYearPlanData
,
],
()
=>
{
nextTick
(()
=>
{
autoFillDecisionAndPlan
();
...
...
src/views/investingManage/decision.vue
View file @
727ed250
...
...
@@ -23,15 +23,46 @@
@
current-page-change=
"handleCurrentPageChange"
>
<template
#
operations=
"
{ row, index }">
<!-- projectLzType = 9: 重新决策 -->
<el-button
link
type=
"primary"
size=
"small"
v-if=
"canAudit && row.projectLzType == 9"
:loading=
"row.loading"
@
click=
"editProject(row)"
>
重新决策
</el-button
>
<!-- projectLzType = 12: 审核 -->
<el-button
link
type=
"primary"
size=
"small"
v-else-if=
"canAudit && row.projectLzType == 12"
:loading=
"row.loading"
@
click=
"previewProject(row)"
>
审核
</el-button
>
<!-- projectLzType = 11: 填报 -->
<el-button
link
type=
"primary"
size=
"small"
v-else-if=
"canAudit && row.projectLzType == 11"
:loading=
"row.loading"
@
click=
"editProject(row)"
>
填报
</el-button
>
<!-- 其他状态: 查看 -->
<el-button
link
type=
"primary"
size=
"small"
v-else
:loading=
"row.loading"
@
click=
"previewProject(row)"
>
{{
canAudit
&&
row
.
projectLzType
==
8
?
"审批"
:
"查看"
}}
</el-button
>
查看
</el-button
>
</
template
>
</common-table>
...
...
@@ -43,7 +74,6 @@
<
script
setup
>
import
{
reactive
,
ref
,
onMounted
,
computed
,
getCurrentInstance
}
from
"vue"
;
import
{
useRouter
}
from
"vue-router"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
{
useUserStore
}
from
"@/stores/user.js"
;
import
CommonTable
from
"@/components/common/commonTable.vue"
;
import
SearchForm
from
"@/components/common/SearchForm.vue"
;
...
...
@@ -84,7 +114,7 @@ let tableColumns = ref([
{
prop
:
"projectLzType"
,
label
:
"状态"
,
width
:
1
2
0
,
width
:
1
4
0
,
align
:
"center"
,
formatter
:
(
data
)
=>
{
return
data
.
projectLzType
===
"1"
...
...
@@ -99,6 +129,12 @@ let tableColumns = ref([
?
"决策审批中"
:
data
.
projectLzType
===
"9"
?
"已决策"
:
data
.
projectLzType
===
"11"
?
"再决策填报中"
:
data
.
projectLzType
===
"12"
?
"再决策审批中"
:
data
.
projectLzType
===
"13"
?
"再决策审批通过"
:
"待立项"
;
},
},
...
...
@@ -125,7 +161,7 @@ const getProjectData = (params = {}) => {
page
:
currentPage
.
value
,
pagesize
:
pageSize
.
value
,
attributes
:
[],
menuType
:
"xmjc"
,
menuType
:
"xm
z
jc"
,
...
params
,
},
callback
:
(
data
)
=>
{
...
...
@@ -149,11 +185,23 @@ const handleCurrentPageChange = (page) => {
getProjectData
();
};
const
previewProject
=
(
item
)
=>
{
// 预览模式:查看、审核
router
.
push
({
name
:
"decisionAdd"
,
query
:
{
projectId
:
item
.
id
,
isPreview
:
1
,
// 预览模式
},
});
};
const
editProject
=
(
item
)
=>
{
// 编辑模式:重新决策、填报
router
.
push
({
name
:
"decisionAdd"
,
query
:
{
isPreview
:
true
,
projectId
:
item
.
id
,
// 不传 isPreview,默认为编辑模式
},
});
};
...
...
src/views/investingManage/decisionAdd.vue
View file @
727ed250
This source diff could not be displayed because it is too large. You can
view the blob
instead.
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