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
7256cf70
Commit
7256cf70
authored
Mar 11, 2025
by
wangxl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
eeeee
parent
28d27623
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
148 additions
and
152 deletions
+148
-152
index.js
src/api/index.js
+4
-1
groupExpertSelect.vue
src/views/assign/components/groupExpertSelect.vue
+50
-56
selectItem.vue
src/views/assign/components/selectItem.vue
+47
-33
Index.vue
src/views/audit/check/Index.vue
+22
-23
projKeyAssign.vue
src/views/peAssign/projKeyAssign.vue
+2
-9
manufactureInfo.vue
src/views/report/project/components/manufactureInfo.vue
+1
-1
tmp-task.html
src/views/report/project/components/tmp-task.html
+8
-8
taskInfo.vue
src/views/report/task/components/taskInfo.vue
+1
-1
taskView.vue
src/views/report/task/components/taskView.vue
+13
-20
No files found.
src/api/index.js
View file @
7256cf70
...
@@ -309,7 +309,7 @@ export default {
...
@@ -309,7 +309,7 @@ export default {
return
fetch
(
`/v1/science-admin/com-expert-spec/getExpertListBySpecIdProjId`
,
params
)
return
fetch
(
`/v1/science-admin/com-expert-spec/getExpertListBySpecIdProjId`
,
params
)
},
},
getExpertListByExpertSpecIds
(
params
)
{
getExpertListByExpertSpecIds
(
params
)
{
return
fetch
(
`/v1/science-admin/com-expert-spec/getExpertListByExpertSpecIds`
,
params
)
return
fetch
(
`/v1/science-admin/com-expert-spec/getExpertListByExpertSpecIds`
,
params
,
'post'
,
'json'
)
},
},
getExpertListByExpertSpecIdOrParentId
(
params
)
{
getExpertListByExpertSpecIdOrParentId
(
params
)
{
return
fetch
(
`/v1/science-admin/com-expert-spec/getExpertListByExpertSpecIdOrParentId`
,
params
)
return
fetch
(
`/v1/science-admin/com-expert-spec/getExpertListByExpertSpecIdOrParentId`
,
params
)
...
@@ -344,6 +344,9 @@ export default {
...
@@ -344,6 +344,9 @@ export default {
getProjectDetailListbyPage
(
params
)
{
getProjectDetailListbyPage
(
params
)
{
return
fetch
(
'/v1/science-admin/com-project-group-detail/getProjectDetailListbyPage'
,
params
)
return
fetch
(
'/v1/science-admin/com-project-group-detail/getProjectDetailListbyPage'
,
params
)
},
},
getGroupProjectInfo
(
params
)
{
return
fetch
(
'/v1/science-admin/com-project-group/getGroupProjectInfo'
,
params
)
},
getProjectListByGroupIds
(
params
)
{
getProjectListByGroupIds
(
params
)
{
return
fetch
(
'/v1/science-admin/com-project-group-detail/getProjectListByGroupIds'
,
params
)
return
fetch
(
'/v1/science-admin/com-project-group-detail/getProjectListByGroupIds'
,
params
)
},
},
...
...
src/views/assign/components/groupExpertSelect.vue
View file @
7256cf70
...
@@ -7,13 +7,13 @@
...
@@ -7,13 +7,13 @@
<a
v-for=
"(item) in expertSelectKeys"
:key=
"item.key"
>
{{
item
.
title
}}
</a>
<a
v-for=
"(item) in expertSelectKeys"
:key=
"item.key"
>
{{
item
.
title
}}
</a>
</div>
</div>
</div>
</div>
<div
class=
"select-
header
-content"
>
<div
class=
"select-
seach
-content"
>
<a-input
placeholder=
"专家姓名"
v-model=
"personName"
@
change=
"changePersonName"
/>
<a-input
placeholder=
"专家姓名"
v-model=
"personName"
@
change=
"changePersonName"
/>
</div>
</div>
<div
class=
"layout-select-content "
>
<div
class=
"layout-select-content "
>
<div
class=
"content-inner"
>
<div
class=
"content-inner"
>
<div
class=
"tree-select"
>
<div
class=
"tree-select"
>
<a-tree
v-model=
"checkedKeys"
:expandedKeys=
"defaultExpandedKeys"
:blockNode=
"true"
style=
"width: 100%"
:tree-data=
"treeData"
@
select=
"onClick"
@
check=
"onCheck"
@
expand=
"onExpand"
/>
<a-tree
v-model=
"checkedKeys"
checkable
:expandedKeys=
"defaultExpandedKeys"
:blockNode=
"true"
style=
"width: 100%"
:tree-data=
"treeData"
@
select=
"onClick"
@
check=
"onCheck"
@
expand=
"onExpand"
/>
</div>
</div>
<div
class=
"content-select "
>
<div
class=
"content-select "
>
<select-item
v-model=
"expertSelectKeys"
:dataList=
"dataList"
/>
<select-item
v-model=
"expertSelectKeys"
:dataList=
"dataList"
/>
...
@@ -64,76 +64,55 @@ export default {
...
@@ -64,76 +64,55 @@ export default {
},
},
created
()
{
created
()
{
this
.
loadTreeSelect
()
this
.
loadTreeSelect
()
this
.
loadSpecList
()
this
.
getGroupProjectInfo
()
this
.
seachExpert
(
"00000000-0000-0000-0000-000000000000"
,
null
,
null
)
},
},
methods
:
{
methods
:
{
loadTreeSelect
()
{
getGroupProjectInfo
()
{
this
.
$api
.
parameter
.
getKnowledgeInfoList1
().
then
(({
data
=
{}
})
=>
{
let
pars
=
{
groupIds
:
this
.
projGroupSelectedRowKeys
}
this
.
$api
.
projectGroupAssign
.
getGroupProjectInfo
(
pars
).
then
(({
data
=
{}
})
=>
{
if
(
data
)
{
if
(
data
)
{
this
.
treeData
=
data
this
.
checkedKeys
=
data
.
spec
this
.
defaultExpandedKeys
=
[
this
.
treeData
[
0
].
key
]
this
.
defaultExpandedKeys
=
data
.
expanded
this
.
seachExpert
(
this
.
checkedKeys
)
}
}
}).
catch
(()
=>
{
this
.
loading
=
true
});
this
.
loading
=
false
},
}).
catch
(()
=>
{
loadSpecList
()
{
this
.
$message
.
error
(
'error!'
)
this
.
$api
.
parameter
.
getSpecArray
().
then
(({
data
=
{}
})
=>
{
this
.
loading
=
false
if
(
data
)
{
this
.
specArray
=
data
this
.
buildSpecKeyMap
()
}
})
},
buildSpecKeyMap
()
{
this
.
specKeyMap
=
{}
this
.
specArray
.
forEach
(
item
=>
{
this
.
specKeyMap
[
item
.
key
]
=
3
this
.
specKeyMap
[
item
.
pkey
]
=
2
this
.
specKeyMap
[
item
.
ppkey
]
=
1
})
})
},
},
FromSpecArrayFindKey
(
key
)
{
return
this
.
specKeyMap
[
key
]
||
0
},
processExpertSearch
(
value
)
{
const
level
=
this
.
FromSpecArrayFindKey
(
value
)
if
(
level
==
1
)
this
.
seachExpert
(
null
,
null
,
value
)
else
if
(
level
==
2
)
this
.
seachExpert
(
null
,
value
,
null
)
else
this
.
seachExpert
(
value
,
null
,
null
)
},
onClick
(
value
,
info
)
{
onClick
(
value
,
info
)
{
this
.
processExpertSearch
(
value
)
},
},
onCheck
(
value
,
info
)
{
onCheck
(
value
,
info
)
{
this
.
processExpertSearch
(
value
)
this
.
seachExpert
(
value
)
},
},
onExpand
(
value
)
{
onExpand
(
value
)
{
this
.
defaultExpandedKeys
=
value
this
.
defaultExpandedKeys
=
value
},
},
onCancel
()
{
this
.
$emit
(
"close"
,
'cancel'
)
},
loadTreeSelect
()
{
this
.
$api
.
parameter
.
getKnowledgeInfoList1
().
then
(({
data
=
{}
})
=>
{
if
(
data
)
{
this
.
treeData
=
data
this
.
defaultExpandedKeys
=
[
this
.
treeData
[
0
].
key
]
}
}).
catch
(()
=>
{
this
.
loading
=
true
});
},
changePersonName
()
{
changePersonName
()
{
this
.
seachExpert
(
null
,
null
,
null
)
this
.
seachExpert
(
null
,
null
,
null
,
)
},
},
seachExpert
(
specId
,
pkey
,
ppkey
)
{
seachExpert
(
specId
)
{
this
.
loading
=
true
this
.
loading
=
true
if
(
this
.
personName
!==
null
&&
this
.
personName
!==
''
)
{
this
.
$api
.
expertSpec
.
getExpertListByExpertSpecIds
({
specIds
:
specId
,
groupIds
:
this
.
projGroupSelectedRowKeys
,
personName
:
this
.
personName
}).
then
(({
data
=
{}
})
=>
{
specId
=
null
pkey
=
null
ppkey
=
null
}
this
.
$api
.
expertSpec
.
getExpertListByExpertSpecIdOrParentId
({
specId
:
specId
,
pkey
:
pkey
,
ppkey
:
ppkey
,
personName
:
this
.
personName
}).
then
(({
data
=
{}
})
=>
{
if
(
data
)
{
if
(
data
)
{
this
.
dataList
=
data
this
.
dataList
=
data
this
.
expertFilter
(
this
.
expertSelectKeys
,
this
.
dataList
)
this
.
expertFilter
(
this
.
expertSelectKeys
,
this
.
dataList
)
this
.
loading
=
false
this
.
loading
=
false
}
}
}).
catch
(()
=>
{
});
}).
catch
(()
=>
{
});
this
.
loading
=
false
this
.
loading
=
false
},
onCancel
()
{
this
.
$emit
(
"close"
,
'cancel'
)
},
},
submit
()
{
submit
()
{
this
.
loading
=
true
this
.
loading
=
true
...
@@ -178,6 +157,7 @@ export default {
...
@@ -178,6 +157,7 @@ export default {
height: 100%;
height: 100%;
border: 1px solid #d9d9d9;
border: 1px solid #d9d9d9;
border-radius: 4px 4px 4px 4px;
border-radius: 4px 4px 4px 4px;
font-size: 8pt;
.layout-select-header {
.layout-select-header {
position: relative;
position: relative;
...
@@ -189,15 +169,29 @@ export default {
...
@@ -189,15 +169,29 @@ export default {
line-height: 35px;
line-height: 35px;
position: absolute;
position: absolute;
top: 0;
top: 0;
left:
75
px;
left:
60
px;
width: calc(100% -
75
px);
width: calc(100% -
60
px);
height: 100%;
height: 100%;
padding: 2px;
}
}
.select-header-content a {
.select-header-content a {
margin-left: 6px;
margin-left: 6px;
}
}
}
}
.select-seach-content {
padding: 3px;
}
.layout-select-content {
.layout-select-content {
.ant-tree {
font-size: 8pt !important;
}
::v-deep .ant-tree .ant-tree-checkbox {
margin: 0 0 !important;
}
::v-deep .ant-tree li span.ant-tree-switcher,
.ant-tree li span.ant-tree-iconEle {
width: 16px !important;
}
width: 100%;
width: 100%;
height: calc(100% - 70px);
height: calc(100% - 70px);
padding: 3px;
padding: 3px;
...
@@ -214,7 +208,7 @@ export default {
...
@@ -214,7 +208,7 @@ export default {
width: 100%;
width: 100%;
height: 35px;
height: 35px;
vertical-align: middle;
vertical-align: middle;
text-align:
righ
t;
text-align:
lef
t;
padding: 1px;
padding: 1px;
}
}
::v-deep.ant-spin-nested-loading .ant-spin-container {
::v-deep.ant-spin-nested-loading .ant-spin-container {
...
@@ -226,15 +220,15 @@ export default {
...
@@ -226,15 +220,15 @@ export default {
position: absolute;
position: absolute;
top: 0;
top: 0;
left: 0;
left: 0;
width:
20
0px;
width:
32
0px;
height: 100%;
height: 100%;
overflow-x: auto;
overflow-x: auto;
overflow-y: auto;
overflow-y: auto;
border-right: 1px solid #e8e8e8;
border-right: 1px solid #e8e8e8;
}
}
.content-select {
.content-select {
margin-left:
20
0px;
margin-left:
32
0px;
width: calc(100% -
20
0px);
width: calc(100% -
32
0px);
height: 100%;
height: 100%;
overflow-x: auto;
overflow-x: auto;
overflow-y: auto;
overflow-y: auto;
...
...
src/views/assign/components/selectItem.vue
View file @
7256cf70
<
template
>
<
template
>
<div
class=
"
layout-data-page
"
>
<div
class=
"
select-item
"
>
<div
class=
"
data-header
"
>
<div
class=
"
select-checked
"
>
<a-checkbox
:indeterminate=
"indeterminate"
:checked=
"checkAll"
@
change=
"onCheckAllChange"
/>
<span>
{{
nowSelectKeys
.
length
}}
项
</span>
<a-checkbox
:indeterminate=
"indeterminate"
:checked=
"checkAll"
@
change=
"onCheckAllChange"
/>
<span>
{{
nowSelectKeys
.
length
}}
项
</span>
</div>
</div>
<div
class=
"
data-list-body
"
>
<div
class=
"
select-content
"
>
<ul
class=
"data-list-content"
>
<ul
class=
"data-list-content"
>
<li
v-for=
"(item,index) in dataList"
:key=
"item.key"
@
click=
"onChange(item,index)"
class=
"data-list-content-item"
>
<li
v-for=
"(item,index) in dataList"
:key=
"item.key"
@
click=
"onChange(item,index)"
class=
"data-list-content-item"
>
<input
type=
"checkbox"
class=
"list-checkbox-input"
:checked=
"item.selected"
>
<input
type=
"checkbox"
class=
"list-checkbox-input"
:checked=
"item.selected"
:disabled=
"item.disabled"
>
<span>
<span
style=
"font-size:8pt;"
:title=
"item.description"
:class=
"
{'font-red':item.disabled}"
>
<span
style=
"font-size:14px;"
>
{{
item
.
title
}}
<span
style=
"margin-left:4px;font-style: italic;font-size: 12px;color: #8e99a5;
"
>
(
{{
item
.
description
}}
)
</span></span>
<span
>
{{
item
.
title
}}
<span
style=
"font-style: italic;color: #8e99a5;"
:class=
"
{'font-red':item.disabled}
">(
{{
item
.
description
}}
)
</span></span>
</span>
</span>
</li>
</li>
</ul>
</ul>
...
@@ -48,20 +48,27 @@ export default {
...
@@ -48,20 +48,27 @@ export default {
this
.
initData
()
this
.
initData
()
},
},
methods
:
{
methods
:
{
getStyle
(
value
)
{
return
{
color
:
value
?
'red'
:
'black'
};
},
onChange
(
e
)
{
onChange
(
e
)
{
e
.
selected
=
!
e
.
selected
if
(
!
e
.
disabled
)
{
if
(
e
.
selected
)
{
e
.
selected
=
!
e
.
selected
this
.
selectKeys
.
push
(
e
)
if
(
e
.
selected
)
{
}
else
{
this
.
selectKeys
.
push
(
e
)
for
(
let
j
=
0
;
j
<
this
.
selectKeys
.
length
;
j
++
)
{
}
else
{
if
(
e
.
key
==
this
.
selectKeys
[
j
].
key
)
{
for
(
let
j
=
0
;
j
<
this
.
selectKeys
.
length
;
j
++
)
{
this
.
selectKeys
.
splice
(
j
,
1
)
if
(
e
.
key
==
this
.
selectKeys
[
j
].
key
)
{
break
this
.
selectKeys
.
splice
(
j
,
1
)
break
}
}
}
}
}
this
.
initData
()
this
.
$emit
(
"input"
,
this
.
selectKeys
)
}
}
this
.
initData
()
this
.
$emit
(
"input"
,
this
.
selectKeys
)
},
},
onCheckAllChange
(
e
)
{
onCheckAllChange
(
e
)
{
if
(
e
.
target
.
checked
)
{
if
(
e
.
target
.
checked
)
{
...
@@ -113,13 +120,16 @@ export default {
...
@@ -113,13 +120,16 @@ export default {
}
}
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
.layout-data-page {
.font-red {
color: red !important;
}
.select-item {
position: relative;
position: relative;
width: 100%;
width: 100%;
height: 100%;
height: 100%;
vertical-align: middle;
vertical-align: middle;
border-radius: 4px;
border-radius: 4px;
.
data-header
{
.
select-checked
{
width: 100%;
width: 100%;
height: 40px;
height: 40px;
padding: 8px 5px 9px;
padding: 8px 5px 9px;
...
@@ -129,41 +139,45 @@ export default {
...
@@ -129,41 +139,45 @@ export default {
border-bottom: 1px solid #e8e8e8;
border-bottom: 1px solid #e8e8e8;
border-radius: 4px 4px 0 0;
border-radius: 4px 4px 0 0;
}
}
.
data-list-body
{
.
select-content
{
width: 100%;
width: 100%;
height: calc(100% - 40px);
height: calc(100% - 40px);
overflow-x: hidden;
overflow-x: hidden;
overflow-y: auto;
overflow-y: auto;
.data-list-content
{
ul
{
height: 100%;
height: 100%;
margin: 0;
margin: 0;
padding: 0;
padding: 0;
overflow: auto;
overflow: auto;
list-style: none;
list-style: none;
}
}
.data-list-content-item {
ul li {
position: relative;
height: 24px;
height: 24px;
padding:
3px 2px 2px 5
px;
padding:
0px 4
px;
overflow: hidden;
overflow: hidden;
white-space: nowrap;
white-space: nowrap;
text-overflow: ellipsis;
text-overflow: ellipsis;
transition: all 0.3s;
transition: all 0.3s;
overflow: hidden;
overflow: hidden;
cursor: pointer;
cursor: pointer;
.list-checkbox-input {
width: 16px;
height: 16px;
cursor: pointer;
}
}
}
.data-list-content-item
:hover {
ul li
:hover {
background-color: rgb(230 247 255);
background-color: rgb(230 247 255);
}
}
.data-list-content-item > span {
ul li > span {
position: absolute;
padding-left: 4px;
top: 0;
cursor: pointer;
margin-left: 4px;
margin: 0;
vertical-align: middle;
}
ul li input {
display: inline-block;
vertical-align: middle;
}
.list-checkbox-input {
width: 14px;
height: 14px;
cursor: pointer;
}
}
}
}
}
}
...
...
src/views/audit/check/Index.vue
View file @
7256cf70
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
</a-tab-pane>
</a-tab-pane>
<a-tab-pane
key=
""
:tab=
"'所有项目(' + panes.count5 + ')'"
>
<a-tab-pane
key=
""
:tab=
"'所有项目(' + panes.count5 + ')'"
>
</a-tab-pane>
</a-tab-pane>
</a-tabs>
</a-tabs>
<a-form
layout=
"horizontal"
:form=
"form"
:model=
"searchForm"
>
<a-form
layout=
"horizontal"
:form=
"form"
:model=
"searchForm"
>
<a-row
:gutter=
"30"
>
<a-row
:gutter=
"30"
>
<a-col
:span=
"8"
>
<a-col
:span=
"8"
>
...
@@ -52,24 +52,23 @@
...
@@ -52,24 +52,23 @@
<a-col
:span=
"30"
>
<a-col
:span=
"30"
>
<a-form-item>
<a-form-item>
<a-button
type=
"primary"
@
click=
"exportData"
>
导出Excel
</a-button>
<a-button
type=
"primary"
@
click=
"exportData"
>
导出Excel
</a-button>
<span
:style=
"
{ color: '#DC143C' }">
<span
:style=
"
{ color: '#DC143C' }">
审核时间:
{{
description
}}
</span>
审核时间:
{{
description
}}
</span>
</a-form-item>
</a-form-item>
</a-col>
</a-col>
</a-row>
</a-row>
</a-form>
</a-form>
<a-table
:dataSource=
"tableData"
:columns=
"columns"
rowKey=
"id"
:pagination=
"false"
:loading=
"loading"
>
<a-table
:dataSource=
"tableData"
:columns=
"columns"
rowKey=
"id"
:pagination=
"false"
:loading=
"loading"
>
<template
slot=
"auditResultName"
slot-scope=
"record"
>
<template
slot=
"auditResultName"
slot-scope=
"record"
>
<span
v-if=
"record"
>
<span
v-if=
"record"
>
{{
record
}}
{{
record
}}
</span>
</span>
</
template
>
</
template
>
<
template
slot=
"option"
slot-scope=
"record"
>
<
template
slot=
"option"
slot-scope=
"record"
>
<a-button
type=
"link"
size=
"small"
@
click=
"recordClick(record, 'view')"
>
查看
</a-button>
<a-button
type=
"link"
size=
"small"
@
click=
"recordClick(record, 'view')"
>
查看
</a-button>
<a-button
type=
"link"
size=
"small"
v-if=
"record.auditResult == 1 && isButten"
<a-button
type=
"link"
size=
"small"
v-if=
"record.auditResult == 1 && isButten"
@
click=
"recordClick(record, 'audit')"
>
审核
</a-button>
@
click=
"recordClick(record, 'audit')"
>
审核
</a-button>
</
template
>
</
template
>
</a-table>
</a-table>
<a-pagination
v-if=
"pagination.total > 0"
:total=
"pagination.total"
show-size-changer
show-quick-jumper
v-model=
"pagination.pageIndex"
:page-size=
"pagination.pageSize"
:page-size-options=
"pagination.pageSizeOptions"
@
showSizeChange=
"showSizeChange"
@
change=
"change"
:showTotal=
"() => `共 ${pagination.total} 条`"
/>
<a-pagination
v-if=
"pagination.total > 0"
:total=
"pagination.total"
show-size-changer
show-quick-jumper
v-model=
"pagination.pageIndex"
:page-size=
"pagination.pageSize"
:page-size-options=
"pagination.pageSizeOptions"
@
showSizeChange=
"showSizeChange"
@
change=
"change"
:showTotal=
"() => `共 ${pagination.total} 条`"
/>
<a-modal
v-model=
"visibleAudit"
:title=
"'审核'"
:width=
"'86%'"
:dialog-style=
"{ top: '20px' }"
:maskClosable=
"false"
:footer=
"null"
destroyOnClose
>
<a-modal
v-model=
"visibleAudit"
:title=
"'审核'"
:width=
"'86%'"
:dialog-style=
"{ top: '20px' }"
:maskClosable=
"false"
:footer=
"null"
destroyOnClose
>
<audit
v-model=
"id"
:objId=
"objectId"
@
closeWindow=
"closeAuditWindow"
></audit>
<audit
v-model=
"id"
:objId=
"objectId"
@
closeWindow=
"closeAuditWindow"
></audit>
...
@@ -101,10 +100,10 @@ export default {
...
@@ -101,10 +100,10 @@ export default {
paraSelect
,
paraSelect
,
Audit
,
Audit
,
},
},
data
()
{
data
()
{
return
{
return
{
// 选项卡
// 选项卡
panes
:
{
count1
:
0
,
count2
:
0
,
count3
:
0
,
count4
:
0
,
count5
:
0
},
panes
:
{
count1
:
0
,
count2
:
0
,
count3
:
0
,
count4
:
0
,
count5
:
0
},
form
:
this
.
$form
.
createForm
(
this
,
{
name
:
"advanced_search"
}),
form
:
this
.
$form
.
createForm
(
this
,
{
name
:
"advanced_search"
}),
searchForm
:
{
searchForm
:
{
auditType
:
3
,
auditType
:
3
,
...
@@ -156,19 +155,19 @@ export default {
...
@@ -156,19 +155,19 @@ export default {
objectId
:
null
,
objectId
:
null
,
};
};
},
},
created
()
{
created
()
{
this
.
getYear
();
this
.
getYear
();
},
},
methods
:
{
methods
:
{
search
()
{
search
()
{
this
.
pagination
.
pageIndex
=
1
;
this
.
pagination
.
pageIndex
=
1
;
this
.
getListByPage
();
this
.
getListByPage
();
},
},
reset
()
{
reset
()
{
this
.
pagination
.
pageIndex
=
1
;
this
.
pagination
.
pageIndex
=
1
;
this
.
getListByPage
();
this
.
getListByPage
();
},
},
getYear
()
{
getYear
()
{
let
pars
=
{
type
:
3
};
let
pars
=
{
type
:
3
};
this
.
$api
.
year
this
.
$api
.
year
.
getYearByTreeCode
(
pars
)
.
getYearByTreeCode
(
pars
)
...
@@ -184,7 +183,7 @@ export default {
...
@@ -184,7 +183,7 @@ export default {
this
.
loading
=
false
;
this
.
loading
=
false
;
});
});
},
},
getListByPage
()
{
getListByPage
()
{
this
.
getCount
();
this
.
getCount
();
this
.
loading
=
true
;
this
.
loading
=
true
;
let
pars
=
isEmptyParams
(
this
.
searchForm
);
let
pars
=
isEmptyParams
(
this
.
searchForm
);
...
@@ -207,7 +206,7 @@ export default {
...
@@ -207,7 +206,7 @@ export default {
this
.
loading
=
false
;
this
.
loading
=
false
;
});
});
},
},
getCount
()
{
getCount
()
{
let
pars
=
isEmptyParams
({
let
pars
=
isEmptyParams
({
auditType
:
3
,
auditType
:
3
,
reportYear
:
this
.
searchForm
.
reportYear
,
reportYear
:
this
.
searchForm
.
reportYear
,
...
@@ -221,15 +220,15 @@ export default {
...
@@ -221,15 +220,15 @@ export default {
})
})
.
catch
(()
=>
{
});
.
catch
(()
=>
{
});
},
},
submitForm
()
{
},
submitForm
()
{
},
change
()
{
change
()
{
this
.
getListByPage
();
this
.
getListByPage
();
},
},
showSizeChange
(
current
,
pageSize
)
{
showSizeChange
(
current
,
pageSize
)
{
this
.
pagination
.
pageSize
=
pageSize
this
.
pagination
.
pageSize
=
pageSize
this
.
getListByPage
()
this
.
getListByPage
()
},
},
closeAuditWindow
(
value
)
{
closeAuditWindow
(
value
)
{
if
(
value
===
"audit"
)
{
if
(
value
===
"audit"
)
{
this
.
getListByPage
();
this
.
getListByPage
();
this
.
visibleAudit
=
false
;
this
.
visibleAudit
=
false
;
...
@@ -237,7 +236,7 @@ export default {
...
@@ -237,7 +236,7 @@ export default {
this
.
visibleAudit
=
false
;
this
.
visibleAudit
=
false
;
}
else
this
.
visibleView
=
false
;
}
else
this
.
visibleView
=
false
;
},
},
recordClick
(
record
,
type
)
{
recordClick
(
record
,
type
)
{
if
(
type
===
"view"
)
{
if
(
type
===
"view"
)
{
this
.
objectId
=
record
.
auditObjectId
;
this
.
objectId
=
record
.
auditObjectId
;
this
.
visibleView
=
true
;
this
.
visibleView
=
true
;
...
@@ -247,11 +246,11 @@ export default {
...
@@ -247,11 +246,11 @@ export default {
this
.
visibleAudit
=
true
;
this
.
visibleAudit
=
true
;
}
}
},
},
callback
(
key
)
{
callback
(
key
)
{
this
.
searchForm
.
auditResult
=
key
;
this
.
searchForm
.
auditResult
=
key
;
this
.
getListByPage
();
this
.
getListByPage
();
},
},
exportData
()
{
exportData
()
{
this
.
$ToDoExcel
(
this
.
$ToDoExcel
(
`中期考核审核列表`
,
`中期考核审核列表`
,
tableColumnsName
(
this
.
columns
),
tableColumnsName
(
this
.
columns
),
...
...
src/views/peAssign/projKeyAssign.vue
View file @
7256cf70
...
@@ -25,7 +25,6 @@
...
@@ -25,7 +25,6 @@
</a-form-item>
</a-form-item>
<a-form-item>
<a-form-item>
<para-select
v-model=
"searchForm.knowledgeId"
:typeId=
"56"
:width=
"150"
/>
<para-select
v-model=
"searchForm.knowledgeId"
:typeId=
"56"
:width=
"150"
/>
<!--
<para-multi-select
v-model=
"searchForm.knowledgeId"
@
parentChange=
"parChange"
:title=
"'学科'"
:objType=
"'project'"
:typeId=
"57"
:width=
"150"
/>
-->
</a-form-item>
</a-form-item>
<a-form-item>
<a-form-item>
<a-button
type=
"primary"
icon=
"search"
@
click=
"projSearch"
>
搜索
</a-button>
<a-button
type=
"primary"
icon=
"search"
@
click=
"projSearch"
>
搜索
</a-button>
...
@@ -68,12 +67,6 @@
...
@@ -68,12 +67,6 @@
</a-table>
</a-table>
<a-pagination
v-if=
"pagination.total > 0"
:total=
"pagination.total"
show-size-changer
show-quick-jumper
v-model=
"pagination.pageIndex"
:page-size=
"pagination.pageSize"
:page-size-options=
"pagination.pageSizeOptions"
@
showSizeChange=
"showSizeChange"
@
change=
"change"
:showTotal=
"() => `共 ${pagination.total} 条`"
/>
<a-pagination
v-if=
"pagination.total > 0"
:total=
"pagination.total"
show-size-changer
show-quick-jumper
v-model=
"pagination.pageIndex"
:page-size=
"pagination.pageSize"
:page-size-options=
"pagination.pageSizeOptions"
@
showSizeChange=
"showSizeChange"
@
change=
"change"
:showTotal=
"() => `共 ${pagination.total} 条`"
/>
<!-- <s-modal :title="projectGroupTitle" v-model="projDetailVisible" v-if="projDetailVisible" ref="childWindow" :loading="false">
<div slot="content">
<group-detail v-model="groupId" :btnAddVisiable="false" @close="closeProjDetail" />
</div>
</s-modal> -->
<a-modal
v-model=
"groupEditVisible"
title=
"项目组编辑"
width=
"60%"
:dialog-style=
"{ top: '15%' }"
:maskClosable=
"false"
destroyOnClose
>
<a-modal
v-model=
"groupEditVisible"
title=
"项目组编辑"
width=
"60%"
:dialog-style=
"{ top: '15%' }"
:maskClosable=
"false"
destroyOnClose
>
<
template
slot=
"footer"
>
<
template
slot=
"footer"
>
<a-button
type=
"primary"
@
click=
"() => this.$refs.childEdit.submit()"
>
提交
</a-button>
<a-button
type=
"primary"
@
click=
"() => this.$refs.childEdit.submit()"
>
提交
</a-button>
...
@@ -188,7 +181,7 @@ export default {
...
@@ -188,7 +181,7 @@ export default {
})
})
},
},
getYear
()
{
getYear
()
{
this
.
$api
.
batch
.
getCurrentYearBatch
({
type
:
1
,
projType
:
getType
(),
timeType
:
1
}).
then
(({
data
=
{}
})
=>
{
this
.
$api
.
batch
.
getCurrentYearBatch
({
type
:
1
,
projType
:
getType
(),
timeType
:
1
}).
then
(({
data
=
{}
})
=>
{
if
(
data
)
{
if
(
data
)
{
this
.
reportYear
=
data
.
year
this
.
reportYear
=
data
.
year
this
.
searchForm
.
groupYear
=
data
.
year
this
.
searchForm
.
groupYear
=
data
.
year
...
@@ -514,7 +507,7 @@ export default {
...
@@ -514,7 +507,7 @@ export default {
margin: 14px 0px 0px 0px !important;
margin: 14px 0px 0px 0px !important;
}
}
::v-deep .ant-drawer .ant-drawer-content-wrapper {
::v-deep .ant-drawer .ant-drawer-content-wrapper {
width:
48
0px !important;
width:
60
0px !important;
.ant-drawer-content .ant-drawer-wrapper-body {
.ant-drawer-content .ant-drawer-wrapper-body {
.ant-drawer-header {
.ant-drawer-header {
padding: 10px 10px !important;
padding: 10px 10px !important;
...
...
src/views/report/project/components/manufactureInfo.vue
View file @
7256cf70
...
@@ -84,7 +84,7 @@
...
@@ -84,7 +84,7 @@
</a-col>
</a-col>
<a-col
:span=
"2"
>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
<div
class=
"special-middle"
>
<div>
{{
parseFloat
(
item
.
fundAmount
).
toFixed
(
2
)
}}
</div>
<div>
{{
parseFloat
(
item
.
fundAmount
).
toFixed
(
2
)
}}
</div>
</div>
</div>
</a-col>
</a-col>
<a-col
:span=
"2"
>
<a-col
:span=
"2"
>
...
...
src/views/report/project/components/tmp-task.html
View file @
7256cf70
...
@@ -335,8 +335,8 @@
...
@@ -335,8 +335,8 @@
<td
colspan=
"2"
>
${emp.unitName!}
</td>
<td
colspan=
"2"
>
${emp.unitName!}
</td>
<td
colspan=
"2"
>
${emp.unitAddress!}
</td>
<td
colspan=
"2"
>
${emp.unitAddress!}
</td>
<td
colspan=
"2"
>
${emp.organizationCode!}
</td>
<td
colspan=
"2"
>
${emp.organizationCode!}
</td>
<td
colspan=
"2"
>
${emp.
division
!}
</td>
<td
colspan=
"2"
>
${emp.
projectWork
!}
</td>
<td>
${unit.projectWork!}
</td>
<td></td>
</tr>
</tr>
</
#
list>
</
#
list>
</table>
</table>
...
@@ -345,12 +345,12 @@
...
@@ -345,12 +345,12 @@
<p>
三、项目人员情况
</p>
<p>
三、项目人员情况
</p>
<table>
<table>
<tr>
<tr>
<td
rowspan=
"5"
>
项目负责人
</td>
<td
rowspan=
"5"
colspan=
"2"
>
项目负责人
</td>
<td
colspan=
"3"
>
姓名
</td>
<td
colspan=
"3"
>
姓名
</td>
<td
colspan=
"3"
>
${appPersonName!}
</td>
<td
colspan=
"3"
>
${appPersonName!}
</td>
<td
colspan=
"2"
>
性别
</td>
<td
colspan=
"2"
>
性别
</td>
<td
colspan=
"2"
>
${sex!}
</td>
<td
colspan=
"2"
>
${sex!}
</td>
<td
colspan=
"
3
"
>
出生日期
</td>
<td
colspan=
"
2
"
>
出生日期
</td>
<td
colspan=
"2"
>
${(birthday?string('yyyy年MM月'))!}
</td>
<td
colspan=
"2"
>
${(birthday?string('yyyy年MM月'))!}
</td>
</tr>
</tr>
<tr>
<tr>
...
@@ -358,7 +358,7 @@
...
@@ -358,7 +358,7 @@
<td
colspan=
"3"
>
身份证
</td>
<td
colspan=
"3"
>
身份证
</td>
<td
colspan=
"2"
>
证件号码
</td>
<td
colspan=
"2"
>
证件号码
</td>
<td
colspan=
"2"
>
${certId!}
</td>
<td
colspan=
"2"
>
${certId!}
</td>
<td
colspan=
"
3
"
>
民族
</td>
<td
colspan=
"
2
"
>
民族
</td>
<td
colspan=
"2"
>
${nationName!}
</td>
<td
colspan=
"2"
>
${nationName!}
</td>
</tr>
</tr>
<tr>
<tr>
...
@@ -366,7 +366,7 @@
...
@@ -366,7 +366,7 @@
<td
colspan=
"3"
>
${titleName!}
</td>
<td
colspan=
"3"
>
${titleName!}
</td>
<td
colspan=
"2"
>
从事专业
</td>
<td
colspan=
"2"
>
从事专业
</td>
<td
colspan=
"2"
>
${specName!}
</td>
<td
colspan=
"2"
>
${specName!}
</td>
<td
colspan=
"
3
"
>
项目分工
</td>
<td
colspan=
"
2
"
>
项目分工
</td>
<td
colspan=
"2"
>
${projWork!}
</td>
<td
colspan=
"2"
>
${projWork!}
</td>
</tr>
</tr>
<tr>
<tr>
...
@@ -374,7 +374,7 @@
...
@@ -374,7 +374,7 @@
<td
colspan=
"3"
>
${degreeName!}
</td>
<td
colspan=
"3"
>
${degreeName!}
</td>
<td
colspan=
"2"
>
职务
</td>
<td
colspan=
"2"
>
职务
</td>
<td
colspan=
"2"
>
${dutyName!}
</td>
<td
colspan=
"2"
>
${dutyName!}
</td>
<td
colspan=
"
3
"
>
传真
</td>
<td
colspan=
"
2
"
>
传真
</td>
<td
colspan=
"2"
>
${fax!}
</td>
<td
colspan=
"2"
>
${fax!}
</td>
</tr>
</tr>
<tr>
<tr>
...
@@ -382,7 +382,7 @@
...
@@ -382,7 +382,7 @@
<td
colspan=
"3"
>
${mobile!}
</td>
<td
colspan=
"3"
>
${mobile!}
</td>
<td
colspan=
"2"
>
联系电话
</td>
<td
colspan=
"2"
>
联系电话
</td>
<td
colspan=
"2"
>
${telephone!}
</td>
<td
colspan=
"2"
>
${telephone!}
</td>
<td
colspan=
"
3
"
>
电子邮箱
</td>
<td
colspan=
"
2
"
>
电子邮箱
</td>
<td
colspan=
"2"
>
${email!}
</td>
<td
colspan=
"2"
>
${email!}
</td>
</tr>
</tr>
<tr>
<tr>
...
...
src/views/report/task/components/taskInfo.vue
View file @
7256cf70
...
@@ -694,7 +694,7 @@
...
@@ -694,7 +694,7 @@
<a-col
:span=
"4"
>
<a-col
:span=
"4"
>
<div
class=
"special-middle"
>
<div
class=
"special-middle"
>
<div>
<div>
{{
value
.
memCount
}}
{{
value
.
memCount
}}
I
</div>
</div>
</div>
</div>
</a-col>
</a-col>
...
...
src/views/report/task/components/taskView.vue
View file @
7256cf70
...
@@ -148,30 +148,23 @@ export default {
...
@@ -148,30 +148,23 @@ export default {
}
}
},
},
onExport
()
{
onExport
()
{
let
headers
=
{
Authorization
:
'Bearer '
+
getToken
()
}
axios
({
axios
({
url
:
"/v1/science-admin/com-project-task/export/"
+
this
.
value
,
url
:
"/v1/science-admin/com-project-task/export/"
+
this
.
value
,
method
:
'GET'
,
method
:
'GET'
,
responseType
:
"blob"
,
responseType
:
"arraybuffer"
,
// 告诉axios返回的数据类型为Blob
headers
:
{
headers
:
headers
Authorization
:
'Bearer '
+
getToken
(),
'Content-Type'
:
'application/pdf;charset=utf-8'
}
}).
then
(
response
=>
{
}).
then
(
response
=>
{
console
.
log
(
response
)
const
url
=
window
.
URL
.
createObjectURL
(
new
Blob
([
response
.
data
]))
const
blob
=
new
Blob
([
response
.
data
],
{
type
:
'application/pdf'
});
const
link
=
document
.
createElement
(
'a'
)
const
url
=
window
.
URL
.
createObjectURL
(
blob
);
link
.
href
=
url
const
link
=
document
.
createElement
(
'a'
);
link
.
setAttribute
(
"download"
,
this
.
formData
.
projName
+
".pdf"
);
// 下载文件的名称
link
.
href
=
url
;
document
.
body
.
appendChild
(
link
)
const
filename
=
response
.
headers
[
'content-disposition'
]
?
decodeURIComponent
(
response
.
headers
[
'content-disposition'
].
split
(
'filename='
)[
1
])
:
'项目报告.pdf'
;
link
.
click
()
link
.
setAttribute
(
"download"
,
filename
);
this
.
loading
=
false
document
.
body
.
appendChild
(
link
);
})
link
.
click
();
document
.
body
.
removeChild
(
link
);
window
.
URL
.
revokeObjectURL
(
url
);
}).
catch
(
error
=>
{
console
.
error
(
'下载文件出错:'
,
error
);
this
.
$message
.
error
(
'下载文件失败'
);
});
},
},
callback
(
key
)
{
callback
(
key
)
{
var
index
=
parseInt
(
key
)
var
index
=
parseInt
(
key
)
...
...
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