Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
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
fulixin
dsk-operate-sys-cscec
Commits
f1d975f6
Commit
f1d975f6
authored
Apr 18, 2024
by
danfuman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
59aecc57
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
238 additions
and
66 deletions
+238
-66
index.vue
...projectCostLedger/detail/components/CostSummary/index.vue
+54
-8
index.vue
...projectCostLedger/detail/components/FeedSummary/index.vue
+40
-1
index.vue
...ojectCostLedger/detail/components/FieldExpenses/index.vue
+39
-2
index.vue
...rojectCostLedger/detail/components/MeasureItems/index.vue
+40
-1
index.vue
.../projectCostLedger/detail/components/ProfitLoss/index.vue
+39
-3
index.vue
dsk-operate-ui/src/views/projectCostLedger/detail/index.vue
+4
-0
index.vue
dsk-operate-ui/src/views/projectCostLedger/index.vue
+22
-51
No files found.
dsk-operate-ui/src/views/projectCostLedger/detail/components/CostSummary/index.vue
View file @
f1d975f6
...
...
@@ -2,11 +2,11 @@
<div
class=
"cost-summary-container"
>
<!-- 按项目汇总 成本汇总切换 -->
<div
class=
"category-type-container"
>
<
div
class=
"category-list-item"
v-for=
"(type, index) of categoryList"
:key=
"type.value
"
:class=
"
{ 'is-current-category': currentCategory == type.value }" @click.stop="currentCategoryChange(type.value)">
{{
type
.
label
}}
</
div
>
<
el-button
class=
"category-list-item"
v-for=
"(type, index) of categoryList"
:key=
"type.value"
:disabled=
"type.disabled
"
:class=
"
{ 'is-current-category': currentCategory == type.value }" @click.stop="currentCategoryChange(type.value)">
{{
type
.
label
}}
</
el-button
>
</div>
<!-- 成本菜单以及列表 -->
<div
class=
"cost-summary-content-container"
>
<div
class=
"cost-summary-content-container"
v-if=
"!show"
>
<!-- 左侧菜单 -->
<div
class=
"left-side-menu"
>
<project-side-menu
ref=
"projectSideMenu"
:menuTree=
"menuTreeList"
:menuOptions=
"menuOptions"
:unique-opened=
"false"
...
...
@@ -94,6 +94,13 @@
</div>
</div>
<div
class=
"no-data"
>
<div
class=
"no-data-box"
v-if=
"show"
>
<img
:src=
"noData"
alt=
"暂未获取无聊数据(每月20号获取)"
/>
<span>
暂未获取无聊数据(每月20号获取)
</span>
</div>
</div>
<!-- 锁定前提示 -->
<lock-cost-tip
v-model=
"lockCostTipDialog"
:tip-content=
"lockCostTipDialogContent"
@
ok=
"okLock"
@
update:lockCostTipDialog=
"lockCostTipDialogClose"
></lock-cost-tip>
...
...
@@ -173,15 +180,18 @@ export default {
callback
();
};
return
{
noData
:
require
(
"@/assets/images/detail/noData.png"
),
// 当前分类 1 按项目汇总 2 成本汇总
currentCategory
:
1
,
categoryList
:
[
{
label
:
"按项目汇总"
,
disabled
:
false
,
value
:
1
},
{
label
:
"成本科目汇总"
,
disabled
:
false
,
value
:
2
},
],
...
...
@@ -250,7 +260,8 @@ export default {
]
},
// 竖向滚动条最后的位置
lastScrollTop
:
0
lastScrollTop
:
0
,
show
:
false
,
};
},
//可访问data属性
...
...
@@ -385,10 +396,17 @@ export default {
try
{
const
result
=
await
getCostSummaryMenuTreeApi
(
params
);
if
(
result
.
code
==
200
&&
result
.
data
instanceof
Array
)
{
if
(
result
.
data
.
length
===
0
){
this
.
show
=
true
;
}
const
_tempArray
=
result
.
data
;
if
(
_tempArray
.
length
===
0
){
this
.
currentCategory
=
2
return
this
.
init
(
this
.
comProjectDetailInfo
);
if
(
this
.
projectDetailInfo
.
cbStage
===
3
){
if
(
_tempArray
.
length
===
0
){
this
.
currentCategory
=
2
;
this
.
categoryList
[
0
].
disabled
=
true
;
this
.
$forceUpdate
();
return
this
.
init
(
this
.
comProjectDetailInfo
);
}
}
const
_tempMenu
=
{
id
:
0
,
...
...
@@ -863,7 +881,7 @@ export default {
.category-list-item
{
height
:
32px
;
padding
:
0px
20px
;
color
:
#303133
;
/*color: #303133;*/
font-size
:
12px
;
font-weight
:
400
;
border-radius
:
4px
;
...
...
@@ -874,6 +892,7 @@ export default {
align-items
:
center
;
cursor
:
pointer
;
transition
:
all
0
.3s
;
margin
:
0
;
&
:nth-of-type
(
2n
-
1
)
{
border-right
:
unset
!
important
;
...
...
@@ -1089,5 +1108,32 @@ export default {
}
}
}
.no-data
{
font-size
:
14px
;
font-family
:
Microsoft
YaHei-Regular
,
Microsoft
YaHei
;
font-weight
:
400
;
color
:
#999999
;
text-shadow
:
0px
0px
10px
rgba
(
0
,
37
,
106
,
0
.10000000149011612
);
width
:
100%
;
height
:
100%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
background
:
#ffffff
;
border-radius
:
0px
0px
0px
0px
;
opacity
:
1
;
border
:
1px
solid
#eeeeee
;
.no-data-box
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
img
{
width
:
64px
;
height
:
79px
;
margin-bottom
:
16px
;
}
}
}
}
</
style
>
dsk-operate-ui/src/views/projectCostLedger/detail/components/FeedSummary/index.vue
View file @
f1d975f6
<
template
>
<div
class=
"feed-summary-container"
>
<div
class=
"feed-summary-inner"
>
<div
v-if=
"!show"
class=
"feed-summary-inner"
>
<div
class=
"left-side-menu"
>
<project-side-menu
ref=
"projectSideMenu"
:menuTree=
"menuTreeList"
:menuOptions=
"menuOptions"
:unique-opened=
"false"
:default-active=
"currentNodeName"
@
select=
"menuSelect"
>
...
...
@@ -135,6 +135,13 @@
</div>
</div>
<div
class=
"no-data"
>
<div
class=
"no-data-box"
v-if=
"show"
>
<img
:src=
"noData"
alt=
"暂未获取无聊数据(每月20号获取)"
/>
<span>
暂未获取无聊数据(每月20号获取)
</span>
</div>
</div>
<!-- 填写实际成本触发 -->
<add-actual-cost
v-model=
"showAddActualCost"
:project-create-time=
"projectDetailInfo.createTime"
@
timeSelect=
"timeSelect"
></add-actual-cost>
...
...
@@ -236,6 +243,8 @@ export default {
callback
();
};
return
{
noData
:
require
(
"@/assets/images/detail/noData.png"
),
show
:
false
,
menuOptions
:
{
nodeName
:
"name"
,
nodeValue
:
"name"
,
...
...
@@ -503,6 +512,9 @@ export default {
async
getFeedSummaryMenuTree
(
params
)
{
try
{
const
result
=
await
getFeedSummaryMenuTreeApi
(
params
);
if
(
result
.
data
.
length
===
0
){
this
.
show
=
true
;
}
if
(
result
.
code
==
200
&&
result
.
data
instanceof
Array
)
{
const
_tempArray
=
result
.
data
;
this
.
menuTreeList
=
_tempArray
;
...
...
@@ -1028,5 +1040,32 @@ export default {
}
}
}
.no-data
{
font-size
:
14px
;
font-family
:
Microsoft
YaHei-Regular
,
Microsoft
YaHei
;
font-weight
:
400
;
color
:
#999999
;
text-shadow
:
0px
0px
10px
rgba
(
0
,
37
,
106
,
0
.10000000149011612
);
width
:
100%
;
height
:
100%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
background
:
#ffffff
;
border-radius
:
0px
0px
0px
0px
;
opacity
:
1
;
border
:
1px
solid
#eeeeee
;
.no-data-box
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
img
{
width
:
64px
;
height
:
79px
;
margin-bottom
:
16px
;
}
}
}
}
</
style
>
dsk-operate-ui/src/views/projectCostLedger/detail/components/FieldExpenses/index.vue
View file @
f1d975f6
<
template
>
<div
class=
"field-expenses-container"
>
<div
class=
"field-expenses-inner"
>
<div
v-if=
"!show"
class=
"field-expenses-inner"
>
<div
class=
"left-side-menu"
>
<project-side-menu
ref=
"projectSideMenu"
:menuTree=
"menuTreeList"
:menuOptions=
"menuOptions"
:unique-opened=
"false"
v-model=
"currentNodeValue"
@
select=
"menuSelect"
>
...
...
@@ -55,6 +55,12 @@
</div>
</div>
</div>
<div
class=
"no-data"
>
<div
class=
"no-data-box"
v-if=
"show"
>
<img
:src=
"noData"
alt=
"暂未获取无聊数据(每月20号获取)"
/>
<span>
暂未获取无聊数据(每月20号获取)
</span>
</div>
</div>
</div>
</template>
<
script
>
...
...
@@ -107,6 +113,7 @@ export default {
},
data
()
{
return
{
noData
:
require
(
"@/assets/images/detail/noData.png"
),
menuOptions
:
{
nodeName
:
"menuName"
,
nodeValue
:
"fileId"
,
...
...
@@ -189,7 +196,8 @@ export default {
dataForm
:
{
// 数据列表源数据
tableDataList
:
[],
}
},
show
:
false
,
};
},
//可访问data属性
...
...
@@ -308,6 +316,9 @@ export default {
async
getFieldExpensesMenuTree
(
projectId
)
{
try
{
const
result
=
await
getFieldExpensesMenuTreeApi
(
projectId
);
if
(
result
.
data
.
length
===
0
){
this
.
show
=
true
;
}
if
(
result
.
code
==
200
&&
result
.
data
instanceof
Array
)
{
let
_tempArray
=
result
.
data
;
_tempArray
=
_tempArray
.
sort
((
before
,
after
)
=>
{
...
...
@@ -519,5 +530,31 @@ export default {
}
}
}
.no-data
{
font-size
:
14px
;
font-family
:
Microsoft
YaHei-Regular
,
Microsoft
YaHei
;
font-weight
:
400
;
color
:
#999999
;
text-shadow
:
0px
0px
10px
rgba
(
0
,
37
,
106
,
0
.10000000149011612
);
width
:
100%
;
height
:
100%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
background
:
#ffffff
;
border-radius
:
0px
0px
0px
0px
;
opacity
:
1
;
border
:
1px
solid
#eeeeee
;
.no-data-box
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
img
{
width
:
64px
;
height
:
79px
;
margin-bottom
:
16px
;
}
}
}
}
</
style
>
dsk-operate-ui/src/views/projectCostLedger/detail/components/MeasureItems/index.vue
View file @
f1d975f6
<
template
>
<div
class=
"feed-summary-container"
>
<div
class=
"feed-summary-inner"
>
<div
v-if=
"!show"
class=
"feed-summary-inner"
>
<div
class=
"left-side-menu"
>
<project-side-menu
ref=
"profitloss"
:menuTree=
"menuTreeList"
:menuOptions=
"menuOptions"
:unique-opened=
"false"
v-model=
"defaultActive"
@
select=
"select"
>
...
...
@@ -194,6 +194,12 @@
</el-dialog>
</div>
<div
class=
"no-data"
>
<div
class=
"no-data-box"
v-if=
"show"
>
<img
:src=
"noData"
alt=
"暂未获取无聊数据(每月20号获取)"
/>
<span>
暂未获取无聊数据(每月20号获取)
</span>
</div>
</div>
</div>
</template>
<
script
>
...
...
@@ -243,6 +249,7 @@
},
data
()
{
return
{
noData
:
require
(
"@/assets/images/detail/noData.png"
),
pickerOptions
:
{
disabledDate
(
time
)
{
let
istrue
=
true
;
...
...
@@ -274,6 +281,7 @@
tableHeight
:
window
.
innerHeight
-
355
,
nowheight
:
null
,
resizeTimer
:
null
,
show
:
false
,
};
},
//可访问data属性
...
...
@@ -429,6 +437,9 @@
try
{
const
result
=
await
getMeasureslist
(
params
);
if
(
result
.
code
==
200
)
{
if
(
result
.
data
.
length
===
0
){
this
.
show
=
true
;
}
let
arr
=
{};
arr
.
itemContent
=
'措施费'
;
arr
.
id
=
0
;
...
...
@@ -569,6 +580,34 @@
padding
:
16px
;
}
}
.no-data
{
font-size
:
14px
;
font-family
:
Microsoft
YaHei-Regular
,
Microsoft
YaHei
;
font-weight
:
400
;
color
:
#999999
;
text-shadow
:
0px
0px
10px
rgba
(
0
,
37
,
106
,
0
.10000000149011612
);
width
:
100%
;
height
:
100%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
background
:
#ffffff
;
border-radius
:
0px
0px
0px
0px
;
opacity
:
1
;
border
:
1px
solid
#eeeeee
;
.no-data-box
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
img
{
width
:
64px
;
height
:
79px
;
margin-bottom
:
16px
;
}
}
}
.search
{
display
:
flex
;
justify-content
:
space-between
;
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/components/ProfitLoss/index.vue
View file @
f1d975f6
<
template
>
<div
class=
"feed-summary-container"
>
<div
class=
"feed-summary-inner"
>
<div
class=
"feed-summary-inner"
v-if=
"!show"
>
<div
class=
"left-side-menu"
>
<project-side-menu
ref=
"profitloss"
:menuTree=
"menuTreeList"
:menuOptions=
"menuOptions"
:unique-opened=
"false"
v-model=
"defaultActive"
@
select=
"select"
>
<template
slot=
"盈亏分析对比-1"
>
...
...
@@ -79,6 +79,12 @@
</div>
</div>
<div
class=
"no-data"
>
<div
class=
"no-data-box"
v-if=
"show"
>
<img
:src=
"noData"
alt=
"暂未获取无聊数据(每月20号获取)"
/>
<span>
暂未获取无聊数据(每月20号获取)
</span>
</div>
</div>
</div>
</template>
<
script
>
...
...
@@ -121,6 +127,7 @@
},
data
()
{
return
{
noData
:
require
(
"@/assets/images/detail/noData.png"
),
pickerOptions
:
{
// disabledDate(time) {
// let istrue = true
...
...
@@ -142,7 +149,8 @@
id
:
0
,
expenseDate
:
''
,
tableData
:[],
tableHeight
:
window
.
innerHeight
-
355
tableHeight
:
window
.
innerHeight
-
355
,
show
:
false
,
};
},
//可访问data属性
...
...
@@ -169,7 +177,6 @@
id
:
this
.
id
,
expenseDate
:
this
.
expenseDate
}
console
.
log
(
param
)
getAnalysislist
(
param
).
then
(
res
=>
{
this
.
tableData
=
res
.
data
})
...
...
@@ -191,6 +198,9 @@
try
{
const
result
=
await
getProfitLossMenuTreeApi
(
params
);
if
(
result
.
code
==
200
)
{
if
(
result
.
data
.
length
===
0
){
this
.
show
=
true
;
}
let
arr
=
{}
arr
.
cbName
=
'盈亏分析对比'
arr
.
id
=
0
...
...
@@ -241,5 +251,31 @@
}
}
}
.no-data
{
font-size
:
14px
;
font-family
:
Microsoft
YaHei-Regular
,
Microsoft
YaHei
;
font-weight
:
400
;
color
:
#999999
;
text-shadow
:
0px
0px
10px
rgba
(
0
,
37
,
106
,
0
.10000000149011612
);
width
:
100%
;
height
:
100%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
background
:
#ffffff
;
border-radius
:
0px
0px
0px
0px
;
opacity
:
1
;
border
:
1px
solid
#eeeeee
;
.no-data-box
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
img
{
width
:
64px
;
height
:
79px
;
margin-bottom
:
16px
;
}
}
}
}
</
style
>
dsk-operate-ui/src/views/projectCostLedger/detail/index.vue
View file @
f1d975f6
...
...
@@ -213,6 +213,10 @@ export default {
if
(
detail
.
code
==
200
&&
detail
.
data
)
{
if
(
detail
.
data
.
id
)
detail
.
data
[
"projectId"
]
=
detail
.
data
.
id
;
this
.
detailInfo
=
detail
.
data
;
if
(
this
.
detailInfo
.
cbStage
===
3
){
this
.
toggleTabs
[
1
].
disabled
=
true
;
this
.
toggleTabs
[
4
].
disabled
=
true
;
}
}
}
catch
(
error
)
{
console
.
log
(
error
);
...
...
dsk-operate-ui/src/views/projectCostLedger/index.vue
View file @
f1d975f6
...
...
@@ -73,13 +73,13 @@
<el-tooltip
placement=
"top"
v-if=
"scope.row.projectText.length>26"
>
<div
slot=
"content"
>
{{
scope
.
row
.
projectText
}}
</div>
<div
class=
"renling"
>
<router-link
v-if=
"scope.row.projectFileStatus==2"
:to=
"`/projectCostLedger/detail?projectId=$
{scope.row.id}`" tag="a"
<router-link
v-if=
"scope.row.projectFileStatus==2
|| scope.row.cbStage ===3
"
:to=
"`/projectCostLedger/detail?projectId=$
{scope.row.id}`" tag="a"
class="wordprimary" v-html="scope.row.projectName">
</router-link>
<span
v-else
v-html=
"scope.row.projectName||'--'"
></span>
</div>
</el-tooltip>
<div
class=
"renling"
v-else
>
<router-link
v-if=
"scope.row.projectFileStatus==2"
:to=
"`/projectCostLedger/detail?projectId=$
{scope.row.id}`" tag="a"
<router-link
v-if=
"scope.row.projectFileStatus==2
|| scope.row.cbStage ===3
"
:to=
"`/projectCostLedger/detail?projectId=$
{scope.row.id}`" tag="a"
class="wordprimary" v-html="scope.row.projectName">
</router-link>
<span
v-else
v-html=
"scope.row.projectName||'--'"
></span>
</div>
...
...
@@ -120,6 +120,9 @@
</template>
</el-table-column>
<el-table-column
label=
"上传人"
prop=
"updateBy"
width=
"140"
:resizable=
"false"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
updateBy
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"上传时间"
min-width=
"180"
:resizable=
"false"
>
...
...
@@ -171,47 +174,25 @@
<span>
{{protitle}}
</span>
</div>
<el-form
class=
"popform"
label-width=
"97px"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
>
<el-form-item
label=
"成本计划"
class=
"row"
>
<el-select
placeholder=
"请选择成本计划"
v-model=
"cbjh"
>
<el-option
v-for=
"(item,index) in cbjhlist"
:label=
"item.label"
:value=
"item.value"
:key=
"index"
></el-option>
<el-form-item
label=
"项目名称"
class=
"row"
prop=
"projectName"
>
<el-input
type=
"text"
v-model=
"queryParam.projectName"
placeholder=
"请输入完整的项目名称"
></el-input>
</el-form-item>
<el-form-item
label=
"IPM项目编码"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入IPM项目编码"
v-model=
"queryParam.ipmProjectNo"
>
<
template
slot=
"append"
><div
class=
"pro-getbtn"
@
click=
"getipmProjectNo"
>
获取数据
</div></
template
>
</el-input>
</el-form-item>
<el-form-item
label=
"文件名称"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入文件名称"
v-model=
"queryParam.projectFileName"
></el-input>
</el-form-item>
<el-form-item
label=
"成本阶段"
class=
"row"
prop=
"cbStage"
>
<el-checkbox
v-model=
"ischeck"
v-if=
"isedit"
class=
"checkcb"
></el-checkbox>
<el-select
placeholder=
"请选择成本阶段"
v-model=
"queryParam.cbStage"
:disabled=
"!ischeck"
>
<el-option
v-for=
"(item,index) in cbStagelist"
:label=
"item.dictLabel"
:value=
"item.dictValue"
:key=
"index"
></el-option>
</el-select>
</el-form-item>
<
template
v-if=
"cbjh === '已有成本计划'"
>
<el-form-item
label=
"项目名称"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.projectName"
placeholder=
"请输入完整的项目名称"
></el-input>
</el-form-item>
<el-form-item
label=
"IPM项目编码"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入IPM项目编码"
v-model=
"queryParam.ipmProjectNo"
>
<template
slot=
"append"
><div
class=
"pro-getbtn"
@
click=
"getipmProjectNo"
>
获取数据
</div></
template
>
</el-input>
</el-form-item>
<el-form-item
label=
"文件名称"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入文件名称"
v-model=
"queryParam.projectFileName"
></el-input>
</el-form-item>
<el-form-item
label=
"成本阶段"
class=
"row"
prop=
"cbStage"
>
<el-checkbox
v-model=
"ischeck"
v-if=
"isedit"
class=
"checkcb"
></el-checkbox>
<el-select
placeholder=
"请选择成本阶段"
v-model=
"queryParam.cbStage"
:disabled=
"!ischeck"
>
<el-option
v-for=
"(item,index) in cbStagelist"
:label=
"item.dictLabel"
:value=
"item.dictValue"
:key=
"index"
></el-option>
</el-select>
</el-form-item>
</template>
<
template
v-if=
"cbjh === '暂无成本计划'"
>
<el-form-item
label=
"项目名称"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.projectName"
placeholder=
"请输入完整的项目名称"
></el-input>
</el-form-item>
<el-form-item
label=
"IPM项目编码"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入IPM项目编码"
v-model=
"queryParam.ipmProjectNo"
>
<template
slot=
"append"
><div
class=
"pro-getbtn"
@
click=
"getipmProjectNo"
>
获取数据
</div></
template
>
</el-input>
</el-form-item>
</template>
</el-form
>
<div
class=
"popbot"
v-if=
"cbjh === '暂无成本计划'"
>
<div
class=
"btn btn_cancel h32"
@
click=
"dialogVisible = false"
>
取消
</div>
<div
class=
"btn btn_primary h32"
v-if=
"isedit && !ischeck"
@
click=
"savepro"
>
创建项目
</div>
</div>
<div
class=
"popbot"
v-else
>
<div
class=
"popbot"
>
<div
class=
"btn btn_cancel h32"
@
click=
"dialogVisible = false"
>
取消
</div>
<div
class=
"btn btn_primary h32"
v-if=
"isedit && !ischeck"
@
click=
"savepro"
>
保存
</div>
<div
class=
"btn btn_primary h32"
v-if=
"isedit && ischeck"
@
click=
"changepro"
>
下一步,导入数据
</div>
...
...
@@ -301,17 +282,6 @@
dialogVisible
:
false
,
cbStagelist
:[],
ztStagelist
:[],
cbjhlist
:[
{
value
:
'已有成本计划'
,
label
:
'已有成本计划'
},
{
value
:
'暂无成本计划'
,
label
:
'暂无成本计划'
},
],
cbjh
:
''
,
//新建项目参数
queryParam
:{
projectName
:
''
,
//项目名称
...
...
@@ -322,6 +292,7 @@
},
rules
:{
cbStage
:[{
required
:
true
,
message
:
'请选择成本阶段!'
,
trigger
:
'blur'
},],
projectName
:[{
required
:
true
,
message
:
'请输入项目名称'
,
trigger
:
'blur'
},],
},
isupload
:
false
,
tableData
:[{}],
...
...
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