kaiguan-zfb/page_components/newtaocan.vue
2024-08-02 18:00:50 +08:00

283 lines
6.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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" v-if="loading">
<!-- <u-swipe-action :show="item.show" :index="index" v-for="(item, index) in list" :key="item.suitId" @click="click(item)" @open="open" :options="options">
<view class="boxlist" @click="btnedit(item)">
<view class="toptime">
<text>{{item.name.length > 5 ? item.name.substring(0,4) + '...' : item.name}}通电时长{{item.value}} <text v-if="item.timeUnit == 1">日</text> <text v-if="item.timeUnit == 2">时</text> <text v-if="item.timeUnit == 3">分钟</text> <text v-if="item.timeUnit == 4">秒</text> </text> <text>¥{{item.price}}</text>
</view>
<view class="bumday" v-if="item.description">
<text class="shi">{{item.description.length > 20 ? item.description.substring(0, 20) + '...' : item.description}}</text></text>
</view>
</view>
</u-swipe-action> -->
<HM-dragSorts ref="dragSorts" :list="newobj" :tcidlist="tcidlist"
@update:tcidlist="handleTcidlistUpdate" :autoScroll="true" :feedbackGenerator="false"
@newList="handleNewList" rowHeight='50' @change="change" @confirm="confirm" @onclick="onclick"
:listBackgroundColor='F7FAFE'></HM-dragSorts>
<view class="" v-if="listflag" style="color: #ccc;font-size: 36rpx;margin-top: 200rpx;text-align: center;">
该设备暂无套餐
</view>
<view class="anniu">
<view class="xinz" @click="btnadd">
新增套餐
</view>
</view>
<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>
</view>
</template>
<script>
import dragSorts from '@/page_components/HM-dragSorts/HM-dragSorts.vue'
export default {
components: {
'HM-dragSorts': dragSorts
},
data() {
return {
btnmsk:false,
list: [],
loading:false,
disabled: false,
btnWidth: 180,
show: false,
options: [{
text: '删除',
style: {
backgroundColor: '#dd524d'
}
}],
deviceId:'',
bgc: {
backgroundColor: "#8883f0",
},
newobj:[],
tcidlist:'',
listflag:false
};
},
onLoad(option) {
console.log(option);
this.deviceId = option.id
},
onShow() {
this.btnmsk = false
this.tcidlist = []
this.list = []
this.newobj = []
this.getlist()
},
// 分享到好友(会话)
onShareAppMessage: function () {
return {
title: '创想物联',
path: '/pages/shouye/index'
}
},
// 分享到朋友圈
onShareTimeline: function () {
return {
title: '创想物联',
query: '',
path: '/pages/shouye/index'
}
},
methods: {
handleTcidlistUpdate(newTcidlist) {
// 这里是处理接收到的新 tcidlist 的地方
// console.log('接收到的 tcidlist:', newTcidlist);
this.tcidlist = newTcidlist
uni.navigateTo({
url:'/page_fenbao/statulist/taocanlist/addtaocan/index?id=' + this.deviceId + '&suitId=' + this.tcidlist.suitId
})
},
handleNewList(newList) {
let list = [this.list, ...newList]
const newSortedList = list.map((item, index) => {
return {
suitId: item.suitId,
sort: index + 1 // 使用索引值加 1 作为 groupSort
}
})
let filteredArr = newSortedList.filter(item => item.suitId !== undefined)
console.log("新的排列数据:", filteredArr)
setTimeout(() => {
this.$u.put("/app/suit/sort", filteredArr).then((res) => {
if (res.code == 200) {
// this.getgroup()
}
});
}, 200)
},
getlist() {
let data = {
pageNum: 1,
pageSize: 99
}
this.$u.get(`/app/suit/tempList`, data).then((res) => {
if (res.code == 200) {
this.list = res.rows
this.loading = true
// this.list = this.list.map(item => ({
// ...item,
// checked: false,
// isActive: false
// }))
this.newobj = this.list
if(this.list.length > 0){
this.listflag = false
}else{
this.listflag = true
}
}
})
},
// btnedit(item){
// uni.navigateTo({
// url:'/page_fenbao/statulist/taocanlist/addtaocan/index?id=' + this.deviceId + '&suitId=' + item.suitId
// })
// },
click(item) {
this.$u.delete(`/app/suit/${item.suitId}`).then((res) => {
if (res.code == 200) {
this.$u.toast(`删除成功`);
this.getlist()
}else{
uni.showToast({
title: res.msg,
icon: 'none',
duration: 1000,
})
}
});
},
open(index) {
this.list[index].show = true
this.list.map((val, idx) => {
if (index != idx) this.list[idx].show = false;
})
},
btnadd(){
this.btnmsk = true
uni.navigateTo({
url:'/page_fenbao/statulist/taocanlist/addtaocan/index?id=' + this.deviceId
})
},
change() {
},
confirm(e) {
},
onclick(e) {
},
}
};
</script>
<style lang="scss">
/deep/ .u-swipe-del{
height: 140rpx !important;
}
/deep/ .u-swipe-action{
height: 140rpx !important;
}
/deep/ .u-title{
padding-bottom: 22rpx;
}
/deep/ .u-icon__icon{
padding-bottom: 22rpx;
}
page {
background: #F4F5F7;
}
.page {
width: 750rpx;
padding-bottom: 220rpx;
.box {
width: 750rpx;
height:100%;
background: #F4F5F7;
border-radius: 0rpx 0rpx 0rpx 0rpx;
padding: 50rpx;
padding-top: 30rpx !important;
.anniu{
position: fixed;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 100%;
height: 200rpx;
padding-top: 40rpx;
background-color: #fff;
padding-left: 50rpx;
padding-right: 50rpx;
.xinz{
width: 100%;
height: 84rpx;
background: #8883F0;
filter: blur(0px);
text-align: center;
line-height: 84rpx;
font-size: 36rpx;
color: #FFFFFF;
border-radius: 50rpx;
}
}
.boxlist{
padding: 20rpx 42rpx;
box-sizing: border-box;
.toptime{
font-size: 32rpx;
// color: #000000;
display: flex;
justify-content: space-between;
}
.bumday{
margin-top: 10rpx;
text{
font-size: 32rpx;
color: #95989D;
}
}
}
/deep/ .u-swipe-action {
margin-top: 30rpx;
border-radius: 20rpx;
width: 654rpx;
height: 182rpx;
background: #FFFFFF;
box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42, 130, 228, 0.1);
filter: blur(0px);
border: 0;
}
/deep/ .u-swipe-del {
height: 190rpx;
}
}
}
</style>