Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
Y
yn-science-front
Project
Project
Details
Activity
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
徐俊
yn-science-front
Commits
0c10b184
Commit
0c10b184
authored
Nov 29, 2024
by
wangxl
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.yiboshi.com/XuJun/yn-science-front
parents
5d76244e
1dfac4eb
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
744 additions
and
14 deletions
+744
-14
budgetEdit.vue
src/views/report/project/components/budgetEdit.vue
+2
-2
budgetInfo.vue
src/views/report/project/components/budgetInfo.vue
+2
-2
equipmentsEdit.vue
src/views/report/project/components/equipmentsEdit.vue
+0
-0
equipmentsInfo.vue
src/views/report/project/components/equipmentsInfo.vue
+302
-0
fundPlanEdit.vue
src/views/report/project/components/fundPlanEdit.vue
+3
-3
fundPlanInfo.vue
src/views/report/project/components/fundPlanInfo.vue
+3
-3
projectEdit.vue
src/views/report/project/components/projectEdit.vue
+9
-4
unitPaymentEdit.vue
src/views/report/project/components/unitPaymentEdit.vue
+225
-0
unitPaymentInfo.vue
src/views/report/project/components/unitPaymentInfo.vue
+198
-0
No files found.
src/views/report/project/components/budgetEdit.vue
View file @
0c10b184
...
...
@@ -7,7 +7,7 @@
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"
item_inn
er"
>
<a-row
type=
"flex"
class=
"
row_cent
er"
>
<a-col
:span=
"6"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
预算科目
</div>
...
...
@@ -35,7 +35,7 @@
</a-col>
</a-row>
<a-row
v-for=
"(item, index) in budget"
:key=
"index"
type=
"flex"
class=
"
item_inn
er"
>
<a-row
v-for=
"(item, index) in budget"
:key=
"index"
type=
"flex"
class=
"
row_cent
er"
>
<a-col
:span=
"6"
style=
"text-align: right;"
>
<div
class=
"special-middle"
>
{{
item
.
budgetName
}}
</div>
</a-col>
...
...
src/views/report/project/components/budgetInfo.vue
View file @
0c10b184
...
...
@@ -7,7 +7,7 @@
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"
item_inn
er"
>
<a-row
type=
"flex"
class=
"
row_cent
er"
>
<a-col
:span=
"6"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
预算科目
</div>
...
...
@@ -35,7 +35,7 @@
</a-col>
</a-row>
<a-row
v-for=
"(item, index) in budget"
:key=
"index"
type=
"flex"
class=
"
item_inn
er"
>
<a-row
v-for=
"(item, index) in budget"
:key=
"index"
type=
"flex"
class=
"
row_cent
er"
>
<a-col
:span=
"6"
style=
"text-align: right;"
>
<div
class=
"special-middle"
>
{{
item
.
budgetName
}}
</div>
</a-col>
...
...
src/views/report/project/components/equipmentsEdit.vue
View file @
0c10b184
This diff is collapsed.
Click to expand it.
src/views/report/project/components/equipmentsInfo.vue
View file @
0c10b184
<
template
>
<div>
<a-row>
<a-col
:span=
"24"
>
<div
class=
"tb-title"
>
<span>
设备费-购置设备预算明细表
<strong>
(金额单位:万元)
</strong></span>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"1"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
序号
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
设备名称
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
功能和技术指标
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
单价(万元/套台)
</div>
</div>
</a-col>
<a-col
:span=
"1"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
数量(套台)
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
金额(万元)
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
购置单位
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
存放单位(地点)
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
设备类型
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
主要生产
<br
/>
厂家及国别
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
规格型号
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
拟开发共享范围
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
购置必要性及
<br
/>
对项目研究的
<br
/>
作用和用途
</div>
</div>
</a-col>
</a-row>
<a-row
v-for=
"(item, index) in equipments"
:key=
"'equipments' + index"
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
>
{{
index
+
1
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
item
.
name
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
item
.
functionTarget
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
parseFloat
(
item
.
unitPrice
).
toFixed
(
2
)
}}
</div>
</a-col>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
>
{{
item
.
quantity
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
parseFloat
(
item
.
totalBudget
).
toFixed
(
2
)
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
item
.
buyUnit
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
item
.
storageLocation
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
item
.
equipmentType
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
item
.
manufacturer
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
item
.
specificationType
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
item
.
sharedScope
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
item
.
useFrom
}}
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"5"
>
<div
class=
"special-middle"
><div>
单价50万元及以上购置设备合计
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
><div>
{{
fiftyUpNumber
}}
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
{{
parseFloat
(
fiftyUpAmount
).
toFixed
(
2
)
}}
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"5"
>
<div
class=
"special-middle"
><div>
单价50万元以下购置设备合计
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
><div>
{{
fiftyDownNumber
}}
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
{{
parseFloat
(
fiftyDownAmount
).
toFixed
(
2
)
}}
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"5"
>
<div
class=
"special-middle"
><div>
累计
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
><div>
{{
totalNumber
}}
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
{{
parseFloat
(
totalAmount
).
toFixed
(
2
)
}}
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><div>
/
</div></div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"item_inner"
>
<a-col
:span=
"24"
>
<span
style=
"color: red;"
>
注:1.本表只填写省级财政科技资金购置的设备;涉及自筹经费购买的设备,请在资金预算编制说明中说明。
<br
/>
2.单价50万元以下的设备不填写明细。
</span>
</a-col>
</a-row>
</div>
</
template
>
<
script
>
const
Equipment
=
{
id
:
""
,
objectId
:
""
,
name
:
""
,
functionTarget
:
""
,
specificationType
:
""
,
quantity
:
1
,
totalBudget
:
0.00
,
useFrom
:
""
,
buyUnit
:
""
,
storageLocation
:
""
,
equipmentType
:
""
,
manufacturer
:
""
,
sharedScope
:
""
,
unitPrice
:
0.00
,
};
export
default
{
name
:
"EquipmentInfo"
,
data
()
{
return
{
fiftyUpNumber
:
0
,
fiftyUpAmount
:
0.00
,
fiftyDownNumber
:
0
,
fiftyDownAmount
:
0.00
,
totalNumber
:
0
,
totalAmount
:
0.00
,
};
},
props
:
{
equipments
:
{
type
:
Array
,
default
:
()
=>
{
return
[];
},
},
},
created
()
{
},
methods
:
{
calNumberAmount
()
{
this
.
fiftyUpAmount
=
0.00
this
.
fiftyDownAmount
=
0.00
this
.
fiftyUpNumber
=
0
this
.
fiftyDownNumber
=
0
this
.
equipments
.
forEach
(
e
=>
{
if
(
e
.
unitPrice
>=
50
)
{
this
.
fiftyUpAmount
+=
e
.
unitPrice
*
e
.
quantity
this
.
fiftyUpNumber
+=
e
.
quantity
}
else
{
this
.
fiftyDownAmount
+=
e
.
unitPrice
*
e
.
quantity
this
.
fiftyDownNumber
+=
e
.
quantity
}
})
this
.
totalNumber
=
this
.
fiftyUpNumber
+
this
.
fiftyDownNumber
this
.
totalAmount
=
this
.
fiftyUpAmount
+
this
.
fiftyDownAmount
},
outUnitPriceChange
(
index
)
{
this
.
equipments
[
index
].
totalBudget
=
this
.
equipments
[
index
].
unitPrice
*
this
.
equipments
[
index
].
quantity
this
.
calNumberAmount
()
},
outNumberChange
(
index
)
{
this
.
equipments
[
index
].
totalBudget
=
this
.
equipments
[
index
].
unitPrice
*
this
.
equipments
[
index
].
quantity
this
.
calNumberAmount
()
},
},
};
</
script
>
\ No newline at end of file
src/views/report/project/components/fundPlanEdit.vue
View file @
0c10b184
<
template
>
<div>
<a-row
type=
"flex"
class=
"
item_inn
er"
>
<a-row
type=
"flex"
class=
"
row_cent
er"
>
<a-col
:span=
"6"
class=
"bg-gray"
>
<div
class=
"special-middle"
style=
"text-align: right;"
>
<div>
三、分年度用款计划
</div>
...
...
@@ -12,7 +12,7 @@
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"
item_inn
er"
>
<a-row
type=
"flex"
class=
"
row_cent
er"
>
<a-col
:span=
"6"
class=
"bg-gray"
>
<div
class=
"special-middle"
style=
"text-align: right;"
>
<div>
年度
</div>
...
...
@@ -50,7 +50,7 @@
</a-col>
</a-row>
<a-row
v-for=
"(item, index) in fundPlan"
:key=
"index"
type=
"flex"
class=
"
item_inn
er"
>
<a-row
v-for=
"(item, index) in fundPlan"
:key=
"index"
type=
"flex"
class=
"
row_cent
er"
>
<a-col
:span=
"6"
style=
"text-align: right;"
>
<div
class=
"special-middle"
>
{{
item
.
fundName
}}
</div>
</a-col>
...
...
src/views/report/project/components/fundPlanInfo.vue
View file @
0c10b184
<
template
>
<div>
<a-row
type=
"flex"
class=
"
item_inn
er"
>
<a-row
type=
"flex"
class=
"
row_cent
er"
>
<a-col
:span=
"6"
class=
"bg-gray"
>
<div
class=
"special-middle"
style=
"text-align: right;"
>
<div>
三、分年度用款计划
</div>
...
...
@@ -12,7 +12,7 @@
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"
item_inn
er"
>
<a-row
type=
"flex"
class=
"
row_cent
er"
>
<a-col
:span=
"6"
class=
"bg-gray"
>
<div
class=
"special-middle"
style=
"text-align: right;"
>
<div>
年度
</div>
...
...
@@ -50,7 +50,7 @@
</a-col>
</a-row>
<a-row
v-for=
"(item, index) in fundPlan"
:key=
"index"
type=
"flex"
class=
"
item_inn
er"
>
<a-row
v-for=
"(item, index) in fundPlan"
:key=
"index"
type=
"flex"
class=
"
row_cent
er"
>
<a-col
:span=
"6"
style=
"text-align: right;"
>
<div
class=
"special-middle"
>
{{
item
.
fundName
}}
</div>
</a-col>
...
...
src/views/report/project/components/projectEdit.vue
View file @
0c10b184
...
...
@@ -602,6 +602,8 @@
<fund-plan-edit
:fundPlan
.
sync=
"formData.fundPlan"
/>
<!-- 设备费-购置设备预算明细表 -->
<equipments-edit
:equipments
.
sync=
"formData.equipments"
/>
<!-- 设备费-购置设备预算明细表 -->
<unit-payment-edit
:unitPayment
.
sync=
"formData.unitPayment"
/>
<!-- 项目课题设置 -->
<project-sub-edit
:projectSubList
.
sync=
"formData.projectSubList"
/>
...
...
@@ -625,6 +627,7 @@ import cooperativeUnits from '@/views/report/project/components/cooperativeUnits
import
budgetEdit
from
'@/views/report/project/components/budgetEdit'
import
fundPlanEdit
from
'@/views/report/project/components/fundPlanEdit'
import
equipmentsEdit
from
'@/views/report/project/components/equipmentsEdit.vue'
import
unitPaymentEdit
from
'@/views/report/project/components/unitPaymentEdit.vue'
import
projectSubEdit
from
'@/views/report/project/components/projectSubEdit'
import
managementRuleEdit
from
'@/views/report/project/components/managementRuleEdit'
import
fileEdit
from
'@/views/report/project/components/fileEdit'
...
...
@@ -635,13 +638,13 @@ const ManagementRule = { policyName: null, releaseDate: null, documentNumber: nu
const
ProjectSub
=
{
projName
:
null
,
undertakingUnit
:
null
,
address
:
null
,
director
:
null
,
totalBudget
:
null
,
govBudget
:
null
,
selfBudget
:
null
,
cooperativeUnits
:
null
,
fileId
:
null
,
downloadId
:
null
,
fileName
:
null
,
downloadUrl
:
null
}
const
Cooperative
=
{
id
:
null
,
unitName
:
null
,
unitCountry
:
null
,
unitAddress
:
null
,
organizationCode
:
null
,
projectWork
:
null
}
const
Members
=
{
name
:
null
,
sex
:
null
,
birthday
:
null
,
certificateType
:
null
,
certId
:
null
,
nation
:
null
,
country
:
null
,
workUnit
:
null
,
title
:
null
,
degree
:
null
,
email
:
null
,
mobile
:
null
,
telephone
:
null
,
fax
:
null
,
projWork
:
null
,
forMonths
:
null
,
spec
:
null
}
const
Equipment
s
=
{
name
:
null
,
specificationType
:
null
,
quantity
:
null
,
totalBudget
:
null
,
useFrom
:
null
}
const
Equipment
=
{
id
:
""
,
objectId
:
""
,
name
:
""
,
functionTarget
:
""
,
specificationType
:
""
,
quantity
:
1
,
totalBudget
:
0.00
,
useFrom
:
""
,
buyUnit
:
""
,
storageLocation
:
""
,
equipmentType
:
""
,
manufacturer
:
""
,
sharedScope
:
""
,
unitPrice
:
0.00
,
}
const
File
=
{
fileName
:
''
,
downloadUrl
:
''
,
fileExplain
:
''
,
downloadId
:
''
}
export
default
{
name
:
'projectEdit'
,
components
:
{
paraMultiSelect
,
paraSelect
,
baseSelect
,
projectMemberEdit
,
cooperativeUnits
,
budgetEdit
,
fundPlanEdit
,
equipmentsEdit
,
projectSubEdit
,
managementRuleEdit
,
fileEdit
paraMultiSelect
,
paraSelect
,
baseSelect
,
projectMemberEdit
,
cooperativeUnits
,
budgetEdit
,
fundPlanEdit
,
equipmentsEdit
,
unitPaymentEdit
,
projectSubEdit
,
managementRuleEdit
,
fileEdit
},
props
:
{
value
:
{
...
...
@@ -793,8 +796,10 @@ export default {
this
.
formData
.
cooperativeUnits
=
[{
...
Cooperative
}]
if
(
!!!
this
.
formData
.
members
||
this
.
formData
.
members
.
length
==
0
)
this
.
formData
.
members
=
[{
...
Members
}]
if
(
!!!
this
.
formData
.
equipments
||
this
.
formData
.
equipments
.
length
==
0
)
this
.
formData
.
equipments
=
[{
...
Equipments
}]
if
(
!!!
this
.
formData
.
equipments
||
!
this
.
formData
.
equipments
.
length
||
this
.
formData
.
equipments
.
length
==
0
)
this
.
formData
.
equipments
=
[]
if
(
!!!
this
.
formData
.
unitPayment
||
!
this
.
formData
.
unitPayment
.
length
||
this
.
formData
.
unitPayment
.
length
==
0
)
this
.
formData
.
unitPayment
=
[]
if
(
!!!!
this
.
formData
.
fileList
||
!
this
.
formData
.
fileList
.
length
||
this
.
formData
.
fileList
.
length
==
0
)
{
this
.
formData
.
fileList
=
[]
}
...
...
src/views/report/project/components/unitPaymentEdit.vue
0 → 100644
View file @
0c10b184
<
template
>
<div>
<a-row>
<a-col
:span=
"24"
>
<div
class=
"tb-title"
>
<span>
科技计划项目承担单位研究资金支出预算明细表
<strong>
(金额单位:万元)
</strong></span>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
序号
</div>
</div>
</a-col>
<a-col
:span=
"3"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
单位名称
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
单位国别
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
统一社会信用代码
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
单位类型
</div>
</div>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
任务分工
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
研究任务负责人
</div>
</div>
</a-col>
<a-col
:span=
"1"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
合计
</div>
</div>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
style=
"height: 30px;"
>
<div>
省级财政资金
</div>
</div>
<div
style=
"padding-bottom: 5px;"
>
<div
class=
"special-middle"
style=
"float:left;width: 50%;height: 20px;"
>
<div>
小计
</div>
</div>
<div
class=
"special-middle"
style=
"float:right;width: 50%;height: 20px;"
>
<div>
其中:间接费用
</div>
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
自筹资金
</div>
</div>
</a-col>
</a-row>
<a-row
v-for=
"(item, index) in unitPayment"
:key=
"'unitPayment' + index"
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
><a-button
icon=
"close"
type=
"primary"
shape=
"circle"
size=
"small"
@
click=
"deleteUnitPayment(item)"
></a-button>
{{
index
+
1
}}
</div>
</a-col>
<a-col
:span=
"3"
>
<a-form-model-item
:prop=
"'unitPayment.' + index + '.unitName'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.unitName"
:maxLength=
"100"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'unitPayment.' + index + '.countryName'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.countryName"
:maxLength=
"100"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'unitPayment.' + index + '.socialCode'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.socialCode"
:maxLength=
"50"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'unitPayment.' + index + '.unitRole'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.unitRole"
:maxLength=
"100"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"4"
>
<a-form-model-item
:prop=
"'unitPayment.' + index + '.taskDivision'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.taskDivision"
:maxLength=
"300"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'unitPayment.' + index + '.taskLeader'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.taskLeader"
:maxLength=
"60"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
>
<div>
{{
parseFloat
(
item
.
totalAmount
).
toFixed
(
2
)
}}
</div>
</div>
</a-col>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'unitPayment.' + index + '.fundAmount'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input-number
v-model=
"item.fundAmount"
@
change=
"outAmountChange(index)"
:min=
"0"
:step=
"0.01"
style=
"width: 90%"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'unitPayment.' + index + '.indirectFee'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input-number
v-model=
"item.indirectFee"
@
change=
"outFundAmountChange(index)"
:min=
"0"
:step=
"0.01"
style=
"width: 90%"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'unitPayment.' + index + '.selfAmount'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input-number
v-model=
"item.selfAmount"
@
change=
"outAmountChange(index)"
:min=
"0"
:step=
"0.01"
style=
"width: 90%"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"17"
>
<div
class=
"special-middle"
>
累计
</div>
</a-col>
<a-col
:span=
"1"
><div
class=
"special-middle"
>
{{
parseFloat
(
TtotalAmount
).
toFixed
(
2
)
}}
</div></a-col>
<a-col
:span=
"2"
><div
class=
"special-middle"
>
{{
parseFloat
(
TfundAmount
).
toFixed
(
2
)
}}
</div></a-col>
<a-col
:span=
"2"
><div
class=
"special-middle"
>
{{
parseFloat
(
TindirectFee
).
toFixed
(
2
)
}}
</div></a-col>
<a-col
:span=
"2"
><div
class=
"special-middle"
>
{{
parseFloat
(
TselfAmount
).
toFixed
(
2
)
}}
</div></a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"24"
style=
"text-align: center"
>
<div
class=
"special-middle"
>
<a-button
type=
"dashed"
style=
"width: 20%"
@
click=
"addArrey()"
>
<a-icon
type=
"plus"
/>
添加
<span
style=
"color:red;margin-left:10px"
></span>
</a-button>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"item_inner"
>
<a-col
:span=
"24"
>
<span
style=
"color: red;"
>
注:1.单位类型为项目承担单位、项目参加单位。
<br
/>
2.任务分工的描述应简洁,不超过300字。
</span>
</a-col>
</a-row>
</div>
</
template
>
<
script
>
const
Payment
=
{
id
:
""
,
objectId
:
""
,
unitName
:
""
,
countryName
:
""
,
socialCode
:
""
,
unitRole
:
null
,
taskDivision
:
""
,
taskLeader
:
""
,
totalAmount
:
0.00
,
indirectFee
:
0.00
,
fundAmount
:
0.00
,
selfAmount
:
0.00
,
}
export
default
{
name
:
"UnitPaymentEdit"
,
props
:
{
unitPayment
:
{
type
:
Array
,
default
:
()
=>
{
return
[{
...
Payment
}];
},
},
},
data
()
{
return
{
TtotalAmount
:
0.00
,
TindirectFee
:
0.00
,
TfundAmount
:
0.00
,
TselfAmount
:
0.00
,
};
},
methods
:
{
addArrey
()
{
this
.
unitPayment
.
push
(
Object
.
assign
({
...
Payment
}))
},
deleteUnitPayment
(
item
)
{
let
index
=
this
.
unitPayment
.
indexOf
(
item
)
if
(
index
!==
-
1
)
{
this
.
unitPayment
.
splice
(
index
,
1
)
}
},
outAmountChange
(
index
)
{
this
.
unitPayment
[
index
].
totalAmount
=
this
.
unitPayment
[
index
].
fundAmount
+
this
.
unitPayment
[
index
].
selfAmount
this
.
calTotalAmount
()
},
outFundAmountChange
(
index
)
{
if
(
this
.
unitPayment
[
index
].
indirectFee
>
this
.
unitPayment
[
index
].
fundAmount
)
{
this
.
$message
.
error
(
"间接费用不能超过小计!"
)
this
.
unitPayment
[
index
].
indirectFee
=
0.00
}
this
.
calTotalAmount
()
},
calTotalAmount
()
{
this
.
TfundAmount
=
0.00
this
.
TindirectFee
=
0.00
this
.
TselfAmount
=
0.00
this
.
TtotalAmount
=
0.00
this
.
unitPayment
.
forEach
(
e
=>
{
this
.
TfundAmount
+=
e
.
fundAmount
this
.
TindirectFee
+=
e
.
indirectFee
this
.
TselfAmount
+=
e
.
selfAmount
this
.
TtotalAmount
+=
e
.
totalAmount
})
}
},
};
</
script
>
\ No newline at end of file
src/views/report/project/components/unitPaymentInfo.vue
0 → 100644
View file @
0c10b184
<
template
>
<div>
<a-row>
<a-col
:span=
"24"
>
<div
class=
"tb-title"
>
<span>
科技计划项目承担单位研究资金支出预算明细表
<strong>
(金额单位:万元)
</strong></span>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
序号
</div>
</div>
</a-col>
<a-col
:span=
"3"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
单位名称
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
单位国别
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
统一社会信用代码
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
单位类型
</div>
</div>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
任务分工
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
研究任务负责人
</div>
</div>
</a-col>
<a-col
:span=
"1"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
合计
</div>
</div>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
style=
"height: 30px;"
>
<div>
省级财政资金
</div>
</div>
<div
style=
"padding-bottom: 5px;"
>
<div
class=
"special-middle"
style=
"float:left;width: 50%;height: 20px;"
>
<div>
小计
</div>
</div>
<div
class=
"special-middle"
style=
"float:right;width: 50%;height: 20px;"
>
<div>
其中:间接费用
</div>
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
自筹资金
</div>
</div>
</a-col>
</a-row>
<a-row
v-for=
"(item, index) in unitPayment"
:key=
"'unitPayment' + index"
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
index
+
1
}}
</div>
</a-col>
<a-col
:span=
"3"
>
<div
class=
"special-middle"
>
{{
item
.
unitName
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
item
.
countryName
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
item
.
socialCode
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
item
.
unitRole
}}
</div>
</a-col>
<a-col
:span=
"4"
>
<div
class=
"special-middle"
>
{{
item
.
taskDivision
}}
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
{{
item
.
taskLeader
}}
</div>
</a-col>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
>
<div>
{{
parseFloat
(
item
.
totalAmount
).
toFixed
(
2
)
}}
</div>
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
<div>
{{
parseFloat
(
item
.
fundAmount
).
toFixed
(
2
)
}}
</div>
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
<div>
{{
parseFloat
(
item
.
indirectFee
).
toFixed
(
2
)
}}
</div>
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
<div>
{{
parseFloat
(
item
.
selfAmount
).
toFixed
(
2
)
}}
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"17"
>
<div
class=
"special-middle"
>
累计
</div>
</a-col>
<a-col
:span=
"1"
><div
class=
"special-middle"
>
{{
parseFloat
(
TtotalAmount
).
toFixed
(
2
)
}}
</div></a-col>
<a-col
:span=
"2"
><div
class=
"special-middle"
>
{{
parseFloat
(
TfundAmount
).
toFixed
(
2
)
}}
</div></a-col>
<a-col
:span=
"2"
><div
class=
"special-middle"
>
{{
parseFloat
(
TindirectFee
).
toFixed
(
2
)
}}
</div></a-col>
<a-col
:span=
"2"
><div
class=
"special-middle"
>
{{
parseFloat
(
TselfAmount
).
toFixed
(
2
)
}}
</div></a-col>
</a-row>
<a-row
type=
"flex"
class=
"item_inner"
>
<a-col
:span=
"24"
>
<span
style=
"color: red;"
>
注:1.单位类型为项目承担单位、项目参加单位。
<br
/>
2.任务分工的描述应简洁,不超过300字。
</span>
</a-col>
</a-row>
</div>
</
template
>
<
script
>
const
Payment
=
{
id
:
""
,
objectId
:
""
,
unitName
:
""
,
countryName
:
""
,
socialCode
:
""
,
unitRole
:
null
,
taskDivision
:
""
,
taskLeader
:
""
,
totalAmount
:
0.00
,
indirectFee
:
0.00
,
fundAmount
:
0.00
,
selfAmount
:
0.00
,
}
export
default
{
name
:
"UnitPaymentInfo"
,
props
:
{
unitPayment
:
{
type
:
Array
,
default
:
()
=>
{
return
[];
},
},
},
data
()
{
return
{
TtotalAmount
:
0.00
,
TindirectFee
:
0.00
,
TfundAmount
:
0.00
,
TselfAmount
:
0.00
,
};
},
methods
:
{
outAmountChange
(
index
)
{
this
.
unitPayment
[
index
].
totalAmount
=
this
.
unitPayment
[
index
].
fundAmount
+
this
.
unitPayment
[
index
].
selfAmount
this
.
calTotalAmount
()
},
outFundAmountChange
(
index
)
{
if
(
this
.
unitPayment
[
index
].
indirectFee
>
this
.
unitPayment
[
index
].
fundAmount
)
{
this
.
$message
.
error
(
"间接费用不能超过小计!"
)
this
.
unitPayment
[
index
].
indirectFee
=
0.00
}
this
.
calTotalAmount
()
},
calTotalAmount
()
{
this
.
TfundAmount
=
0.00
this
.
TindirectFee
=
0.00
this
.
TselfAmount
=
0.00
this
.
TtotalAmount
=
0.00
this
.
unitPayment
.
forEach
(
e
=>
{
this
.
TfundAmount
+=
e
.
fundAmount
this
.
TindirectFee
+=
e
.
indirectFee
this
.
TselfAmount
+=
e
.
selfAmount
this
.
TtotalAmount
+=
e
.
totalAmount
})
}
},
};
</
script
>
\ No newline at end of file
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