2025-02-27 17:56:35 +08:00
|
|
|
|
<template>
|
|
|
|
|
<view class="page">
|
|
|
|
|
<u-navbar title="店铺设备列表" :border-bottom="false" :background="bgc" title-color='#fff' back-icon-color="#fff"
|
|
|
|
|
title-size='36' height='50'></u-navbar>
|
|
|
|
|
<view class="box">
|
|
|
|
|
<view class="warp_box">
|
|
|
|
|
<!-- <view class="name">
|
|
|
|
|
设备列表
|
|
|
|
|
</view> -->
|
|
|
|
|
<view class="swiper" :current='curtitidx' @change="swiperchange" @scrolltolower="onReachBottom">
|
|
|
|
|
<view class="swiper-item ">
|
|
|
|
|
<view class="card_box" v-for="(item,index) in wateringList" :key="index" @click="btnitem(item.deviceId)">
|
|
|
|
|
<view class="card">
|
|
|
|
|
<view class="card_left">
|
|
|
|
|
<view class="card_left_tit">
|
|
|
|
|
{{item.deviceName.length > 6 ? item.deviceName.slice(0, 6) + '...' : item.deviceName}}
|
|
|
|
|
</view>
|
|
|
|
|
<view class="card_left_sta">
|
|
|
|
|
<image
|
|
|
|
|
src="https://api.ccttiot.com/smartmeter/img/static/uZSiz7XWpxcXEkl6sTwj"
|
|
|
|
|
mode="aspectFit"></image>
|
|
|
|
|
<view class="sta_txt" v-if="item.status==3">
|
2025-03-04 16:13:46 +08:00
|
|
|
|
调试中
|
2025-02-27 17:56:35 +08:00
|
|
|
|
</view>
|
|
|
|
|
<view class="sta_txt" v-if="item.status==2" style="color:greenyellow;">
|
|
|
|
|
使用中
|
|
|
|
|
</view>
|
|
|
|
|
<view class="sta_txt" v-if="item.status==1" style="color:seagreen;">
|
|
|
|
|
空闲
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="card_left_no">
|
|
|
|
|
S/N码:{{item.deviceNo}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="card_right">
|
|
|
|
|
<image v-if="item.customPicture" :src="item.customPicture" mode="aspectFit"></image>
|
|
|
|
|
<image v-else :src="item.picture" mode="aspectFit"></image>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="" v-if="showflag" style="width: 100%;height: 200rpx;margin: auto;margin-top: 170rpx;text-align: center;">
|
|
|
|
|
<image style="width: 200rpx;height: 200rpx;"
|
|
|
|
|
src="https://api.ccttiot.com/smartmeter/img/static/uZFUpcz0YZZ4f4RjvGg2" mode="aspectFit"></image>
|
|
|
|
|
<view class="" style="font-size: 28rpx;color: #808080;margin-top: 30rpx;">暂无更多设备...</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<u-select v-model="show" :list="list" title='添加方式' @confirm="confirm"></u-select>
|
|
|
|
|
<view v-if="btnmsk" style="width: 100%;height: 100vh;position: fixed;top: 0;left: 0;background-color: #000;opacity: .1;z-index: 999;"></view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
var xBlufi = require("@/page_components/blufi/xBlufi.js");
|
|
|
|
|
export default {
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
btnmsk:false,
|
|
|
|
|
list: [{
|
|
|
|
|
value: '1',
|
|
|
|
|
label: '扫码添加'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
value: '2',
|
|
|
|
|
label: '搜索附近设备添加'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
show: false,
|
|
|
|
|
storeId: '',
|
|
|
|
|
listobj: {},
|
|
|
|
|
deviceId: '',
|
|
|
|
|
name: '',
|
|
|
|
|
mac: '',
|
|
|
|
|
macs:'',
|
|
|
|
|
|
|
|
|
|
curtitidx: 0,
|
|
|
|
|
pagenum: 1,
|
|
|
|
|
wateringList: [],
|
|
|
|
|
pagesize: 10,
|
|
|
|
|
isLoading: false,
|
|
|
|
|
noMoreData: false,
|
|
|
|
|
total: 0,
|
|
|
|
|
showflag: false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
onLoad(option) {
|
|
|
|
|
this.storeId = option.storeId
|
|
|
|
|
},
|
|
|
|
|
onShow() {
|
|
|
|
|
this.wateringList = []
|
|
|
|
|
this.pagenum = 1
|
|
|
|
|
this.getlist()
|
|
|
|
|
this.getdetail()
|
|
|
|
|
},
|
|
|
|
|
// 分享到好友(会话)
|
|
|
|
|
onShareAppMessage: function () {
|
|
|
|
|
return {
|
|
|
|
|
title: '创想物联',
|
|
|
|
|
path: '/pages/shouye/index'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 分享到朋友圈
|
|
|
|
|
onShareTimeline: function () {
|
|
|
|
|
return {
|
|
|
|
|
title: '创想物联',
|
|
|
|
|
query: '',
|
|
|
|
|
path: '/pages/shouye/index'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
btnitem(id){
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url:'/pages/shebeione?id=' + id
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getlist() {
|
|
|
|
|
this.$u.get(`/app/device/list?storeId=${this.storeId}&pageNum=${this.pagenum}&pageSize=${this.pagesize}`)
|
|
|
|
|
.then((res) => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
this.total = res.total
|
|
|
|
|
if (this.total > 0) {
|
|
|
|
|
this.showflag = false
|
|
|
|
|
} else {
|
|
|
|
|
this.showflag = true
|
|
|
|
|
}
|
|
|
|
|
if (res.rows.length > 0) {
|
|
|
|
|
// 有数据,追加到列表
|
|
|
|
|
this.wateringList = this.wateringList.concat(res.rows)
|
|
|
|
|
this.pagenum++
|
|
|
|
|
} else {
|
|
|
|
|
// 没有更多数据
|
|
|
|
|
this.noMoreData = true;
|
|
|
|
|
}
|
|
|
|
|
this.isLoading = false;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
onReachBottom() {
|
|
|
|
|
let sum = this.total / this.pagesize
|
|
|
|
|
if (this.pagenum - 1 < sum) {
|
|
|
|
|
this.getlist(); // 上拉加载更多
|
|
|
|
|
} else {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: '没有更多设备了',
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 1000
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// btnxq(id) {
|
|
|
|
|
// uni.navigateTo({
|
|
|
|
|
// url: '/page_user/sbdetail?id=' + id
|
|
|
|
|
// })
|
|
|
|
|
// },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nav(){
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url:'/page_fenbao/hehuoren/index?storeId=' + this.storeId,
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
btnsh(){
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url:'/page_fenbao/editshenhe?storeId=' + this.storeId
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getdetail() {
|
|
|
|
|
this.$u.get("/app/store/mch/" + this.storeId).then(res => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
this.listobj = res.data
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
btnpag(num) {
|
|
|
|
|
if (num == 1) {
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: '/page_fenbao/statulist/myshop/shebeilist/index?storeId=' + this.storeId
|
|
|
|
|
})
|
|
|
|
|
} else if (num == 2) {
|
|
|
|
|
if(this.listobj.status == 2){
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: '已有未审核店铺信息',
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 1000
|
|
|
|
|
})
|
|
|
|
|
}else{
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: '/page_fenbao/statulist/myshop/editshop/index?obj=' + JSON.stringify(this.listobj)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
} else if (num == 3) {
|
|
|
|
|
let vm = this
|
|
|
|
|
uni.showModal({
|
|
|
|
|
title: '提示',
|
|
|
|
|
content: '你确定要注销这个店铺吗?',
|
|
|
|
|
success: function(res) {
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
this.btnmsk = true
|
|
|
|
|
vm.$u.delete("/app/store/" + vm.storeId).then(res => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: '删除成功',
|
|
|
|
|
icon: 'success',
|
|
|
|
|
duration: 1000
|
|
|
|
|
})
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
this.btnmsk = false
|
|
|
|
|
uni.navigateBack()
|
|
|
|
|
}, 1500)
|
|
|
|
|
} else if (res.code == 500) {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: res.msg,
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 1000
|
|
|
|
|
})
|
|
|
|
|
this.btnmsk = false
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} else if (res.cancel) {
|
|
|
|
|
console.log('用户点击了取消')
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}else if(num == 4){
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url:'/page_components/peizhi?obj=' + JSON.stringify(this.listobj)
|
|
|
|
|
})
|
|
|
|
|
}else if(num == 5){
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url:'/page_geren/buyCard?storeId=' + item.storeId
|
|
|
|
|
})
|
|
|
|
|
// uni.showToast({
|
|
|
|
|
// title: '功能暂未开放',
|
|
|
|
|
// icon: 'none',
|
|
|
|
|
// duration: 1000
|
|
|
|
|
// })
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
|
/deep/ .u-title {
|
|
|
|
|
padding-bottom: 22rpx;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/ .u-icon__icon {
|
|
|
|
|
padding-bottom: 22rpx;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
page {
|
|
|
|
|
background: linear-gradient(180deg, #8883F0 0%, rgba(255, 255, 255, 0) 100%);
|
|
|
|
|
}
|
|
|
|
|
.warp_box{
|
|
|
|
|
// width: 680rpx;
|
|
|
|
|
height: 88vh;
|
|
|
|
|
// background: #FFFFFF;
|
|
|
|
|
// border-radius: 24rpx 24rpx 24rpx 24rpx;
|
|
|
|
|
overflow: scroll;
|
|
|
|
|
// margin-top: 18rpx;
|
|
|
|
|
// padding: 36rpx 40rpx;
|
|
|
|
|
padding-bottom: 50rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
.name{
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
color: #3D3D3D;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.swiper {
|
|
|
|
|
.swiper-item {
|
|
|
|
|
height: 100%;
|
|
|
|
|
|
|
|
|
|
.card_box {
|
|
|
|
|
margin-top: 34rpx;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
|
|
|
|
|
.card {
|
|
|
|
|
display: flex;
|
|
|
|
|
margin-top: 20rpx;
|
|
|
|
|
width: 658rpx;
|
|
|
|
|
height: 220rpx;
|
|
|
|
|
background: #fff;
|
|
|
|
|
box-shadow: 2rpx 0rpx 6rpx -1rpx #000;
|
|
|
|
|
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
|
|
|
|
padding: 30rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
.card_left {
|
|
|
|
|
width: 310rpx;
|
|
|
|
|
// margin-top: 46rpx;
|
|
|
|
|
// margin-left: 50rpx;
|
|
|
|
|
|
|
|
|
|
.card_left_tit {
|
|
|
|
|
font-size: 40rpx;
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
color: #8883F0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.card_left_sta {
|
|
|
|
|
|
|
|
|
|
margin-top: 15rpx;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: nowrap;
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
|
|
image {
|
|
|
|
|
width: 23.32rpx;
|
|
|
|
|
height: 36.47rpx;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.sta_txt {
|
|
|
|
|
margin-left: 15rpx;
|
|
|
|
|
color: #262B37;
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.card_left_no {
|
|
|
|
|
margin-top: 15rpx;
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
color: #95989D;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.card_right {
|
|
|
|
|
// margin-top: 30rpx;
|
|
|
|
|
// margin-left: auto;
|
|
|
|
|
// margin-right: 40rpx;
|
|
|
|
|
|
|
|
|
|
image {
|
|
|
|
|
width: 180rpx;
|
|
|
|
|
height: 180rpx;
|
|
|
|
|
border-radius: 20rpx;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.page {
|
|
|
|
|
width: 750rpx;
|
|
|
|
|
position: fixed;
|
|
|
|
|
top: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
.editxg{
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 90rpx;
|
|
|
|
|
line-height: 90rpx;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
padding: 0 30rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
border-radius: 20rpx;
|
|
|
|
|
margin-top: 20rpx;
|
|
|
|
|
}
|
|
|
|
|
.box {
|
|
|
|
|
width: 750rpx;
|
|
|
|
|
height: 1440rpx;
|
|
|
|
|
background: #F4F5F7;
|
|
|
|
|
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
|
|
|
|
padding: 22rpx 36rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
|
|
|
|
|
.shopname {
|
|
|
|
|
width: 680rpx;
|
|
|
|
|
height: 102rpx;
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
|
|
|
|
margin: auto;
|
|
|
|
|
padding-left: 30rpx;
|
|
|
|
|
padding-top: 30rpx;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
color: #3D3D3D;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.shoplist {
|
|
|
|
|
padding: 30rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
width: 680rpx;
|
|
|
|
|
height: 320rpx;
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
|
|
|
|
margin-top: 24rpx;
|
|
|
|
|
|
|
|
|
|
.tit {
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
color: #3D3D3D;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.jiben {
|
|
|
|
|
margin-top: 16rpx;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
|
|
.qian {
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
color: #808080;
|
|
|
|
|
width: 40%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.shen {
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
color: #3D3D3D;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.icons {
|
|
|
|
|
// padding-top: 30rpx;
|
|
|
|
|
padding-left: 50rpx;
|
|
|
|
|
padding-right: 50rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
width: 680rpx;
|
|
|
|
|
max-height: 360rpx;
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
|
|
|
|
margin: auto;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
margin-top: 26rpx;
|
|
|
|
|
|
|
|
|
|
image {
|
|
|
|
|
width: 96rpx;
|
|
|
|
|
height: 96rpx;
|
|
|
|
|
margin-top: 40rpx;
|
|
|
|
|
margin-bottom: 40rpx;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|