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
180ad5d3
Commit
180ad5d3
authored
Dec 10, 2024
by
wangxl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
44444
parent
c46dc64f
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
337 additions
and
309 deletions
+337
-309
register.js
src/register.js
+2
-0
infoEdit.vue
src/views/basicSetting/person/components/infoEdit.vue
+4
-0
index.vue
src/views/basicSetting/person/index.vue
+1
-0
info.vue
src/views/basicSetting/person/info.vue
+1
-0
fileLoad.vue
src/views/components/common/fileLoad.vue
+1
-1
cooperativeUnitsEdit.vue
src/views/report/project/components/cooperativeUnitsEdit.vue
+11
-55
cooperativeUnitsInfo.vue
src/views/report/project/components/cooperativeUnitsInfo.vue
+2
-50
projectEdit.vue
...iews/report/project/components/keyProject/projectEdit.vue
+0
-0
projectInfo.vue
...iews/report/project/components/keyProject/projectInfo.vue
+0
-0
managementRuleEdit.vue
src/views/report/project/components/managementRuleEdit.vue
+1
-2
memberEdit.vue
src/views/report/project/components/memberEdit.vue
+21
-97
participateUnitsEdit.vue
src/views/report/project/components/participateUnitsEdit.vue
+146
-0
participateUnitsInfo.vue
src/views/report/project/components/participateUnitsInfo.vue
+115
-0
projectEdit.vue
src/views/report/project/components/projectEdit.vue
+0
-0
projectInfo.vue
src/views/report/project/components/projectInfo.vue
+3
-2
projectMemberEdit.vue
src/views/report/project/components/projectMemberEdit.vue
+27
-88
projectMemberInfo.vue
src/views/report/project/components/projectMemberInfo.vue
+0
-12
projectSubEdit.vue
src/views/report/project/components/projectSubEdit.vue
+1
-2
projectView.vue
src/views/report/project/components/projectView.vue
+1
-0
No files found.
src/register.js
View file @
180ad5d3
...
...
@@ -23,6 +23,7 @@ import BtnGroup from '@/components/btnGroup/index.vue'
import
EComment
from
'@/components/comment/index.vue'
import
FileUpload
from
'@/views/components/common/upload.vue'
import
fModal
from
'@/components/modal/index'
import
fileLoad
from
'@/views/components/common/fileLoad'
import
Viewer
from
"v-viewer"
import
'viewerjs/dist/viewer.css'
...
...
@@ -30,6 +31,7 @@ Vue.component('e-comment', EComment);
Vue
.
component
(
'btn-group'
,
BtnGroup
);
Vue
.
component
(
'sModal'
,
sModal
)
Vue
.
component
(
'FileUpload'
,
FileUpload
)
Vue
.
component
(
'fileLoad'
,
fileLoad
)
Vue
.
component
(
'fModal'
,
fModal
)
// 设置ant日期选择框为中文样式
...
...
src/views/basicSetting/person/components/infoEdit.vue
View file @
180ad5d3
...
...
@@ -28,6 +28,9 @@
<a-form-model-item
label=
"邮 箱"
prop=
"email"
>
<a-input
v-model=
"formData.email"
:maxLength=
"30"
style=
"width:180px;"
/>
</a-form-model-item>
<a-form-model-item
label=
"通讯地址"
prop=
"address"
>
<a-input
v-model=
"formData.address"
:maxLength=
"60"
style=
"width:180px;"
/>
</a-form-model-item>
</a-form-model>
</div>
</
template
>
...
...
@@ -55,6 +58,7 @@ export default {
telephone
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},],
fax
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},],
email
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},],
address
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},],
},
}
},
...
...
src/views/basicSetting/person/index.vue
View file @
180ad5d3
...
...
@@ -35,6 +35,7 @@ export default {
telephone
:
null
,
fax
:
null
,
email
:
null
,
address
:
null
,
},
loading
:
false
}
...
...
src/views/basicSetting/person/info.vue
View file @
180ad5d3
...
...
@@ -111,6 +111,7 @@ export default {
telephone
:
null
,
fax
:
null
,
email
:
null
,
address
:
null
,
},
loading
:
false
}
...
...
src/views/components/common/fileLoad.vue
View file @
180ad5d3
...
...
@@ -15,7 +15,7 @@
<
script
>
import
documentView
from
'@/views/components/common/documentView'
export
default
{
name
:
"
F
ileLoad"
,
name
:
"
f
ileLoad"
,
components
:
{
documentView
},
...
...
src/views/report/project/components/cooperativeUnitsEdit.vue
View file @
180ad5d3
...
...
@@ -3,34 +3,19 @@
<a-row>
<a-col
:span=
"24"
>
<div
class=
"tb-title"
>
<span>
项目主要参与单位及分工
</span>
<span>
合作单位
</span>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"5"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
单位名称
</div>
</div>
</a-col>
<a-col
:span=
"3"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
单位国别
</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=
"4"
class=
"bg-gray"
>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
组织机构代码/统社会信用代码
</div>
<div
>
序号
</div>
</div>
</a-col>
<a-col
:span=
"
6
"
class=
"bg-gray"
>
<a-col
:span=
"
20
"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
分 工
</div>
<div
class=
"required"
>
单位名称
</div>
</div>
</a-col>
<a-col
:span=
"2"
class=
"bg-gray"
>
...
...
@@ -40,47 +25,18 @@
</a-col>
</a-row>
<a-row
v-for=
"(item, index) in cooperativeUnits"
:key=
"'cooperativeUnits'+index"
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"5"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
:prop=
"'cooperativeUnits.' + index + '.unitName'"
:rules=
"
{ required: true,message: '*',trigger: 'blur',}">
<a-input
v-model=
"item.unitName"
:maxLength=
"20"
placeholder=
"单位名称"
style=
"width: 80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"3"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
:prop=
"'cooperativeUnits.' + index + '.unitCountry'"
:rules=
"
{ required: true,message: '*',trigger: 'blur',}">
<a-input
v-model=
"item.unitCountry"
:maxLength=
"20"
placeholder=
"单位国别"
style=
"width: 80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"4"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
:prop=
"'cooperativeUnits.' + index + '.unitAddress'"
:rules=
"
{ required: true,message: '*',trigger: 'blur',}">
<a-input
v-model=
"item.unitAddress"
:maxLength=
"100"
placeholder=
"单位地址"
style=
"width: 80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"4"
>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
:prop=
"'cooperativeUnits.' + index + '.organizationCode'"
:rules=
"
{ required: true,message: '*',trigger: 'blur',}">
<a-input
v-model=
"item.organizationCode"
:maxLength=
"50"
placeholder=
"组织机构代码/统社会信用代码"
style=
"width: 80%"
/>
</a-form-model-item>
{{
index
+
1
}}
</div>
</div>
</a-col>
<a-col
:span=
"
6
"
>
<a-col
:span=
"
20
"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
:prop=
"'cooperativeUnits.' + index + '.
projectWork'"
:rules=
"
{ required: true,message: '*',trigger: 'blur',}
">
<a-input
v-model=
"item.
projectWork"
:maxLength=
"50"
placeholder=
"分 工
"
style=
"width: 80%"
/>
<a-form-model-item
:prop=
"'cooperativeUnits.' + index + '.
unitName'
"
>
<a-input
v-model=
"item.
unitName"
:maxLength=
"20"
placeholder=
"单位名称
"
style=
"width: 80%"
/>
</a-form-model-item>
</div>
</div>
...
...
@@ -129,7 +85,7 @@ export default {
},
created
()
{
},
methods
:
{
addArray
()
{
//添加成员
...
...
src/views/report/project/components/cooperativeUnitsInfo.vue
View file @
180ad5d3
...
...
@@ -3,7 +3,7 @@
<a-row>
<a-col
:span=
"24"
>
<div
class=
"tb-title"
>
<span>
项目主要参与单位及分工
</span>
<span>
合作单位
</span>
</div>
</a-col>
</a-row>
...
...
@@ -13,31 +13,11 @@
<div>
序号
</div>
</div>
</a-col>
<a-col
:span=
"
5
"
class=
"bg-gray"
>
<a-col
:span=
"
22
"
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=
"4"
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=
"6"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
>
分 工
</div>
</div>
</a-col>
</a-row>
<a-row
v-for=
"(item, index) in dataList"
:key=
"'cooperativeUnits'+index"
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"2"
>
...
...
@@ -54,34 +34,6 @@
</div>
</div>
</a-col>
<a-col
:span=
"3"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
unitCountry
}}
</div>
</div>
</a-col>
<a-col
:span=
"4"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
unitAddress
}}
</div>
</div>
</a-col>
<a-col
:span=
"4"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
organizationCode
}}
</div>
</div>
</a-col>
<a-col
:span=
"6"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
projectWork
}}
</div>
</div>
</a-col>
</a-row>
</div>
</
template
>
...
...
src/views/report/project/components/keyProject/projectEdit.vue
View file @
180ad5d3
This diff is collapsed.
Click to expand it.
src/views/report/project/components/keyProject/projectInfo.vue
View file @
180ad5d3
This diff is collapsed.
Click to expand it.
src/views/report/project/components/managementRuleEdit.vue
View file @
180ad5d3
...
...
@@ -99,13 +99,12 @@
const
ManagementRule
=
{
policyName
:
null
,
releaseDate
:
null
,
documentNumber
:
null
,
validityPeriod
:
null
,
mainContent
:
null
,
fileId
:
null
,
downloadId
:
null
,
fileName
:
null
,
downloadUrl
:
null
}
import
{
isEmptyParams
}
from
"@/views/utils/common"
import
fileLoad
from
'@/views/components/common/fileLoad'
export
default
{
name
:
"managementRuleEdit"
,
components
:
{
fileLoad
},
props
:
{
managementRuleList
:
{
...
...
src/views/report/project/components/memberEdit.vue
View file @
180ad5d3
...
...
@@ -10,23 +10,11 @@
<div
class=
"required"
>
姓名
</div>
</div>
</a-col>
<a-col
:span=
"
20
"
>
<a-col
:span=
"
8
"
>
<a-form-model-item
prop=
"name"
>
<a-input
v-model=
"memObject.name"
:maxLength=
"20"
placeholder=
"姓名"
style=
"width: 40%"
/>
</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>
</a-col>
<a-col
:span=
"8"
>
<a-form-model-item
prop=
"certificateType"
>
<para-select
v-model=
"memObject.certificateType"
:typeId=
"49"
:width=
"120"
@
changeTitle=
"(e)=>
{ memObject.certificateTypeName = e}" />
</a-form-model-item>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
证件号码
</div>
...
...
@@ -60,43 +48,22 @@
</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>
</a-col>
<a-col
:span=
"8"
>
<a-form-model-item
prop=
"nation"
>
<para-select
v-model=
"memObject.nation"
:typeId=
"11"
:width=
"120"
@
changeTitle=
"(e)=>
{ memObject.nationName = e}" />
</a-form-model-item>
</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
"
>
<a-form-model-item
prop=
"
country
"
>
<
a-input
v-model=
"memObject.country"
:maxLength=
"50"
placeholder=
"国别或地区"
style=
"width: 60%
"
/>
<a-col
:span=
"
20
"
>
<a-form-model-item
prop=
"
title
"
>
<
para-multi-select
v-model=
"memObject.title"
:typeId=
"7"
:width=
"120"
@
changeTitle=
"(e)=>
{ memObject.titleName = e}
" />
</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>
</a-col>
<a-col
:span=
"8"
>
<a-form-model-item
prop=
"workUnit"
>
<a-input
v-model=
"memObject.workUnit"
:maxLength=
"50"
placeholder=
"工作单位"
style=
"width: 60%"
/>
</a-form-model-item>
</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"
>
...
...
@@ -104,42 +71,19 @@
<para-select
v-model=
"memObject.degree"
:typeId=
"9"
:width=
"120"
@
changeTitle=
"(e)=>
{ memObject.degreeName = e}" />
</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>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"spec"
>
<para-multi-select
v-model=
"memObject.spec"
:typeId=
"57"
:width=
"120"
@
changeTitle=
"(e)=>
{ memObject.specName = e}" />
</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=
"
title
"
>
<
para-multi-select
v-model=
"memObject.title"
:typeId=
"7"
:width=
"120"
@
changeTitle=
"(e)=>
{ memObject.titleName = e}
" />
<a-col
:span=
"
8
"
>
<a-form-model-item
prop=
"
workUnit
"
>
<
a-input
v-model=
"memObject.workUnit"
:maxLength=
"50"
placeholder=
"工作单位"
style=
"width: 60%
"
/>
</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>
</a-col>
<a-col
:span=
"8"
>
<a-form-model-item
prop=
"email"
>
<a-input
v-model=
"memObject.email"
:maxLength=
"50"
placeholder=
"电子邮箱"
style=
"width: 60%"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
手机
</div>
...
...
@@ -150,31 +94,17 @@
<a-input
v-model=
"memObject.mobile"
:maxLength=
"20"
placeholder=
"手机"
style=
"width: 60%"
/>
</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=
"
telephone
"
>
<a-input
v-model=
"memObject.
telephone"
:maxLength=
"20"
placeholder=
"电话号码
"
style=
"width: 60%"
/>
<a-col
:span=
"
8
"
>
<a-form-model-item
prop=
"
email
"
>
<a-input
v-model=
"memObject.
email"
:maxLength=
"50"
placeholder=
"电子邮箱
"
style=
"width: 60%"
/>
</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>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"fax"
>
<a-input
v-model=
"memObject.fax"
:maxLength=
"20"
placeholder=
"传真"
style=
"width: 60%"
/>
</a-form-model-item>
</a-col>
</a-row>
-->
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
...
...
@@ -226,7 +156,6 @@ export default {
name
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},],
sex
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'change'
},],
birthday
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'change'
},],
certificateType
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'change'
},],
certId
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},
// {
// validator: (rule, value, callback) => {
...
...
@@ -244,24 +173,19 @@ export default {
// }
// }
],
nation
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'change'
},],
country
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},],
workUnit
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},],
title
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'change'
},],
degree
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'change'
},],
email
:
[
{
required
:
true
,
message
:
'
请填写电子邮箱(项目联系人)
'
,
trigger
:
'blur'
},
{
required
:
true
,
message
:
'
*
'
,
trigger
:
'blur'
},
{
required
:
true
,
validator
:
checkEmail
,
trigger
:
'blur'
}
],
mobile
:
[
{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},
{
required
:
true
,
validator
:
checkPhone
,
trigger
:
'blur'
}
],
telephone
:
[{
required
:
false
,
message
:
'*'
,
trigger
:
'blur'
},],
fax
:
[{
required
:
false
,
message
:
'*'
,
trigger
:
'blur'
},],
projWork
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},],
forMonths
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},],
spec
:
[{
required
:
true
,
message
:
'*'
,
trigger
:
'change'
},],
},
loading
:
false
,
}
...
...
@@ -287,12 +211,12 @@ export default {
submit
()
{
this
.
memObject
.
_key
=
Math
.
random
().
toString
(
16
).
substring
(
2
,
8
)
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
valid
)
{
//
if (valid) {
this
.
$emit
(
'close'
,
this
.
memObject
)
}
else
{
this
.
$message
.
error
(
'项目
信息未填写完全!'
)
return
false
}
//
} else {
// this.$message.error('
信息未填写完全!')
//
return false
//
}
})
},
},
...
...
src/views/report/project/components/participateUnitsEdit.vue
0 → 100644
View file @
180ad5d3
<
template
>
<div>
<a-row>
<a-col
:span=
"24"
>
<div
class=
"tb-title"
>
<span>
项目主要参与单位及分工
</span>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"5"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
单位名称
</div>
</div>
</a-col>
<a-col
:span=
"3"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
单位国别
</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=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
组织机构代码/统社会信用代码
</div>
</div>
</a-col>
<a-col
:span=
"6"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
分 工
</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 participateUnits"
:key=
"'participateUnits'+index"
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"5"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
:prop=
"'participateUnits.' + index + '.unitName'"
:rules=
"
{ required: true,message: '*',trigger: 'blur',}">
<a-input
v-model=
"item.unitName"
:maxLength=
"20"
placeholder=
"单位名称"
style=
"width: 80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"3"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
:prop=
"'participateUnits.' + index + '.unitCountry'"
:rules=
"
{ required: true,message: '*',trigger: 'blur',}">
<a-input
v-model=
"item.unitCountry"
:maxLength=
"20"
placeholder=
"单位国别"
style=
"width: 80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"4"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
:prop=
"'participateUnits.' + index + '.unitAddress'"
:rules=
"
{ required: true,message: '*',trigger: 'blur',}">
<a-input
v-model=
"item.unitAddress"
:maxLength=
"100"
placeholder=
"单位地址"
style=
"width: 80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"4"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
:prop=
"'participateUnits.' + index + '.organizationCode'"
:rules=
"
{ required: true,message: '*',trigger: 'blur',}">
<a-input
v-model=
"item.organizationCode"
:maxLength=
"50"
placeholder=
"组织机构代码/统社会信用代码"
style=
"width: 80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"6"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
:prop=
"'participateUnits.' + index + '.projectWork'"
:rules=
"
{ required: true,message: '*',trigger: 'blur',}">
<a-input
v-model=
"item.projectWork"
:maxLength=
"50"
placeholder=
"分 工"
style=
"width: 80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
<a-popconfirm
title=
"确定要删除吗?"
ok-text=
"确定"
cancel-text=
"取消"
@
confirm=
"removeArray(item)"
>
<a-button
type=
"link"
size=
"small"
>
[删除]
</a-button>
</a-popconfirm>
</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: 50%"
@
click=
"addArray"
>
<a-icon
type=
"plus"
/>
添加
</a-button>
</div>
</a-col>
</a-row>
</div>
</
template
>
<
script
>
//用法
<
cooperative
-
units
:
participateUnits
.
sync
=
"formData.participateUnits"
/>
const
Model
=
{
id
:
null
,
unitName
:
null
,
unitCountry
:
null
,
unitAddress
:
null
,
organizationCode
:
null
,
projectWork
:
null
}
export
default
{
name
:
'participateUnitsEdit'
,
data
()
{
return
{
}
},
props
:
{
participateUnits
:
{
type
:
Array
,
default
:
()
=>
{
return
[]
}
},
},
components
:
{
},
created
()
{
},
methods
:
{
addArray
()
{
//添加成员
this
.
participateUnits
.
push
({
...
Model
})
},
removeArray
(
item
)
{
//移除成员
let
index
=
this
.
participateUnits
.
indexOf
(
item
)
if
(
index
!==
-
1
)
{
this
.
participateUnits
.
splice
(
index
,
1
)
}
},
},
}
</
script
>
src/views/report/project/components/participateUnitsInfo.vue
0 → 100644
View file @
180ad5d3
<
template
>
<div>
<a-row>
<a-col
:span=
"24"
>
<div
class=
"tb-title"
>
<span>
项目主要参与单位及分工
</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=
"5"
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=
"4"
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=
"6"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
>
分 工
</div>
</div>
</a-col>
</a-row>
<a-row
v-for=
"(item, index) in dataList"
:key=
"'cooperativeUnits'+index"
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
<div>
{{
index
+
1
}}
</div>
</div>
</a-col>
<a-col
:span=
"5"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
unitName
}}
</div>
</div>
</a-col>
<a-col
:span=
"3"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
unitCountry
}}
</div>
</div>
</a-col>
<a-col
:span=
"4"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
unitAddress
}}
</div>
</div>
</a-col>
<a-col
:span=
"4"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
organizationCode
}}
</div>
</div>
</a-col>
<a-col
:span=
"6"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
projectWork
}}
</div>
</div>
</a-col>
</a-row>
</div>
</
template
>
<
script
>
export
default
{
name
:
'participateUnitsInfo'
,
data
()
{
return
{
}
},
props
:
{
dataList
:
{
type
:
Array
,
default
:
()
=>
{
return
[]
}
},
},
components
:
{
},
created
()
{
},
methods
:
{
}
}
</
script
>
src/views/report/project/components/projectEdit.vue
View file @
180ad5d3
This diff is collapsed.
Click to expand it.
src/views/report/project/components/projectInfo.vue
View file @
180ad5d3
...
...
@@ -433,7 +433,7 @@
</a-row>
<!-- 项目合作单位 -->
<
cooperative-units-info
:dataList
.
sync=
"value.cooperativ
eUnits"
/>
<
participate-units-info
:dataList
.
sync=
"value.participat
eUnits"
/>
<!-- 项目组成员 -->
<project-member-info
:dataList
.
sync=
"value.members"
/>
...
...
@@ -676,6 +676,7 @@
import
moment
from
'moment'
import
projectMemberInfo
from
'@/views/report/project/components/projectMemberInfo'
import
cooperativeUnitsInfo
from
'@/views/report/project/components/cooperativeUnitsInfo'
import
participateUnitsInfo
from
'@/views/report/project/components/participateUnitsInfo'
import
budgetInfo
from
'@/views/report/project/components/budgetInfo'
import
fundPlanInfo
from
'@/views/report/project/components/fundPlanInfo'
import
equipmentsInfo
from
'@/views/report/project/components/equipmentsInfo.vue'
...
...
@@ -694,7 +695,7 @@ import { toTextarea } from '@/views/utils/common'
export
default
{
components
:
{
projectMemberInfo
,
cooperativeUnitsInfo
,
budgetInfo
,
fundPlanInfo
,
equipmentsInfo
,
unitPaymentInfo
,
projectKpiInfo
,
projectResearchInfo
,
projectSubInfo
,
managementRuleInfo
,
fileInfo
,
AuditList
,
documentView
projectMemberInfo
,
cooperativeUnitsInfo
,
participateUnitsInfo
,
budgetInfo
,
fundPlanInfo
,
equipmentsInfo
,
unitPaymentInfo
,
projectKpiInfo
,
projectResearchInfo
,
projectSubInfo
,
managementRuleInfo
,
fileInfo
,
AuditList
,
documentView
},
name
:
"ProjectInfo"
,
data
()
{
...
...
src/views/report/project/components/projectMemberEdit.vue
View file @
180ad5d3
...
...
@@ -3,7 +3,7 @@
<a-row>
<a-col
:span=
"24"
>
<div
class=
"tb-title"
>
<span>
项目组
成员
<strong>
(注:项目负责人填写到第一行
)
</strong></span>
<span>
项目组
主要成员
<strong
style=
"color: red;"
>
(注:不包含项目申请人
)
</strong></span>
</div>
</a-col>
</a-row>
...
...
@@ -18,11 +18,6 @@
<div>
姓名
</div>
</div>
</a-col>
<a-col
:span=
"1"
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>
...
...
@@ -30,59 +25,39 @@
</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>
性别
</div>
</div>
</a-col>
<a-col
:span=
"1"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
民族
</div>
<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>
学位
</div>
</div>
</a-col>
<a-col
:span=
"1"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
职称
</div>
<div>
工作单位
</div>
</div>
</a-col>
<a-col
:span=
"
1
"
class=
"bg-gray"
>
<a-col
:span=
"
2
"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
最高学位
</div>
<div>
电话
</div>
</div>
</a-col>
<a-col
:span=
"
1
"
class=
"bg-gray"
>
<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=
"1"
class=
"bg-gray"
>
<a-col
:span=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
>
电话
</div>
<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>
...
...
@@ -93,9 +68,9 @@
<div>
每年工作(月)
</div>
</div>
</a-col>
<a-col
:span=
"
2
"
class=
"bg-gray"
>
<a-col
:span=
"
4
"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
从事专业
</div>
<div>
个人简历
</div>
</div>
</a-col>
<a-col
:span=
"3"
class=
"bg-gray"
>
...
...
@@ -123,94 +98,59 @@
<a-col
:span=
"1"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
sex
}}
{{
moment
(
item
.
birthday
).
format
(
'YYYY-MM'
)
}}
</div>
</div>
</a-col>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
>
<div>
{{
moment
(
item
.
birthday
).
format
(
'YYYY-MM-DD'
)
}}
{{
item
.
sex
}}
</div>
</div>
</a-col>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
certificateTypeName
}}
</div>
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
certId
}}
{{
item
.
titleName
}}
</div>
</div>
</a-col>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
nation
Name
}}
{{
item
.
degree
Name
}}
</div>
</div>
</a-col>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
country
}}
</div>
</div>
</a-col>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
workUnit
}}
</div>
</div>
</a-col>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
titleName
}}
</div>
</div>
</a-col>
<a-col
:span=
"1"
>
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
degreeNam
e
}}
{{
item
.
mobil
e
}}
</div>
</div>
</a-col>
<a-col
:span=
"
1
"
>
<a-col
:span=
"
2
"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
email
}}
</div>
</div>
</a-col>
<a-col
:span=
"
1
"
>
<a-col
:span=
"
2
"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
mobile
}}
{{
item
.
certId
}}
</div>
</div>
</a-col>
<!--
<a-col
:span=
"1"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
telephone
}}
</div>
</div>
</a-col>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
fax
}}
</div>
</div>
</a-col>
-->
<a-col
:span=
"2"
>
<div
class=
"special-middle"
>
<div>
...
...
@@ -225,11 +165,9 @@
</div>
</div>
</a-col>
<a-col
:span=
"
2
"
>
<a-col
:span=
"
4
"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
specName
}}
</div>
<file-load
:file
.
sync=
"dataList[index]"
:index=
"index"
:name=
"'members'"
/>
</div>
</a-col>
<a-col
:span=
"3"
>
...
...
@@ -248,9 +186,7 @@
<a-row
type=
"flex"
>
<a-col
:span=
"24"
style=
"text-align: center;"
>
<div
class=
"special-middle"
>
<a-button
type=
"dashed"
style=
"width: 30%;background: #40a9ff;"
@
click=
"addMember"
>
<a-icon
type=
"plus"
/>
添加项目组成员
</a-button>
<a-button
type=
"primary"
@
click=
"addMember"
>
添加项目组成员
</a-button>
</div>
</a-col>
</a-row>
...
...
@@ -295,6 +231,9 @@ const Member = {
export
default
{
name
:
'projectMemberEdit'
,
components
:
{
},
data
()
{
return
{
memObject
:
{},
...
...
src/views/report/project/components/projectMemberInfo.vue
View file @
180ad5d3
...
...
@@ -28,11 +28,6 @@
<div>
出生年月
</div>
</div>
</a-col>
<a-col
:span=
"1"
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>
...
...
@@ -129,13 +124,6 @@
</div>
</div>
</a-col>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
>
<div>
{{
item
.
certificateTypeName
}}
</div>
</div>
</a-col>
<a-col
:span=
"3"
>
<div
class=
"special-middle"
>
<div>
...
...
src/views/report/project/components/projectSubEdit.vue
View file @
180ad5d3
...
...
@@ -129,13 +129,12 @@
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
}
import
{
isEmptyParams
}
from
"@/views/utils/common"
import
fileLoad
from
'@/views/components/common/fileLoad'
export
default
{
name
:
"projectSubEdit"
,
components
:
{
fileLoad
},
props
:
{
projectSubList
:
{
...
...
src/views/report/project/components/projectView.vue
View file @
180ad5d3
...
...
@@ -124,6 +124,7 @@ export default {
year3Goal
:
null
,
projectKPI
:
projectKPI
,
cooperativeUnits
:
[],
participateUnits
:
[],
members
:
[],
budget
:
[],
equipments
:
[],
...
...
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