Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
web-project
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
紫光云
web-project
Commits
4ef853eb
Commit
4ef853eb
authored
Nov 12, 2024
by
高滢
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(资金计划): 资金来源表格六列
parent
b3dd25b9
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
140 additions
and
158 deletions
+140
-158
index.less
src/design/index.less
+3
-0
completedData.vue
src/views/completed/completedData.vue
+10
-10
completedEdit.vue
src/views/completed/completedEdit/completedEdit.vue
+42
-105
tableData.tsx
src/views/completed/completedEdit/tableData.tsx
+75
-43
project.data.ts
src/views/project/project.data.ts
+10
-0
No files found.
src/design/index.less
View file @
4ef853eb
...
...
@@ -59,3 +59,6 @@ ul {
.tableshow {
display: revert;
}
.vben-editable-cell__action{
display: none;
}
src/views/completed/completedData.vue
View file @
4ef853eb
...
...
@@ -219,8 +219,6 @@ import {onMounted, ref, unref} from 'vue';
dataIndex
:
'totalOwnFunds'
,
width
:
180
,
},
],
},
{
title
:
'资金缺口'
,
dataIndex
:
'fundingGap'
,
...
...
@@ -228,6 +226,8 @@ import {onMounted, ref, unref} from 'vue';
},
],
},
],
},
];
}
else
{
return
[
...
...
@@ -295,8 +295,6 @@ import {onMounted, ref, unref} from 'vue';
dataIndex
:
'totalOwnFunds'
,
width
:
180
,
},
],
},
{
title
:
'资金缺口'
,
dataIndex
:
'fundingGap'
,
...
...
@@ -304,6 +302,8 @@ import {onMounted, ref, unref} from 'vue';
},
],
},
],
},
];
}
}
...
...
src/views/completed/completedEdit/completedEdit.vue
View file @
4ef853eb
...
...
@@ -31,29 +31,10 @@
</CollapseContainer>
<BasicForm
:loading=
"loading"
@
register=
"item.Form[0]"
/>
<div
style=
"display: flex; align-items: flex-start"
>
<div
style=
"width:
500px
; height: 400px"
>
<div
style=
"width:
100%
; height: 400px"
>
<div
style=
"padding: 0 30px"
>
<span
style=
"color: #ed6f6f"
>
{{ '* ' }}
</span>
<span>
{{ item.year + '资金来源' }}
</span>
</div>
<BasicTable
@
register=
"item.table"
@
edit-change=
"
(e) => {
beforeEditSubmit(item, index);
}
"
:beforeEditSubmit=
"
(e) => {
beforeEditSubmit(item, index);
}
"
/>
</div>
<div
style=
"width: 800px; height: 400px"
>
<div
style=
"padding: 0 30px"
>
<span
style=
"color: #ed6f6f"
>
{{ '* ' }}
</span>
<span>
{{ item.year + '年资金计划额' }}
</span>
<span>
{{ item.year + '年资金来源' }}
</span>
</div>
<BasicTable
@
register=
"item.tableTwo"
...
...
@@ -67,6 +48,7 @@
beforeEditSubmitTwo(item, index);
}
"
:scroll=
"{ x: 2000, y:400}"
/>
</div>
</div>
...
...
@@ -91,9 +73,7 @@
import
{
router
}
from
'@/router'
;
import
{
BasicTable
,
useTable
}
from
'@/components/Table'
;
import
{
getBasicColumns
,
getBasicColumnsTwo
,
basicColumnsDisabled
,
basicColumnsTwoDisabled
,
}
from
'./tableData'
;
import
{
ref
,
nextTick
,
onMounted
,
unref
,
reactive
}
from
'vue'
;
...
...
@@ -117,24 +97,6 @@
const
engineerId
=
ref
(
''
);
const
routeId
=
ref
(
''
);
let
show
=
ref
<
Recordable
[]
>
([]);
function
beforeEditSubmit
(
item
,
index
)
{
let
{
getDataSource
}
=
item
.
table
[
1
];
const
res
=
getDataSource
();
const
totalNo
=
res
.
reduce
((
prev
,
next
)
=>
{
prev
+=
Number
(
next
.
value
);
return
prev
;
},
0
);
tabsFormSchema
[
index
].
table
[
1
].
setProps
({
summaryData
:
[
{
quarter
:
'合计'
,
value
:
totalNo
,
},
],
});
return
true
;
}
function
beforeEditSubmitTwo
(
item
,
index
)
{
let
{
getDataSource
}
=
item
.
tableTwo
[
1
];
const
res
=
getDataSource
();
...
...
@@ -154,6 +116,14 @@
prev
+=
Number
(
next
.
governmentGrant
);
return
prev
;
},
0
);
const
totalNofiv
=
res
.
reduce
((
prev
,
next
)
=>
{
prev
+=
Number
(
next
.
fundingGap
);
return
prev
;
},
0
);
const
totalNosix
=
res
.
reduce
((
prev
,
next
)
=>
{
prev
+=
Number
(
next
.
totalValue
);
return
prev
;
},
0
);
tabsFormSchema
[
index
].
tableTwo
[
1
].
setProps
({
summaryData
:
[
{
...
...
@@ -162,6 +132,8 @@
bankFinancing
:
totalNoTwo
,
ownFunds
:
totalNoThree
,
governmentGrant
:
totalNofour
,
fundingGap
:
totalNofiv
,
totalValue
:
totalNosix
,
},
],
});
...
...
@@ -203,21 +175,25 @@
let
res
=
await
getItem
({
id
});
console
.
log
(
'后端返回的数据'
,
res
);
for
(
let
i
=
0
;
i
<
res
.
length
;
i
++
)
{
const
amountList
=
res
[
i
].
amountList
;
let
num
=
0
;
for
(
let
a
=
0
;
a
<
amountList
.
length
;
a
++
)
{
num
+=
Number
(
amountList
[
a
].
value
);
}
//
const amountList = res[i].amountList;
//
let num = 0;
//
for (let a = 0; a
<
amountList
.
length
;
a
++
)
{
//
num += Number(amountList[a].value);
//
}
const
sourceList
=
res
[
i
].
sourceList
;
let
specialBondNum
=
0
;
let
bankFinancingNum
=
0
;
let
ownFundsNum
=
0
;
let
governmentGrantNum
=
0
;
let
totalValueNum
=
0
;
let
fundingGapNum
=
0
;
for
(
let
a
=
0
;
a
<
sourceList
.
length
;
a
++
)
{
specialBondNum
+=
Number
(
sourceList
[
a
].
specialBond
);
bankFinancingNum
+=
Number
(
sourceList
[
a
].
bankFinancing
);
ownFundsNum
+=
Number
(
sourceList
[
a
].
ownFunds
);
governmentGrantNum
+=
Number
(
sourceList
[
a
].
governmentGrant
);
totalValueNum
+=
Number
(
sourceList
[
a
].
totalValue
);
fundingGapNum
+=
Number
(
sourceList
[
a
].
fundingGap
);
}
const
item
=
{
proId
:
res
[
i
].
proId
,
...
...
@@ -231,16 +207,6 @@
baseFormConfig
,
)
as
FormProps
,
),
table
:
useTable
({
title
:
'表尾行合计示例'
,
columns
:
disabled
.
value
==
1
?
basicColumnsDisabled
()
:
getBasicColumns
(),
showSummary
:
true
,
summaryData
:
[{
quarter
:
'合计'
,
value
:
num
}],
maxHeight
:
180
,
maxWidth
:
200
,
showIndexColumn
:
false
,
pagination
:
false
,
}),
tableTwo
:
useTable
({
title
:
'表尾行合计示例'
,
columns
:
disabled
.
value
==
1
?
basicColumnsTwoDisabled
()
:
getBasicColumnsTwo
(),
...
...
@@ -252,6 +218,8 @@
bankFinancing
:
bankFinancingNum
,
ownFunds
:
ownFundsNum
,
governmentGrant
:
governmentGrantNum
,
totalValue
:
totalValueNum
,
fundingGap
:
fundingGapNum
,
},
],
maxHeight
:
180
,
...
...
@@ -267,7 +235,7 @@
if
(
formData
.
value
.
subList
===
undefined
)
{
formData
.
value
.
subList
=
[];
}
setTable
(
item
.
table
[
1
],
info
.
amountList
);
//
setTable(item.table[1], info.amountList);
setTable
(
item
.
tableTwo
[
1
],
info
.
sourceList
);
nextTick
(()
=>
{
setFieldsValue
(
info
);
...
...
@@ -286,7 +254,7 @@
proId
:
string
;
name
:
string
;
show
?:
boolean
;
sumData
?:
any
;
//
sumData?: any;
sumDatatwo
?:
any
;
forceRender
?:
boolean
;
Form
:
UseFormReturnType
;
...
...
@@ -336,12 +304,6 @@
baseFormConfig
,
)
as
FormProps
,
),
sumData
:
[
{
quarter
:
'合计'
,
value
:
0
,
},
],
sumDataTwo
:
[
{
quarter
:
'合计'
,
...
...
@@ -349,21 +311,13 @@
bankFinancing
:
0
,
ownFunds
:
0
,
governmentGrant
:
0
,
fundingGap
:
0
,
totalValue
:
0
,
},
],
table
:
[],
//
table: [],
tableTwo
:
[],
};
item
.
table
=
useTable
({
title
:
'表尾行合计示例'
,
columns
:
getBasicColumns
(),
showSummary
:
true
,
summaryData
:
item
.
sumData
,
maxHeight
:
180
,
maxWidth
:
200
,
showIndexColumn
:
false
,
pagination
:
false
,
});
item
.
tableTwo
=
useTable
({
title
:
'表尾行合计示例'
,
columns
:
getBasicColumnsTwo
(),
...
...
@@ -377,24 +331,6 @@
const
{
setFieldsValue
}
=
item
.
Form
[
1
];
tabsFormSchema
.
push
(
item
);
setTable
(
item
.
table
[
1
],
[
{
quarter
:
'一季度'
,
value
:
''
,
},
{
quarter
:
'二季度'
,
value
:
''
,
},
{
quarter
:
'三季度'
,
value
:
''
,
},
{
quarter
:
'四季度'
,
value
:
''
,
},
]);
setTable
(
item
.
tableTwo
[
1
],
[
{
quarter
:
'一季度'
,
...
...
@@ -402,6 +338,8 @@
bankFinancing
:
''
,
ownFunds
:
''
,
governmentGrant
:
''
,
fundingGap
:
''
,
totalValue
:
''
,
},
{
quarter
:
'二季度'
,
...
...
@@ -409,6 +347,8 @@
bankFinancing
:
''
,
ownFunds
:
''
,
governmentGrant
:
''
,
fundingGap
:
''
,
totalValue
:
''
,
},
{
quarter
:
'三季度'
,
...
...
@@ -416,6 +356,8 @@
bankFinancing
:
''
,
ownFunds
:
''
,
governmentGrant
:
''
,
fundingGap
:
''
,
totalValue
:
''
,
},
{
quarter
:
'四季度'
,
...
...
@@ -423,6 +365,8 @@
bankFinancing
:
''
,
ownFunds
:
''
,
governmentGrant
:
''
,
fundingGap
:
''
,
totalValue
:
''
,
},
]);
nextTick
(()
=>
{
...
...
@@ -435,6 +379,7 @@
projectOverview
:
info
.
projectOverview
,
fundingSource
:
info
.
fundingSource
,
implementingEntity
:
info
.
implementingEntity
,
projectInvestment
:
info
.
projectInvestment
,
});
});
// }
...
...
@@ -474,7 +419,6 @@
{
field
:
'constructionNature'
,
required
:
false
},
{
field
:
'time'
,
required
:
false
},
{
field
:
'imageProgress'
,
required
:
false
},
{
field
:
'fundingGap'
,
required
:
false
},
]);
}
else
{
updateSchema
([
...
...
@@ -491,7 +435,6 @@
{
field
:
'constructionNature'
,
required
:
planType
.
value
===
'计划投资项目'
},
{
field
:
'time'
,
required
:
planType
.
value
===
'计划投资项目'
},
{
field
:
'imageProgress'
,
required
:
planType
.
value
===
'计划投资项目'
},
{
field
:
'fundingGap'
,
required
:
true
},
]);
}
}
...
...
@@ -504,25 +447,23 @@
let
item
=
tabsFormSchema
[
i
];
if
(
item
.
show
)
{
const
{
validate
,
getFieldsValue
}
=
item
.
Form
[
1
];
let
data
=
getData
(
item
.
table
[
1
]);
//
let data = getData(item.table[1]);
let
dataTwo
=
getData
(
item
.
tableTwo
[
1
]);
await
validate
();
let
res
=
getFieldsValue
();
console
.
log
(
'表单的数据'
,
res
);
for
(
let
a
=
0
;
a
<
data
.
length
;
a
++
)
{
data
[
a
].
value
=
Number
(
data
[
a
].
value
);
}
for
(
let
j
=
0
;
j
<
dataTwo
.
length
;
j
++
)
{
dataTwo
[
j
].
governmentGrant
=
Number
(
dataTwo
[
j
].
governmentGrant
);
dataTwo
[
j
].
specialBond
=
Number
(
dataTwo
[
j
].
specialBond
);
dataTwo
[
j
].
bankFinancing
=
Number
(
dataTwo
[
j
].
bankFinancing
);
dataTwo
[
j
].
ownFunds
=
Number
(
dataTwo
[
j
].
ownFunds
);
dataTwo
[
j
].
totalValue
=
Number
(
dataTwo
[
j
].
totalValue
);
dataTwo
[
j
].
fundingGap
=
Number
(
dataTwo
[
j
].
fundingGap
);
}
var
obj
=
{
startTime
:
res
.
time
?
res
.
time
[
0
]
:
''
,
endTime
:
res
.
time
?
res
.
time
[
1
]
:
''
,
proId
:
item
.
proId
,
amountList
:
data
,
sourceList
:
dataTwo
,
};
obj
=
deepMerge
(
obj
,
res
);
...
...
@@ -541,11 +482,7 @@
addItemData
.
businessType
=
'已竣工验收项目陈欠资金计划'
;
await
addItemApi
(
addItemData
);
}
else
if
(
!
isUpdate
.
value
)
{
const
res
=
await
addItem
(
unref
(
formData
));
addItemData
.
operateType
=
operateType
.
add
;
addItemData
.
businessId
=
res
;
addItemData
.
businessType
=
'已竣工验收项目陈欠资金计划'
;
await
addItemApi
(
addItemData
);
await
addItem
(
unref
(
formData
));
}
loading
.
value
=
true
;
if
(
isSubmit
===
'1'
)
{
...
...
src/views/completed/completedEdit/tableData.tsx
View file @
4ef853eb
import
{
Form
Props
,
Form
Schema
,
BasicColumn
}
from
'@/components/Table'
;
import
{
FormSchema
,
BasicColumn
}
from
'@/components/Table'
;
export
function
getBasicColumns
():
BasicColumn
[]
{
return
[
...
...
@@ -10,9 +10,7 @@ export function getBasicColumns(): BasicColumn[] {
{
title
:
'数值(万元)'
,
dataIndex
:
'value'
,
width
:
150
,
// sorter: true,
// defaultHidden: true,
width
:
80
,
edit
:
true
,
editable
:
true
,
editRule
:
true
,
...
...
@@ -31,9 +29,7 @@ export function basicColumnsDisabled(): BasicColumn[] {
{
title
:
'数值(万元)'
,
dataIndex
:
'value'
,
width
:
150
,
// sorter: true,
// defaultHidden: true,
width
:
80
,
editComponent
:
'InputNumber'
,
},
];
...
...
@@ -44,52 +40,69 @@ export function getBasicColumnsTwo(): BasicColumn[] {
{
title
:
'季度'
,
dataIndex
:
'quarter'
,
width
:
80
,
width
:
50
,
fixed
:
'left'
,
},
{
title
:
'政府拨款'
,
title
:
'政府拨款
(万元)
'
,
dataIndex
:
'governmentGrant'
,
width
:
150
,
// sorter: true,
// defaultHidden: true,
width
:
50
,
edit
:
true
,
editable
:
true
,
editRule
:
true
,
editComponent
:
'InputNumber'
,
},
{
title
:
'专项债拨款'
,
title
:
'专项债拨款
(万元)
'
,
dataIndex
:
'specialBond'
,
width
:
150
,
// sorter: true,
// defaultHidden: true,
width
:
50
,
edit
:
true
,
editable
:
true
,
editRule
:
true
,
editComponent
:
'InputNumber'
,
},
{
title
:
'银行融资'
,
title
:
'银行融资
(万元)
'
,
dataIndex
:
'bankFinancing'
,
width
:
150
,
// sorter: true,
// defaultHidden: true,
width
:
50
,
edit
:
true
,
editable
:
true
,
editRule
:
true
,
editComponent
:
'InputNumber'
,
},
{
title
:
'自有资金'
,
title
:
'自有资金
(万元)
'
,
dataIndex
:
'ownFunds'
,
width
:
150
,
// sorter: true,
// defaultHidden: true,
width
:
50
,
edit
:
true
,
editable
:
true
,
editRule
:
true
,
editComponent
:
'InputNumber'
,
},
{
title
:
'资金缺口(万元)'
,
dataIndex
:
'fundingGap'
,
width
:
50
,
edit
:
true
,
editable
:
true
,
editRule
:
true
,
editComponent
:
'InputNumber'
,
},
{
title
:
'资金计划额(万元)'
,
dataIndex
:
'totalValue'
,
width
:
50
,
customRender
:
({
record
})
=>
{
// 这里可以根据record的其他字段计算值
record
.
totalValue
=
record
.
ownFunds
+
record
.
specialBond
+
record
.
bankFinancing
+
record
.
governmentGrant
+
record
.
fundingGap
;
// 计算新值
return
record
.
totalValue
;
// 返回计算后的值
},
},
];
}
...
...
@@ -104,32 +117,36 @@ export function basicColumnsTwoDisabled(): BasicColumn[] {
title
:
'政府拨款'
,
dataIndex
:
'governmentGrant'
,
width
:
150
,
// sorter: true,
// defaultHidden: true,
editComponent
:
'InputNumber'
,
},
{
title
:
'专项债拨款'
,
dataIndex
:
'specialBond'
,
width
:
150
,
// sorter: true,
// defaultHidden: true,
editComponent
:
'InputNumber'
,
},
{
title
:
'银行融资'
,
dataIndex
:
'bankFinancing'
,
width
:
150
,
// sorter: true,
// defaultHidden: true,
editComponent
:
'InputNumber'
,
},
{
title
:
'自有资金'
,
dataIndex
:
'ownFunds'
,
width
:
150
,
// sorter: true,
// defaultHidden: true,
editComponent
:
'InputNumber'
,
},
{
title
:
'资金缺口(万元)'
,
dataIndex
:
'fundingGap'
,
width
:
50
,
editComponent
:
'InputNumber'
,
},
{
title
:
'资金计划额(万元)'
,
dataIndex
:
'totalValue'
,
width
:
50
,
editComponent
:
'InputNumber'
,
},
];
...
...
@@ -262,6 +279,21 @@ export function formSchema(year, planType): FormSchema[] {
},
colProps
:
{
span
:
7
,
offset
:
1
},
},
{
field
:
'fundSource'
,
label
:
'资金来源'
,
required
:
true
,
component
:
'Select'
,
componentProps
:
{
options
:
[
{
label
:
'政府投资项目'
,
value
:
'政府投资项目'
},
{
label
:
'公司投资项目'
,
value
:
'公司投资项目'
},
{
label
:
'专项债项目'
,
value
:
'专项债项目'
},
{
label
:
'承建项目'
,
value
:
'承建项目'
},
],
},
colProps
:
{
span
:
7
,
offset
:
1
},
},
{
field
:
'time'
,
component
:
'RangePicker'
,
...
...
@@ -303,17 +335,17 @@ export function formSchema(year, planType): FormSchema[] {
component
:
'Input'
,
colProps
:
{
span
:
7
,
offset
:
1
},
},
{
field
:
'fundingGap'
,
label
:
'2024资金缺口:'
,
labelWidth
:
200
,
required
:
true
,
component
:
'InputNumber'
,
componentProps
:
{
addonAfter
:
'万元'
,
},
colProps
:
{
span
:
7
,
offset
:
1
},
},
//
{
//
field: 'fundingGap',
//
label: '2024资金缺口:',
//
labelWidth: 200,
//
required: true,
//
component: 'InputNumber',
//
componentProps: {
//
addonAfter: '万元',
//
},
//
colProps: { span: 7, offset: 1 },
//
},
{
label
:
'备注'
,
field
:
'remarks'
,
...
...
src/views/project/project.data.ts
View file @
4ef853eb
...
...
@@ -49,6 +49,16 @@ export let formSchema: FormSchema[] = [
style
:
{
width
:
'100%'
},
},
},
{
field
:
'projectInvestment'
,
label
:
'立项总投资'
,
required
:
true
,
component
:
'InputNumber'
,
componentProps
:
{
addonAfter
:
'万元'
,
},
labelWidth
:
'140px'
,
},
{
field
:
'isReserveProject'
,
label
:
'储备项目'
,
...
...
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