Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hls-webapp-cli
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
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
heasy
hls-webapp-cli
Commits
7cd8fb7d
Commit
7cd8fb7d
authored
Jun 26, 2019
by
Nature
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复scroll滑动问题
parent
b8b587ff
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
631 additions
and
560 deletions
+631
-560
contract-mainten-list.vue
...es/applications/contractMainten/contract-mainten-list.vue
+301
-278
contract-sign-list.vue
...rc/pages/applications/contractSign/contract-sign-list.vue
+301
-278
prjBpInfo.vue
template/src/pages/applications/projectManager/prjBpInfo.vue
+14
-2
prjMaintenList.vue
.../src/pages/applications/projectManager/prjMaintenList.vue
+14
-1
yarn.lock
template/yarn.lock
+1
-1
No files found.
template/src/pages/applications/contractMainten/contract-mainten-list.vue
View file @
7cd8fb7d
<
template
>
<h-view
class=
"public-style contract-mainten-list"
style=
"height:100%;"
title=
"合同维护"
>
<s-tab
position=
"top"
class=
"my-height"
@
tabClick=
"switchTab"
>
<tab-item>
本年
</tab-item>
<tab-item>
本季
</tab-item>
<tab-item>
本月
</tab-item>
</s-tab>
<h-view
class=
"public-style contract-mainten-list"
title=
"合同维护"
>
<h-content
class=
"scroll-content"
>
<div
class=
"top-part"
>
<div
class=
"client"
>
<div
class=
"client-img"
>
<img
src=
"../../../assets/image/contractMainten/total@2x.png"
>
<s-tab
@
tabClick=
"switchTab"
>
<tab-item>
本年
</tab-item>
<tab-item>
本季
</tab-item>
<tab-item>
本月
</tab-item>
</s-tab>
<div
class=
"info-board"
>
<div
class=
"board-line"
>
<div
class=
"ionic-img"
>
<img
src=
"@/assets/image/contractMainten/total@2x.png"
>
</div>
<div
class=
"
statistics
"
>
合同总计
</div>
<div
class=
"
text
"
>
合同总计
</div>
</div>
<div
class=
"
total-num"
>
\
{{
infoShow
.
contract_count
}}
<span
class=
"measure"
>
个
</span></div>
<div
class=
"
list-general
"
>
<div
class=
"
enterprise
"
>
<div
class=
"
list-nam
e"
>
新建
</div>
<div
class=
"
list-num"
>
\
{{
infoShow
.
new_count
}}
<span
class=
"sum-num"
>
个
</span>
</div>
<div
class=
"
board-line"
><span>
\
{{
infoShow
.
contract_count
}}
</span><span
>
个
</span></div>
<div
class=
"
board-line
"
>
<div
class=
"
board-block
"
>
<div
class=
"
typ
e"
>
新建
</div>
<div
class=
"
number"
><span>
\
{{
infoShow
.
new_count
}}
</span>
个
</div>
</div>
<div
class=
"
enterprise
"
>
<div
class=
"
list-nam
e"
>
签约
</div>
<div
class=
"
list-num"
>
\
{{
infoShow
.
sign_count
}}
<span
class=
"sum-num"
>
个
</span>
</div>
<div
class=
"
board-block
"
>
<div
class=
"
typ
e"
>
签约
</div>
<div
class=
"
number"
><span>
\
{{
infoShow
.
sign_count
}}
</span>
个
</div>
</div>
<div
class=
"enterprise"
>
<div
class=
"list-name"
>
审批中
</div>
<div
class=
"list-num"
>
\
{{
infoShow
.
incept_count
}}
<span
class=
"sum-num"
>
个
</span></div>
<div
class=
"board-block"
>
<div
class=
"type"
>
审批中
</div>
<div
class=
"number"
><span>
\
{{
infoShow
.
incept_count
}}
</span>
个
</div>
</div>
<div
class=
"enterprise"
>
<div
class=
"list-name"
>
拒绝
</div>
<div
class=
"list-num"
>
\
{{
infoShow
.
overdue_count
}}
<span
class=
"sum-num"
>
个
</span></div>
<div
class=
"board-block"
>
<div
class=
"type"
>
拒绝
</div>
<div
class=
"number"
><span>
\
{{
infoShow
.
overdue_count
}}
</span>
个
</div>
</div>
</div>
</div>
<div
class=
"search"
>
<div
class=
"searchInput"
>
<div
class=
"searchIcon"
>
<div
class=
"img-box"
><img
src=
"../../../assets/image/contractMainten/search@2x.png"
></div>
</div>
<div
class=
"img-box"
><img
src=
"@/assets/image/contractMainten/search@2x.png"
></div>
<input
v-model=
"searchCondition.input"
placeholder=
"请输入合同编号/承租人名称"
v-model=
"searchCondition.input"
placeholder=
"请输入合同编号/承租人名称"
@
input=
"detectSearchCondition()"
>
</div>
<div
class=
"filterIcon"
@
click=
"detectSearchCondition()"
>
<img
src=
"../../../assets/image/contractMainten/filter@2x.png"
>
</div>
</div>
<scroll
ref=
"scroll"
...
...
@@ -55,15 +52,14 @@
@
pullingUp=
"loadMore"
>
<list-item
:item-height=
"80"
>
<item
v-for=
"(list,index) in con_list"
:has-border=
"false"
:key=
"index"
:proportion=
"[5,1]"
:show-arrow=
"true"
v-for=
"(list,index) in con_list"
:key=
"index"
:proportion=
"[5,1]"
:show-arrow=
"true"
@
click
.
native=
"goContractMainten(list)"
>
<img
slot=
"left-icon"
src=
"
../../..
/assets/image/contractMainten/item@2x.png"
class=
"left-icon"
>
<img
slot=
"left-icon"
src=
"
@
/assets/image/contractMainten/item@2x.png"
class=
"left-icon"
>
<div
slot=
"name"
class=
"text"
>
<div
class=
"cont-name"
>
合同编号:\
{{
list
.
contract_number
}}
</div>
<div
class=
"cont-type"
>
承租人名称:\
{{
list
.
bp_id_tenant_n
}}
</div>
<div
class=
"cont-type"
>
单据类别:\
{{
list
.
document_type_n
}}
</div>
<div
class=
"cont-type"
>
合同创建日期:\
{{
list
.
creation_date
}}
</div>
<div
class=
"cont-name"
style=
"font-size: 16px;color: #5D98F6"
>
合同编号:\
{{
list
.
contract_number
}}
</div>
<div
class=
"cont-type"
style=
"color: #8C8C8C;"
>
承租人名称:\
{{
list
.
bp_id_tenant_n
}}
</div>
<div
class=
"cont-type"
style=
"color: #8C8C8C;"
>
单据类别:\
{{
list
.
document_type_n
}}
</div>
<div
class=
"cont-type"
style=
"color: #8C8C8C;"
>
合同创建日期:\
{{
list
.
creation_date
}}
</div>
</div>
</item>
</list-item>
...
...
@@ -73,294 +69,321 @@
</
template
>
<
script
>
export
default
{
data
()
{
return
{
con_list
:
[],
infoShow
:
{},
info
:
null
,
searchCondition
:
{
input
:
null
,
},
}
},
created
()
{
this
.
offsize
=
1
this
.
pagesize
=
10
this
.
index
=
[
1
,
0
,
0
]
},
mounted
()
{
this
.
_initLoad
()
},
methods
:
{
switchTab
:
function
(
index
)
{
let
vm
=
this
vm
.
index
=
[
0
,
0
,
0
]
vm
.
index
[
index
]
=
1
vm
.
changeData
()
export
default
{
data
()
{
return
{
con_list
:
[],
infoShow
:
{},
info
:
null
,
searchCondition
:
{
input
:
null
,
},
}
},
changeData
:
function
()
{
let
vm
=
this
vm
.
infoShow
=
vm
.
info
[
vm
.
getTabName
()][
0
]
created
()
{
this
.
offsize
=
1
this
.
pagesize
=
10
this
.
index
=
[
1
,
0
,
0
]
},
mounted
()
{
this
.
_initLoad
()
},
methods
:
{
switchTab
:
function
(
index
)
{
let
vm
=
this
vm
.
index
=
[
0
,
0
,
0
]
vm
.
index
[
index
]
=
1
vm
.
changeData
()
},
changeData
:
function
()
{
let
vm
=
this
vm
.
infoShow
=
vm
.
info
[
vm
.
getTabName
()][
0
]
},
getTabName
:
function
()
{
let
vm
=
this
let
tabName
=
''
vum
.
forEach
(
vm
.
index
,
function
(
data
,
index
,
array
)
{
if
(
data
===
1
)
{
if
(
index
===
0
)
{
tabName
=
'year_contract_list'
}
else
if
(
index
===
1
)
{
tabName
=
'reason_contract_list'
}
else
if
(
index
===
2
)
{
tabName
=
'month_contract_list'
getTabName
:
function
()
{
let
vm
=
this
let
tabName
=
''
vum
.
forEach
(
vm
.
index
,
function
(
data
,
index
,
array
)
{
if
(
data
===
1
)
{
if
(
index
===
0
)
{
tabName
=
'year_contract_list'
}
else
if
(
index
===
1
)
{
tabName
=
'reason_contract_list'
}
else
if
(
index
===
2
)
{
tabName
=
'month_contract_list'
}
}
}
})
return
tabName
},
})
return
tabName
},
detectSearchCondition
:
function
()
{
let
vm
=
this
if
(
vm
.
timeout
)
{
clearTimeout
(
vm
.
timeout
)
}
vm
.
timeout
=
setTimeout
(
function
()
{
vm
.
_initLoad
()
},
1000
)
},
detectSearchCondition
:
function
()
{
let
vm
=
this
if
(
vm
.
timeout
)
{
clearTimeout
(
vm
.
timeout
)
}
vm
.
timeout
=
setTimeout
(
function
()
{
vm
.
_initLoad
()
},
1000
)
},
_initLoad
:
function
()
{
let
vm
=
this
vm
.
load_count
()
vm
.
offsize
=
1
let
url
=
process
.
env
.
basePath
+
'app_get_contract_selected'
// 合同维护信息查询
let
param
=
{
'offsize'
:
vm
.
offsize
,
'searchInput'
:
vm
.
searchCondition
.
input
,
}
vm
.
hlsPopup
.
showLoading
(
'请稍等'
)
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
vm
.
con_list
=
res
.
getContract_list
if
(
res
.
getContract_list
.
length
>=
0
&&
res
.
getContract_list
.
length
<
vm
.
pagesize
)
{
vm
.
$refs
.
scroll
.
update
(
true
)
_initLoad
:
function
()
{
let
vm
=
this
vm
.
load_count
()
vm
.
offsize
=
1
let
url
=
process
.
env
.
basePath
+
'app_get_contract_selected'
// 合同维护信息查询
let
param
=
{
'offsize'
:
vm
.
offsize
,
'searchInput'
:
vm
.
searchCondition
.
input
,
}
})
},
vm
.
hlsPopup
.
showLoading
(
'请稍等'
)
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
vm
.
con_list
=
res
.
getContract_list
if
(
res
.
getContract_list
.
length
>=
0
&&
res
.
getContract_list
.
length
<
vm
.
pagesize
)
{
vm
.
$refs
.
scroll
.
update
(
true
)
}
})
},
load_count
:
function
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'contract_count'
let
param
=
{}
// hlsPopup.showLoadingWithoutBackdrop();
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
info
=
res
vm
.
changeData
()
})
},
load_count
:
function
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'contract_count'
let
param
=
{}
// hlsPopup.showLoadingWithoutBackdrop();
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
info
=
res
vm
.
changeData
()
})
},
loadMore
:
function
()
{
let
vm
=
this
vm
.
offsize
=
vm
.
offsize
+
1
let
url
=
process
.
env
.
basePath
+
'app_get_contract_selected'
let
param
=
{
'offsize'
:
vm
.
offsize
,
'searchInput'
:
vm
.
searchCondition
.
input
,
}
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
let
returnData
=
[]
returnData
=
res
.
getContract_list
if
(
returnData
.
length
===
0
)
{
vm
.
$refs
.
scroll
.
update
(
true
)
}
else
if
(
returnData
.
length
>
0
&&
returnData
.
length
<
vm
.
pagesize
)
{
vum
.
forEach
(
returnData
,
function
(
data
,
index
,
array
)
{
vm
.
con_list
.
push
(
array
[
index
])
})
vm
.
$refs
.
scroll
.
update
(
true
)
}
else
if
(
returnData
.
length
===
vm
.
pagesize
)
{
vum
.
forEach
(
returnData
,
function
(
data
,
index
,
array
)
{
vm
.
con_list
.
push
(
array
[
index
])
})
vm
.
$refs
.
scroll
.
update
(
false
)
loadMore
:
function
()
{
let
vm
=
this
vm
.
offsize
=
vm
.
offsize
+
1
let
url
=
process
.
env
.
basePath
+
'app_get_contract_selected'
let
param
=
{
'offsize'
:
vm
.
offsize
,
'searchInput'
:
vm
.
searchCondition
.
input
,
}
})
},
goContractMainten
:
function
(
list
)
{
this
.
$router
.
push
({
name
:
'ContractMainten'
,
params
:
{
contract_id
:
list
.
contract_id
,
cdd_list_id
:
list
.
cdd_list_id
,
},
})
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
let
returnData
=
[]
returnData
=
res
.
getContract_list
if
(
returnData
.
length
===
0
)
{
vm
.
$refs
.
scroll
.
update
(
true
)
}
else
if
(
returnData
.
length
>
0
&&
returnData
.
length
<
vm
.
pagesize
)
{
vum
.
forEach
(
returnData
,
function
(
data
,
index
,
array
)
{
vm
.
con_list
.
push
(
array
[
index
])
})
vm
.
$refs
.
scroll
.
update
(
true
)
}
else
if
(
returnData
.
length
===
vm
.
pagesize
)
{
vum
.
forEach
(
returnData
,
function
(
data
,
index
,
array
)
{
vm
.
con_list
.
push
(
array
[
index
])
})
vm
.
$refs
.
scroll
.
update
(
false
)
}
})
},
goContractMainten
:
function
(
list
)
{
this
.
$router
.
push
({
name
:
'ContractMainten'
,
params
:
{
contract_id
:
list
.
contract_id
,
cdd_list_id
:
list
.
cdd_list_id
,
},
})
},
},
},
}
}
</
script
>
<
style
lang=
"less"
rel=
"stylesheet"
>
.contract-mainten-list {
.scroll-content{
position: absolute;
top: 40px;
right: 0;
top: 0;
bottom: 0;
left: 0;
width: auto;
height: auto;
overflow: hidden;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
}
.content {
.content-scroll{
top:225px;
}
.content{
overflow: hidden;
}
.hls-switch-tab .tab-content .h-tab-item .h-item {
width: 100%;
}
.hls-switch-tab {
position: relative;
}
.info-board {
background-color: #FFF;
padding-top: 0;
.top-part{
background-color: #FFFFFF;
padding:12px 0 10px 0;
.client{
display: flex;
.client-img{
margin:0 5px 0 15px;
img{
width:17px;
height: 15px;
}
}
.statistics{
font-size: 14px;
line-height: 16px;
color: #363636;
.board-line {
display: flex;
display: -webkit-flex;
padding-top: 10px;
justify-content: space-between;
-webkit-justify-content: space-between;
font-size: 13px;
line-height: 18px;
padding-bottom: 6px;
&:before {
content: '';
}
&:after {
content: '';
}
&:first-child {
justify-content: flex-start;
-webkit-justify-content: flex-start;
}
&:nth-child(2) {
justify-content: center;
-webkit-justify-content: center;
}
.ionic-img {
margin-left: 11px;
margin-right: 4px;
width: 17px;
height: 15px;
img {
height: 100%;
width: 100%;
border: none;
}
}
.total-num{
width: 100%;
padding: 10px 0 25px 0;
.text {
font-size: @font-size-middle;
}
span {
font-size: 26px;
color: #FF8877;
display: fle
x;
justify-content: center;
.measure
{
font-size:
13px
;
margin-right: 2p
x;
&:nth-child(2)
{
font-size:
@font-size-small
;
color: #313131;
padding:5px;
margin-top: 5px;
margin-left: 2px;
}
}
.list-general{
.board-block {
height: 100%;
width: 100%;
display: flex;
justify-content: center;
.enterprise{
width: 25%;
display: flex;
text-align:center;
flex-direction: column;
.list-name{
font-size: 13px;
color: #313131;
}
.list-num{
padding-top: 6px;
font-size: 14px;
color: #FF8877;
.sum-num{
font-size: 12px;
line-height: 17px;
color: #313131;
padding-left: 2px;
}
text-align: center;
.number {
span {
font-size: @font-size-middle;
margin-right: 2px;
}
}
}
}
.search {
}
.search {
display: flex;
height: 50px;
background-color: #FFF;
margin-top: 10px;
// margin-bottom: 10px;
.searchInput {
display: flex;
display: -webkit-flex;
height:50px;
background-color: #FFFFFF;
// margin-top: 10px;
.searchInput {
display: flex;
display: -webkit-flex;
height: 33px;
border: 1px solid @headerColor;
height: 33px;
border: 1px solid #5D98F6; /*no*/
margin: 7px 10px;
width: 100%;
display: flex;
align-items: center;
-webkit-align-items: center;
.img-box {
height: 17px;
border-right: 1px solid #5D98F6; /*no*/
padding: 2px 0;
margin-left: 10px;
margin-top: 7px;
margin-bottom: 7px;
width: 100%;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
.img-box {
height: 17px;
border-right: 1px solid @headerColor;
padding: 2px 0;
margin-left: 10px;
img {
width: 50%;
margin-right: 5px;
}
}
input {
width: 80%;
font-size: 13px;
height: 17px;
line-height: 17px;
border: none;
margin-top: 3px;
margin-bottom: 4px;
padding-left: 10px;
}
}
.filterIcon {
width: 38px;
height: 33px;
background-color: @headerColor;
margin: 7px 10px 0px 10px;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
justify-content: center;
-webkit-justify-content: center;
img {
width: 50%;
margin-right: 5px;
width: 15px;
}
}
}
.hls-item {
&:nth-child(odd){
background-color: #EFF1F3;
input {
width: 100%;
font-size: 13px;
height: 17px;
line-height: 17px;
border: none;
margin-top: 3px;
margin-bottom: 4px;
padding-left: 11px;
}
&:nth-child(even){
background-color: #fff;
}
}
.vue-better-scroll {
// top: 226px;
}
.vue-better-scroll__wrapper {
margin-top: 10px;
}
.hls-item {
&:nth-child(odd) {
background-color: #EFF1F3;
}
&:nth-child(even) {
background-color: #fff;
}
.contents .add-name {
.left-icon {
width: 34px;
}
.contents {
.add-name {
.cont-name{
font-size: 15px;
line-height: 21px;
color: @headerColor;
}
.cont-type{
font-size: 13px;
line-height: 18px;
color: #888;
}
.left-icon{
width: 10%;
.text {
margin-left: 15px;
.cont {
margin-top: 5px;
font-size: 13px;
line-height: 18px;
&:first-child {
margin-top: 0;
}
}
.cont-num {
margin-top: 8px;
font-size: 15px;
line-height: 21px;
color: #5D98F6;
}
}
}
}
.content-scroll{
top: 210px;
}
}
</
style
>
template/src/pages/applications/contractSign/contract-sign-list.vue
View file @
7cd8fb7d
<
template
>
<h-view
class=
"public-style contract-sign-list"
style=
"height:100%;"
title=
"合同签约"
>
<s-tab
position=
"top"
class=
"my-height"
@
tabClick=
"switchTab"
>
<tab-item>
本年
</tab-item>
<tab-item>
本季
</tab-item>
<tab-item>
本月
</tab-item>
</s-tab>
<h-view
class=
"public-style contract-sign-list"
title=
"合同签约"
>
<h-content
class=
"scroll-content"
>
<div
class=
"top-part"
>
<div
class=
"client"
>
<div
class=
"client-img"
>
<img
src=
"../../../assets/image/contractMainten/total@2x.png"
>
<s-tab
@
tabClick=
"switchTab"
>
<tab-item>
本年
</tab-item>
<tab-item>
本季
</tab-item>
<tab-item>
本月
</tab-item>
</s-tab>
<div
class=
"info-board"
>
<div
class=
"board-line"
>
<div
class=
"ionic-img"
>
<img
src=
"@/assets/image/contractMainten/total@2x.png"
>
</div>
<div
class=
"
statistics
"
>
合同总计
</div>
<div
class=
"
text
"
>
合同总计
</div>
</div>
<div
class=
"
total-num"
>
\
{{
infoShow
.
contract_count
}}
<span
class=
"measure"
>
个
</span></div>
<div
class=
"
list-general
"
>
<div
class=
"
enterprise
"
>
<div
class=
"
list-nam
e"
>
新建
</div>
<div
class=
"
list-num"
>
\
{{
infoShow
.
new_count
}}
<span
class=
"sum-num"
>
个
</span>
</div>
<div
class=
"
board-line"
><span>
\
{{
infoShow
.
contract_count
}}
</span><span
>
个
</span></div>
<div
class=
"
board-line
"
>
<div
class=
"
board-block
"
>
<div
class=
"
typ
e"
>
新建
</div>
<div
class=
"
number"
><span>
\
{{
infoShow
.
new_count
}}
</span>
个
</div>
</div>
<div
class=
"
enterprise
"
>
<div
class=
"
list-nam
e"
>
签约
</div>
<div
class=
"
list-num"
>
\
{{
infoShow
.
sign_count
}}
<span
class=
"sum-num"
>
个
</span>
</div>
<div
class=
"
board-block
"
>
<div
class=
"
typ
e"
>
签约
</div>
<div
class=
"
number"
><span>
\
{{
infoShow
.
sign_count
}}
</span>
个
</div>
</div>
<div
class=
"enterprise"
>
<div
class=
"list-name"
>
审批中
</div>
<div
class=
"list-num"
>
\
{{
infoShow
.
incept_count
}}
<span
class=
"sum-num"
>
个
</span></div>
<div
class=
"board-block"
>
<div
class=
"type"
>
审批中
</div>
<div
class=
"number"
><span>
\
{{
infoShow
.
incept_count
}}
</span>
个
</div>
</div>
<div
class=
"enterprise"
>
<div
class=
"list-name"
>
拒绝
</div>
<div
class=
"list-num"
>
\
{{
infoShow
.
overdue_count
}}
<span
class=
"sum-num"
>
个
</span></div>
<div
class=
"board-block"
>
<div
class=
"type"
>
拒绝
</div>
<div
class=
"number"
><span>
\
{{
infoShow
.
overdue_count
}}
</span>
个
</div>
</div>
</div>
</div>
<div
class=
"search"
>
<div
class=
"searchInput"
>
<div
class=
"searchIcon"
>
<div
class=
"img-box"
><img
src=
"../../../assets/image/contractMainten/search@2x.png"
></div>
</div>
<div
class=
"img-box"
><img
src=
"@/assets/image/contractMainten/search@2x.png"
></div>
<input
v-model=
"searchCondition.input"
placeholder=
"请输入合同编号/承租人名称"
v-model=
"searchCondition.input"
placeholder=
"请输入合同编号/承租人名称"
@
input=
"detectSearchCondition()"
>
</div>
<div
class=
"filterIcon"
@
click=
"detectSearchCondition()"
>
<img
src=
"../../../assets/image/contractMainten/filter@2x.png"
>
</div>
</div>
<scroll
ref=
"scroll"
...
...
@@ -55,15 +52,14 @@
@
pullingUp=
"loadMore"
>
<list-item
:item-height=
"80"
>
<item
v-for=
"(list,index) in con_list"
:has-border=
"false"
:key=
"index"
:proportion=
"[5,1]"
:show-arrow=
"true"
v-for=
"(list,index) in con_list"
:key=
"index"
:proportion=
"[5,1]"
:show-arrow=
"true"
@
click
.
native=
"goContractMainten(list)"
>
<img
slot=
"left-icon"
src=
"
../../..
/assets/image/contractMainten/item@2x.png"
class=
"left-icon"
>
<img
slot=
"left-icon"
src=
"
@
/assets/image/contractMainten/item@2x.png"
class=
"left-icon"
>
<div
slot=
"name"
class=
"text"
>
<div
class=
"cont-name"
>
合同编号:\
{{
list
.
contract_number
}}
</div>
<div
class=
"cont-type"
>
承租人名称:\
{{
list
.
bp_id_tenant_n
}}
</div>
<div
class=
"cont-type"
>
单据类别:\
{{
list
.
document_type_n
}}
</div>
<div
class=
"cont-type"
>
合同创建日期:\
{{
list
.
creation_date
}}
</div>
<div
class=
"cont-name"
style=
"font-size: 16px;color: #5D98F6"
>
合同编号:\
{{
list
.
contract_number
}}
</div>
<div
class=
"cont-type"
style=
"color: #8C8C8C;"
>
承租人名称:\
{{
list
.
bp_id_tenant_n
}}
</div>
<div
class=
"cont-type"
style=
"color: #8C8C8C;"
>
单据类别:\
{{
list
.
document_type_n
}}
</div>
<div
class=
"cont-type"
style=
"color: #8C8C8C;"
>
合同创建日期:\
{{
list
.
creation_date
}}
</div>
</div>
</item>
</list-item>
...
...
@@ -73,294 +69,321 @@
</
template
>
<
script
>
export
default
{
data
()
{
return
{
con_list
:
[],
infoShow
:
{},
info
:
null
,
searchCondition
:
{
input
:
null
,
},
}
},
created
()
{
this
.
offsize
=
1
this
.
pagesize
=
10
this
.
index
=
[
1
,
0
,
0
]
},
mounted
()
{
this
.
_initLoad
()
},
methods
:
{
switchTab
:
function
(
index
)
{
let
vm
=
this
vm
.
index
=
[
0
,
0
,
0
]
vm
.
index
[
index
]
=
1
vm
.
changeData
()
export
default
{
data
()
{
return
{
con_list
:
[],
infoShow
:
{},
info
:
null
,
searchCondition
:
{
input
:
null
,
},
}
},
changeData
:
function
()
{
let
vm
=
this
vm
.
infoShow
=
vm
.
info
[
vm
.
getTabName
()][
0
]
created
()
{
this
.
offsize
=
1
this
.
pagesize
=
10
this
.
index
=
[
1
,
0
,
0
]
},
mounted
()
{
this
.
_initLoad
()
},
methods
:
{
switchTab
:
function
(
index
)
{
let
vm
=
this
vm
.
index
=
[
0
,
0
,
0
]
vm
.
index
[
index
]
=
1
vm
.
changeData
()
},
changeData
:
function
()
{
let
vm
=
this
vm
.
infoShow
=
vm
.
info
[
vm
.
getTabName
()][
0
]
},
getTabName
:
function
()
{
let
vm
=
this
let
tabName
=
''
vum
.
forEach
(
vm
.
index
,
function
(
data
,
index
,
array
)
{
if
(
data
===
1
)
{
if
(
index
===
0
)
{
tabName
=
'year_contract_list'
}
else
if
(
index
===
1
)
{
tabName
=
'reason_contract_list'
}
else
if
(
index
===
2
)
{
tabName
=
'month_contract_list'
getTabName
:
function
()
{
let
vm
=
this
let
tabName
=
''
vum
.
forEach
(
vm
.
index
,
function
(
data
,
index
,
array
)
{
if
(
data
===
1
)
{
if
(
index
===
0
)
{
tabName
=
'year_contract_list'
}
else
if
(
index
===
1
)
{
tabName
=
'reason_contract_list'
}
else
if
(
index
===
2
)
{
tabName
=
'month_contract_list'
}
}
}
})
return
tabName
},
})
return
tabName
},
detectSearchCondition
:
function
()
{
let
vm
=
this
if
(
vm
.
timeout
)
{
clearTimeout
(
vm
.
timeout
)
}
vm
.
timeout
=
setTimeout
(
function
()
{
vm
.
_initLoad
()
},
1000
)
},
detectSearchCondition
:
function
()
{
let
vm
=
this
if
(
vm
.
timeout
)
{
clearTimeout
(
vm
.
timeout
)
}
vm
.
timeout
=
setTimeout
(
function
()
{
vm
.
_initLoad
()
},
1000
)
},
_initLoad
:
function
()
{
let
vm
=
this
vm
.
load_count
()
vm
.
offsize
=
1
let
url
=
process
.
env
.
basePath
+
'app_get_contract_selected'
// 合同维护信息查询
let
param
=
{
'offsize'
:
vm
.
offsize
,
'searchInput'
:
vm
.
searchCondition
.
input
,
}
vm
.
hlsPopup
.
showLoading
(
'请稍等'
)
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
vm
.
con_list
=
res
.
getContract_list
if
(
res
.
getContract_list
.
length
>=
0
&&
res
.
getContract_list
.
length
<
vm
.
pagesize
)
{
vm
.
$refs
.
scroll
.
update
(
true
)
_initLoad
:
function
()
{
let
vm
=
this
vm
.
load_count
()
vm
.
offsize
=
1
let
url
=
process
.
env
.
basePath
+
'app_get_contract_selected'
// 合同维护信息查询
let
param
=
{
'offsize'
:
vm
.
offsize
,
'searchInput'
:
vm
.
searchCondition
.
input
,
}
})
},
vm
.
hlsPopup
.
showLoading
(
'请稍等'
)
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
vm
.
con_list
=
res
.
getContract_list
if
(
res
.
getContract_list
.
length
>=
0
&&
res
.
getContract_list
.
length
<
vm
.
pagesize
)
{
vm
.
$refs
.
scroll
.
update
(
true
)
}
})
},
load_count
:
function
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'contract_count'
let
param
=
{}
// hlsPopup.showLoadingWithoutBackdrop();
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
info
=
res
vm
.
changeData
()
})
},
load_count
:
function
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'contract_count'
let
param
=
{}
// hlsPopup.showLoadingWithoutBackdrop();
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
info
=
res
vm
.
changeData
()
})
},
loadMore
:
function
()
{
let
vm
=
this
vm
.
offsize
=
vm
.
offsize
+
1
let
url
=
process
.
env
.
basePath
+
'app_get_contract_selected'
let
param
=
{
'offsize'
:
vm
.
offsize
,
'searchInput'
:
vm
.
searchCondition
.
input
,
}
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
let
returnData
=
[]
returnData
=
res
.
getContract_list
if
(
returnData
.
length
===
0
)
{
vm
.
$refs
.
scroll
.
update
(
true
)
}
else
if
(
returnData
.
length
>
0
&&
returnData
.
length
<
vm
.
pagesize
)
{
vum
.
forEach
(
returnData
,
function
(
data
,
index
,
array
)
{
vm
.
con_list
.
push
(
array
[
index
])
})
vm
.
$refs
.
scroll
.
update
(
true
)
}
else
if
(
returnData
.
length
===
vm
.
pagesize
)
{
vum
.
forEach
(
returnData
,
function
(
data
,
index
,
array
)
{
vm
.
con_list
.
push
(
array
[
index
])
})
vm
.
$refs
.
scroll
.
update
(
false
)
loadMore
:
function
()
{
let
vm
=
this
vm
.
offsize
=
vm
.
offsize
+
1
let
url
=
process
.
env
.
basePath
+
'app_get_contract_selected'
let
param
=
{
'offsize'
:
vm
.
offsize
,
'searchInput'
:
vm
.
searchCondition
.
input
,
}
})
},
goContractMainten
:
function
(
list
)
{
this
.
$router
.
push
({
name
:
'ContractSign'
,
params
:
{
contract_id
:
list
.
contract_id
,
cdd_list_id
:
list
.
cdd_list_id
,
},
})
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
let
returnData
=
[]
returnData
=
res
.
getContract_list
if
(
returnData
.
length
===
0
)
{
vm
.
$refs
.
scroll
.
update
(
true
)
}
else
if
(
returnData
.
length
>
0
&&
returnData
.
length
<
vm
.
pagesize
)
{
vum
.
forEach
(
returnData
,
function
(
data
,
index
,
array
)
{
vm
.
con_list
.
push
(
array
[
index
])
})
vm
.
$refs
.
scroll
.
update
(
true
)
}
else
if
(
returnData
.
length
===
vm
.
pagesize
)
{
vum
.
forEach
(
returnData
,
function
(
data
,
index
,
array
)
{
vm
.
con_list
.
push
(
array
[
index
])
})
vm
.
$refs
.
scroll
.
update
(
false
)
}
})
},
goContractMainten
:
function
(
list
)
{
this
.
$router
.
push
({
name
:
'ContractSign'
,
params
:
{
contract_id
:
list
.
contract_id
,
cdd_list_id
:
list
.
cdd_list_id
,
},
})
},
},
},
}
}
</
script
>
<
style
lang=
"less"
rel=
"stylesheet"
>
.contract-sign-list {
.scroll-content{
position: absolute;
top: 40px;
right: 0;
top: 0;
bottom: 0;
left: 0;
width: auto;
height: auto;
overflow: hidden;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
}
.content {
.content-scroll{
top:225px;
}
.content{
overflow: hidden;
}
.hls-switch-tab .tab-content .h-tab-item .h-item {
width: 100%;
}
.hls-switch-tab {
position: relative;
}
.info-board {
background-color: #FFF;
padding-top: 0;
.top-part{
background-color: #FFFFFF;
padding:12px 0 10px 0;
.client{
display: flex;
.client-img{
margin:0 5px 0 15px;
img{
width:17px;
height: 15px;
}
}
.statistics{
font-size: 14px;
line-height: 16px;
color: #363636;
.board-line {
display: flex;
display: -webkit-flex;
padding-top: 10px;
justify-content: space-between;
-webkit-justify-content: space-between;
font-size: 13px;
line-height: 18px;
padding-bottom: 6px;
&:before {
content: '';
}
&:after {
content: '';
}
&:first-child {
justify-content: flex-start;
-webkit-justify-content: flex-start;
}
&:nth-child(2) {
justify-content: center;
-webkit-justify-content: center;
}
.ionic-img {
margin-left: 11px;
margin-right: 4px;
width: 17px;
height: 15px;
img {
height: 100%;
width: 100%;
border: none;
}
}
.total-num{
width: 100%;
padding: 10px 0 25px 0;
.text {
font-size: @font-size-middle;
}
span {
font-size: 26px;
color: #FF8877;
display: fle
x;
justify-content: center;
.measure
{
font-size:
13px
;
margin-right: 2p
x;
&:nth-child(2)
{
font-size:
@font-size-small
;
color: #313131;
padding:5px;
margin-top: 5px;
margin-left: 2px;
}
}
.list-general{
.board-block {
height: 100%;
width: 100%;
display: flex;
justify-content: center;
.enterprise{
width: 25%;
display: flex;
text-align:center;
flex-direction: column;
.list-name{
font-size: 13px;
color: #313131;
}
.list-num{
padding-top: 6px;
font-size: 14px;
color: #FF8877;
.sum-num{
font-size: 12px;
line-height: 17px;
color: #313131;
padding-left: 2px;
}
text-align: center;
.number {
span {
font-size: @font-size-middle;
margin-right: 2px;
}
}
}
}
.search {
}
.search {
display: flex;
height: 50px;
background-color: #FFF;
margin-top: 10px;
// margin-bottom: 10px;
.searchInput {
display: flex;
display: -webkit-flex;
height:50px;
background-color: #FFFFFF;
margin-top: 10px;
.searchInput {
display: flex;
display: -webkit-flex;
height: 33px;
border: 1px solid @headerColor;
height: 33px;
border: 1px solid #5D98F6; /*no*/
margin: 7px 10px;
width: 100%;
display: flex;
align-items: center;
-webkit-align-items: center;
.img-box {
height: 17px;
border-right: 1px solid #5D98F6; /*no*/
padding: 2px 0;
margin-left: 10px;
margin-top: 7px;
margin-bottom: 7px;
width: 100%;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
.img-box {
height: 17px;
border-right: 1px solid @headerColor;
padding: 2px 0;
margin-left: 10px;
img {
width: 50%;
margin-right: 5px;
}
}
input {
width: 80%;
font-size: 13px;
height: 17px;
line-height: 17px;
border: none;
margin-top: 3px;
margin-bottom: 4px;
padding-left: 10px;
}
}
.filterIcon {
width: 38px;
height: 33px;
background-color: @headerColor;
margin: 7px 10px 0px 10px;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
justify-content: center;
-webkit-justify-content: center;
img {
width: 50%;
margin-right: 5px;
width: 15px;
}
}
}
.hls-item {
&:nth-child(odd){
background-color: #EFF1F3;
input {
width: 100%;
font-size: 13px;
height: 17px;
line-height: 17px;
border: none;
margin-top: 3px;
margin-bottom: 4px;
padding-left: 11px;
}
&:nth-child(even){
background-color: #fff;
}
}
.vue-better-scroll {
// top: 226px;
}
.vue-better-scroll__wrapper {
margin-top: 10px;
}
.hls-item {
&:nth-child(odd) {
background-color: #EFF1F3;
}
&:nth-child(even) {
background-color: #fff;
}
.contents .add-name {
.left-icon {
width: 34px;
}
.contents {
.add-name {
.cont-name{
font-size: 15px;
line-height: 21px;
color: @headerColor;
}
.cont-type{
font-size: 13px;
line-height: 18px;
color: #888;
}
.left-icon{
width: 10%;
.text {
margin-left: 15px;
.cont {
margin-top: 5px;
font-size: 13px;
line-height: 18px;
&:first-child {
margin-top: 0;
}
}
.cont-num {
margin-top: 8px;
font-size: 15px;
line-height: 21px;
color: #5D98F6;
}
}
}
}
.content-scroll{
top: 215px;
}
}
</
style
>
template/src/pages/applications/projectManager/prjBpInfo.vue
View file @
7cd8fb7d
...
...
@@ -84,7 +84,7 @@
</bottom-tab>
<h-modal
ref=
"modal"
v-model=
"showModalValue"
position=
"bottom"
cus-class=
"search-modal"
>
<h-view>
<h-view
class=
"scroll-content"
>
<h-header
:proportion=
"[1,15,4]"
class=
"bar-custom"
>
<div
slot=
"center"
class=
"search-shelter"
>
<img
src=
"@/assets/image/projectCreate/search.png"
class=
"search-icon"
>
...
...
@@ -101,7 +101,7 @@
ref=
"scroll"
:updateData=
"[bpList]"
:pullUp=
"true"
class=
""
class=
"
content-scroll
"
@
pullingUp=
"loadMore"
>
<list-item
:item-height=
"80"
>
<item
...
...
@@ -401,6 +401,18 @@ export default {
padding-bottom: 80px;
}
.search-modal {
.scroll-content{
position: absolute;
top:0;
bottom: 0;
height: auto;
overflow: hidden;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
}
.content-scroll{
top:44px
}
.search-shelter {
height: 30px;
width: 100%;
...
...
template/src/pages/applications/projectManager/prjMaintenList.vue
View file @
7cd8fb7d
...
...
@@ -5,7 +5,7 @@
<
template
>
<h-view
class=
"public-style project-mainten"
title=
"申请维护"
>
<h-content
class=
""
>
<h-content
class=
"
scroll-content
"
>
<s-tab
@
tabClick=
"changeData"
>
<tab-item>
本年
</tab-item>
<tab-item>
本季
</tab-item>
...
...
@@ -50,6 +50,7 @@
</div>
<scroll
ref=
"scroll"
class=
"content-scroll"
:updateData=
"[prjList]"
:pullUp=
"true"
@
pullingUp=
"loadMore"
>
...
...
@@ -234,6 +235,18 @@ export default {
<
style
lang=
"less"
>
.project-mainten {
.scroll-content{
position: absolute;
top:0;
bottom: 0;
height: auto;
overflow: hidden;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
}
.content-scroll{
top:225px;
}
.content{
overflow: hidden;
}
...
...
template/yarn.lock
View file @
7cd8fb7d
...
...
@@ -3843,7 +3843,7 @@ he@1.2.x, he@^1.1.0:
"hls-easy-ui@https://hel.hand-china.com/easyUI/hls-easy-ui.git":
version "0.0.2"
resolved "https://hel.hand-china.com/easyUI/hls-easy-ui.git#
b433d1b61485e60df671921acea7530c7e78e86e
"
resolved "https://hel.hand-china.com/easyUI/hls-easy-ui.git#
a37b6f172b19e7204d940f9e6041bdce4a70beb6
"
dependencies:
autosize "^3.0.20"
better-scroll "^1.10.3"
...
...
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