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
4fcd6242
Commit
4fcd6242
authored
Apr 18, 2024
by
danfuman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
a7cf7202
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
288 additions
and
42 deletions
+288
-42
index.vue
dsk-operate-ui/src/components/DskTabToggle/index.vue
+1
-0
CustomTimeSelect.vue
dsk-operate-ui/src/views/component/CustomTimeSelect.vue
+4
-0
infoTable.vue
...te-ui/src/views/projectCostLedger/component/infoTable.vue
+179
-0
index.vue
...projectCostLedger/detail/components/CostSummary/index.vue
+5
-1
index.vue
...Ledger/detail/components/EngineeringInformation/index.vue
+1
-1
index.vue
...rojectCostLedger/detail/components/MeasureItems/index.vue
+36
-20
index.vue
...ojectCostLedger/detail/components/OtherProjects/index.vue
+2
-1
index.vue
dsk-operate-ui/src/views/projectCostLedger/detail/index.vue
+8
-0
index.vue
dsk-operate-ui/src/views/projectCostLedger/index.vue
+49
-16
overview.vue
...operate-ui/src/views/supplier/supplierRating/overview.vue
+1
-1
vue.config.js
dsk-operate-ui/vue.config.js
+2
-2
No files found.
dsk-operate-ui/src/components/DskTabToggle/index.vue
View file @
4fcd6242
...
...
@@ -59,6 +59,7 @@ export default {
},
//可访问data属性
created
()
{
console
.
log
(
this
.
tabs
,
"||||||||"
)
this
.
initSlidingBar
();
},
//计算集
...
...
dsk-operate-ui/src/views/component/CustomTimeSelect.vue
View file @
4fcd6242
...
...
@@ -173,6 +173,10 @@ export default {
let
startTime
=
''
let
endTime
=
new
Date
()
switch
(
value
)
{
case
'昨日'
:
startTime
=
new
Date
(
endTime
.
getTime
()
-
3600
*
1000
*
24
*
1
)
timeStr
=
[
this
.
formatDate
(
startTime
),
this
.
formatDate
(
endTime
)]
break
;
case
'今日'
:
startTime
=
new
Date
(
endTime
.
getTime
())
timeStr
=
[
this
.
formatDate
(
startTime
),
this
.
formatDate
(
endTime
)]
...
...
dsk-operate-ui/src/views/projectCostLedger/component/infoTable.vue
0 → 100644
View file @
4fcd6242
<!-- 表格组件 -->
<
template
>
<div
class=
"infoTable-container"
>
<h2
v-if=
"title !== '' && isSubTitle"
class=
"infoTable-title"
>
{{
title
}}
</h2>
<el-form
class=
"infoTable-form"
label-position=
"left"
>
<template
v-for=
"(item, index) in list"
>
<el-form-item
:style=
"item.span?
{width: `${100/(24/item.span)}%`}:{}" :label="item.name" :label-width="labelWidth?labelWidth+'px':'130px'" :key="index" :class="[
{ 'infoTable-form-view': item.style },
{ 'infoTable-form-item': !item.style },
{ 'infoTable-form-row': item.rowstyle }
]">
<div>
<template
v-if=
"item.slot === true"
>
<slot
:name=
"item.prop"
:data=
"obj"
></slot>
</
template
>
<span
v-else
>
{{ obj[item.prop] ?obj[item.prop] !==""?item.formatter?item.formatter(obj[item.prop]):obj[item.prop]:'-' :'-' }}
</span>
</div>
</el-form-item>
</template>
</el-form>
<!--<div v-else class="no-data">-->
<!--<div class="no-data-box" v-if="show">-->
<!--<img :src="noData" alt="暂时没有找到相关数据" />-->
<!--<span>暂时没有找到相关数据</span>-->
<!--</div>-->
<!--</div>-->
</div>
</template>
<
script
>
export
default
{
name
:
"InfoTable"
,
components
:
{
},
props
:
{
list
:
{
type
:
Array
,
default
:
()
=>
[],
},
title
:
{
type
:
String
,
default
:
""
,
},
obj
:
{
type
:
Object
,
default
:
()
=>
{
}
},
labelWidth
:
{
type
:
Number
,
default
:
null
},
isSubTitle
:
{
type
:
Boolean
,
default
:
false
,
},
},
data
()
{
return
{
show
:
false
,
// 当前移入单元格内容
noData
:
require
(
"@/assets/images/detail/noData.png"
)
};
},
created
()
{
},
mounted
(){
this
.
show
=
true
;
},
methods
:
{
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.infoTable-container
{
.infoTable-title
{
font-size
:
16px
;
font-family
:
Microsoft
YaHei-Bold
,
Microsoft
YaHei
;
font-weight
:
bold
;
padding-left
:
8px
;
border-left
:
2px
solid
#58637B
;
color
:
#000000
;
text-shadow
:
0px
0px
10px
rgba
(
0
,
37
,
106
,
0
.10000000149011612
);
margin
:
0
0
16px
0
;
}
.infoTable-form
{
display
:
flex
;
flex-wrap
:
wrap
;
border-left
:
1px
solid
#e5e9f5
;
border-top
:
1px
solid
#e5e9f5
;
border-collapse
:
collapse
;
.infoTable-form-item
{
width
:
50%
;
flex
:
auto
;
margin-bottom
:
0px
;
border-right
:
1px
solid
#e5e9f5
;
border-bottom
:
1px
solid
#e5e9f5
;
font-family
:
Microsoft
YaHei-Regular
,
Microsoft
YaHei
;
font-size
:
13px
;
}
.infoTable-form-view
{
width
:
100%
;
flex
:
auto
;
margin-bottom
:
0px
;
border-right
:
1px
solid
#e5e9f5
;
border-bottom
:
1px
solid
#e5e9f5
;
font-family
:
Microsoft
YaHei-Regular
,
Microsoft
YaHei
;
font-size
:
13px
;
}
.infoTable-form-row
{
width
:
33%
;
flex
:
auto
;
margin-bottom
:
0px
;
border-right
:
1px
solid
#e5e9f5
;
border-bottom
:
1px
solid
#e5e9f5
;
font-family
:
Microsoft
YaHei-Regular
,
Microsoft
YaHei
;
font-size
:
13px
;
}
::v-deep
.el-form-item__label
{
height
:
100%
;
background-color
:
#F0F3FA
;
padding
:
8px
12px
8px
12px
;
font-size
:
13px
;
font-weight
:
normal
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
display
:
flex
;
align-items
:
center
;
line-height
:
normal
;
}
::v-deep
.el-form-item__content
{
padding-left
:
12px
;
font-size
:
13px
;
color
:
#232323
;
}
::v-deep
.el-form-item__content
{
border-left
:
1px
solid
#e5e9f5
;
height
:
100%
;
display
:
flex
;
align-items
:
center
;
}
::v-deep
.el-col
{
border-bottom
:
1px
solid
#e5e9f5
;
}
}
.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
);
max-width
:
1200px
;
height
:
328px
;
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
;
}
}
}
::v-deep
.el-form-item__content
{
line-height
:
22px
;
padding
:
6px
4px
;
}
}
</
style
>
dsk-operate-ui/src/views/projectCostLedger/detail/components/CostSummary/index.vue
View file @
4fcd6242
...
...
@@ -263,7 +263,7 @@ export default {
includeNowMonth
(
time
)
{
return
this
.
originMonthList
.
find
(
item
=>
item
.
expenseDate
==
time
);
},
// 按项目汇总 按成本科目汇总
// 按项目汇总 按成本科目汇总
currentCategoryChange
(
category
)
{
if
(
category
==
this
.
currentCategory
)
return
;
this
.
currentCategory
=
category
;
...
...
@@ -360,6 +360,10 @@ export default {
const
result
=
await
getCostSummaryMenuTreeApi
(
params
);
if
(
result
.
code
==
200
&&
result
.
data
instanceof
Array
)
{
const
_tempArray
=
result
.
data
;
if
(
_tempArray
.
length
===
0
){
this
.
currentCategory
=
2
return
this
.
init
(
this
.
comProjectDetailInfo
);
}
const
_tempMenu
=
{
id
:
0
,
cbName
:
this
.
currentCategory
==
1
?
"成本汇总"
:
"房建类成本科目"
,
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/components/EngineeringInformation/index.vue
View file @
4fcd6242
...
...
@@ -43,7 +43,7 @@
</div>
</
template
>
<
script
>
import
InfoTable
from
'../../../
../
component/infoTable'
;
import
InfoTable
from
'../../../component/infoTable'
;
import
{
getCbProjectInfo
}
from
"@/api/projectCostLedger"
;
export
default
{
name
:
"projectInformation"
,
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/components/MeasureItems/index.vue
View file @
4fcd6242
...
...
@@ -92,7 +92,17 @@
<el-table-column
label=
"税金类型"
width=
"130"
prop=
"taxType"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
taxType
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"本月工程量"
width=
"130"
prop=
"projectVolume"
>
<
template
slot-scope=
"scope"
>
<template
v-if=
"isinput"
>
<el-input
v-model=
"scope.row.projectVolume "
></el-input>
</
template
>
<
template
v-else
>
{{
scope
.
row
.
projectVolume
||
'--'
}}
</
template
>
</template>
</el-table-column>
<el-table-column
label=
"截止本月工程量"
width=
"130"
prop=
"currentProjectVolume"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
suncurrentProjectVolume
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"本月成本发生比例"
width=
"150"
prop=
"monthCostRate"
>
<
template
slot-scope=
"scope"
>
<template
v-if=
"isinput"
>
...
...
@@ -102,34 +112,28 @@
</template>
</el-table-column>
<el-table-column
label=
"成本合价"
width=
"130"
prop=
"costEffective"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
costEffective
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"本月工程量"
width=
"130"
prop=
"projectVolume"
>
<
template
slot-scope=
"scope"
>
<template
v-if=
"isinput"
>
<el-input
v-model=
"scope.row.
projectVolum
e "
></el-input>
<el-input
v-model=
"scope.row.
costEffectiv
e "
></el-input>
</
template
>
<
template
v-else
>
{{
scope
.
row
.
projectVolum
e
||
'--'
}}
</
template
>
<
template
v-else
>
{{
scope
.
row
.
costEffectiv
e
||
'--'
}}
</
template
>
</template>
</el-table-column>
<el-table-column
label=
"截止本月工程量"
width=
"130"
prop=
"currentProjectVolume"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
suncurrentProjectVolume
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"本月推送工程量"
width=
"130"
prop=
"submitProjectVolume"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
submitProjectVolume
||
'--'
}}
</
template
>
</el-table-column>
<!--<el-table-column label="本月推送工程量" width="130" prop="submitProjectVolume">-->
<!--<template slot-scope="scope">{{scope.row.submitProjectVolume || '--'}}</template>-->
<!--</el-table-column>-->
<el-table-column
label=
"备注"
width=
"130"
prop=
"remarks"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
remarks
||
'--'
}}
</
template
>
</el-table-column>
<
el-table-column
label=
"是否推送"
width=
"130"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
pushTime
?
'是'
:
'否'
}}
</
template
>
<
/el-table-column
>
<
el-table-column
label=
"操作"
width=
"130"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<
span
class=
"wordprimary"
@
click=
"pushwork(scope.row)"
>
推送工程量
</span
>
<
/
template
>
<
/el-table-column
>
<
!--<el-table-column label="是否推送" width="130">--
>
<
!--<template slot-scope="scope">{{scope.row.pushTime?'是':'否'}}</template>--
>
<
!--</el-table-column>--
>
<
!--<el-table-column label="操作" width="130" fixed="right">--
>
<
!--<template slot-scope="scope">--
>
<
!--<span class="wordprimary" @click="pushwork(scope.row)">推送工程量</span>--
>
<
!--</template>--
>
<
!--</el-table-column>--
>
</el-table>
</div>
...
...
@@ -504,6 +508,18 @@
width
:
100%
;
height
:
100%
;
.meafixed-table
{
// 解决拖拽表格滚动条,错位问题
::v-deep
.el-table__header-wrapper
{
padding-right
:
16px
!
important
;
// 滚动条宽度
}
::v-deep
.el-table--border
th
.el-table__cell.gutter
:last-of-type
{
display
:
block
!
important
;
width
:
16px
!
important
;
}
}
::v-deep
.tored
{
/*background: rgb(255,236,236) !important;*/
}
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/components/OtherProjects/index.vue
View file @
4fcd6242
...
...
@@ -39,6 +39,7 @@
:tableLoading=
"tableLoading"
:tableData=
"tableData1"
:forData=
"forData1"
:indexFixed=
"true"
:MaxPage=
500
:tableDataTotal=
"tableDataTotal1"
:queryParams=
"queryParams"
...
...
@@ -96,7 +97,7 @@ export default {
{
label
:
'占比'
,
prop
:
'proportion'
,
slot
:
true
},
],
forData1
:
[
{
label
:
'清单内容'
,
prop
:
'itemContent'
,
minWidth
:
'220'
},
{
label
:
'清单内容'
,
prop
:
'itemContent'
,
minWidth
:
'220'
,
fixed
:
"left"
},
{
label
:
'工作内容、做法/规格型号/施工现场配置说明'
,
prop
:
'workContent'
,
minWidth
:
'302'
},
{
label
:
'单位'
,
prop
:
'unit'
,
minWidth
:
'115'
},
{
label
:
'不含税单价'
,
prop
:
'unitPriceExcludingTax'
,
minWidth
:
'115'
},
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/index.vue
View file @
4fcd6242
...
...
@@ -83,46 +83,54 @@ export default {
{
value
:
"basicEngineeringInformation"
,
name
:
"工程项目信息"
,
disabled
:
false
,
id
:
v4
()
},
{
value
:
"directCost"
,
name
:
"直接费成本"
,
disabled
:
false
,
cbType
:
0
,
id
:
v4
()
},
{
value
:
"feedSummary"
,
name
:
"工料汇总"
,
disabled
:
false
,
cbType
:
1
,
id
:
v4
()
},
{
name
:
"措施项目"
,
value
:
"measureItem"
,
disabled
:
false
,
cbType
:
2
,
id
:
v4
()
},
{
name
:
"其他项目"
,
value
:
"otherItems"
,
disabled
:
false
,
cbType
:
3
,
id
:
v4
()
},
{
name
:
"现场经费"
,
value
:
"fieldExpenses"
,
disabled
:
false
,
cbType
:
4
,
id
:
v4
()
},
{
name
:
"成本汇总"
,
value
:
"cost"
,
disabled
:
false
,
cbType
:
5
,
id
:
v4
()
},
{
name
:
"盈亏分析对比"
,
disabled
:
false
,
value
:
"profitAndLoss"
,
cbType
:
1
,
id
:
v4
()
...
...
dsk-operate-ui/src/views/projectCostLedger/index.vue
View file @
4fcd6242
...
...
@@ -171,25 +171,47 @@
<span>
{{protitle}}
</span>
</div>
<el-form
class=
"popform"
label-width=
"97px"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
>
<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-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-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"
>
<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=
"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>
...
...
@@ -279,6 +301,17 @@
dialogVisible
:
false
,
cbStagelist
:[],
ztStagelist
:[],
cbjhlist
:[
{
value
:
'已有成本计划'
,
label
:
'已有成本计划'
},
{
value
:
'暂无成本计划'
,
label
:
'暂无成本计划'
},
],
cbjh
:
''
,
//新建项目参数
queryParam
:{
projectName
:
''
,
//项目名称
...
...
dsk-operate-ui/src/views/supplier/supplierRating/overview.vue
View file @
4fcd6242
...
...
@@ -831,7 +831,7 @@
});
},
iptAdaptive
(
uid
,
multiple
=
false
,
name
)
{
multiple
?
this
.
multipleAdaptiveHandle
(
uid
,
name
)
:
this
.
iptAdaptiveHandle
(
uid
,
name
);
multiple
?
this
.
multipleAdaptiveHandle
(
uid
,
name
)
:
this
.
iptAdaptiveHandle
(
uid
,
name
);
},
//单选
async
iptAdaptiveHandle
(
uid
,
name
)
{
...
...
dsk-operate-ui/vue.config.js
View file @
4fcd6242
...
...
@@ -35,8 +35,8 @@ module.exports = {
proxy
:
{
// detail: https://cli.vuejs.org/config/#devserver-proxy
[
process
.
env
.
VUE_APP_BASE_API
]:
{
target
:
`http://1
11.204.34.146
:9099/prod-api`
,
//测试
// target: `http://172.17.0.12:9099/
/
prod-api`,//测试
target
:
`http://1
72.17.0.12
:9099/prod-api`
,
//测试
// target: `http://172.17.0.12:9099/prod-api`,//测试
// target: `http://192.168.60.5:9098`,//陈跃方
// target: `http://192.168.60.27:9098`,//邓
// target: `http://122.9.160.122:9011`, //线上
...
...
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