<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"> 调试中 </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>