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
17cafb50
Commit
17cafb50
authored
Dec 16, 2024
by
wangxl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
444
parent
d65714cc
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
214 additions
and
171 deletions
+214
-171
deviceEdit.vue
src/views/report/project/components/deviceEdit.vue
+0
-0
equipmentsEdit.vue
src/views/report/project/components/equipmentsEdit.vue
+0
-141
equipmentsEdit.vue
...s/report/project/components/keyProject/equipmentsEdit.vue
+24
-24
projectEdit.vue
...iews/report/project/components/keyProject/projectEdit.vue
+2
-2
projStageGoalsEdit.vue
src/views/report/project/components/projStageGoalsEdit.vue
+109
-0
projStageGoalsInfo.vue
src/views/report/project/components/projStageGoalsInfo.vue
+64
-0
projectEdit.vue
src/views/report/project/components/projectEdit.vue
+10
-3
projectInfo.vue
src/views/report/project/components/projectInfo.vue
+5
-1
No files found.
src/views/report/project/components/deviceEdit.vue
View file @
17cafb50
This diff is collapsed.
Click to expand it.
src/views/report/project/components/equipmentsEdit.vue
deleted
100644 → 0
View file @
d65714cc
<
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=
"2"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
设备名称
</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"
><a-button
icon=
"close"
type=
"primary"
shape=
"circle"
size=
"small"
@
click=
"deleteEquipment(item)"
></a-button>
{{
index
+
1
}}
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
:prop=
"'equipments.' + index + '.name'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.name"
:maxLength=
"100"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-col>
</a-row>
<div></div>
<a-row
type=
"flex"
>
<a-col
:span=
"24"
style=
"text-align: center"
>
<div
class=
"special-middle"
>
<a-button
type=
"dashed"
style=
"width: 20%"
@
click=
"addArray()"
>
<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.单价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
:
"EquipmentEdit"
,
data
()
{
return
{
fiftyUpNumber
:
0
,
fiftyUpAmount
:
0.00
,
fiftyDownNumber
:
0
,
fiftyDownAmount
:
0.00
,
totalNumber
:
0
,
totalAmount
:
0.00
,
};
},
props
:
{
equipments
:
{
type
:
Array
,
default
:
()
=>
{
return
[];
},
},
},
created
()
{
console
.
log
(
this
.
equipments
)
},
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
()
},
addArray
()
{
this
.
equipments
.
push
({
...
Equipment
})
console
.
log
(
this
.
equipments
)
//this.calNumberAmount()
},
deleteEquipment
(
item
)
{
let
index
=
this
.
equipments
.
indexOf
(
item
)
if
(
index
!==
-
1
)
{
this
.
equipments
.
splice
(
index
,
1
)
}
this
.
calNumberAmount
()
},
},
watch
:
{
equipments
:
{
handler
(
equipments
)
{
if
(
!!
equipments
)
this
.
calNumberAmount
()
},
},
}
};
</
script
>
\ No newline at end of file
src/views/report/project/components/keyProject/equipmentsEdit.vue
View file @
17cafb50
...
@@ -75,27 +75,27 @@
...
@@ -75,27 +75,27 @@
</a-col>
</a-col>
</a-row>
</a-row>
<div>
<div>
<a-row
v-for=
"(item, index) in
equipments"
:key=
"'equipments
'+index"
type=
"flex"
class=
"row_center"
>
<a-row
v-for=
"(item, index) in
deviceList"
:key=
"'deviceList
'+index"
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"1"
>
<a-col
:span=
"1"
>
<div
class=
"special-middle"
><a-button
icon=
"close"
type=
"primary"
shape=
"circle"
size=
"small"
@
click=
"deleteEquipment(item)"
></a-button>
{{
index
+
1
}}
</div>
<div
class=
"special-middle"
><a-button
icon=
"close"
type=
"primary"
shape=
"circle"
size=
"small"
@
click=
"deleteEquipment(item)"
></a-button>
{{
index
+
1
}}
</div>
</a-col>
</a-col>
<a-col
:span=
"2"
>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'
equipments
.' + index + '.name'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-form-model-item
:prop=
"'
deviceList
.' + index + '.name'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.name"
:maxLength=
"100"
style=
"width: 90%;"
/>
<a-input
v-model=
"item.name"
:maxLength=
"100"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
<a-col
:span=
"2"
>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'
equipments
.' + index + '.functionTarget'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-form-model-item
:prop=
"'
deviceList
.' + index + '.functionTarget'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.functionTarget"
:maxLength=
"200"
style=
"width: 90%;"
/>
<a-input
v-model=
"item.functionTarget"
:maxLength=
"200"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
<a-col
:span=
"2"
>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'
equipments
.' + index + '.unitPrice'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-form-model-item
:prop=
"'
deviceList
.' + index + '.unitPrice'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input-number
v-model=
"item.unitPrice"
@
change=
"outUnitPriceChange(index)"
:min=
"0"
:step=
"0.01"
style=
"width: 90%"
/>
<a-input-number
v-model=
"item.unitPrice"
@
change=
"outUnitPriceChange(index)"
:min=
"0"
:step=
"0.01"
style=
"width: 90%"
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
<a-col
:span=
"1"
>
<a-col
:span=
"1"
>
<a-form-model-item
:prop=
"'
equipments
.' + index + '.quantity'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-form-model-item
:prop=
"'
deviceList
.' + index + '.quantity'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input-number
v-model=
"item.quantity"
@
change=
"outNumberChange(index)"
:min=
"1"
:step=
"1"
style=
"width: 90%"
/>
<a-input-number
v-model=
"item.quantity"
@
change=
"outNumberChange(index)"
:min=
"1"
:step=
"1"
style=
"width: 90%"
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
...
@@ -105,37 +105,37 @@
...
@@ -105,37 +105,37 @@
</div>
</div>
</a-col>
</a-col>
<a-col
:span=
"2"
>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'
equipments
.' + index + '.buyUnit'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-form-model-item
:prop=
"'
deviceList
.' + index + '.buyUnit'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.buyUnit"
:maxLength=
"100"
style=
"width: 90%;"
/>
<a-input
v-model=
"item.buyUnit"
:maxLength=
"100"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
<a-col
:span=
"2"
>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'
equipments
.' + index + '.storageLocation'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-form-model-item
:prop=
"'
deviceList
.' + index + '.storageLocation'"
:rules=
"
{required: true, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.storageLocation"
:maxLength=
"200"
style=
"width: 90%;"
/>
<a-input
v-model=
"item.storageLocation"
:maxLength=
"200"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
<a-col
:span=
"2"
>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'
equipments
.' + index + '.equipmentType'"
:rules=
"
{required: false, message: '*', trigger: 'blur',}">
<a-form-model-item
:prop=
"'
deviceList
.' + index + '.equipmentType'"
:rules=
"
{required: false, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.equipmentType"
:maxLength=
"100"
style=
"width: 90%;"
/>
<a-input
v-model=
"item.equipmentType"
:maxLength=
"100"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
<a-col
:span=
"2"
>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'
equipments
.' + index + '.manufacturer'"
:rules=
"
{required: false, message: '*', trigger: 'blur',}">
<a-form-model-item
:prop=
"'
deviceList
.' + index + '.manufacturer'"
:rules=
"
{required: false, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.manufacturer"
:maxLength=
"100"
style=
"width: 90%;"
/>
<a-input
v-model=
"item.manufacturer"
:maxLength=
"100"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
<a-col
:span=
"2"
>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'
equipments
.' + index + '.specificationType'"
:rules=
"
{required: false, message: '*', trigger: 'blur',}">
<a-form-model-item
:prop=
"'
deviceList
.' + index + '.specificationType'"
:rules=
"
{required: false, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.specificationType"
:maxLength=
"100"
style=
"width: 90%;"
/>
<a-input
v-model=
"item.specificationType"
:maxLength=
"100"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
<a-col
:span=
"2"
>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'
equipments
.' + index + '.sharedScope'"
:rules=
"
{required: false, message: '*', trigger: 'blur',}">
<a-form-model-item
:prop=
"'
deviceList
.' + index + '.sharedScope'"
:rules=
"
{required: false, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.sharedScope"
:maxLength=
"100"
style=
"width: 90%;"
/>
<a-input
v-model=
"item.sharedScope"
:maxLength=
"100"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
<a-col
:span=
"2"
>
<a-col
:span=
"2"
>
<a-form-model-item
:prop=
"'
equipments
.' + index + '.useFrom'"
:rules=
"
{required: false, message: '*', trigger: 'blur',}">
<a-form-model-item
:prop=
"'
deviceList
.' + index + '.useFrom'"
:rules=
"
{required: false, message: '*', trigger: 'blur',}">
<a-input
v-model=
"item.useFrom"
:maxLength=
"200"
style=
"width: 90%;"
/>
<a-input
v-model=
"item.useFrom"
:maxLength=
"200"
style=
"width: 90%;"
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
...
@@ -296,7 +296,7 @@ export default {
...
@@ -296,7 +296,7 @@ export default {
};
};
},
},
props
:
{
props
:
{
equipments
:
{
deviceList
:
{
type
:
Array
,
type
:
Array
,
default
:
()
=>
{
default
:
()
=>
{
return
[];
return
[];
...
@@ -304,7 +304,7 @@ export default {
...
@@ -304,7 +304,7 @@ export default {
},
},
},
},
created
()
{
created
()
{
console
.
log
(
this
.
equipments
)
console
.
log
(
this
.
deviceList
)
},
},
methods
:
{
methods
:
{
calNumberAmount
()
{
calNumberAmount
()
{
...
@@ -312,7 +312,7 @@ export default {
...
@@ -312,7 +312,7 @@ export default {
this
.
fiftyDownAmount
=
0.00
this
.
fiftyDownAmount
=
0.00
this
.
fiftyUpNumber
=
0
this
.
fiftyUpNumber
=
0
this
.
fiftyDownNumber
=
0
this
.
fiftyDownNumber
=
0
this
.
equipments
.
forEach
(
e
=>
{
this
.
deviceList
.
forEach
(
e
=>
{
if
(
e
.
unitPrice
>=
50
)
{
if
(
e
.
unitPrice
>=
50
)
{
this
.
fiftyUpAmount
+=
e
.
unitPrice
*
e
.
quantity
this
.
fiftyUpAmount
+=
e
.
unitPrice
*
e
.
quantity
this
.
fiftyUpNumber
+=
e
.
quantity
this
.
fiftyUpNumber
+=
e
.
quantity
...
@@ -325,30 +325,30 @@ export default {
...
@@ -325,30 +325,30 @@ export default {
this
.
totalAmount
=
this
.
fiftyUpAmount
+
this
.
fiftyDownAmount
this
.
totalAmount
=
this
.
fiftyUpAmount
+
this
.
fiftyDownAmount
},
},
outUnitPriceChange
(
index
)
{
outUnitPriceChange
(
index
)
{
this
.
equipments
[
index
].
totalBudget
=
this
.
equipments
[
index
].
unitPrice
*
this
.
equipments
[
index
].
quantity
this
.
deviceList
[
index
].
totalBudget
=
this
.
deviceList
[
index
].
unitPrice
*
this
.
deviceList
[
index
].
quantity
this
.
calNumberAmount
()
this
.
calNumberAmount
()
},
},
outNumberChange
(
index
)
{
outNumberChange
(
index
)
{
this
.
equipments
[
index
].
totalBudget
=
this
.
equipments
[
index
].
unitPrice
*
this
.
equipments
[
index
].
quantity
this
.
deviceList
[
index
].
totalBudget
=
this
.
deviceList
[
index
].
unitPrice
*
this
.
deviceList
[
index
].
quantity
this
.
calNumberAmount
()
this
.
calNumberAmount
()
},
},
addArray
()
{
addArray
()
{
this
.
equipments
.
push
({
...
Equipment
})
this
.
deviceList
.
push
({
...
Equipment
})
console
.
log
(
this
.
equipments
)
console
.
log
(
this
.
deviceList
)
//this.calNumberAmount()
//this.calNumberAmount()
},
},
deleteEquipment
(
item
)
{
deleteEquipment
(
item
)
{
let
index
=
this
.
equipments
.
indexOf
(
item
)
let
index
=
this
.
deviceList
.
indexOf
(
item
)
if
(
index
!==
-
1
)
{
if
(
index
!==
-
1
)
{
this
.
equipments
.
splice
(
index
,
1
)
this
.
deviceList
.
splice
(
index
,
1
)
}
}
this
.
calNumberAmount
()
this
.
calNumberAmount
()
},
},
},
},
watch
:
{
watch
:
{
equipments
:
{
deviceList
:
{
handler
(
equipments
)
{
handler
(
deviceList
)
{
if
(
!!
equipments
)
if
(
!!
deviceList
)
this
.
calNumberAmount
()
this
.
calNumberAmount
()
},
},
},
},
...
...
src/views/report/project/components/keyProject/projectEdit.vue
View file @
17cafb50
...
@@ -893,7 +893,7 @@ import cooperativeUnitsEdit from '@/views/report/project/components/cooperativeU
...
@@ -893,7 +893,7 @@ import cooperativeUnitsEdit from '@/views/report/project/components/cooperativeU
import
participateUnitsEdit
from
'@/views/report/project/components/participateUnitsEdit'
import
participateUnitsEdit
from
'@/views/report/project/components/participateUnitsEdit'
import
budgetEdit
from
'@/views/report/project/components/budgetEdit'
import
budgetEdit
from
'@/views/report/project/components/budgetEdit'
import
fundPlanEdit
from
'@/views/report/project/components/fundPlanEdit'
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
unitPaymentEdit
from
'@/views/report/project/components/unitPaymentEdit.vue'
import
projectKpiEdit
from
'@/views/report/project/components/projectKpiEdit.vue'
import
projectKpiEdit
from
'@/views/report/project/components/projectKpiEdit.vue'
import
projectResearchEdit
from
'@/views/report/project/components/projectResearchEdit'
import
projectResearchEdit
from
'@/views/report/project/components/projectResearchEdit'
...
@@ -951,7 +951,7 @@ const projectKPI = {
...
@@ -951,7 +951,7 @@ const projectKPI = {
export
default
{
export
default
{
name
:
'projectEdit'
,
name
:
'projectEdit'
,
components
:
{
components
:
{
projectMemberEdit
,
cooperativeUnitsEdit
,
participateUnitsEdit
,
budgetEdit
,
fundPlanEdit
,
equipmentsEdit
,
unitPaymentEdit
,
projectKpiEdit
,
projectResearchEdit
,
projectSubEdit
,
managementRuleEdit
,
fileEdit
projectMemberEdit
,
cooperativeUnitsEdit
,
participateUnitsEdit
,
budgetEdit
,
fundPlanEdit
,
unitPaymentEdit
,
projectKpiEdit
,
projectResearchEdit
,
projectSubEdit
,
managementRuleEdit
,
fileEdit
},
},
props
:
{
props
:
{
value
:
{
value
:
{
...
...
src/views/report/project/components/projStageGoalsEdit.vue
0 → 100644
View file @
17cafb50
<
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=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
完成时限
</div>
</div>
</a-col>
<a-col
:span=
"8"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
进度安排
</div>
</div>
</a-col>
<a-col
:span=
"8"
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>
操作
</div>
</div>
</a-col>
</a-row>
<a-row
v-for=
"(item, index) in stageGoals"
:key=
"'stageGoals' + index"
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"4"
>
<div
class=
"special-middle"
>
<a-form-model-item
:prop=
"'stageGoals.' + index + '.startTime'"
:rules=
"
{ required: true, message: '*' }" style="flex-basis: 45%;">
<a-date-picker
placeholder=
"请选择开始日期"
format=
"YYYY-MM-DD"
valueFormat=
"YYYY-MM-DD HH:mm:ss"
v-model=
"item.startTime"
style=
"width: 140px"
/>
</a-form-model-item>
<a-form-model-item
:prop=
"'stageGoals.' + index + '.endTime'"
:rules=
"
{ required: true, message: '*' }" style="flex-basis: 45%;">
<a-date-picker
placeholder=
"请选择结束日期"
format=
"YYYY-MM-DD"
valueFormat=
"YYYY-MM-DD HH:mm:ss"
v-model=
"item.endTime"
style=
"width: 140px"
/>
</a-form-model-item>
</div>
</a-col>
<a-col
:span=
"8"
>
<a-form-model-item
:prop=
"'stageGoals.' + index + '.contentInfo'"
:rules=
"
{ required: true, message: '*' }">
<a-textarea
v-model=
"item.contentInfo"
placeholder=
"项目阶段实施内容及目标"
:maxLength=
"500"
style=
"width: 90%;height: 80px;margin-top: 12px;"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"8"
>
<a-form-model-item
:prop=
"'stageGoals.' + index + '.target'"
:rules=
"
{ required: true, message: '*' }">
<a-textarea
v-model=
"item.target"
placeholder=
"项目阶段实施内容及目标"
:maxLength=
"500"
style=
"width: 90%;height: 80px;margin-top: 12px;"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"4"
>
<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
>
//用法
<
proj
-
stage
-
goals
:
stageGoals
.
sync
=
"formData.stageGoals"
/>
const
Model
=
{
startTime
:
null
,
endTime
:
null
,
contentInfo
:
null
,
target
:
null
}
export
default
{
name
:
'projStageGoalsEdit'
,
data
()
{
return
{
}
},
props
:
{
stageGoals
:
{
type
:
Array
,
default
:
()
=>
{
return
[]
}
},
},
components
:
{
},
created
()
{
},
methods
:
{
addArray
()
{
//添加成员
this
.
stageGoals
.
push
({
...
Model
})
},
removeArray
(
item
)
{
//移除成员
let
index
=
this
.
stageGoals
.
indexOf
(
item
)
if
(
index
!==
-
1
)
{
this
.
stageGoals
.
splice
(
index
,
1
)
}
},
}
}
</
script
>
src/views/report/project/components/projStageGoalsInfo.vue
0 → 100644
View file @
17cafb50
<
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=
"8"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
完成时限
</div>
</div>
</a-col>
<a-col
:span=
"8"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
进度安排
</div>
</div>
</a-col>
<a-col
:span=
"8"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
阶段目标
</div>
</div>
</a-col>
</a-row>
<a-row
v-for=
"(item, index) in stageGoals"
:key=
"'stageGoals' + index"
type=
"flex"
class=
"row_center"
>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
{{
moment
(
item
.
startTime
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
}}
至
{{
moment
(
item
.
endTime
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
}}
</div>
</a-col>
<a-col
:span=
"8"
>
{{
item
.
contentInfo
}}
</a-col>
<a-col
:span=
"8"
>
{{
item
.
target
}}
</a-col>
</a-row>
</div>
</
template
>
<
script
>
import
moment
from
"moment"
;
export
default
{
name
:
"projStageGoalsInfo"
,
props
:
{
stageGoals
:
{
type
:
Array
,
default
:
()
=>
{
return
[]
}
},
},
data
()
{
return
{};
},
methods
:
{
moment
,
}
};
</
script
>
\ No newline at end of file
src/views/report/project/components/projectEdit.vue
View file @
17cafb50
...
@@ -586,8 +586,11 @@
...
@@ -586,8 +586,11 @@
<!-- 设备费-购置设备预算明细表 -->
<!-- 设备费-购置设备预算明细表 -->
<!--
<equipments-edit
:equipments
.
sync=
"formData.equipments"
/>
-->
<!--
<equipments-edit
:equipments
.
sync=
"formData.equipments"
/>
-->
<!-- 设备 -->
<device-edit
:deviceList
.
sync=
"formData.deviceList"
/>
<device-edit
:deviceList
.
sync=
"formData.deviceList"
/>
<!-- 项目安排及阶段目标 -->
<proj-stage-goals
:stageGoals
.
sync=
"formData.stageGoals"
/>
<!-- 附件 -->
<!-- 附件 -->
<file-edit
:fileList
.
sync=
"formData.fileList"
/>
<file-edit
:fileList
.
sync=
"formData.fileList"
/>
...
@@ -603,11 +606,11 @@ import projectMemberEdit from '@/views/report/project/components/projectMemberEd
...
@@ -603,11 +606,11 @@ import projectMemberEdit from '@/views/report/project/components/projectMemberEd
import
cooperativeUnitsEdit
from
'@/views/report/project/components/cooperativeUnitsEdit'
import
cooperativeUnitsEdit
from
'@/views/report/project/components/cooperativeUnitsEdit'
import
deviceEdit
from
'@/views/report/project/components/deviceEdit'
import
deviceEdit
from
'@/views/report/project/components/deviceEdit'
import
projStageGoalsEdit
from
'@/views/report/project/components/keyProject/projStageGoalsEdit'
import
budgetEdit
from
'@/views/report/project/components/budgetEdit'
import
budgetEdit
from
'@/views/report/project/components/budgetEdit'
import
fundPlanEdit
from
'@/views/report/project/components/fundPlanEdit'
import
fundPlanEdit
from
'@/views/report/project/components/fundPlanEdit'
import
projectKpiEdit
from
'@/views/report/project/components/projectKpiEdit'
import
projectKpiEdit
from
'@/views/report/project/components/projectKpiEdit'
import
equipmentsEdit
from
'@/views/report/project/components/equipmentsEdit'
import
fileEdit
from
'@/views/report/project/components/fileEdit'
import
fileEdit
from
'@/views/report/project/components/fileEdit'
import
{
isEmptyParams
}
from
"@/views/utils/common"
import
{
isEmptyParams
}
from
"@/views/utils/common"
import
moment
from
'moment'
import
moment
from
'moment'
...
@@ -660,7 +663,7 @@ import cascaderSelect from '@/views/components/common/cascaderSelect'
...
@@ -660,7 +663,7 @@ import cascaderSelect from '@/views/components/common/cascaderSelect'
export
default
{
export
default
{
name
:
'projectEdit'
,
name
:
'projectEdit'
,
components
:
{
components
:
{
projectMemberEdit
,
cooperativeUnitsEdit
,
budgetEdit
,
fundPlanEdit
,
projectKpiEdit
,
fileEdit
,
previewFile
,
documentView
,
cascaderSelect
,
equipmentsEdit
,
device
Edit
projectMemberEdit
,
cooperativeUnitsEdit
,
budgetEdit
,
fundPlanEdit
,
projectKpiEdit
,
fileEdit
,
previewFile
,
documentView
,
cascaderSelect
,
deviceEdit
,
projStageGoals
Edit
},
},
props
:
{
props
:
{
value
:
{
value
:
{
...
@@ -722,6 +725,7 @@ export default {
...
@@ -722,6 +725,7 @@ export default {
budget
:
[],
budget
:
[],
fundPlan
:
[],
fundPlan
:
[],
deviceList
:
[],
deviceList
:
[],
stageGoals
:
[],
fileList
:
[],
fileList
:
[],
auditList
:
[],
auditList
:
[],
managerDept
:
""
,
managerDept
:
""
,
...
@@ -800,6 +804,9 @@ export default {
...
@@ -800,6 +804,9 @@ export default {
if
(
!!!
this
.
formData
.
deviceList
||
this
.
formData
.
deviceList
.
length
==
0
)
if
(
!!!
this
.
formData
.
deviceList
||
this
.
formData
.
deviceList
.
length
==
0
)
this
.
formData
.
deviceList
=
[]
this
.
formData
.
deviceList
=
[]
if
(
!!!
this
.
formData
.
stageGoals
||
this
.
formData
.
stageGoals
.
length
==
0
)
this
.
formData
.
stageGoals
=
[]
if
(
!!!
this
.
formData
.
fileList
||
!
this
.
formData
.
fileList
.
length
||
this
.
formData
.
fileList
.
length
==
0
)
{
if
(
!!!
this
.
formData
.
fileList
||
!
this
.
formData
.
fileList
.
length
||
this
.
formData
.
fileList
.
length
==
0
)
{
this
.
formData
.
fileList
=
[]
this
.
formData
.
fileList
=
[]
}
}
...
...
src/views/report/project/components/projectInfo.vue
View file @
17cafb50
...
@@ -532,7 +532,10 @@
...
@@ -532,7 +532,10 @@
<audit-list
v-model=
"value.auditList"
/>
<audit-list
v-model=
"value.auditList"
/>
</a-col>
</a-col>
</a-row>
</a-row>
<!-- 项目安排及阶段目标 -->
<proj-stage-goals-info
:stageGoals
.
sync=
"value.stageGoals"
/>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
@@ -544,6 +547,7 @@ import projectMemberInfo from '@/views/report/project/components/projectMemberIn
...
@@ -544,6 +547,7 @@ import projectMemberInfo from '@/views/report/project/components/projectMemberIn
import
projectKpiInfo
from
'@/views/report/project/components/projectKpiInfo.vue'
import
projectKpiInfo
from
'@/views/report/project/components/projectKpiInfo.vue'
import
budgetInfo
from
'@/views/report/project/components/budgetInfo'
import
budgetInfo
from
'@/views/report/project/components/budgetInfo'
import
fundPlanInfo
from
'@/views/report/project/components/fundPlanInfo'
import
fundPlanInfo
from
'@/views/report/project/components/fundPlanInfo'
import
projStageGoalsInfo
from
"@/views/report/project/components/keyProject/projStageGoalsInfo"
;
import
fileInfo
from
"@/views/report/project/components/fileInfo"
;
import
fileInfo
from
"@/views/report/project/components/fileInfo"
;
import
documentView
from
'@/views/components/common/documentView'
import
documentView
from
'@/views/components/common/documentView'
import
AuditList
from
'@/views/audit/components/auditInfo'
import
AuditList
from
'@/views/audit/components/auditInfo'
...
@@ -552,7 +556,7 @@ import { toTextarea } from '@/views/utils/common'
...
@@ -552,7 +556,7 @@ import { toTextarea } from '@/views/utils/common'
export
default
{
export
default
{
components
:
{
components
:
{
cooperativeUnitsInfo
,
projectMemberInfo
,
projectKpiInfo
,
budgetInfo
,
fundPlanInfo
,
fileInfo
,
documentView
,
AuditList
cooperativeUnitsInfo
,
projectMemberInfo
,
projectKpiInfo
,
budgetInfo
,
fundPlanInfo
,
fileInfo
,
documentView
,
AuditList
,
projStageGoalsInfo
},
},
name
:
"ProjectInfo"
,
name
:
"ProjectInfo"
,
data
()
{
data
()
{
...
...
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