<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>
