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
d783d802
Commit
d783d802
authored
Mar 28, 2025
by
wangxl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
333
parent
34af010a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
210 additions
and
14 deletions
+210
-14
final.vue
src/views/audit/project/final.vue
+2
-1
scoreEdit.vue
src/views/evaluation/components/scoreEdit.vue
+35
-10
scoreInfo.vue
src/views/evaluation/components/scoreInfo.vue
+168
-0
scoreView.vue
src/views/evaluation/components/scoreView.vue
+5
-3
No files found.
src/views/audit/project/final.vue
View file @
d783d802
...
...
@@ -37,7 +37,8 @@
</div>
</div>
<a-divider
style=
"height: 1px; background-color: #e8e8e8;"
/>
<span
style=
"margin:6px;display: block;color:red;"
>
评分为 总分/平均分,最终得分=技术专家平均分X80% + 财务专家X20%
</span>
<span
style=
"margin:6px;display: block;color:red;"
>
评分为 总分/平均分,最终得分=专家平均分
</span>
<!--
<span
style=
"margin:6px;display: block;color:red;"
>
评分为 总分/平均分,最终得分=技术专家平均分X80% + 财务专家X20%
</span>
-->
<a-table
:row-selection=
"
{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :dataSource="tableData" :columns="columns" rowKey="id" :scroll="{ x: 'max-content' }" :pagination="false" :loading="loading">
<template
slot=
"projName"
slot-scope=
"record"
>
<a
@
click=
"recordClick(record, 'view')"
>
{{
record
.
projName
}}
</a>
...
...
src/views/evaluation/components/scoreEdit.vue
View file @
d783d802
...
...
@@ -43,6 +43,8 @@
</a-radio-group>
</a-form-model-item>
</td>
</tr>
<tr>
<td
class=
"bg-title"
>
评审结果
</td>
<td
colspan=
"2"
>
<a-form-model-item
prop=
"evaluationType"
>
...
...
@@ -61,7 +63,9 @@
<a-textarea
placeholder=
"评审意见"
v-model=
"value.remark"
:maxLength=
"1000"
style=
"width: 80%; height: 120px; margin-top: 6px"
/>
</a-form-model-item>
</td>
<td
style=
"text-align: center"
>
总分:
{{
totalScore
}}
分
</td>
</tr>
<tr>
<td
colspan=
"3"
style=
"text-align: center"
>
总分:
{{
Count
()
}}
分
</td>
</tr>
</table>
</div>
...
...
@@ -83,19 +87,18 @@ export default {
data
()
{
return
{
tableData
:
[
{
order
:
1
,
oneLevel
:
"1.特色与创新性、拟研究的科学问题的重要性或潜在应用价值(20分)"
,
towLevel
:
"A.好 (20-16)
<br
\
>
B.较好 (15-12) <br
\
> C.一般 (11-0)"
,
score
:
20
,
grade
:
null
,
},
{
order
:
2
,
oneLevel
:
"2.立项依据的充分性和研究的科学价值(15分)"
,
towLevel
:
"A.好 (15-12)
B.较好 (11-9)
C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
3
,
oneLevel
:
"3.研究内容的合理性和完整性(15分)"
,
towLevel
:
"A.合理完整 (15-12)
B.较合理完整 (11-9)
C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
4
,
oneLevel
:
"4.预期目标及考核指标(15分)"
,
towLevel
:
"A.明确 (15-12)
B.较明确 (11-9)
C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
5
,
oneLevel
:
"5.研究方案和技术路线的可行性(15分)"
,
towLevel
:
"A.可行 (15-12)
B.较可行 (11-9)
C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
6
,
oneLevel
:
"6.前期工作基础、支撑条件及主持人的科研能力(15分)"
,
towLevel
:
"A.好 (15-12)
B.较好 (11-9)
C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
7
,
oneLevel
:
"7.组织运行管理与风险分析(5分)"
,
towLevel
:
"A.风险小 (5-4)
B.有一定风险 (3-2)
C.风险较大 (1-0)"
,
score
:
5
,
grade
:
null
,
},
{
order
:
1
,
oneLevel
:
"1.特色与创新性、拟研究的科学问题的重要性或潜在应用价值(20分)"
,
towLevel
:
"A.好 (20-16) B.较好 (15-12) <br
\
> C.一般 (11-0)"
,
score
:
20
,
grade
:
null
,
},
{
order
:
2
,
oneLevel
:
"2.立项依据的充分性和研究的科学价值(15分)"
,
towLevel
:
"A.好 (15-12)
B.较好 (11-9)
C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
3
,
oneLevel
:
"3.研究内容的合理性和完整性(15分)"
,
towLevel
:
"A.合理完整 (15-12)
B.较合理完整 (11-9)
C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
4
,
oneLevel
:
"4.预期目标及考核指标(15分)"
,
towLevel
:
"A.明确 (15-12)
B.较明确 (11-9)
C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
5
,
oneLevel
:
"5.研究方案和技术路线的可行性(15分)"
,
towLevel
:
"A.可行 (15-12)
B.较可行 (11-9)
C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
6
,
oneLevel
:
"6.前期工作基础、支撑条件及主持人的科研能力(15分)"
,
towLevel
:
"A.好 (15-12)
B.较好 (11-9)
C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
7
,
oneLevel
:
"7.组织运行管理与风险分析(5分)"
,
towLevel
:
"A.风险小 (5-4)
B.有一定风险 (3-2)
C.风险较大 (1-0)"
,
score
:
5
,
grade
:
null
,
},
],
remark
:
""
,
supportState
:
null
,
evaluationType
:
0
,
totalScore
:
0
,
plainOptions
,
disabled
:
true
,
};
},
...
...
@@ -114,7 +117,29 @@ export default {
},
methods
:
{
Count
()
{
var
s
=
0.0
;
for
(
var
i
=
1
;
i
<=
19
;
i
++
)
{
if
(
this
.
value
[
'score'
+
i
])
{
s
+=
parseFloat
(
this
.
value
[
'score'
+
i
])
}
}
if
(
!!
this
.
value
.
additionalScore
)
{
s
+=
parseFloat
(
this
.
value
.
additionalScore
)
}
s
=
s
.
toFixed
(
1
)
*
10
/
10
this
.
value
.
totalScore
=
s
this
.
determineType
()
return
s
},
determineType
()
{
if
(
this
.
value
.
totalScore
>=
80
)
this
.
value
.
evaluationType
=
1
else
if
(
this
.
value
.
totalScore
<
80
&&
this
.
value
.
totalScore
>=
60
)
this
.
value
.
evaluationType
=
2
else
this
.
value
.
evaluationType
=
3
},
},
};
</
script
>
...
...
src/views/evaluation/components/scoreInfo.vue
0 → 100644
View file @
d783d802
<
template
>
<div>
<table
class=
"tab-content"
style=
"width: 100%"
>
<tr>
<td
class=
"bg-title"
>
评审指标
</td>
<td
class=
"bg-title"
>
评审指标选项
</td>
<td
class=
"bg-title"
>
专家打分
</td>
</tr>
<tr
v-for=
"(item,index) in tableData"
:key=
"'tr1'+index"
>
<td>
{{
item
.
oneLevel
}}
</td>
<td>
{{
item
.
towLevel
}}
</td>
<td
style=
"text-align: center;"
>
<span
v-if=
"item.order==1"
>
{{
value
.
score1
}}
</span>
<span
v-if=
"item.order==2"
>
{{
value
.
score2
}}
</span>
<span
v-if=
"item.order==3"
>
{{
value
.
score3
}}
</span>
<span
v-if=
"item.order==4"
>
{{
value
.
score4
}}
</span>
<span
v-if=
"item.order==5"
>
{{
value
.
score5
}}
</span>
<span
v-if=
"item.order==6"
>
{{
value
.
score6
}}
</span>
<span
v-if=
"item.order==7"
>
{{
value
.
score7
}}
</span>
</td>
</tr>
<tr>
<td
class=
"bg-title"
>
是否推荐立项支持
</td>
<td
colspan=
"2"
>
<a-tag
:color=
"'#87d068'"
v-if=
"value.supportState==1"
>
是
</a-tag>
<a-tag
:color=
"'#f50'"
v-if=
"value.supportState==0"
>
否
</a-tag>
</td>
</tr>
<tr>
<td
class=
"bg-title"
style=
"text-align: right;"
>
评审结果
</td>
<td
colspan=
"2"
>
<a-tag
:color=
"'#87d068'"
v-if=
"value.evaluationType==1"
>
{{
evaluationTypeA
}}
</a-tag>
<a-tag
:color=
"'#2db7f5'"
v-if=
"value.evaluationType==2"
>
{{
evaluationTypeB
}}
</a-tag>
<a-tag
:color=
"'#f50'"
v-if=
"value.evaluationType==3"
>
{{
evaluationTypeC
}}
</a-tag>
</td>
</tr>
<tr>
<td
style=
"text-align: right;"
>
意见与建议
</td>
<td
colspan=
"2"
style=
"text-align: left;"
>
<div
v-html=
"toTextarea(value.remark)"
></div>
</td>
</tr>
<tr>
<td
style=
"text-align: center;"
>
总得分
</td>
<td
colspan=
"2"
style=
"text-align: center;"
>
<span>
{{
value
.
totalScore
}}
</span>
</td>
</tr>
</table>
</div>
</
template
>
<
script
>
import
{
toTextarea
,
getEvaluationType
}
from
'@/views/utils/common'
export
default
{
name
:
"scoreInfo"
,
components
:
{},
props
:
{
value
:
{
type
:
Object
,
default
()
{
return
null
;
},
},
},
data
()
{
return
{
tableData
:
[
{
order
:
1
,
oneLevel
:
"1.特色与创新性、拟研究的科学问题的重要性或潜在应用价值(20分)"
,
towLevel
:
"A.好 (20-16) B.较好 (15-12) <br
\
> C.一般 (11-0)"
,
score
:
20
,
grade
:
null
,
},
{
order
:
2
,
oneLevel
:
"2.立项依据的充分性和研究的科学价值(15分)"
,
towLevel
:
"A.好 (15-12) B.较好 (11-9) C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
3
,
oneLevel
:
"3.研究内容的合理性和完整性(15分)"
,
towLevel
:
"A.合理完整 (15-12) B.较合理完整 (11-9) C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
4
,
oneLevel
:
"4.预期目标及考核指标(15分)"
,
towLevel
:
"A.明确 (15-12) B.较明确 (11-9) C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
5
,
oneLevel
:
"5.研究方案和技术路线的可行性(15分)"
,
towLevel
:
"A.可行 (15-12) B.较可行 (11-9) C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
6
,
oneLevel
:
"6.前期工作基础、支撑条件及主持人的科研能力(15分)"
,
towLevel
:
"A.好 (15-12) B.较好 (11-9) C.一般 (8-0)"
,
score
:
15
,
grade
:
null
,
},
{
order
:
7
,
oneLevel
:
"7.组织运行管理与风险分析(5分)"
,
towLevel
:
"A.风险小 (5-4) B.有一定风险 (3-2) C.风险较大 (1-0)"
,
score
:
5
,
grade
:
null
,
},
],
};
},
computed
:
{
evaluationTypeA
()
{
return
getEvaluationType
(
0
)
},
evaluationTypeB
()
{
return
getEvaluationType
(
1
)
},
evaluationTypeC
()
{
return
getEvaluationType
(
2
)
},
},
created
()
{
},
methods
:
{
toTextarea
,
},
};
</
script
>
<
style
scoped
lang=
"less"
>
.app-content {
table {
table-layout: fixed;
width: 100%;
border: 1;
border-collapse: collapse;
}
table tr td,
th {
border: 1px solid #e8e8e8;
padding: 6px 6px;
color: rgba(0, 0, 0, 0.65);
}
table tr th {
text-align: center;
}
table tr {
th:first-child {
width: 4%;
}
th:nth-child(2) {
width: 6%;
}
th:nth-child(3) {
width: 8%;
}
th:nth-child(4) {
width: 18%;
}
th:nth-child(5) {
width: 6%;
}
th:nth-child(6) {
width: 6%;
}
th:nth-child(7) {
width: 40%;
}
}
table {
::v-deep .ant-row {
border: 0 !important;
}
::v-deep .ant-row .ant-col {
border: 0 !important;
min-height: 30px !important;
}
::v-deep .ant-form-item-control {
line-height: 30px !important;
}
::v-deep .ant-form-item {
margin: 0 !important;
}
::v-deep .ant-input-number {
height: 30px !important;
}
::v-deep .ant-input-number-input {
height: 30px !important;
}
}
}
.none-bottom {
::v-deep .ant-col {
border-bottom: 0 !important;
}
}
</
style
>
ant-tabs
\ No newline at end of file
src/views/evaluation/components/scoreView.vue
View file @
d783d802
<
template
>
<div
style=
"height:70vh;overflow:auto"
class=
"app-content from-table font-line-space"
>
<a-spin
:spinning=
"loading"
style=
"width: 100%;height: 100%;"
>
<economy-info
v-model=
"formData"
v-if=
"formData.expertType == 2"
/>
<score-info
v-model=
"formData"
/>
<!--
<economy-info
v-model=
"formData"
v-if=
"formData.expertType == 2"
/>
<div
v-else
>
<technology-info
v-if=
"formData.applyFunding >= 50"
v-model=
"formData"
/>
<div
v-else
>
...
...
@@ -34,7 +35,7 @@
</a-col>
</a-row>
</div>
</div>
</div>
-->
</a-spin>
</div>
</
template
>
...
...
@@ -42,11 +43,12 @@
<
script
>
import
economyInfo
from
'@/views/evaluation/components/economyInfo'
import
technologyInfo
from
'@/views/evaluation/components/technologyInfo'
import
scoreInfo
from
'@/views/evaluation/components/scoreInfo'
import
{
toTextarea
,
getEvaluationType
}
from
'@/views/utils/common'
export
default
{
name
:
"scoreView"
,
components
:
{
economyInfo
,
technologyInfo
economyInfo
,
technologyInfo
,
scoreInfo
},
props
:
{
value
:
{
...
...
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