分享设备相关的功能

This commit is contained in:
fengerli
2025-07-22 17:47:38 +08:00
parent 1663ae75e4
commit 864f7f58a0
19 changed files with 1360 additions and 307 deletions

View File

@ -2,7 +2,7 @@
<view class="share">
<view class="device-title">已分享用户</view>
<view class="device-info" v-for="(item, index) in deviceList" :key="index">
<view class="device-header">
<view class="device-header" @click.stop="handleFile(item)">
<view class="deviceIMG">
<image :src="item.devicePic" mode="" class="IMG"></image>
</view>
@ -13,8 +13,8 @@
</view>
</view>
</view>
<view class="device-delete" >
<text class="delete" @click="handleDelete(item)">移除</text>
<view class="device-delete">
<text class="delete" @click.stop="handleDelete(item)">移除</text>
</view>
</view>
</view>
@ -38,55 +38,85 @@
</template>
<script>
import {deviceShareList,deviceShareDelete} from '@/api/6170/share.js'
import {
deviceShareList,
deviceShareDelete
} from '@/api/6170/share.js'
export default {
data() {
return {
deviceList: [],
deleteShow:false,
delelteItemInfo:''
deleteShow: false,
delelteItemInfo: '',
itemInfo: ''
}
},
methods: {
// 点击弹框外的区域关闭
closePopup(type) {
if (type === 'delete') {
this.deleteShow = false;
}
},
// 删除
handleDelete(item) {
console.log(item,'www');
this.deleteShow=true
this.delelteItemInfo=item
console.log(item, 'www');
this.deleteShow = true
this.delelteItemInfo = item
},
handleBtn(){
let allId=this.delelteItemInfo.id
deviceShareDelete(allId).then((res)=>{
if (res.code=200) {
handleBtn() {
let allId = this.delelteItemInfo.id
deviceShareDelete(allId).then((res) => {
if (res.code = 200) {
uni.showToast({
title:res.msg,
icon:'none'
title: res.msg,
icon: 'none'
})
this.deleteShow=false
this.deleteShow = false
this.getData()
} else{
} else {
uni.showToast({
title:res.msg,
icon:'none'
title: res.msg,
icon: 'none'
})
}
})
//
},
getData(){
let data ={
getData(val) {
let data = {
deviceid: val
}
deviceShareList(data).then((res)=>{
if (res.code==200) {
this.deviceList=res.rows
deviceShareList(data).then((res) => {
if (res.code == 200) {
this.deviceList = res.rows
}
})
},
// 跳转分享详情
handleFile(item) {
uni.navigateTo({
url: "/pages/6170/deviceControl/index",
success: (res) => {
// 页面跳转成功后的回调函数
res.eventChannel.emit('deviceControl', {
data: item,
apiType: 'listB' // 自定义标识 // 自定义标识,详情哪里根据这个参数不同信息
});
}
})
}
},
onLoad() {
this.getData()
const eventChannel = this.getOpenerEventChannel();
// 监听 'shareDevice' 事件,获取传过来的数据
eventChannel.on('shareManagement', (data) => {
console.log(data, 'data1t111');
this.itemInfo = data.data;
this.getData(this.itemInfo.id)
})
}
}
</script>
@ -97,6 +127,7 @@
background: #121212;
min-height: 100vh;
}
.device-title {
color: rgba(255, 255, 255, 0.87);
padding: 30rpx 0;
@ -173,6 +204,7 @@
background: rgba(26, 26, 26, 1);
border-radius: 16rpx;
}
/* 遮罩层 */
.agreement-mask {
position: fixed;
@ -186,16 +218,18 @@
align-items: center;
z-index: 9999;
}
.popup-Title {
color: rgba(255, 255, 255, 0.86);
text-align: center;
padding: 30rpx 0rpx;
}
.popup-buttons {
display: flex;
text-align: center;
}
/* 弹窗主体 */
.agreement-popup {
width: 60%;
@ -205,11 +239,12 @@
text-align: center;
border: 1px solid rgba(255, 200, 78, 0.3);
}
.svg {
width: 58rpx;
height: 62rpx;
}
/* 通用按钮样式 */
.btn {
height: 60rpx;
@ -218,9 +253,9 @@
font-size: 24rpx;
margin: 10rpx auto;
text-align: center;
}
/* 同意按钮 */
.agreeBtn {
background: #FFC84E;