Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
U
uni-app-wy
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
单欣鑫
uni-app-wy
Commits
d623b5f5
Commit
d623b5f5
authored
Sep 29, 2025
by
秦威威
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
9/29
parent
db0395ab
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
332 additions
and
99 deletions
+332
-99
request.js
common/request.js
+6
-1
dateTimeQuantum.vue
components/dateTimeQuantum.vue
+27
-14
config.js
config.js
+2
-1
manifest.json
manifest.json
+1
-1
wechatlogin.vue
pages/login/wechatlogin.vue
+8
-2
wy-bmfw.vue
pages/wy-bmfw.vue
+129
-7
wy-mine.vue
pages/wy-mine.vue
+15
-4
bxbs_lsgd.vue
pagesMain/pages/bxbs_lsgd.vue
+2
-2
bxbs_submit.vue
pagesMain/pages/bxbs_submit.vue
+1
-1
bxxq.vue
pagesMain/pages/bxxq.vue
+7
-7
jnzd_czf.vue
pagesMain/pages/jnzd_czf.vue
+1
-2
jnzd_tcfmx.vue
pagesMain/pages/jnzd_tcfmx.vue
+12
-12
jnzd_wyf.vue
pagesMain/pages/jnzd_wyf.vue
+46
-8
jnzd_wyfmx.vue
pagesMain/pages/jnzd_wyfmx.vue
+14
-14
tsby_submit.vue
pagesMain/pages/tsby_submit.vue
+16
-1
dk_submit.vue
pagesMine/pages/dk_submit.vue
+3
-4
jtcy.vue
pagesMine/pages/jtcy.vue
+4
-5
wdfw.vue
pagesMine/pages/wdfw.vue
+20
-7
wx_lsgd.vue
pagesMine/pages/wx_lsgd.vue
+1
-1
wx_xq.vue
pagesMine/pages/wx_xq.vue
+4
-4
ygzy.vue
pagesMine/pages/ygzy.vue
+13
-1
No files found.
common/request.js
View file @
d623b5f5
...
...
@@ -6,7 +6,6 @@ import config from "config"
* @param {Object} params
*/
function
request
(
params
)
{
//console.log(params)
const
token
=
uni
.
getStorageSync
(
'
token
'
)
return
new
Promise
((
resolve
,
reject
)
=>
{
try
{
...
...
@@ -18,6 +17,12 @@ function request(params) {
title
:
params
.
loadingTip
})
}
let
header
=
{
"
authorization
"
:
token
||
''
,
};
if
(
params
.
contentType
==
1
)
{
header
[
"
Content-Type
"
]
=
"
application/x-www-form-urlencoded
"
;
}
uni
.
request
({
...
params
,
header
:
{
...
...
components/dateTimeQuantum.vue
View file @
d623b5f5
<
template
>
<view>
<view
class=
"
mt-32
flex-between-center"
>
<view
class=
"flex-between-center"
>
<view
@
click=
"onOpenStartTime"
class=
"select-time"
>
<text
v-if=
"!startTimeValue"
>
选择开始时间
</text>
<text
v-else
>
{{
startTimeValue
}}
</text>
<text
v-else
style=
"color: black;"
>
{{
startTimeValue
}}
</text>
</view>
<text
class=
"fs-30"
style=
"color: #999999;"
>
-
</text>
<view
@
click=
"onOpenEndTime"
class=
"select-time"
>
<text
v-if=
"!endTimeValue"
>
选择结束时间
</text>
<text
v-else
>
{{
endTimeValue
}}
</text>
<text
v-else
style=
"color: black;"
>
{{
endTimeValue
}}
</text>
</view>
</view>
<!-- 选择开始时间 -->
<u-datetime-picker
:show=
"startTimeShow"
v-model=
"startTime"
title=
"开始时间"
mode=
"date
time
"
:formatter=
"formatter"
:closeOnClickOverlay=
"true"
@
confirm=
"onConfirmStartTime"
@
c
lose
=
"startTimeShow = false"
></u-datetime-picker>
<u-datetime-picker
:show=
"startTimeShow"
v-model=
"startTime"
title=
"开始时间"
mode=
"date"
:formatter=
"formatter"
:closeOnClickOverlay=
"true"
@
confirm=
"onConfirmStartTime"
@
close=
"startTimeShow = false"
@
c
ancel
=
"startTimeShow = false"
></u-datetime-picker>
<!-- 选择结束时间 -->
<u-datetime-picker
:show=
"endTimeShow"
v-model=
"endTime"
title=
"结束时间"
mode=
"datetime"
:formatter=
"formatter"
:closeOnClickOverlay=
"true"
@
confirm=
"onConfirmEndTime"
@
close=
"endTimeShow = false"
></u-datetime-picker>
<u-datetime-picker
:show=
"endTimeShow"
v-model=
"endTime"
title=
"结束时间"
mode=
"date"
:formatter=
"formatter"
:closeOnClickOverlay=
"true"
@
confirm=
"onConfirmEndTime"
@
close=
"endTimeShow = false"
@
cancel=
"endTimeShow = false"
></u-datetime-picker>
</view>
</
template
>
...
...
@@ -31,7 +32,9 @@
startTime
:
new
Date
().
getTime
(),
endTimeShow
:
false
,
endTime
:
new
Date
().
getTime
(),
endTimeValue
:
''
endTimeValue
:
''
,
startTimeNumber
:
0
,
endTimeNumber
:
0
,
}
},
methods
:
{
...
...
@@ -57,17 +60,28 @@
this
.
startTimeShow
=
true
},
onOpenEndTime
()
{
if
(
this
.
startTimeValue
==
''
)
{
this
.
$wskj
.
toast
(
'
请先选择开始时间
'
)
return
}
this
.
endTimeShow
=
true
},
onConfirmStartTime
(
e
)
{
// console.log(e)
console
.
log
(
e
)
this
.
startTimeNumber
=
e
.
value
this
.
startTimeShow
=
false
this
.
startTimeValue
=
this
.
$wskj
.
timeFormat
(
e
.
value
,
'
yyyy-mm-dd
hh:MM:ss
'
)
this
.
startTimeValue
=
this
.
$wskj
.
timeFormat
(
e
.
value
,
'
yyyy-mm-dd
'
)
this
.
$emit
(
'
onConfirmStartTime
'
,
this
.
startTimeValue
)
},
onConfirmEndTime
(
e
)
{
console
.
log
(
e
)
this
.
endTimeNumber
=
e
.
value
if
(
this
.
startTimeNumber
>
this
.
endTimeNumber
)
{
this
.
$wskj
.
toast
(
'
结束时间必须大于开始时间
'
)
return
}
this
.
endTimeShow
=
false
this
.
endTimeValue
=
this
.
$wskj
.
timeFormat
(
e
.
value
,
'
yyyy-mm-dd
hh:MM:ss
'
)
this
.
endTimeValue
=
this
.
$wskj
.
timeFormat
(
e
.
value
,
'
yyyy-mm-dd
'
)
this
.
$emit
(
'
onConfirmEndTime
'
,
this
.
endTimeValue
)
},
}
...
...
@@ -76,11 +90,10 @@
<
style
scoped
>
.select-time
{
width
:
3
22
rpx
;
width
:
3
00
rpx
;
height
:
84
rpx
;
text-align
:
center
;
line-height
:
84
rpx
;
background
:
#f7f7f7
;
border-radius
:
5px
;
font-size
:
30
rpx
;
color
:
#999999
;
...
...
config.js
View file @
d623b5f5
export
default
{
domain
:
'
http://192.168.0.160:8086
'
,
// 项目域名
//domain: 'http://192.168.0.162:8086', // 项目域名
domain
:
'
https://admin.llwygl.com/prod-api
'
,
// 项目域名
cdnUrl
:
''
,
// 云储蓄静态资源图片域名
amapKey
:
''
,
// 高德web服务key
socketUrl
:
''
// websocket地址
...
...
manifest.json
View file @
d623b5f5
{
"name"
:
"
basis-template
"
,
"name"
:
"
物业
"
,
"appid"
:
"__UNI__7B80478"
,
"description"
:
""
,
"versionName"
:
"1.0.0"
,
...
...
pages/login/wechatlogin.vue
View file @
d623b5f5
...
...
@@ -5,6 +5,7 @@
<image
class=
"w-240 h-240"
src=
"@/static/icon_logo.png"
></image>
</view>
<view
class=
"mb-100 mlr-50"
style=
"margin-top: 300rpx;"
>
<button
v-if=
"agreement"
class=
"fullscreen-btn"
style=
"border-radius: 100rpx;"
open-type=
"getPhoneNumber"
@
getphonenumber=
"onGetphonenumber"
>
...
...
@@ -24,7 +25,7 @@
@
click=
"onGetXieyi(2)"
style=
"color: #4083F0;"
>
《隐私政策》
</text></text>
</view>
</view>
<text
v-if=
"ishide"
class=
"mt-100"
style=
"color: #4083F0;"
>
仅限内部员工可使用
</text>
</view>
</
template
>
...
...
@@ -35,6 +36,7 @@
return
{
agreement
:
false
,
code
:
''
,
ishide
:
false
,
};
},
onLoad
(
options
)
{
...
...
@@ -45,7 +47,11 @@
},
onShow
()
{
// 获取当前时间的时间戳
let
currentTime
=
new
Date
().
getTime
();
//monthIndex 是从 0 开始计数的
let
time
=
new
Date
(
2025
,
7
,
19
,
23
,
59
,
59
,
999
).
getTime
();
this
.
ishide
=
currentTime
<
time
?
true
:
false
},
methods
:
{
onGetphonenumber
(
e
)
{
...
...
pages/wy-bmfw.vue
View file @
d623b5f5
...
...
@@ -26,10 +26,42 @@
</view>
<view
class=
"flex-column"
>
<image
@
click=
"onClick(0)"
class=
"item"
src=
"/static/icon_bmfw_1.png"
></image>
<image
@
click=
"onClick(1)"
class=
"item"
src=
"/static/icon_bmfw_2.png"
></image>
<image
@
click=
"onClick(2)"
class=
"item"
src=
"/static/icon_bmfw_3.png"
></image>
<image
@
click=
"onClick(3)"
class=
"item"
src=
"/static/icon_bmfw_4.png"
></image>
<view
class=
"banner"
>
<u-swiper
:list=
"bannerList1"
radius=
"6"
indicator
indicatorMode=
"line"
height=
"120"
keyName=
"image"
></u-swiper>
<view
class=
"banner_text"
>
<text
class=
"t1"
>
洗衣服务
</text>
<text
class=
"t2"
>
{{
bannerList1
[
0
].
title
}}
</text>
<text
class=
"t3"
>
预约热线:
{{
bannerList1
[
0
].
bookPhone
}}
</text>
</view>
</view>
<view
class=
"banner"
>
<u-swiper
:list=
"bannerList2"
radius=
"6"
indicator
indicatorMode=
"line"
height=
"120"
keyName=
"image"
></u-swiper>
<view
class=
"banner_text"
>
<text
class=
"t1"
>
清洁服务
</text>
<text
class=
"t2"
>
{{
bannerList2
[
0
].
title
}}
</text>
<text
class=
"t3"
>
预约热线:4
{{
bannerList2
[
0
].
bookPhone
}}
</text>
</view>
</view>
<view
class=
"banner"
>
<u-swiper
:list=
"bannerList3"
radius=
"6"
indicator
indicatorMode=
"line"
height=
"120"
keyName=
"image"
></u-swiper>
<view
class=
"banner_text"
>
<text
class=
"t1"
>
超市服务
</text>
<text
class=
"t2"
>
{{
bannerList3
[
0
].
title
}}
</text>
<text
class=
"t3"
>
预约热线:
{{
bannerList3
[
0
].
bookPhone
}}
</text>
</view>
</view>
<view
class=
"banner"
>
<u-swiper
:list=
"bannerList4"
radius=
"6"
indicator
indicatorMode=
"line"
height=
"120"
keyName=
"image"
></u-swiper>
<view
class=
"banner_text"
>
<text
class=
"t1"
>
送水服务
</text>
<text
class=
"t2"
>
{{
bannerList4
[
0
].
title
}}
</text>
<text
class=
"t3"
>
预约热线:
{{
bannerList4
[
0
].
bookPhone
}}
</text>
</view>
</view>
</view>
</view>
</scroll-view>
...
...
@@ -67,15 +99,76 @@
selectIndex
:
-
1
,
listXq
:
[],
communityId
:
''
,
//小区ID
bannerList1
:
[],
bannerList2
:
[],
bannerList3
:
[],
bannerList4
:
[],
};
},
onLoad
(
options
)
{
this
.
getUserInfo
()
this
.
getXqList
()
this
.
getHouseList
()
this
.
getBannerList
();
this
.
getUserInfo
();
this
.
getXqList
();
this
.
getHouseList
();
},
methods
:
{
//轮播图列表
getBannerList
()
{
const
than
=
this
;
const
params
=
{
url
:
'
/api/converienceService/list
'
,
method
:
'
GET
'
,
data
:
{}
}
this
.
$request
(
params
).
then
(
res
=>
{
than
.
bannerList
=
[];
res
.
rows
.
forEach
(
function
(
item
,
index
)
{
if
(
item
.
serviceType
==
1
)
{
let
images
=
item
.
serviceBanner
.
split
(
'
,
'
);
for
(
var
i
=
0
;
i
<
images
.
length
;
i
++
)
{
let
data
=
{
image
:
images
[
i
],
title
:
item
.
description
,
bookPhone
:
item
.
bookPhone
,
}
than
.
bannerList1
.
push
(
data
)
}
}
else
if
(
item
.
serviceType
==
2
)
{
let
images
=
item
.
serviceBanner
.
split
(
'
,
'
);
for
(
var
i
=
0
;
i
<
images
.
length
;
i
++
)
{
let
data
=
{
image
:
images
[
i
],
title
:
item
.
description
,
bookPhone
:
item
.
bookPhone
,
}
than
.
bannerList2
.
push
(
data
)
}
}
else
if
(
item
.
serviceType
==
3
)
{
let
images
=
item
.
serviceBanner
.
split
(
'
,
'
);
for
(
var
i
=
0
;
i
<
images
.
length
;
i
++
)
{
let
data
=
{
image
:
images
[
i
],
title
:
item
.
description
,
bookPhone
:
item
.
bookPhone
,
}
than
.
bannerList3
.
push
(
data
)
}
}
else
if
(
item
.
serviceType
==
4
)
{
let
images
=
item
.
serviceBanner
.
split
(
'
,
'
);
for
(
var
i
=
0
;
i
<
images
.
length
;
i
++
)
{
let
data
=
{
image
:
images
[
i
],
title
:
item
.
description
,
bookPhone
:
item
.
bookPhone
,
}
than
.
bannerList4
.
push
(
data
)
}
}
});
})
},
onXz
()
{
console
.
log
(
this
.
userInfo
.
userPermission
)
//非业主 弹出选择小区框
...
...
@@ -196,4 +289,33 @@
height
:
200
rpx
;
margin-top
:
20
rpx
;
}
.banner
{
position
:
relative
;
margin-top
:
20
rpx
;
}
.banner_text
{
position
:
absolute
;
top
:
20
rpx
;
left
:
20
rpx
;
right
:
200
rpx
;
bottom
:
0
;
display
:
flex
;
flex-direction
:
column
;
color
:
white
;
text-align
:
left
;
font-size
:
26
rpx
;
}
.t1
{
font-size
:
30
rpx
;
font-weight
:
700
;
}
.t2
{
margin
:
10
rpx
0
;
}
.t3
{}
</
style
>
\ No newline at end of file
pages/wy-mine.vue
View file @
d623b5f5
...
...
@@ -97,16 +97,27 @@
})
},
yg_login
()
{
const
params
=
{
url
:
'
/api/login/accountLogin
'
,
method
:
'
GET
'
,
}
this
.
$request
(
params
).
then
(
res
=>
{
//uni.setStorageSync('userInfo_yg', res.data)
this
.
$wskj
.
to
(
"
/pagesMine/pages/ygzy
"
)
})
},
onClick
(
index
)
{
if
(
index
==
3
&&
parseInt
(
this
.
userInfo
.
userPermission
)
>
1
)
{
return
}
if
(
index
==
2
)
{
//员工入口
this
.
$wskj
.
to
(
"
/pagesMine/pages/yg_login
"
)
// if (this.$wskj.isNull(uni.getStorageSync('userInfo_yg'))) {
// this.$wskj.to("/pagesMine/pages/yg_login")
// } else {
this
.
yg_login
()
//维修人员类型(1保洁 2保安 3维修人员)
// if (this.userInfo.accountType != null) {
// this.$wskj.to("/pagesMine/pages/ygzy")
// } else {
// this.$wskj.showModal('提示', '只有物业员工可使用该功能', false, null);
// }
return
}
...
...
pagesMain/pages/bxbs_lsgd.vue
View file @
d623b5f5
...
...
@@ -46,9 +46,9 @@
<view
class=
"flex vh-center h-60 mt-20 fs-24"
>
<text
style=
"flex: 1;color: #000;"
>
{{
item
.
repairsTime
}}
</text>
<text
@
tap.stop=
"onCz('关闭报修',index)"
v-if=
"item.state==1"
style=
"color: #23BBEE;"
>
关闭报修
</text>
style=
"color: #23BBEE;"
>
{{
item
.
type
==
1
?
'
关闭报修
'
:
'
关闭报事
'
}}
</text>
<text
@
tap.stop=
"onCz('去支付',index)"
v-if=
"item.state==2"
style=
"color: #EEA616;"
>
去支付
</text>
<text
style=
"color: #27CC81;margin-left: 30rpx;"
>
报修详情
</text>
<text
style=
"color: #27CC81;margin-left: 30rpx;"
>
{{
item
.
type
==
1
?
'
报修详情
'
:
'
报事详情
'
}}
</text>
</view>
</view>
</view>
...
...
pagesMain/pages/bxbs_submit.vue
View file @
d623b5f5
...
...
@@ -30,7 +30,7 @@
</view>
<view
class=
"flex-column-center fs-32 fw-700 mt-30"
>
<image
class=
"w-10 h-40 mr-15"
style=
"background-color: #1FCA7C;"
></image>
<text>
报修信息
</text>
<text>
{{
type
==
1
?
'
报修信息
'
:
'
报事信息
'
}}
</text>
</view>
<view
class=
"flex-column br-12 fs-28 mt-30 pad-30"
style=
"box-shadow: 0px 0px 15px 1px rgba(142,142,142,0.16);"
>
...
...
pagesMain/pages/bxxq.vue
View file @
d623b5f5
<
template
>
<view
class=
'center'
>
<view
style=
"background: linear-gradient( 180deg, #1FCA7C 0%, #F2F2F2 100%);"
>
<u-navbar
:autoBack=
"true"
title=
"报修详情"
placeholder=
"true"
bgColor=
"transparent"
leftIconColor=
"#FFF
"
:title-style=
"
{color: '#FFF'}">
<u-navbar
:autoBack=
"true"
:title=
"data.type==1?'报修详情':'报事详情'"
placeholder=
"true"
bgColor=
"transparent
"
leftIconColor=
"#FFF"
:title-style=
"
{color: '#FFF'}">
</u-navbar>
<view
class=
"h-300 flex flex-row-between v-center ml-60 mr-35"
>
<view
class=
"flex-column"
style=
"color: #1BB871;"
>
<text
class=
"fs-52"
>
今日
报修
</text>
<text
class=
"fs-30"
>
报修详情我知道
</text>
<text
class=
"fs-52"
>
今日
{{
data
.
type
==
1
?
'
报修
'
:
'
报事
'
}}
</text>
<text
class=
"fs-30"
>
{{
data
.
type
==
1
?
'
报修详情我知道
'
:
'
报事详情我知道
'
}}
</text>
</view>
<image
class=
"h-225 w-225"
src=
"/pagesMain/static/icon_bxxq.png"
></image>
</view>
...
...
@@ -42,7 +42,7 @@
</view>
<view
class=
"flex-column-center fs-32 fw-700 mt-30"
>
<image
class=
"w-10 h-40 mr-15"
style=
"background-color: #1FCA7C;"
></image>
<text>
报修信息
</text>
<text>
{{
data
.
type
==
1
?
'
报修信息
'
:
'
报事信息
'
}}
</text>
</view>
<view
class=
"flex-column br-12 fs-28 mtb-30 pad-30"
style=
"background: #EBF5F0;"
>
<text
style=
"text-align: left;"
>
{{
data
.
repairsDescription
}}
</text>
...
...
@@ -56,7 +56,7 @@
</view>
</scroll-view>
<view
class=
"flex mt-20 h-40 lh-40"
>
<text
class=
"fw-700 fs-28"
>
报修
时间:
</text>
<text
class=
"fw-700 fs-28"
>
{{
data
.
type
==
1
?
'
报修
'
:
'
报事
'
}}
时间:
</text>
<text
class=
"fs-24 ml-10"
>
{{
data
.
repairsTime
}}
</text>
<text
class=
"fs-24 ml-10"
style=
"flex: 1;"
></text>
<!--
<text
@
click=
"onCz('关闭报修')"
v-if=
"data.state==1"
class=
"fs-24 mr-10"
style=
"color: #23BBEE;"
>
...
...
@@ -89,7 +89,7 @@
去支付
</view>
<view
@
click=
"onCz('关闭报修')"
class=
"full-btn"
style=
"color: #FF682D;"
v-if=
"data.state==1"
>
取消报修
{{
data
.
type
==
1
?
'
关闭报修
'
:
'
关闭报事
'
}}
</view>
</view>
</view>
...
...
pagesMain/pages/jnzd_czf.vue
View file @
d623b5f5
...
...
@@ -5,7 +5,6 @@
<text
class=
"fs-28 mt-30"
style=
"text-align: left;padding-left: 30rpx;"
>
车位号
</text>
<view
class=
"flex-row-between mar-30 br-4 pad-25"
style=
"background: #F2F2F2;"
@
click=
"openCar"
>
<text>
{{
carNumber
==
''
?
"
请选择
"
:
carNumber
}}
</text>
<image
class=
"h-30 w-30"
src=
"/static/icon_xjt.png"
></image>
</view>
<text
class=
"fs-28 mt-30"
style=
"text-align: left;padding-left: 30rpx;"
>
租赁时间
</text>
<view
class=
"flex-row-between mar-30 br-4 pad-25"
style=
"background: #F2F2F2;"
@
click=
"open"
>
...
...
@@ -67,7 +66,7 @@
},
openCar
()
{
this
.
carShow
=
true
//
this.carShow = true
},
closeCar
()
{
this
.
carShow
=
false
...
...
pagesMain/pages/jnzd_tcfmx.vue
View file @
d623b5f5
...
...
@@ -31,20 +31,20 @@
<view
class=
"flex"
>
<view
@
click=
"onTabClick(index)"
class=
"h-50 flex-column flex-between-center fs-28 pad-30"
style=
"flex: 1;"
:style=
"
{ color: index==indexTab?'#333333':'#999999'}"
v-for="(item, index) in
3
" :key="index">
<text>
{{
index
==
0
?
"
费用预存
"
:
index
==
1
?
"
待缴查看
"
:
index
==
2
?
"
缴费记录
"
:
""
}}
</text>
v-for="(item, index) in
2
" :key="index">
<text>
{{
index
==
0
?
"
费用预存
"
:
index
==
1
?
"
缴费记录
"
:
""
}}
</text>
<view
v-if=
"index==indexTab"
style=
"background: #27CC81;height: 1rpx;width: 77rpx;"
>
</view>
<view
v-else
style=
"background: #FFFFFF;height: 1rpx;width: 77rpx;"
>
</view>
</view>
</view>
<
text
v-if=
"indexTab==1"
class=
"fs-30 fw-700 "
>
未缴金额\n¥
{{
money
}}
</text
>
<
!--
<text
v-if=
"indexTab==1"
class=
"fs-30 fw-700 "
>
未缴金额\n¥
{{
money
}}
</text>
--
>
</view>
</view>
<view
class=
"overflow-y"
style=
"background: white;"
>
<scroll-view
scroll-y
style=
"height:100%;"
>
<view
v-if=
"indexTab==1&&djList.length!=0"
v-for=
"(item, index) in djList"
:key=
"index"
<
!--
<
view
v-if=
"indexTab==1&&djList.length!=0"
v-for=
"(item, index) in djList"
:key=
"index"
@
click=
"onClick(index)"
>
<view
class=
"flex-column fs-24 mar-20 pb-20"
style=
"border-bottom: 1rpx solid #E9E9E9;"
>
<view
class=
"flex v-center fs-28"
>
...
...
@@ -63,8 +63,8 @@
</view>
<view
v-if=
"indexTab==1&&djList.length==0"
style=
"padding-top: 100rpx;"
>
<u-empty
mode=
"data"
></u-empty>
</view>
<view
v-if=
"indexTab==
2
&&jfjlList.length==0"
v-for=
"(item, index) in jfjlList"
:key=
"index"
</view>
-->
<view
v-if=
"indexTab==
1
&&jfjlList.length==0"
v-for=
"(item, index) in jfjlList"
:key=
"index"
@
click=
"onClick(index)"
>
<view
class=
"flex-column fs-24 mb-20"
style=
"text-align: left;"
>
<text
class=
"fs-28 h-80 lh-80 plr-25"
...
...
@@ -76,7 +76,7 @@
<text
class=
"plr-25"
style=
"color: #999999;"
>
{{
item
.
updateTime
.
slice
(
5
)
}}
</text>
</view>
</view>
<view
v-if=
"indexTab==
2
&&jfjlList.length==0"
style=
"padding-top: 100rpx;"
>
<view
v-if=
"indexTab==
1
&&jfjlList.length==0"
style=
"padding-top: 100rpx;"
>
<u-empty
mode=
"data"
></u-empty>
</view>
</scroll-view>
...
...
@@ -110,7 +110,7 @@
onLoad
(
options
)
{
this
.
type
=
options
.
type
this
.
userinfo
=
uni
.
getStorageSync
(
"
userInfo
"
)
this
.
getListCar
()
//
this.getListCar()
this
.
getJfjlList
()
},
methods
:
{
...
...
@@ -120,11 +120,11 @@
return
}
this
.
indexTab
=
index
// if (index == 1) {
// this.getDjList()
// return
// }
if
(
index
==
1
)
{
this
.
getDjList
()
return
}
if
(
index
==
2
)
{
this
.
getJfjlList
()
return
}
...
...
pagesMain/pages/jnzd_wyf.vue
View file @
d623b5f5
...
...
@@ -12,9 +12,9 @@
<text>
{{
userInfo
.
sqm
}}
m²
</text>
</view>
<text
class=
"fs-28 mt-30"
style=
"text-align: left;padding-left: 30rpx;"
>
缴费时长
</text>
<view
class=
"flex-
row-between mar-30 br-4 pad-25"
style=
"background: #F2F2F2;"
@
click=
"open
"
>
<
text>
{{
monthsNumber
==
''
?
"
请选择
"
:
monthsNumber
}}
</text
>
<
image
class=
"h-30 w-30"
src=
"/static/icon_xjt.png"
></image
>
<view
class=
"flex-
center-center mar-30 br-4"
style=
"background: #F2F2F2;
"
>
<
dateTimeQuantum
@
onConfirmStartTime=
"onConfirmStartTime"
@
onConfirmEndTime=
"onConfirmEndTime"
>
<
/dateTimeQuantum
>
</view>
<text
class=
"fs-28 mt-30"
style=
"text-align: left;padding-left: 30rpx;"
>
缴费金额
</text>
<view
class=
"flex-row-between mar-30 br-4 pad-25"
style=
"background: #F2F2F2;"
>
...
...
@@ -31,6 +31,7 @@
</
template
>
<
script
>
import
dateTimeQuantum
from
"
@/components/dateTimeQuantum
"
export
default
{
data
()
{
return
{
...
...
@@ -41,6 +42,9 @@
monthsNumber
:
''
,
userInfo
:
''
,
money
:
0
,
startTime
:
''
,
endTime
:
''
,
dayNumber
:
0
,
};
},
onLoad
(
options
)
{
...
...
@@ -48,7 +52,37 @@
this
.
getUserInfo
()
},
components
:
{
dateTimeQuantum
},
methods
:
{
// 计算日期差值
calculateDateDifference
(
startDate
,
endDate
)
{
// 将日期字符串转为 Date 对象
let
start
=
new
Date
(
startDate
);
let
end
=
new
Date
(
endDate
);
// 计算时间差(毫秒)
let
timeDifference
=
end
-
start
;
// 将毫秒差值转换为天数
let
daysDifference
=
timeDifference
/
(
1000
*
3600
*
24
);
return
daysDifference
;
},
onConfirmStartTime
(
e
)
{
this
.
startTime
=
e
console
.
log
(
e
)
},
onConfirmEndTime
(
e
)
{
this
.
endTime
=
e
console
.
log
(
e
)
let
dayNumber
=
this
.
calculateDateDifference
(
this
.
startTime
,
this
.
endTime
)
this
.
money
=
parseFloat
(
dayNumber
)
*
parseFloat
(
this
.
$wskj
.
isNull
(
this
.
userInfo
.
dayMoney
)
?
0.01
:
this
.
userInfo
.
dayMoney
);
this
.
money
=
this
.
money
.
toFixed
(
2
);
this
.
dayNumber
=
dayNumber
;
console
.
log
(
this
.
money
)
},
open
()
{
this
.
show
=
true
},
...
...
@@ -63,8 +97,12 @@
console
.
log
(
this
.
money
)
},
onSubmit
()
{
if
(
this
.
$wskj
.
isNull
(
this
.
money
))
{
this
.
$wskj
.
toast
(
'
请选择缴费时长
'
)
if
(
this
.
$wskj
.
isNull
(
this
.
startTime
))
{
this
.
$wskj
.
toast
(
'
请选择开始时间
'
)
return
}
if
(
this
.
$wskj
.
isNull
(
this
.
endTime
))
{
this
.
$wskj
.
toast
(
'
请选择结束时间
'
)
return
}
this
.
onCjdd
()
...
...
@@ -77,8 +115,6 @@
}
this
.
$request
(
params
).
then
(
res
=>
{
this
.
userInfo
=
res
.
data
//uni.setStorageSync('userInfo', res.data)
})
},
onCjdd
()
{
...
...
@@ -88,7 +124,9 @@
data
:
{
money
:
this
.
money
,
type
:
3
,
//类型(1电费 2水费 3物业费 4车位管理费 5车位出租费 6储藏室出租 7其他费用)
duration
:
this
.
monthsNumber
.
replace
(
'
个月
'
,
''
)
//缴费时长(月)
duration
:
this
.
dayNumber
,
//缴费时长(日)
startTime
:
this
.
startTime
,
endTime
:
this
.
endTime
}
}
this
.
$request
(
params
).
then
(
res
=>
{
...
...
pagesMain/pages/jnzd_wyfmx.vue
View file @
d623b5f5
...
...
@@ -10,20 +10,20 @@
<view
class=
"flex"
>
<view
@
click=
"onTabClick(index)"
class=
"h-50 flex-column flex-between-center fs-28 pad-30"
style=
"flex: 1;"
:style=
"
{ color: index==indexTab?'#333333':'#999999'}"
v-for="(item, index) in
3
" :key="index">
<text>
{{
index
==
0
?
"
费用预存
"
:
index
==
1
?
"
待缴查看
"
:
index
==
2
?
"
缴费记录
"
:
""
}}
</text>
v-for="(item, index) in
2
" :key="index">
<text>
{{
index
==
0
?
"
费用预存
"
:
index
==
1
?
"
缴费记录
"
:
""
}}
</text>
<view
v-if=
"index==indexTab"
style=
"background: #27CC81;height: 1rpx;width: 77rpx;"
>
</view>
<view
v-else
style=
"background: #FFFFFF;height: 1rpx;width: 77rpx;"
>
</view>
</view>
</view>
<
text
v-if=
"indexTab==1"
class=
"fs-30 fw-700 "
>
未缴金额\n¥
{{
money
}}
</text
>
<
!--
<text
v-if=
"indexTab==1"
class=
"fs-30 fw-700 "
>
未缴金额\n¥
{{
money
}}
</text>
--
>
</view>
</view>
<view
class=
"overflow-y"
style=
"background: white;"
>
<scroll-view
scroll-y
style=
"height:100%;"
>
<view
v-if=
"indexTab==1"
v-for=
"(item, index) in djList"
:key=
"index"
@
click=
"onClick(index)"
>
<
!--
<
view
v-if=
"indexTab==1"
v-for=
"(item, index) in djList"
:key=
"index"
@
click=
"onClick(index)"
>
<view
class=
"flex-column fs-24 mar-20 pb-20"
style=
"border-bottom: 1rpx solid #E9E9E9;"
>
<view
class=
"flex v-center fs-28"
>
<text>
{{
item
.
month
}}
</text>
...
...
@@ -42,11 +42,11 @@
</view>
<view
v-if=
"indexTab==1&&djList.length==0"
style=
"padding-top: 100rpx;"
>
<u-empty
mode=
"data"
></u-empty>
</view>
<view
v-if=
"indexTab==
2
"
v-for=
"(item, index) in jfjlList"
:key=
"index"
@
click=
"onClick(index)"
>
</view>
-->
<view
v-if=
"indexTab==
1
"
v-for=
"(item, index) in jfjlList"
:key=
"index"
@
click=
"onClick(index)"
>
<view
class=
"flex-column fs-24 mb-20"
style=
"text-align: left;"
>
<text
class=
"fs-28 h-80 lh-80 plr-25"
style=
"background:#F2F2F2;"
>
{{
item
.
updateTime
.
slice
(
0
,
7
)
}}
</text>
<text
class=
"fs-28 h-80 lh-80 plr-25"
style=
"background:#F2F2F2;"
>
{{
$wskj
.
isNull
(
item
.
startTime
)?
''
:
item
.
startTime
.
slice
(
0
,
10
)
}}
~
{{
$wskj
.
isNull
(
item
.
endTime
)?
''
:
item
.
endTime
.
slice
(
0
,
10
)
}}
</text>
<view
class=
"flex-row-between plr-25 mtb-20"
>
<text
style=
"color: #999999;"
>
缴费渠道:线上缴费
</text>
<text>
{{
item
.
payAmount
}}
</text>
...
...
@@ -54,7 +54,7 @@
<text
class=
"plr-25"
style=
"color: #999999;"
>
{{
item
.
updateTime
.
slice
(
5
)
}}
</text>
</view>
</view>
<view
v-if=
"indexTab==
2
&&jfjlList.length==0"
style=
"padding-top: 100rpx;"
>
<view
v-if=
"indexTab==
1
&&jfjlList.length==0"
style=
"padding-top: 100rpx;"
>
<u-empty
mode=
"data"
></u-empty>
</view>
</scroll-view>
...
...
@@ -79,7 +79,7 @@
onLoad
(
options
)
{
this
.
type
=
options
.
type
this
.
userinfo
=
uni
.
getStorageSync
(
"
userInfo
"
)
this
.
getDjList
()
//
this.getDjList()
this
.
getJfjlList
()
},
...
...
@@ -90,11 +90,11 @@
return
}
this
.
indexTab
=
index
// if (index == 1) {
// this.getDjList()
// return
// }
if
(
index
==
1
)
{
this
.
getDjList
()
return
}
if
(
index
==
2
)
{
this
.
getJfjlList
()
return
}
...
...
pagesMain/pages/tsby_submit.vue
View file @
d623b5f5
...
...
@@ -27,6 +27,12 @@
<text
style=
"color: #999999;"
>
业主手机号
</text>
<text>
{{
userinfo
.
mobile
}}
</text>
</view>
<view
class=
"flex-row-between pad-30"
style=
"border-bottom: 1rpx solid #E9E9E9;"
>
<text
style=
"color: #999999;"
>
匿名投诉/表扬
</text>
<image
class=
"w-45 h-45"
@
click=
"onFlog()"
:src=
"flog==false?'/pagesMine/static/icon_fwxx_1.png':'/pagesMine/static/icon_fwxx_2.png'"
>
</image>
</view>
</view>
<view
class=
"flex-column-center fs-32 fw-700 mt-30"
>
<image
class=
"w-10 h-40 mr-15"
style=
"background-color: #1FCA7C;"
></image>
...
...
@@ -58,6 +64,7 @@
reason
:
''
,
images
:
''
,
userinfo
:
''
,
flog
:
false
,
};
},
onLoad
(
e
)
{
...
...
@@ -80,6 +87,9 @@
})
},
methods
:
{
onFlog
()
{
this
.
flog
=
!
this
.
flog
},
upload
(
e
)
{
this
.
images
=
e
},
...
...
@@ -99,7 +109,8 @@
data
:
{
commentDescription
:
this
.
reason
,
commentImg
:
this
.
images
,
type
:
this
.
type
type
:
this
.
type
,
isAnon
:
this
.
flog
?
1
:
0
}
}
this
.
$request
(
params
).
then
(
res
=>
{
...
...
@@ -116,4 +127,8 @@
flex-direction
:
column
;
background
:
#fff
;
}
.round-checkbox
.uni-checkbox__icon
{
border-radius
:
50%
;
}
</
style
>
\ No newline at end of file
pagesMine/pages/dk_submit.vue
View file @
d623b5f5
...
...
@@ -9,7 +9,7 @@
</view>
<view
class=
"flex-row-between pad-30"
style=
"border-bottom: 1rpx solid #E9E9E9;"
>
<text
style=
"color: #999999;"
>
姓名
</text>
<text>
{{
userInfo
.
accountN
ame
}}
</text>
<text>
{{
userInfo
.
n
ame
}}
</text>
</view>
<view
class=
"flex-row-between pad-30"
style=
"border-bottom: 1rpx solid #E9E9E9;"
>
<text
style=
"color: #999999;"
>
性别
</text>
...
...
@@ -17,7 +17,7 @@
</view>
<view
class=
"flex-row-between pad-30"
style=
"border-bottom: 1rpx solid #E9E9E9;"
>
<text
style=
"color: #999999;"
>
手机号
</text>
<text>
{{
userInfo
.
accountM
obile
}}
</text>
<text>
{{
userInfo
.
m
obile
}}
</text>
</view>
</view>
...
...
@@ -57,7 +57,7 @@
};
},
onLoad
(
e
)
{
this
.
userInfo
=
uni
.
getStorageSync
(
'
userInfo
_yg
'
)
this
.
userInfo
=
uni
.
getStorageSync
(
'
userInfo
'
)
this
.
type
=
e
.
type
if
(
e
.
type
==
0
)
{
this
.
title
=
"
安保打卡
"
...
...
@@ -130,7 +130,6 @@
const
key
=
'
cc4f24cc4928169e0d623573e4e0687e
'
;
// 替换为你的高德API Key
const
url
=
`https://restapi.amap.com/v3/geocode/regeo?key=
${
key
}
&location=
${
longitude
}
,
${
latitude
}
&radius=1000&extensions=all`
;
uni
.
request
({
url
:
url
,
success
:
(
res
)
=>
{
...
...
pagesMine/pages/jtcy.vue
View file @
d623b5f5
...
...
@@ -58,11 +58,13 @@
proprietorId
:
0
,
name
:
""
,
phone
:
""
,
type
:
1
,
}
};
},
onLoad
(
options
)
{
this
.
type
=
options
.
type
this
.
data
.
type
=
options
.
cy_type
if
(
this
.
type
==
1
)
{
this
.
disabled
=
true
}
...
...
@@ -73,6 +75,7 @@
this
.
data
.
name
=
json
.
name
this
.
data
.
phone
=
json
.
phone
}
console
.
log
(
"
LMG
"
,
this
.
data
)
this
.
getUserInfo
()
},
methods
:
{
...
...
@@ -140,11 +143,7 @@
}
const
params
=
{
url
:
'
/api/familyMember/update
'
,
data
:
{
id
:
this
.
data
.
id
,
name
:
this
.
data
.
name
,
phone
:
this
.
data
.
phone
}
data
:
this
.
data
}
this
.
$request
(
params
).
then
(
res
=>
{
this
.
$u
.
toast
(
res
.
msg
||
'
修改成功
'
)
...
...
pagesMine/pages/wdfw.vue
View file @
d623b5f5
...
...
@@ -15,11 +15,16 @@
</view>
</view>
</view>
<view
class=
"flex-column fs-32 w-150 vh-center mtb-30"
>
<text
style=
"text-align: center;"
>
家庭成员
</text>
<view
style=
"width: 60rpx;height: 5rpx;background-color: #1FCA7C;"
></view>
<view
class=
"flex-row-around"
>
<view
class=
"flex-column fs-32 w-150 vh-center mtb-30"
@
click=
"onClickTab(1)"
>
<text
style=
"text-align: center;"
>
家庭成员
</text>
<view
v-if=
"type==1"
style=
"width: 60rpx;height: 5rpx;background-color: #1FCA7C;"
></view>
</view>
<view
class=
"flex-column fs-32 w-150 vh-center mtb-30"
@
click=
"onClickTab(2)"
>
<text
style=
"text-align: center;"
>
租户成员
</text>
<view
v-if=
"type==2"
style=
"width: 60rpx;height: 5rpx;background-color: #1FCA7C;"
></view>
</view>
</view>
<view
class=
"overflow-y"
>
<scroll-view
scroll-y
style=
"height: 100%;"
>
<view
@
click=
"onClickSelecte(index)"
v-for=
"(item, index) in list"
:key=
"index"
>
...
...
@@ -47,6 +52,7 @@
return
{
userInfo
:
''
,
list
:
[],
type
:
1
,
};
},
onLoad
(
options
)
{
...
...
@@ -56,11 +62,17 @@
this
.
getUserInfo
()
},
methods
:
{
onClickTab
(
type
)
{
this
.
type
=
type
;
this
.
getList
();
},
getList
()
{
const
params
=
{
url
:
'
/api/familyMember/listAllByUserId
'
,
method
:
'
GET
'
,
data
:
{}
data
:
{
type
:
this
.
type
}
}
this
.
$request
(
params
).
then
(
res
=>
{
console
.
log
(
res
.
data
)
...
...
@@ -86,13 +98,14 @@
},
onClick
(
index
)
{
if
(
index
==
0
)
{
this
.
$wskj
.
to
(
"
/pagesMine/pages/jtcy?type=0
"
)
this
.
$wskj
.
to
(
"
/pagesMine/pages/jtcy?type=0
&cy_type=
"
+
this
.
type
)
return
}
},
onClickSelecte
(
index
)
{
this
.
selecteIndex
=
index
this
.
$wskj
.
to
(
"
/pagesMine/pages/jtcy?type=1&data=
"
+
encodeURIComponent
(
JSON
.
stringify
(
this
.
list
[
index
])))
this
.
$wskj
.
to
(
"
/pagesMine/pages/jtcy?type=1&data=
"
+
encodeURIComponent
(
JSON
.
stringify
(
this
.
list
[
index
]))
+
"
&cy_type=
"
+
this
.
type
)
}
}
};
...
...
pagesMine/pages/wx_lsgd.vue
View file @
d623b5f5
...
...
@@ -47,7 +47,7 @@
<text
style=
"flex: 1;color: #000;"
>
{{
item
.
repairsTime
}}
</text>
<text
@
tap.stop=
"onCz('设置费用',index)"
v-if=
"item.state==1"
style=
"color: #23BBEE;"
>
设置费用
</text>
<text
style=
"color: #27CC81;margin-left: 30rpx;"
>
报修详情
</text>
<text
style=
"color: #27CC81;margin-left: 30rpx;"
>
{{
item
.
type
==
1
?
'
报修详情
'
:
'
报事详情
'
}}
</text>
</view>
</view>
</view>
...
...
pagesMine/pages/wx_xq.vue
View file @
d623b5f5
<
template
>
<view
class=
'center'
>
<view
style=
"background: linear-gradient( 180deg, #1FCA7C 0%, #F2F2F2 100%);"
>
<u-navbar
:autoBack=
"true"
title=
"报修详情"
placeholder=
"true"
bgColor=
"transparent"
leftIconColor=
"#FFF
"
:title-style=
"
{color: '#FFF'}">
<u-navbar
:autoBack=
"true"
:title=
"data.type==1?'报修详情':'报事详情'"
placeholder=
"true"
bgColor=
"transparent
"
leftIconColor=
"#FFF"
:title-style=
"
{color: '#FFF'}">
</u-navbar>
<view
class=
"h-300 flex flex-row-between v-center ml-60 mr-35"
>
<view
class=
"flex-column"
style=
"color: #1BB871;"
>
...
...
@@ -40,7 +40,7 @@
</view>
<view
class=
"flex-column-center fs-32 fw-700 mt-30"
>
<image
class=
"w-10 h-40 mr-15"
style=
"background-color: #1FCA7C;"
></image>
<text>
报修信息
</text>
<text>
{{
data
.
type
==
1
?
'
报修信息
'
:
'
报事信息
'
}}
</text>
</view>
<view
class=
"flex-column br-12 fs-28 mtb-30 pad-30"
style=
"background: #EBF5F0;"
>
<text
style=
"text-align: left;"
>
{{
data
.
repairsDescription
}}
</text>
...
...
@@ -54,7 +54,7 @@
</view>
</scroll-view>
<view
class=
"flex mt-20 h-40 lh-40"
>
<text
class=
"fw-700 fs-28"
>
报修
时间:
</text>
<text
class=
"fw-700 fs-28"
>
{{
data
.
type
==
1
?
'
报修
'
:
'
报事
'
}}
时间:
</text>
<text
class=
"fs-24 ml-10"
>
{{
data
.
repairsTime
}}
</text>
</view>
<view
v-if=
"data.state==2||data.state==3"
class=
"flex-column br-12 fs-28 mt-30"
...
...
pagesMine/pages/ygzy.vue
View file @
d623b5f5
...
...
@@ -25,9 +25,21 @@
};
},
onLoad
(
options
)
{
this
.
userInfo
=
uni
.
getStorageSync
(
'
userInfo_yg
'
)
this
.
getUserInfo
();
},
methods
:
{
getUserInfo
()
{
const
params
=
{
url
:
'
/api/login/userInfo
'
,
method
:
'
GET
'
,
data
:
{}
}
this
.
$request
(
params
).
then
(
res
=>
{
uni
.
setStorageSync
(
'
userInfo
'
,
res
.
data
)
this
.
userInfo
=
res
.
data
})
},
open
()
{
},
...
...
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