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
d379340e
Commit
d379340e
authored
Jan 09, 2025
by
wangxl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
333
parent
2373da47
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
236 additions
and
54 deletions
+236
-54
fundInfo.vue
src/views/report/project/components/fundInfo.vue
+153
-0
taskEdit.vue
src/views/report/task/components/taskEdit.vue
+83
-54
No files found.
src/views/report/project/components/fundInfo.vue
0 → 100644
View file @
d379340e
<
template
>
<div>
<a-row>
<a-col
:span=
"24"
>
<div
class=
"tb-title"
>
<span>
项目经费
<strong>
(单位:万元)
</strong></span>
</div>
</a-col>
</a-row>
<a-row>
<a-col
:span=
"6"
class=
"bg-gray"
>
预算科目
</a-col>
<a-col
:span=
"3"
class=
"bg-gray"
>
总预算数
</a-col>
<a-col
:span=
"5"
class=
"bg-gray"
>
省级财政资金
</a-col>
<a-col
:span=
"5"
class=
"bg-gray"
>
自筹资金
</a-col>
<a-col
:span=
"5"
class=
"bg-gray"
>
备注
</a-col>
</a-row>
<div
v-for=
"(item, index) in budget"
:key=
"'budget' + index"
class=
"row_center"
>
<a-row
v-if=
"item.type ==='count'"
type=
"flex"
>
<a-col
:span=
"6"
:style=
"'text-align: left;padding-left:'+left(item.level)+'px'"
>
<div
class=
"special-middle"
>
{{
item
.
budgetName
}}
</div>
</a-col>
<a-col
:span=
"3"
>
<div
class=
"special-middle"
>
{{
Count
(
item
.
source
,
'totalBudget'
,
index
)
}}
</div>
</a-col>
<a-col
:span=
"5"
>
<div
class=
"special-middle"
>
<span
v-if=
"!!!item.code||item.code === 'applyFunds'"
>
{{
Count
(
item
.
source
,
'applyFunds'
,
index
)
}}
</span>
</div>
</a-col>
<a-col
:span=
"5"
>
<div
class=
"special-middle"
>
{{
Count
(
item
.
source
,
'selfFunds'
,
index
)
}}
</div>
</a-col>
<a-col
:span=
"5"
>
<div
class=
"special-middle"
>
<a-input
v-model=
"item.calculationBasis"
:maxLength=
"100"
style=
"width: 80%;"
/>
</div>
</a-col>
</a-row>
<a-row
v-else
type=
"flex"
>
<a-col
:span=
"6"
:style=
"'text-align: left;padding-left:'+left(item.level)+'px'"
>
<div
class=
"special-middle"
>
{{
item
.
budgetName
}}
</div>
</a-col>
<a-col
:span=
"3"
>
<div
class=
"special-middle"
>
{{
Count1
(
index
,
item
.
applyFunds
,
item
.
selfFunds
)
}}
</div>
</a-col>
<a-col
:span=
"5"
>
<div
class=
"special-middle"
>
<a-input-number
v-model=
"item.applyFunds"
:min=
"0"
:step=
"0.01"
style=
"width: 80%"
v-if=
"!!!item.code||item.code === 'applyFunds'"
/>
</div>
</a-col>
<a-col
:span=
"5"
>
<div
class=
"special-middle"
>
<a-input-number
v-model=
"item.selfFunds"
:min=
"0"
:step=
"0.01"
style=
"width: 80%"
v-if=
"!!!item.code||item.code === 'selfFunds'"
/>
</div>
</a-col>
<a-col
:span=
"5"
>
<div
class=
"special-middle"
>
<a-input
v-model=
"item.calculationBasis"
:maxLength=
"100"
style=
"width: 80%;"
/>
</div>
</a-col>
</a-row>
</div>
</div>
</
template
>
<
script
>
import
{
budgetList
}
from
"@/views/report/project/config"
export
default
{
name
:
"fundInfo"
,
data
()
{
return
{
};
},
props
:
{
budget
:
{
type
:
Array
,
default
:
()
=>
{
return
[]
}
},
},
created
()
{
},
methods
:
{
Count
(
source
,
type
,
index
)
{
if
(
!
source
||
!
source
.
length
)
{
return
0.00
}
let
applyFunds
=
0.00
let
selfFunds
=
0.00
source
.
forEach
(
i
=>
{
applyFunds
=
parseFloat
(
applyFunds
+
this
.
budget
[
i
].
applyFunds
)
selfFunds
=
parseFloat
(
selfFunds
+
this
.
budget
[
i
].
selfFunds
)
})
if
(
type
===
'applyFunds'
)
{
this
.
budget
[
index
].
applyFunds
=
applyFunds
.
toFixed
(
2
)
return
applyFunds
.
toFixed
(
2
)
}
else
if
(
type
===
'selfFunds'
)
{
this
.
budget
[
index
].
selfFunds
=
selfFunds
.
toFixed
(
2
)
return
selfFunds
.
toFixed
(
2
)
}
else
{
this
.
budget
[
index
].
totalBudget
=
(
applyFunds
+
selfFunds
).
toFixed
(
2
)
return
parseFloat
(
applyFunds
+
selfFunds
).
toFixed
(
2
)
}
},
Count1
(
index
,
applyFunds
,
selfFunds
)
{
let
apply
=
0.00
let
self
=
0.00
if
(
!!
applyFunds
)
apply
=
applyFunds
if
(
!!
selfFunds
)
self
=
selfFunds
this
.
budget
[
index
].
totalBudget
=
(
apply
+
self
).
toFixed
(
2
)
return
(
apply
+
self
).
toFixed
(
2
)
},
left
(
l
)
{
switch
(
l
)
{
case
'1'
:
return
4
;
case
'2'
:
return
12
;
case
'3'
:
return
20
;
case
'4'
:
return
30
;
}
return
0
;
}
},
};
</
script
>
src/views/report/task/components/taskEdit.vue
View file @
d379340e
...
...
@@ -34,8 +34,8 @@
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item>
<
div>
{{
formData
.
unitTypeName
}}
</div
>
<a-form-model-item
prop=
"unitType"
>
<
a-input
placeholder=
"注册单位类型"
v-model=
"formData.unitType"
:maxLength=
"100"
style=
"width:80%"
/
>
</a-form-model-item>
</div>
</div>
...
...
@@ -233,37 +233,36 @@
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
项目
名称
</div>
<div
class=
"required"
>
项目
编号
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"projN
ame
"
>
<
a-input
placeholder=
"项目名称(限100字)"
v-model=
"formData.projName"
:maxLength=
"100"
style=
"width: 80%"
@
change=
"projNameChange"
/
>
<a-form-model-item
prop=
"projN
o
"
>
<
div>
{{
formData
.
projNo
}}
</div
>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
学科代码
</div>
<div
class=
"required"
>
项目名称
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"
knowledgeId
"
>
<
cascader-select
v-model=
"formData.knowledgeId"
/
>
<a-form-model-item
prop=
"
projName
"
>
<
div>
{{
formData
.
projName
}}
</div
>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
附注说明
</div>
<div
class=
"required"
>
所属我省重点领域
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"
remark
"
>
<a-input
placeholder=
"
附注说明(限300字)"
v-model=
"formData.remark"
:maxLength=
"30
0"
style=
"width: 80%"
/>
<a-form-model-item
prop=
"
keyAreas
"
>
<a-input
placeholder=
"
所属我省重点领域"
v-model=
"formData.keyAreas"
:maxLength=
"5
0"
style=
"width: 80%"
/>
</a-form-model-item>
</a-col>
</a-row>
...
...
@@ -292,29 +291,25 @@
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
联系
人
</div>
<div
class=
"required"
>
项目负责
人
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"unitLinkName"
>
<a-input
placeholder=
"联系人"
v-model=
"formData.unitLinkName"
:maxLength=
"100"
style=
"width:80%"
/>
</a-form-model-item>
{{
formData
.
appPersonName
}}
</div>
</div>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
电话
</div>
<div
class=
"required"
>
联系
电话
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"unitLinkMobile"
>
<a-input
placeholder=
"电话"
v-model=
"formData.unitLinkMobile"
:maxLength=
"100"
style=
"width:80%"
/>
</a-form-model-item>
{{
formData
.
mobile
}}
</div>
</div>
</a-col>
...
...
@@ -322,18 +317,34 @@
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
电子信箱
</div>
<div
class=
"required"
>
项目联系人姓名
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"unitLinkEmail"
>
<a-input
placeholder=
"电子信箱"
v-model=
"formData.unitLinkEmail"
:maxLength=
"100"
style=
"width:80%"
/>
<a-form-model-item
prop=
"unitLinkName"
>
<a-input
placeholder=
"项目联系人姓名"
v-model=
"formData.unitLinkName"
:maxLength=
"100"
style=
"width:80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
联系人电话
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"unitLinkMobile"
>
<a-input
placeholder=
"联系人电话"
v-model=
"formData.unitLinkMobile"
:maxLength=
"100"
style=
"width:80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
传真
</div>
...
...
@@ -348,61 +359,79 @@
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
项目摘要(400字以内)
</div>
<div
class=
"required"
>
电子信箱
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"projAbstract"
>
<a-textarea
placeholder=
"项目摘要(限400字)"
v-model=
"formData.projAbstract"
:maxLength=
"400"
style=
"width: 80%; height: 160px; margin-top: 12px"
/>
</a-form-model-item>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"unitLinkEmail"
>
<a-input
placeholder=
"电子信箱"
v-model=
"formData.unitLinkEmail"
:maxLength=
"100"
style=
"width:80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
关键词
</div>
<div
class=
"required"
>
项目总经费(万元)
</div>
</div>
</a-col>
<a-col
:span=
"
20
"
>
<
a-form-model-item
prop=
"projKeywords
"
>
<
a-input
placeholder=
"关键词(限100字)"
v-model=
"formData.projKeywords"
:maxLength=
"100"
style=
"width: 80%"
/
>
</
a-form-model-item
>
<a-col
:span=
"
8
"
>
<
div
class=
"special-middle
"
>
<
div>
{{
formData
.
totalFunding
}}
</div
>
</
div
>
</a-col>
</a-row>
<a-row>
<a-col
:span=
"24"
style=
"border-top: 0px"
>
<div
class=
"main-title"
>
<span>
申请书正文
</span>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
财政经费(万元)
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"24"
class=
"bg-gray"
>
<div
class=
"special-middle"
style=
"font-weight: bold;text-align: center;"
>
<a
:href=
"'/downloadFile/textTemplate.docx'"
download=
"申请书正文.docx"
>
<a-icon
type=
"download"
></a-icon>
<span
style=
"color:green;text-decoration:underline;font-size: 16px;"
>
正文模板下载
</span>
</a>
<span
style=
"color: red;margin-left: 42px;"
>
注:正文部分需要下载模版,填写完成后上传到系统中,格式 .doc,.docx,.pdf。
</span>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
{{
formData
.
govFunding
}}
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"24"
>
<div
style=
"min-height:34px;line-height: 40px;text-align: center;"
>
<up-load
:isUpload=
"true"
:file
.
sync=
"formData"
:format=
"['doc', 'docx','pdf']"
message=
"请上传申请书正文"
/>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
是否科技报告
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"isTechnologyReport"
>
<a-select
v-model=
"formData.isTechnologyReport"
style=
"width: 100px"
>
<a-select-option
value=
""
>
--请选择--
</a-select-option>
<a-select-option
value=
"1"
>
是
</a-select-option>
<a-select-option
value=
"0"
>
否
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"24"
>
<!--
<document-view
:fileUrl=
"formData.downloadUrl"
:fileName=
"formData.fileName"
:imageArray=
"[formData.downloadUrl]"
></document-view>
<preview-file
v-model=
"formData.downloadUrl"
:fileName=
"formData.fileName"
></preview-file>
-->
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
科技报告类型
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<div
class=
"special-middle"
>
<div>
</div>
</div>
</a-col>
</a-row>
<a-row>
<a-col
:span=
"24"
style=
"border-top: 0px"
>
<div
class=
"main-title"
>
...
...
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